리눅스 기본 명령어 – Basic Linux Command

Linux 기반 시스템을 효율적으로 사용하고 운용하기 위해 알아야 할 몇 가지 기본 Linux 명령이 있습니다.

리눅스 기본 명령:

ls: 현재 디렉터리의 파일과 디렉터리를 나열합니다.

  • 예: ls -l(자세한 목록), ls -a(숨겨진 파일 포함), ls -lh(사람이 읽을 수 있는 파일 크기).

CD: 디렉토리를 변경합니다.

  • 예: cd /path/to/directory(절대 경로), cd 디렉토리(상대 경로), cd ..(한 디렉토리 위로 이동).

pwd: 현재 작업 디렉터리를 인쇄합니다(현재 디렉터리의 경로 표시).

mkdir: 새 디렉터리를 만듭니다.

  • 예: mkdir 디렉토리_이름.

rm: 파일과 디렉터리를 제거합니다.

  • 예: rm file.txt(파일 제거), rm -r 디렉토리(디렉토리 및 해당 내용 제거).

cp: 파일 및 디렉터리를 복사합니다.

  • 예: cp file.txt 목적지_디렉토리(파일 복사), cp -r 디렉토리 목적지_디렉토리(디렉토리 및 해당 내용 복사).

mv: 파일 및 디렉터리를 이동하거나 이름을 바꿉니다.

  • 예: mv file.txt new_location/file.txt(파일 이동), mv file.txt new_name.txt(파일 이름 바꾸기), mvdirectory new_location/directory(디렉토리 이동).

cat: 파일의 내용을 표시합니다.

  • 예: 고양이 파일.txt.

less: 대화형으로 파일의 내용을 봅니다.

  • 예: file.txt를 줄입니다.

head: 파일의 처음 몇 줄을 표시합니다.

  • 예: head -n 10 file.txt(처음 10줄 표시)

tail : 파일의 마지막 몇 줄을 표시합니다.

  • 예: tail -n 5 file.txt(마지막 5줄 표시)

grep: 파일에서 패턴을 검색합니다.

  • 예: grep “pattern” file.txt(파일에서 패턴 검색)

chmod: 파일 권한을 변경합니다.

  • 예: chmod +x script.sh (파일에 실행 권한 추가)

chown: 파일이나 디렉터리의 소유자를 변경합니다.

  • 예: chown user:group file.txt(파일의 소유자 및 그룹 변경)

sudo: 슈퍼유저(관리자) 권한으로 명령을 실행합니다.

  • 예: sudo apt-get install package_name(패키지 관리자를 사용하여 패키지 설치)

Linux 중급 명령:

찾기: 다양한 기준에 따라 파일 및 디렉터리를 검색합니다.

  • 예: find /path/to/search -name “*.txt”(.txt 확장자를 가진 모든 파일 찾기).

grep: 파일 내에서 패턴을 검색합니다.

  • 예: grep “pattern” file.txt(파일에서 패턴 검색)

sed: 텍스트 수정을 위한 스트림 편집기입니다.

  • 예: sed ‘s/foo/bar/’ file.txt(file.txt에서 “foo”를 “bar”로 교체).

awk: 데이터를 추출하고 조작하기 위한 텍스트 처리 도구입니다.

  • 예: awk ‘{print $1}’ file.txt(file.txt에서 각 줄의 첫 번째 필드를 인쇄합니다).

sort: 텍스트 파일의 줄을 정렬합니다.

  • 예: file.txt 정렬(file.txt의 줄을 알파벳순으로 정렬)

uniq: 정렬된 파일에서 중복된 줄을 제거합니다.

  • 예: uniq file.txt(file.txt에서 중복된 줄 제거).

wc: 단어, 줄, 문자 및 바이트 수입니다.

  • 예: wc -l file.txt(file.txt의 줄 수 계산).

tar: 파일을 tarball(압축 파일)로 보관합니다.

  • 예: tar -czvf archive.tar.gz files/ (“files” 디렉토리의 압축된 tarball 생성).

gzip: 파일을 압축합니다.

  • 예: gzip file.txt(file.txt를 압축하여 file.txt.gz 생성).

gunzip: gzip 파일의 압축을 푼다.

  • 예: gunzip file.txt.gz(file.txt.gz 압축 해제).

wget: 웹에서 파일을 다운로드합니다.

ssh: Secure Shell — 네트워크를 통해 다른 시스템에 원격으로 연결합니다.

  • 예: ssh user@hostname(원격 시스템에 연결)

scp : 네트워크를 통해 호스트 간에 파일을 안전하게 복사합니다.

  • 예: scp file.txt user@remote:/path/to/destination (file.txt를 원격 시스템에 복사).

du: 파일 및 디렉터리 디스크 사용량을 추정합니다.

  • 예: du -sh 디렉토리(디렉토리의 전체 크기를 사람이 읽을 수 있는 형식으로 표시).

df: 파일 시스템 디스크 공간 사용량을 보고합니다.

  • 예: df -h(마운트된 모든 파일 시스템의 디스크 공간 사용량을 사람이 읽을 수 있는 형식으로 표시)

Linux 고급 명령:

rsync: 로컬 시스템과 원격 시스템 간의 파일과 디렉터리를 동기화합니다.

  • 예: rsync -avz source/ Destination/(소스 디렉터리의 내용을 대상 디렉터리에 동기화).

scp: 네트워크를 통해 호스트 간에 파일을 안전하게 복사합니다.

  • 예: scp -r user@remote:/path/to/source/ /path/to/destination/ (원격 시스템과 로컬 시스템 간에 파일 및 디렉터리를 반복적으로 복사).

ssh-keygen: 보안 인증을 위해 SSH 키 쌍을 생성합니다.

  • 예: ssh-keygen -t rsa -b 4096(4096비트 RSA 키 쌍 생성)

화면: 단일 SSH 세션 내에서 여러 터미널 세션을 생성하고 관리합니다.

  • 예: screen(새 스크린 세션 시작), screen -r(분리된 스크린 세션 재개).

top: 시스템 프로세스와 리소스 사용량을 실시간으로 모니터링합니다.

  • 예: top(실시간 프로세스 정보 표시).

htop: 향상된 UI를 갖춘 대화형 프로세스 뷰어입니다.

  • 예: htop(htop 프로세스 뷰어 실행).

cron : 반복 작업을 예약합니다.

  • 예: crontab -e(사용자의 crontab 파일 편집), crontab -l(사용자의 crontab 항목 나열).

systemctl: 시스템 서비스와 데몬을 제어하고 관리합니다.

  • 예: systemctl start service_name(서비스 시작), systemctl stop service_name(서비스 중지).

Journalctl: 시스템 로그를 보고 관리합니다.

  • 예: Journalctl -u service_name(특정 서비스에 대한 로그 표시), Journalctl -f(실시간으로 로그 추적).

dd: 파일과 디스크 이미지를 변환하고 복사합니다.

  • 예: dd if=/dev/sda of=image.img bs=4M(/dev/sda 디스크의 이미지 생성)

lsof: 열려 있는 파일과 프로세스를 나열합니다.

  • 예: lsof -i :port_number(특정 포트를 사용하는 프로세스 나열)

tcpdump: 네트워크 트래픽을 캡처하고 분석합니다.

  • 예: tcpdump -i eth0 port 80(eth0 인터페이스에서 HTTP 트래픽 캡처)

nc: Netcat — 네트워크 연결을 통해 데이터를 읽고 쓰는 데 사용되는 네트워크 유틸리티입니다.

  • 예: nc -l -p port_number(특정 포트에서 수신 연결 수신)

strace: 실행 중인 프로그램의 시스템 호출 및 신호를 추적합니다.

  • 예: strace -p process_id(특정 프로세스의 시스템 호출 추적)

chroot: 특정 명령이나 프로세스의 루트 디렉터리를 변경합니다.

  • 예: chroot /new_root_directory 명령(다른 루트 디렉터리로 명령 실행)

Linux 네트워킹 명령:

ifconfig: 네트워크 인터페이스를 표시하거나 구성합니다.

  • 예: ifconfig eth0(eth0 인터페이스에 대한 정보 표시).

ip: 라우팅, 네트워크 장치 및 주소를 표시하거나 조작합니다.

  • 예: ip addr show(네트워크 인터페이스의 IP 주소 표시).

ping: ICMP 에코 요청을 지정된 네트워크 호스트로 보냅니다.

Traceroute: 네트워크 호스트로 가는 경로 패킷을 인쇄합니다.

netstat: 네트워크 연결 정보, 라우팅 테이블 및 네트워크 인터페이스 통계를 표시합니다.

  • 예: netstat -tuln(수신 포트 표시).

ss: 소켓을 조사하는 유틸리티입니다.

  • 예: ss -tunap(TCP 및 UDP 소켓과 관련 프로세스 표시)

dig: DNS 서버를 쿼리하기 위한 DNS 조회 유틸리티입니다.

호스트: DNS 서버를 쿼리하기 위한 DNS 조회 유틸리티입니다.

wget: 웹에서 파일을 다운로드합니다.

컬: 다양한 프로토콜을 사용하여 데이터를 전송하기 위한 명령줄 도구입니다.

ssh : Secure Shell — 네트워크를 통해 다른 시스템에 원격으로 연결합니다.

  • 예: ssh user@hostname(원격 시스템에 연결)

scp: 네트워크를 통해 호스트 간에 파일을 안전하게 복사합니다.

  • 예: scp file.txt user@remote:/path/to/destination (file.txt를 원격 시스템에 복사).

iptables: IPv4 패킷용 방화벽 관리 도구입니다.

  • 예: iptables -L(현재 방화벽 규칙 표시)

ip6tables: IPv6 패킷용 방화벽 관리 도구입니다.

  • 예: ip6tables -L(현재 IPv6 방화벽 규칙 표시)

Route: IP 라우팅 테이블을 표시하거나 조작합니다.

  • 예: Route -n(라우팅 테이블 표시)

Linux 성능 명령:

top: CPU 사용량, 메모리 사용량, 실행 중인 프로세스 등을 포함한 실시간 시스템 정보를 표시합니다.

  • 예: 상단

htop: 향상된 UI를 갖춘 대화형 프로세스 뷰어로 자세한 시스템 모니터링을 제공합니다.

  • 예: htop

vmstat: CPU 사용량, 메모리 활용도, I/O 통계를 포함한 가상 메모리 통계를 보고합니다.

  • 예: vmstat

iostat: 장치 및 파티션에 대한 CPU 및 I/O 통계를 보고합니다.

  • 예: iostat

sar: 시스템 활동 정보를 수집, 보고 또는 저장합니다.

  • 예: sar -u(CPU 사용량 표시)

free: 메모리 사용량 및 통계를 표시합니다.

  • 예: 무료

ps: CPU 및 메모리 사용량을 포함하여 현재 프로세스의 스냅샷을 보고합니다.

  • 예: ps aux

pidstat: CPU, 메모리, I/O 사용량을 포함한 프로세스에 대한 통계를 보고합니다.

  • 예: pidstat

dstat: 여러 성능 지표를 결합하는 다목적 리소스 통계 도구입니다.

  • 예: dstat

perf: 시스템 동작을 분석하고 조사하기 위한 강력한 성능 프로파일링 도구입니다.

  • 예: perf Record -p PID(특정 프로세스에 대한 성능 데이터 기록)

strace: 실행 중인 프로그램의 시스템 호출 및 신호를 추적합니다.

  • 예: strace -p PID(특정 프로세스에 대한 시스템 호출 추적)

가동 시간: 시스템 가동 시간 및 로드 평균을 표시합니다.

  • 예: 가동 시간

lsof: 열려 있는 파일과 프로세스를 나열하며 리소스 사용량을 식별하는 데 유용합니다.

  • 예: lsof -i(네트워크 연결 나열)

netstat: 네트워크 연결 정보, 라우팅 테이블 및 네트워크 인터페이스 통계를 표시합니다.

  • 예: netstat -s(네트워크 통계 표시)

iotop: 프로세스 및 디스크의 I/O 사용량 정보를 모니터링합니다.

  • 예: 아이오톱

Linux 문제 해결 명령:

dmesg: 하드웨어 및 드라이버 문제에 대한 정보를 제공할 수 있는 시스템의 커널 링 버퍼 메시지를 표시합니다.

  • 예: dmesg

Journalctl: systemd 로그를 포함한 시스템 로그를 보고 관리합니다.

  • 예: 저널ctl

lsmod: 로드된 커널 모듈을 나열합니다.

  • 예: lsmod

lspci: 시스템에 연결된 PCI 장치를 나열합니다.

  • 예: lspci

lsusb: 시스템에 연결된 USB 장치를 나열합니다.

  • 예: lsusb

lsblk: 블록 장치(디스크)에 대한 정보를 나열합니다.

  • 예: lsblk

fdisk: 디스크 파티션 테이블을 표시하거나 조작합니다.

예: fdisk -l(디스크 파티션 나열)

blkid: UUID 및 파일 시스템 유형과 같은 블록 장치 속성을 인쇄합니다.

  • 예: 블키드

ifconfig: 네트워크 인터페이스를 표시하거나 구성합니다.

  • 예: ifconfig

ip: 라우팅, 네트워크 장치 및 주소를 표시하거나 조작합니다.

  • 예: IP 주소 표시

ping: ICMP 에코 요청을 지정된 네트워크 호스트로 보냅니다.

Traceroute: 네트워크 호스트로 가는 경로 패킷을 인쇄합니다.

netstat: 네트워크 연결 정보, 라우팅 테이블 및 네트워크 인터페이스 통계를 표시합니다.

  • 예: netstat -tuln

ssh: Secure Shell — 네트워크를 통해 다른 시스템에 원격으로 연결합니다.

  • 예: SSH 사용자@호스트 이름

sudo: 슈퍼유저(관리자) 권한으로 명령을 실행합니다.

  • 예: sudo 명령

Leave a Reply

Your email address will not be published. Required fields are marked *