Water Sort Puzzle Icon

워터 소트 퍼즐 (Water Sort Puzzle)

색깔이 있는 물을 유리병에 분류하는 재미있고 중독성 있는 퍼즐 게임입니다.

Google Play 스토어

프로그래밍 일반

리눅스 필수 명령어: 터미널 활용 가이드 (초보자용)

해리슨7 2025. 7. 23. 10:43

 

 

리눅스 필수 명령어: 터미널 활용 가이드 (초보자용)

리눅스 초보자를 위한 필수 가이드!
이 포스팅에서는 리눅스 터미널 환경에서 생산성을 높이는 데 도움이 되는 핵심 명령어들을 정리했습니다. 파일 관리부터 시스템 모니터링, 네트워크 설정까지 다양한 작업을 수행하는 데 필수적인 리눅스 명령어들을 함께 살펴보세요.

파일 및 디렉토리 관리: 리눅스 기본 명령어

리눅스에서 파일을 만들고, 복사하고, 이동하는 등 기본적인 파일 시스템 작업을 위한 명령어들입니다.

  • 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)
    htop
  • top보다 더 사용자 친화적이고 직관적인 인터페이스를 제공하는 대화형 프로세스 뷰어입니다. (별도 설치 필요: 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 [명령어]를 활용하여 상세한 사용법을 확인해 보세요! 궁금한 점이 있다면 댓글로 남겨주세요.
Water Sort Puzzle Icon

워터 소트 퍼즐 (Water Sort Puzzle)

색깔이 있는 물을 유리병에 분류하는 재미있고 중독성 있는 퍼즐 게임입니다.

Google Play 스토어