리눅스 기본 명령어: 두 판 사이의 차이

기술노트
(컴퓨터 과학 용어 정리 - 리눅스 기본 명령어 추가)
 
편집 요약 없음
 
1번째 줄: 1번째 줄:
=== 리눅스 기본 명령어 ===
=== 리눅스 기본 명령어 ===


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


<br>
==== 시스템 관리 ====


`shutdown`, `halt`, `init 0`, `poweroff` : 시스템 종료
* `shutdown` : 시스템을 종료합니다.


`reboot`, `init 6`, `shutdown -r now` : 시스템 재부팅
  * 예시: `shutdown -h now` → 즉시 시스템 종료
* `reboot` : 시스템을 재부팅합니다.


<br>
  * 예시: `reboot`
* `init 0`, `init 6` : 런레벨 0(종료), 6(재부팅)으로 변경합니다.


`pwd` : 현재 자신이 위치한 디렉토리
  * 예시: `init 6`
* `poweroff` : 전원을 끕니다.


`cd` : 디렉토리 이동
  * 예시: `poweroff`


`ls` : 현재 자신이 속해있는 폴더 내의 파일, 폴더 표시
==== 파일 및 디렉토리 ====


`mkdir` : 디렉토리 생성
* `pwd` : 현재 디렉토리 경로를 출력합니다.


`rmdir` : 디렉토리 삭제
  * 예시: `pwd`
* `cd` : 디렉토리를 이동합니다.


`touch` : 파일 생성 (크기 0)
  * 예시: `cd /home/user`
* `ls` : 디렉토리 내 파일과 폴더를 나열합니다.


`cp` : 파일 복사 (디렉토리 내부까지 복사 시, `cp - R`)
  * 예시: `ls -l`
* `mkdir` : 새 디렉토리를 생성합니다.


`mv` : 파일 이동
  * 예시: `mkdir new_folder`
* `rmdir` : 빈 디렉토리를 삭제합니다.


`rm` : 파일 삭제 (디렉토리 삭제 시에는 보통 `rm -R`을 많이 사용)
  * 예시: `rmdir old_folder`
* `touch` : 새 파일을 생성합니다.


`cat` : 파일의 내용을 화면에 출력
  * 예시: `touch test.txt`
* `cp` : 파일이나 디렉토리를 복사합니다.


`more` : 화면 단위로 보기 쉽게 내용 출력
  * 예시: `cp file1.txt file2.txt`, `cp -R dir1/ dir2/`
* `mv` : 파일이나 디렉토리를 이동하거나 이름을 변경합니다.


`less` : more보다 조금 더 보기 편함
  * 예시: `mv old.txt new.txt`
* `rm` : 파일을 삭제합니다. 디렉토리는 `-r` 옵션 사용.


`find` : 특정한 파일을 찾는 명령어
  * 예시: `rm file.txt`, `rm -r my_folder`
* `cat` : 파일 내용을 출력합니다.


`grep` : 특정 패턴으로 파일을 찾는 명령어
  * 예시: `cat memo.txt`
* `more`, `less` : 파일을 페이지 단위로 출력합니다.


`>>` : 리다이렉션 (파일 끼워넣기 등)
  * 예시: `less bigfile.log`
* `find` : 파일 또는 디렉토리를 검색합니다.


`file` : 파일 종류 확인
  * 예시: `find / -name "*.log"`
* `grep` : 파일에서 특정 패턴을 검색합니다.


`which` : 특정 명령어의 위치 찾음
  * 예시: `grep "error" logfile.txt`
* `>>` : 출력 내용을 파일에 추가합니다.


<br>
  * 예시: `echo "Hello" >> hello.txt`
* `file` : 파일 유형을 확인합니다.


`ping` : 네트워크 상태 점검 및 도메인 IP 확인
  * 예시: `file hello.txt`
* `which` : 명령어의 경로를 찾습니다.


`ifconfig` : 리눅스 IP 확인 및 설정
  * 예시: `which python`


`netstat` : 네트워크의 상태
==== 네트워크 ====


`nbstat` : IP 충돌 시, 충돌된 컴퓨터를 찾기 위함
* `ping` : 네트워크 연결 상태 확인


`traceroute` : 알고 싶은 목적지까지 경로를 찾아줌
  * 예시: `ping google.com`
* `ifconfig` : IP 주소 및 네트워크 정보 확인


`route` : 라우팅 테이블 구성 상태  
  * 예시: `ifconfig eth0`
* `netstat` : 네트워크 연결 상태 확인


`clock` : 시간 조절 명령어
  * 예시: `netstat -tuln`
* `traceroute` : 네트워크 경로 추적


`date` : 시간, 날짜 출력 및 시간과 날짜 변경
  * 예시: `traceroute naver.com`
* `route` : 라우팅 테이블 확인


<br>
  * 예시: `route -n`
* `date`, `clock` : 현재 날짜와 시간 확인 또는 설정


`rpm` : rpm 패키지 설치, 삭제 및 관리
  * 예시: `date`, `date -s "2025-05-01 12:00:00"`


`yum` : rpm보다 더 유용함 (다른 필요한 rpm 패키기지까지 알아서 다운로드)
==== 패키지 관리 ====


`free` : 시스템 메모리의 정보 출력
* `rpm` : RPM 패키지 설치 및 관리


`ps` : 현재 실행되고 있는 프로세스 목록 출력
  * 예시: `rpm -ivh package.rpm`
* `yum` : 패키지 설치 및 자동 의존성 해결


`pstree` : 트리 형식으로 출력
  * 예시: `yum install httpd`


`top` : 리눅스 시스템의 운용 상황을 실시간으로 모니터링 가능
==== 시스템 정보 및 프로세스 ====


`kill` : 특정 프로세스에 특정 signal을 보냄
* `free` : 메모리 사용량 확인


`killall` : 특정 프로세스 모두 종료
  * 예시: `free -h`
* `ps` : 프로세스 상태 확인


`killall5` : 모든 프로세스 종료 (사용X)
  * 예시: `ps aux`
* `pstree` : 프로세스를 트리 형식으로 출력


<br>
  * 예시: `pstree`
* `top` : 실시간 시스템 모니터링


`tar`, `gzip` : 압축 파일 묶거나 품
  * 예시: `top`
* `kill` : 프로세스 종료


`chmod` : 파일 or 디렉토리 권한 수정
  * 예시: `kill 1234`
* `killall` : 같은 이름의 모든 프로세스 종료


`chown` : 파일 or 디렉토리 소유자, 소유 그룹 수정
  * 예시: `killall firefox`


`chgrp` : 파일 or 디렉토리 소유 그룹 수정
==== 압축 및 권한 ====


`umask` : 파일 생성시의 권한 값을 변경
* `tar`, `gzip` : 압축/해제


`at` : 정해진 시간에 하나의 작업만 수행
  * 예시: `tar -czf archive.tar.gz folder/`, `tar -xzf archive.tar.gz`
* `chmod` : 권한 변경


`crontab` : 반복적인 작업을 수행 (디스크 최적화를 위한 반복적 로그 파일 삭제 등에 활용)
  * 예시: `chmod 755 script.sh`
* `chown` : 소유자 변경


<br>
  * 예시: `chown user:user file.txt`
* `chgrp` : 그룹 변경


`useradd` : 새로운 사용자 계정 생성
  * 예시: `chgrp staff file.txt`
* `umask` : 기본 권한 설정값 확인 및 변경


`password` : 사용자 계정의 비밀번호 설정
  * 예시: `umask 022`


`userdel` : 사용자 계정 삭제
==== 작업 스케줄링 ====


`usermod` : 사용자 계정 수정
* `at` : 예약 작업 설정


`groupadd` : 그룹 생성
  * 예시: `echo "shutdown -h now" | at 23:00`
* `crontab` : 주기적 작업 예약


`groupdel` : 그룹 삭제
  * 예시: `crontab -e`
  * 예시(매일 자정 로그 삭제): `0 0 * * * rm -f /var/log/*.log`


`groups` : 그룹 확인
==== 사용자 및 그룹 관리 ====


`newgrp` : 자신이 속한 그룹 변경
* `useradd` : 사용자 계정 추가


`mesg` : 메시지 응답 가능 및 불가 설정  
  * 예시: `useradd newuser`
* `passwd` : 비밀번호 설정


`talk` : 로그인한 사용자끼리 대화
  * 예시: `passwd newuser`
* `userdel` : 사용자 삭제


`wall` : 시스템 로그인한 모든 사용자에게 메시지 전송
  * 예시: `userdel olduser`
* `usermod` : 사용자 수정


`write` : 로그인한 사용자에게 메시지 전달
  * 예시: `usermod -aG wheel user1`
* `groupadd`, `groupdel` : 그룹 추가/삭제


`dd` : 블럭 단위로 파일을 복사하거나 변환
  * 예시: `groupadd devteam`
* `groups` : 사용자가 속한 그룹 확인


<br>
  * 예시: `groups`
* `newgrp` : 활성 그룹 변경


<br>
  * 예시: `newgrp devteam`


<br>
\==== 사용자 간 통신 ====


##### [참고 자료]
* `mesg` : 메시지 수신 허용/차단


* [링크](https://vaert.tistory.com/103)
  * 예시: `mesg n`
* `talk` : 사용자 간 대화 (양쪽 실행 필요)
 
  * 예시: `talk user@host`
* `write` : 메시지 전송
 
  * 예시: `write user`
* `wall` : 전체 사용자에게 메시지 방송
 
  * 예시: `wall "시스템 점검 예정입니다."`
 
==== 디스크 작업 ====
 
* `dd` : 디스크 복사 및 이미지 생성
 
  * 예시: `dd if=/dev/sda of=backup.img bs=4M`

2025년 5월 5일 (월) 13:34 기준 최신판

리눅스 기본 명령어

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

시스템 관리

  • `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`