리눅스 필수 명령어: 터미널 활용 가이드 (초보자용)
리눅스 초보자를 위한 필수 가이드!
이 포스팅에서는 리눅스 터미널 환경에서 생산성을 높이는 데 도움이 되는 핵심 명령어들을 정리했습니다. 파일 관리부터 시스템 모니터링, 네트워크 설정까지 다양한 작업을 수행하는 데 필수적인 리눅스 명령어들을 함께 살펴보세요.
이 포스팅에서는 리눅스 터미널 환경에서 생산성을 높이는 데 도움이 되는 핵심 명령어들을 정리했습니다. 파일 관리부터 시스템 모니터링, 네트워크 설정까지 다양한 작업을 수행하는 데 필수적인 리눅스 명령어들을 함께 살펴보세요.
파일 및 디렉토리 관리: 리눅스 기본 명령어
리눅스에서 파일을 만들고, 복사하고, 이동하는 등 기본적인 파일 시스템 작업을 위한 명령어들입니다.
ls: 파일/디렉토리 목록 보기ls ls -l ls -a- 현재 디렉토리의 파일과 서브 디렉토리 목록을 보여줍니다. 자주 사용되는 옵션으로는 상세 정보를 보여주는
-l, 숨김 파일을 포함하는-a가 있습니다. cd [디렉토리명]: 디렉토리 이동 명령어cd /home/user/documents cd ~ # 홈 디렉토리로 이동 cd .. # 상위 디렉토리로 이동- 지정된 디렉토리로 이동합니다. 홈 디렉토리 이동(
cd ~), 상위 디렉토리 이동(cd ..)은 특히 유용합니다. pwd: 현재 작업 경로 확인pwd- 현재 작업 중인 디렉토리의 절대 경로를 출력합니다.
mkdir [디렉토리명]: 새로운 디렉토리 생성mkdir my_new_folder- 새로운 디렉토리를 생성합니다.
rm [파일/디렉토리명]: 파일/디렉토리 삭제rm myfile.txt rm -r my_folder # 디렉토리와 그 안의 모든 내용을 재귀적으로 삭제 rm -f myfile.txt # 확인 메시지 없이 강제 삭제- 파일 또는 디렉토리를 삭제합니다. 디렉토리 삭제 시
-r(재귀적), 강제 삭제 시-f옵션을 사용합니다. cp [원본] [대상]: 파일/디렉토리 복사cp original.txt copy.txt cp -r my_old_folder my_new_folder # 디렉토리와 내용을 재귀적으로 복사- 파일 또는 디렉토리를 복사합니다. 디렉토리 복사 시에는
-r옵션을 사용해야 합니다. mv [원본] [대상]: 파일/디렉토리 이동 및 이름 변경mv oldname.txt newname.txt # 파일 이름 변경 mv myfile.txt /tmp/ # /tmp/ 디렉토리로 파일 이동- 파일 또는 디렉토리를 이동시키거나 이름을 변경할 때 사용합니다.
cat [파일이름]: 파일 내용 전체 출력cat mylog.log- 작은 텍스트 파일의 내용을 화면에 빠르게 출력할 때 유용합니다.
less [파일이름]: 큰 파일 페이지 단위로 보기less /var/log/syslog- 큰 용량의 파일을 페이지 단위로 보여주어 효율적으로 내용을 확인할 수 있습니다.
q를 눌러 종료합니다. head [파일이름]/tail [파일이름]: 파일의 시작/끝 부분 보기head access.log tail error.log tail -f access.log # 실시간 로그 파일 모니터링- 파일의 시작 부분(기본 10줄) 또는 끝 부분(기본 10줄)을 출력합니다. 특히
tail -f는 실시간 로그 모니터링에 필수적인 명령어입니다.
폴더 용량 확인: du 명령어 활용법
특정 폴더(디렉토리)가 디스크 공간을 얼마나 차지하는지 확인하는 데 사용되는 명령어는 **du (disk usage)** 입니다. 디스크 전체 사용량은 df로 확인합니다.
du -sh [폴더명]: 특정 폴더의 전체 용량 요약du -sh . # 현재 디렉토리 용량 확인 du -sh /var/www/html # 특정 폴더 용량 확인- 해당 폴더의 총 사용량을 **사람이 읽기 쉬운 형식(KB, MB, GB 등)**으로 요약하여 표시합니다. 가장 빈번하게 사용되는 옵션 조합입니다.
du -h [폴더명]: 하위 폴더 및 파일별 용량 상세 보기du -h .- 지정된 폴더 내의 모든 하위 폴더와 파일의 용량을 상세하게 보여줍니다.
du -h --max-depth=[숫자] [폴더명]: 특정 깊이까지 용량 확인du -h --max-depth=1 . # 1단계 하위 폴더들만 용량 확인- 지정된 숫자만큼의 하위 디렉토리 깊이까지만 용량을 표시하여 너무 많은 정보가 출력되는 것을 방지합니다.
du -h --max-depth=1 [폴더명] | sort -rh: 용량 큰 순서대로 정렬du -h --max-depth=1 . | sort -rh | head -n 10 # 용량이 가장 큰 하위 10개 폴더 출력- 용량이 큰 폴더를 빠르게 찾아 정리할 때 매우 유용한 조합입니다.
sort -rh는 사람이 읽기 쉬운 용량을 기준으로 내림차순 정렬합니다. df -h: 전체 디스크 사용량 확인df -h- 파일 시스템 전체의 디스크 공간 사용량을 확인합니다. 각 파티션(또는 마운트된 디스크)의 총 용량, 사용량, 사용 가능량, 사용률을 보여줍니다.
시스템 정보 및 모니터링: 리눅스 성능 확인
현재 시스템의 상태, 실행 중인 프로세스, CPU 및 메모리 사용량 등을 확인하여 서버 상태를 점검하는 데 사용됩니다.
top: 실시간 프로세스 및 시스템 자원 모니터링top- 시스템의 실시간 프로세스 상태, CPU 및 메모리 사용량을 동적으로 보여줍니다. 시스템 문제 진단 시 필수적인 명령어입니다.
q를 눌러 종료합니다. htop: 대화형 프로세스 뷰어 (개선된 top)htoptop보다 더 사용자 친화적이고 직관적인 인터페이스를 제공하는 대화형 프로세스 뷰어입니다. (별도 설치 필요:sudo apt install htop또는sudo yum install htop)free -h: 메모리 사용량 확인free -h- 시스템의 메모리 사용량 (RAM 및 Swap)을 사람이 읽기 쉬운 형태로 보여줍니다. 메모리 부족 현상 진단에 유용합니다.
ps aux: 실행 중인 모든 프로세스 상세 보기ps aux- 현재 시스템에서 실행 중인 모든 프로세스의 상세 정보(PID, CPU/메모리 사용률, 시작 시간 등)를 보여줍니다.
kill [PID]: 프로세스 종료 명령어kill 12345 # PID 12345 프로세스 종료 kill -9 12345 # 강제로 프로세스 종료 (SIGKILL 시그널)- 특정 프로세스 ID (PID)를 가진 프로세스를 종료합니다. 응답하지 않는 프로세스를 강제로 종료할 때는
kill -9 [PID]를 사용합니다.
네트워크 관련 명령어: 리눅스 연결 및 통신
네트워크 연결 상태를 확인하거나 원격 서버에 안전하게 접속할 때 사용하는 명령어들입니다.
ping [IP 주소/도메인]: 네트워크 연결 상태 테스트ping google.com- 특정 호스트에 ICMP 에코 요청을 보내 네트워크 연결 상태와 응답 시간을 확인합니다. 네트워크 문제 진단 시 가장 먼저 시도하는 명령어입니다.
ip addr show또는ifconfig: IP 주소 및 네트워크 인터페이스 확인ip addr show- 시스템에 할당된 IP 주소와 네트워크 인터페이스의 상세 설정을 보여줍니다. (
ifconfig는 오래된 명령어이며, 최신 시스템에서는ip addr show사용이 권장됩니다.) netstat -tuln: 열린 포트 및 서비스 확인netstat -tuln- 현재 시스템에서 열려있는 TCP/UDP 포트와 해당 포트에서 리스닝 중인 서비스를 확인하여 보안 및 서비스 문제를 진단할 수 있습니다.
ssh [사용자명]@[IP 주소/호스트명]: 원격 서버 보안 접속ssh user@192.168.1.100- 원격 서버에 **보안 셸(SSH)**을 통해 안전하게 접속합니다. 서버 관리 및 개발 시 필수적인 명령어입니다.
scp [원본] [대상]: SSH를 통한 파일 보안 복사scp myfile.txt user@remotehost:/home/user/ # 로컬 파일을 원격으로 복사 scp user@remotehost:/home/user/remote.txt . # 원격 파일을 로컬로 복사- SSH 프로토콜을 사용하여 로컬과 원격 서버 간에 파일을 안전하게 복사합니다. 대용량 파일 전송에도 유용합니다.
기타 유용한 리눅스 명령어
알아두면 리눅스 환경에서 작업 효율을 크게 높여주는 명령어들입니다.
man [명령어]: 명령어 매뉴얼 페이지 보기man ls- 특정 명령어의 자세한 사용법, 옵션, 예제 등을 담은 매뉴얼 페이지를 보여줍니다. 궁금한 명령어가 있다면 가장 먼저 시도해 보세요.
q를 눌러 종료합니다. history: 이전에 사용한 명령어 목록history- 이전에 터미널에 입력했던 명령어들의 목록을 보여줍니다. 자주 사용하는 명령어를 다시 입력할 필요 없이 빠르게 찾을 수 있습니다.
grep [찾을 단어] [파일이름]: 파일 내용 텍스트 검색grep "error" /var/log/syslog grep -r "keyword" /var/www/ # 디렉토리 내 모든 파일에서 재귀적으로 검색 grep -i "Error" mylog.log # 대소문자 구분 없이 검색- 하나 이상의 파일 내용에서 특정 문자열을 검색합니다.
-r(재귀적 검색),-i(대소문자 구분 없음) 등의 옵션이 자주 사용됩니다. find [경로] -name "[파일이름 패턴]": 파일/디렉토리 검색find . -name "*.conf" # 현재 디렉토리에서 .conf 파일 찾기 find /var/log -type f -name "*-2025-*.log" # 특정 패턴의 로그 파일 찾기- 특정 경로에서 이름 패턴을 사용하여 파일이나 디렉토리를 찾습니다.
-type f(파일만),-type d(디렉토리만)와 같은 옵션으로 검색 대상을 제한할 수 있습니다. tar: 파일/디렉토리 아카이브 및 압축tar -cvf backup.tar my_folder # my_folder를 backup.tar로 묶기 (압축 없음) tar -xvf backup.tar # backup.tar 풀기 tar -czvf backup.tar.gz my_folder # my_folder를 gzip으로 압축하여 묶기 tar -xzvf backup.tar.gz # gzip으로 압축된 backup.tar.gz 풀기- 여러 파일이나 디렉토리를 하나의 아카이브로 묶거나 압축할 때 사용합니다. 백업이나 전송 시 유용합니다.
sudo [명령어]: 관리자 권한으로 명령어 실행sudo apt update- 일반 사용자가 일시적으로 관리자(root) 권한으로 명령어를 실행할 수 있게 합니다. 시스템 설정을 변경하거나 소프트웨어를 설치할 때 필요합니다.
리눅스 명령어는 꾸준한 연습이 중요합니다.
이 명령어들은 리눅스 시스템을 효율적으로 관리하고 사용하는 데 있어 기본적인 도구들입니다. 각 명령어의 다양한 옵션을 직접 사용해보면서 익숙해지는 것이 중요합니다. 더 깊이 있는 정보가 필요하다면 언제든지
이 명령어들은 리눅스 시스템을 효율적으로 관리하고 사용하는 데 있어 기본적인 도구들입니다. 각 명령어의 다양한 옵션을 직접 사용해보면서 익숙해지는 것이 중요합니다. 더 깊이 있는 정보가 필요하다면 언제든지
man [명령어]를 활용하여 상세한 사용법을 확인해 보세요! 궁금한 점이 있다면 댓글로 남겨주세요.'프로그래밍 일반' 카테고리의 다른 글
| DeepSeek-OCR: Contexts Optical Compression for LLMs (0) | 2025.10.22 |
|---|---|
| Gemma3 는 어떻게 이미지를 인식하나? (8) | 2025.08.01 |
워터 소트 퍼즐 (Water Sort Puzzle)
색깔이 있는 물을 유리병에 분류하는 재미있고 중독성 있는 퍼즐 게임입니다.
Google Play 스토어