리눅스 기본 명령어

기술노트

리눅스 기본 명령어

> 실무에서 자주 사용하는 리눅스 명령어들을 카테고리별로 정리하고, 각 명령어에 대한 간단한 설명과 사용 예제를 함께 제공합니다.

시스템 관리

  • `shutdown` : 시스템을 종료합니다.
 * 예시: `shutdown -h now` → 즉시 시스템 종료
  • `reboot` : 시스템을 재부팅합니다.
 * 예시: `reboot`
  • `init 0`, `init 6` : 런레벨 0(종료), 6(재부팅)으로 변경합니다.
 * 예시: `init 6`
  • `poweroff` : 전원을 끕니다.
 * 예시: `poweroff`

파일 및 디렉토리

  • `pwd` : 현재 디렉토리 경로를 출력합니다.
 * 예시: `pwd`
  • `cd` : 디렉토리를 이동합니다.
 * 예시: `cd /home/user`
  • `ls` : 디렉토리 내 파일과 폴더를 나열합니다.
 * 예시: `ls -l`
  • `mkdir` : 새 디렉토리를 생성합니다.
 * 예시: `mkdir new_folder`
  • `rmdir` : 빈 디렉토리를 삭제합니다.
 * 예시: `rmdir old_folder`
  • `touch` : 새 파일을 생성합니다.
 * 예시: `touch test.txt`
  • `cp` : 파일이나 디렉토리를 복사합니다.
 * 예시: `cp file1.txt file2.txt`, `cp -R dir1/ dir2/`
  • `mv` : 파일이나 디렉토리를 이동하거나 이름을 변경합니다.
 * 예시: `mv old.txt new.txt`
  • `rm` : 파일을 삭제합니다. 디렉토리는 `-r` 옵션 사용.
 * 예시: `rm file.txt`, `rm -r my_folder`
  • `cat` : 파일 내용을 출력합니다.
 * 예시: `cat memo.txt`
  • `more`, `less` : 긴 파일을 페이지 단위로 출력합니다.
 * 예시: `less bigfile.log`
  • `find` : 파일 또는 디렉토리를 검색합니다.
 * 예시: `find / -name "*.log"`
  • `grep` : 파일에서 특정 패턴을 검색합니다.
 * 예시: `grep "error" logfile.txt`
  • `>>` : 출력 내용을 파일에 추가합니다.
 * 예시: `echo "Hello" >> hello.txt`
  • `file` : 파일 유형을 확인합니다.
 * 예시: `file hello.txt`
  • `which` : 명령어의 경로를 찾습니다.
 * 예시: `which python`

네트워크

  • `ping` : 네트워크 연결 상태 확인
 * 예시: `ping google.com`
  • `ifconfig` : IP 주소 및 네트워크 정보 확인
 * 예시: `ifconfig eth0`
  • `netstat` : 네트워크 연결 상태 확인
 * 예시: `netstat -tuln`
  • `traceroute` : 네트워크 경로 추적
 * 예시: `traceroute naver.com`
  • `route` : 라우팅 테이블 확인
 * 예시: `route -n`
  • `date`, `clock` : 현재 날짜와 시간 확인 또는 설정
 * 예시: `date`, `date -s "2025-05-01 12:00:00"`

패키지 관리

  • `rpm` : RPM 패키지 설치 및 관리
 * 예시: `rpm -ivh package.rpm`
  • `yum` : 패키지 설치 및 자동 의존성 해결
 * 예시: `yum install httpd`

시스템 정보 및 프로세스

  • `free` : 메모리 사용량 확인
 * 예시: `free -h`
  • `ps` : 프로세스 상태 확인
 * 예시: `ps aux`
  • `pstree` : 프로세스를 트리 형식으로 출력
 * 예시: `pstree`
  • `top` : 실시간 시스템 모니터링
 * 예시: `top`
  • `kill` : 프로세스 종료
 * 예시: `kill 1234`
  • `killall` : 같은 이름의 모든 프로세스 종료
 * 예시: `killall firefox`

압축 및 권한

  • `tar`, `gzip` : 압축/해제
 * 예시: `tar -czf archive.tar.gz folder/`, `tar -xzf archive.tar.gz`
  • `chmod` : 권한 변경
 * 예시: `chmod 755 script.sh`
  • `chown` : 소유자 변경
 * 예시: `chown user:user file.txt`
  • `chgrp` : 그룹 변경
 * 예시: `chgrp staff file.txt`
  • `umask` : 기본 권한 설정값 확인 및 변경
 * 예시: `umask 022`

작업 스케줄링

  • `at` : 예약 작업 설정
 * 예시: `echo "shutdown -h now" | at 23:00`
  • `crontab` : 주기적 작업 예약
 * 예시: `crontab -e`
 * 예시(매일 자정 로그 삭제): `0 0 * * * rm -f /var/log/*.log`

사용자 및 그룹 관리

  • `useradd` : 사용자 계정 추가
 * 예시: `useradd newuser`
  • `passwd` : 비밀번호 설정
 * 예시: `passwd newuser`
  • `userdel` : 사용자 삭제
 * 예시: `userdel olduser`
  • `usermod` : 사용자 수정
 * 예시: `usermod -aG wheel user1`
  • `groupadd`, `groupdel` : 그룹 추가/삭제
 * 예시: `groupadd devteam`
  • `groups` : 사용자가 속한 그룹 확인
 * 예시: `groups`
  • `newgrp` : 활성 그룹 변경
 * 예시: `newgrp devteam`

\==== 사용자 간 통신 ====

  • `mesg` : 메시지 수신 허용/차단
 * 예시: `mesg n`
  • `talk` : 사용자 간 대화 (양쪽 실행 필요)
 * 예시: `talk user@host`
  • `write` : 메시지 전송
 * 예시: `write user`
  • `wall` : 전체 사용자에게 메시지 방송
 * 예시: `wall "시스템 점검 예정입니다."`

디스크 작업

  • `dd` : 디스크 복사 및 이미지 생성
 * 예시: `dd if=/dev/sda of=backup.img bs=4M`