[리눅스 기초] 서버 관리자가 실무에서 매일 쓰는 필수 명령어 20가지 총정리

    웹 개발자나 시스템 엔지니어로 일하다 보면 필연적으로 리눅스(Linux) 서버를 다루게 됩니다. 마우스 클릭으로 모든 것이 해결되는 윈도우(Windows) 환경과 달리, 검은 터미널 창에 텍스트를 입력해 서버를 제어하는 CLI(Command Line Interface) 환경은 초보자에게 큰 장벽으로 느껴질 수 있습니다.

    하지만 걱정하지 마세요. 수백 개의 리눅스 명령어가 존재하지만, 실제 실무 현장에서 서버 관리자가 매일같이 두드리며 사용하는 핵심 명령어는 20개 내외로 정해져 있습니다. 구글 애드센스 승인을 노리는 IT 블로그나, 이제 막 서버 관리에 입문한 주니어 개발자를 위해 실무 활용도 100%를 자랑하는 리눅스 필수 명령어 20가지를 상황별로 나누어 총정리해 드립니다.

    이 글을 북마크해 두시고 필요할 때마다 꺼내어 활용해 보세요!


    1. 파일 및 디렉토리 관리 (가장 완벽한 기본기)

    서버에 접속하자마자 가장 먼저 치게 되는, 숨 쉬듯 사용하는 명령어들입니다.

    1. ls (List) 현재 위치한 디렉토리(폴더) 내의 파일과 목록을 보여줍니다. 실무에서는 파일의 권한, 소유자, 용량, 숨김 파일까지 모두 확인하기 위해 ls -al 옵션을 고정적으로 사용합니다.

    2. cd (Change Directory) 원하는 디렉토리로 이동할 때 사용합니다.

    • cd /var/log : 절대 경로로 이동
    • cd .. : 한 단계 상위 디렉토리로 이동
    • cd ~ : 현재 접속한 사용자의 홈 디렉토리로 단숨에 이동

    3. pwd (Print Working Directory) 현재 내가 서버의 어느 위치(경로)에 있는지 전체 절대 경로를 출력해 줍니다. 길을 잃었을 때 나의 현 위치를 파악하는 나침반 역할을 합니다.

    4. mkdir (Make Directory) 새로운 디렉토리를 생성합니다. mkdir -p /app/test/new 옵션을 주면 중간 경로가 없더라도 한 번에 하위 디렉토리까지 생성할 수 있어 편리합니다.

    5. cp (Copy) 파일이나 디렉토리를 복사합니다. 디렉토리 전체를 그 안의 내용물까지 통째로 복사할 때는 cp -r [원본] [복사본] 옵션을 사용합니다.

    6. mv (Move) 파일을 다른 위치로 이동시키거나, 파일의 이름을 변경할 때 사용합니다. mv old_name.txt new_name.txt처럼 입력하면 이름이 변경됩니다.

    7. rm (Remove) 파일이나 디렉토리를 삭제합니다.

    • 주의: rm -rf 디렉토리명은 묻지도 따지지도 않고 디렉토리와 그 안의 모든 것을 강제 삭제하므로, 실무에서 가장 조심해서 다뤄야 하는 명령어 1순위입니다.

    2. 로그 확인 및 텍스트 검색 (트러블슈팅의 꽃)

    서버에 에러가 발생했을 때 원인을 파악하기 위해 반드시 거쳐야 하는 과정입니다.

    8. tail 파일의 마지막 부분을 출력합니다. 실무에서는 웹 서버나 DB의 로그가 실시간으로 쌓이는 것을 모니터링하기 위해 tail -f /var/log/syslog 형태로 가장 많이 사용합니다.

    9. grep 실무 활용도 압도적 1위 명령어입니다. 파일 내에서 특정 문자열이나 패턴을 찾아줍니다. 다른 명령어와 조합하여 cat error.log | grep "500 Internal" 처럼 에러 로그만 쏙 뽑아낼 때 필수적입니다.

    10. cat (Concatenate) 파일의 내용을 화면에 쭉 출력해 줍니다. 주로 짧은 설정 파일의 내용을 빠르게 훑어볼 때 사용합니다. 내용이 길다면 스크롤이 넘어가 버리므로 lessmore 명령어를 섞어 씁니다.

    11. find 서버 전체에서 조건에 맞는 파일을 검색합니다. 이름으로 찾을 때는 find / -name "nginx.conf" 와 같이 사용하며, 특정 용량 이상이나 수정일자 기준으로도 찾을 수 있습니다.

    12. vi (또는 vim) 리눅스 환경의 기본이자 표준 텍스트 에디터입니다. 설정 파일을 수정할 때 반드시 쓰입니다.

    • i를 누르면 입력 모드로 전환.
    • 수정 후 ESC를 누르고 :wq 를 입력하면 저장 후 종료, :q! 를 입력하면 저장하지 않고 강제 종료됩니다.

    3. 시스템 상태 및 프로세스 모니터링 (자원 관리)

    서버가 갑자기 느려지거나 다운되었을 때, 범인을 찾아내는 감시 카메라 역할을 합니다.

    13. top (또는 htop) 윈도우의 ‘작업 관리자’와 같습니다. 실시간으로 CPU, 메모리 사용량과 현재 실행 중인 프로세스들의 점유율을 갱신하여 보여줍니다. (좀 더 시각적으로 편리한 htop을 추가 설치해 쓰는 것을 강력히 추천합니다.)

    14. ps (Process Status) 현재 서버에서 실행 중인 프로세스의 목록을 보여줍니다. 실무에서는 ps -ef | grep nginx 처럼 사용하여, 내가 원하는 프로세스(예: nginx)가 정상적으로 띄워져 있는지, PID(프로세스 ID)는 몇 번인지 확인할 때 씁니다.

    15. kill 좀비 프로세스가 되거나 자원을 과도하게 먹고 있는 프로세스를 강제로 종료시킵니다. ps 명령어로 확인한 PID를 이용해 kill -9 [PID] 형태로 사용하면 해당 프로세스를 무조건 죽입니다.

    16. df (Disk Free) 시스템 전체의 디스크(하드디스크) 여유 공간과 사용량을 마운트(Mount)된 파티션별로 보여줍니다. 읽기 편하게 용량을 MB/GB 단위로 보려면 df -h 를 입력합니다. (서버 용량이 100%가 되면 DB가 멈추므로 주기적으로 확인해야 합니다.)

    17. du (Disk Usage) 특정 디렉토리나 파일이 디스크 용량을 얼마나 차지하고 있는지 구체적으로 확인합니다. 로그 파일이 쌓여 용량이 부족할 때, 범인 디렉토리를 찾기 위해 du -sh * 명령어를 자주 씁니다.

    18. free 서버의 물리적 메모리(RAM)와 스왑(Swap) 메모리의 총량, 사용량, 여유량을 확인합니다. free -m (메가바이트 단위)이나 free -h (사람이 읽기 쉬운 단위) 옵션을 주로 사용합니다.


    4. 네트워크 상태 및 권한 관리 (보안과 통신)

    외부와의 통신이 원활한지, 파일 접근 보안은 잘 되어 있는지 체크합니다.

    19. ping & curl

    • ping [IP 또는 도메인] : 특정 서버와 네트워크 통신이 정상적으로 뚫려 있는지 확인할 때 씁니다.
    • curl [URL] : 터미널 창에서 웹 서버로 직접 요청을 보내 응답값을 확인합니다. API 서버 테스트 시 매우 유용합니다.

    20. chmod & chown

    • chmod (Change Mode): 파일이나 디렉토리의 읽기(r), 쓰기(w), 실행(x) 권한을 변경합니다. 웹 서버의 파일 업로드 폴더에 권한을 줄 때 chmod 755chmod 777 (주의 요망)을 자주 사용합니다.
    • chown (Change Owner): 파일이나 디렉토리의 소유자와 소유 그룹을 변경합니다. chown ubuntu:ubuntu test.txt 형태로 사용합니다.

    결론: 실전은 타이핑에서 시작됩니다

    명령어는 눈으로 읽어서는 절대 외워지지 않습니다. 위에 정리해 드린 20가지 명령어는 AWS EC2 무료 티어나 로컬 가상머신(VirtualBox 등)에 우분투를 설치한 뒤, 직접 손으로 타이핑해 보며 결과를 확인해 보셔야 완전히 내 것이 됩니다.

    리눅스 CLI 환경은 처음에는 차갑고 낯설게 느껴지지만, 이 기본기만 확실히 다져두면 추후 도커(Docker), 쿠버네티스(Kubernetes) 같은 고급 인프라 기술을 다룰 때 엄청난 시너지 효과를 발휘할 것입니다. 지금 바로 터미널 창을 열고 첫 번째 명령어 ls -al부터 시작해 보세요!

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

    광고보고 콘텐츠 계속 읽기
    원치않으시면 뒤로가기를 해주세요

    광고 차단 알림

    광고 클릭 제한을 초과하여 광고가 차단되었습니다.

    단시간에 반복적인 광고 클릭은 시스템에 의해 감지되며, IP가 수집되어 사이트 관리자가 확인 가능합니다.

    광고보고 콘텐츠 계속 읽기
    원치않으시면 뒤로가기를 해주세요