리눅스(Linux) 핵심 명령어
리눅스(Linux) 환경에 처음 접속하면 검은 화면과 커서만 깜빡이는 터미널 모습에 당황하기 마련입니다. 하지만 몇 가지 핵심 명령어만 익혀두면 마우스보다 훨씬 빠르고 강력하게 시스템을 제어할 수 있습니다.
오늘은 서버 관리와 개발 업무에서 매일 사용하게 될 핵심 리눅스 명령어를 기능별로 나누어 완벽히 정리해 드립니다.
1. ls (List) : 디렉토리 목록 확인
가장 기본이 되지만 옵션 조합에 따라 얻을 수 있는 정보가 달라집니다.
- 주요 옵션:
-l: 상세 정보(권한, 소유자, 크기 등) 표시-a: 숨김 파일( . 으로 시작하는 파일)까지 표시-h: 파일 크기를 K, M, G 단위로 읽기 쉽게 표시-t: 수정 시간 순으로 정렬
- 실무 활용 예시:Bash
# 현재 폴더의 모든 파일을 상세 정보와 함께 용량 단위로 확인 ls -alh # 가장 최근에 수정된 파일부터 순서대로 확인 (로그 확인 시 유용) ls -lt
2. cd (Change Directory) : 디렉토리 이동
이동의 효율을 극대화하는 특수 기호와 옵션입니다.
- 주요 기호:
~: 사용자의 홈 디렉토리로 이동-: 이전 작업 디렉토리로 바로 복귀 (토글 방식)..: 상위 디렉토리로 이동
- 실무 활용 예시:Bash
# 복잡한 경로에서 작업하다가 방금 전 폴더로 돌아가고 싶을 때 cd - # 홈 디렉토리 내의 다운로드 폴더로 즉시 이동 cd ~/Downloads
3. cp (Copy) : 파일 및 디렉토리 복사
단순 복사보다 데이터의 속성을 보존하며 복사하는 것이 중요합니다.
- 주요 옵션:
-r: 디렉토리 전체(하위 포함) 복사-p: 원본의 권한, 시간, 소유주 정보를 유지하며 복사-i: 덮어쓸 때 확인 메시지 출력
- 실무 활용 예시:Bash
# 설정 파일을 수정하기 전, 원래 권한 그대로 백업본 만들기 (필수 습관) cp -p config.php config.php.bak # 'images' 폴더 전체를 다른 위치로 복사 cp -r ./images /var/www/backup/
4. rm (Remove) : 파일 및 디렉토리 삭제
되돌릴 수 없으므로 옵션 사용에 가장 신중해야 합니다.
- 주요 옵션:
-r: 디렉토리와 하위 내용 삭제-f: 삭제 시 메시지를 띄우지 않고 강제로 삭제-i: 매 삭제 시마다 사용자에게 물어봄 (안전장치)
- 실무 활용 예시:Bash
# 특정 폴더와 그 안의 수천 개 파일을 묻지 않고 한 번에 삭제 rm -rf ./temp_logs # 중요한 파일을 지울 때 실수 방지를 위해 확인하며 삭제 rm -i secret_data.txt
5. tail (Output last part) : 파일 끝부분 출력
서버의 상태를 실시간으로 모니터링할 때 없어서는 안 될 도구입니다.
- 주요 옵션:
-f: 파일 내용이 추가될 때 실시간으로 화면에 출력 (감시 모드)-n [숫자]: 끝에서부터 특정 줄 수만큼만 표시
- 실무 활용 예시:Bash
# 웹 서버 에러 로그를 실시간으로 보면서 버그 수정하기 tail -f /var/log/nginx/error.log # 로그 파일의 마지막 50줄만 확인하기 tail -n 50 /var/log/syslog
6. tar (Archive) : 파일 압축 및 해제
리눅스에서 여러 파일을 하나로 묶거나 압축할 때 사용합니다.
- 주요 옵션 조합:
-cvzf:.tar.gz형식으로 압축 (Create, Verbose, Gzip, File)-xvzf:.tar.gz압축 풀기 (Extract)
- 실무 활용 예시:Bash
# 현재 폴더의 'web_project' 폴더를 하나로 압축하기 tar -cvzf project.tar.gz ./web_project # 받은 압축 파일을 현재 경로에 풀기 tar -xvzf data_set.tar.gz
💡 팁
명령어를 입력할 때 Tab 키를 활용해 보세요! 파일명이나 경로의 일부만 치고 Tab을 누르면 자동으로 완성되어 오타를 방지할 수 있습니다. 또한, 이전에 썼던 명령어를 다시 쓰고 싶을 땐 Ctrl + R을 눌러 검색해 보세요.