기본 명령어

curl (Client URL)

  • 의미: 클라이언트 URL 도구
  • 기능: URL을 통해 데이터를 전송하거나 받는 명령어. 웹 페이지 내용 다운로드, API 호출, 파일 다운로드 등 다양한 네트워크 작업에 사용
  • 예시: curl https://example.com - example.com의 HTML 내용을 터미널에 출력
  • 자주 쓰는 옵션:
    • -o - 다운로드한 내용을 파일로 저장
    • -O - 서버의 파일 이름 그대로 저장
    • -X - HTTP 메소드 지정 (GET, POST 등)

vi (Visual Editor)

  • 의미: 비주얼 에디터
  • 기능: 유닉스/리눅스 시스템의 텍스트 편집기. 명령 모드와 입력 모드가 분리되어 있음
  • 주요 명령:
    • q - 종료
    • wq - 저장 후 종료
    • wq! - 강제 저장 후 종료
    • :exit - 종료
    • i - 입력 모드 진입
    • Esc - 명령 모드로 돌아가기
    • dd - 현재 줄 삭제
    • /검색어 - 검색

sudo (Superuser Do)

  • 의미: 슈퍼유저로 실행
  • 기능: 관리자 권한으로 명령어를 실행하는 데 사용. 시스템 파일 수정, 서비스 관리 등에 필요
  • 예시: sudo apt update - 관리자 권한으로 패키지 목록 업데이트
  • 자주 쓰는 옵션:
    • -s - 루트 쉘 실행
    • -u - 다른 사용자 권한으로 명령 실행

cd (Change Directory)

  • 의미: 디렉토리 변경
  • 기능: 작업 디렉토리를 변경하는 명령어
  • 주요 옵션:
    • cd - 홈 디렉토리로 이동
    • cd . - 현재 디렉토리를 의미 (실질적으로는 아무 변화 없음)
    • cd .. - 상위(부모) 디렉토리로 이동
    • cd - - 이전 디렉토리로 이동

pwd (Print Working Directory)

  • 의미: 현재 작업 디렉토리 출력
  • 기능: 현재 위치한 디렉토리의 전체 경로를 표시
  • 예시: pwd → /home/user/documents

tar

  • 의미: Tape Archive의 약자
  • 기능: 여러 파일을 하나의 아카이브 파일로 묶거나 풀 때 사용
  • 자주 쓰는 옵션:
    • c - 아카이브 생성
    • x - 아카이브 압축 해제
    • v - 자세한 정보 출력
    • f - 파일 이름 지정
    • z - gzip 압축/해제
    • j - bzip2 압축/해제

xvfz (tar의 옵션 조합)

  • 의미: 각 문자는 개별 옵션을 의미
    • x - extract (압축 풀기)
    • v - verbose (상세 출력)
    • f - file (파일 지정)
    • z - gzip (gzip 압축 사용)
  • 기능: 주로 tar -xvzf file.tar.gz 형태로 사용되며, gzip으로 압축된 tar 파일의 내용을 상세히 보여주며 압축 해제
  • 예시: tar -xvzf archive.tar.gz - archive.tar.gz 파일의 압축을 풀고 과정을 상세히 보여줌

cp (Copy)

  • 의미: 복사
  • 기능: 파일이나 디렉토리를 복사
  • 예시: cp file.txt backup/ - file.txt를 backup 디렉토리로 복사
  • 자주 쓰는 옵션:
    • -r - 디렉토리 재귀적 복사
    • -i - 덮어쓰기 전 확인
    • -p - 원본 파일의 속성 유지

chmod (Change Mode)

  • 의미: 권한 변경
  • 기능: 파일이나 디렉토리의 접근 권한을 변경
  • 예시: chmod +x script.sh - script.sh 파일에 실행 권한 추가
  • 자주 쓰는 옵션:
    • +x - 실행 권한 추가
    • -w - 쓰기 권한 제거
    • -R - 하위 디렉토리와 파일에 재귀적 적용
    • 755 - 소유자(rwx), 그룹(r-x), 기타(r-x) 권한 설정
    • 644 - 소유자(rw-), 그룹(r--), 기타(r--) 권한 설정

ls (List)

  • 의미: 목록 표시
  • 기능: 디렉토리 내용을 나열
  • 주요 옵션:
    • -a - 숨김 파일 포함 모든 파일 표시
    • -l - 상세 정보 표시
    • -h - 사람이 읽기 쉬운 형식으로 파일 크기 표시 (KB, MB 등)
    • -t - 수정 시간 순으로 정렬
    • -r - 역순 정렬
    • -al | grep ^d - 모든 파일의 상세 정보 중 'D'로 시작하는 항목(디렉토리) 필터링

rpm (Red Hat Package Manager)

  • 의미: 레드햇 패키지 관리자
  • 기능: Red Hat 계열 리눅스에서 소프트웨어 패키지 설치, 업데이트, 제거에 사용
  • 예시: rpm -i package.rpm - package.rpm 설치
  • 자주 쓰는 옵션:
    • -i - 패키지 설치
    • -e - 패키지 제거
    • -q - 패키지 쿼리
    • -U - 패키지 업데이트

mkdir (Make Directory)

  • 의미: 디렉토리 생성
  • 기능: 새 디렉토리를 만드는 명령어
  • 주요 옵션:
    • -p - 필요한 경우 상위 디렉토리까지 함께 생성
  • 예시: mkdir -p a/b/c - a, b, c 디렉토리를 계층적으로 한 번에 생성

mv (Move)

  • 의미: 이동
  • 기능: 파일이나 디렉토리를 이동하거나 이름 변경
  • 예시: mv file.txt newname.txt - file.txt의 이름을 newname.txt로 변경
  • 자주 쓰는 옵션:
    • -i - 덮어쓰기 전 확인
    • -f - 강제 이동 (확인 없음)
    • -v - 작업 과정 표시

ln (Link)

  • 의미: 링크 생성
  • 기능: 파일이나 디렉토리에 대한 하드 링크나 심볼릭 링크를 생성
  • 예시: ln -s target link_name - target에 대한 심볼릭 링크 link_name 생성
  • 자주 쓰는 옵션:
    • -s - 심볼릭 링크 생성
    • -f - 이미 존재하는 링크 파일 덮어쓰기

chown (Change Owner)

  • 의미: 소유자 변경
  • 기능: 파일이나 디렉토리의 소유자나 그룹을 변경
  • 주요 옵션:
    • -R - Recursive, 디렉토리 내의 모든 파일과 하위 디렉토리에 재귀적으로 적용
  • 예시: chown -R user:group directory/ - directory와 그 내부 모든 항목의 소유자를 user와 group으로 변경

make

  • 의미: 메이크 도구 실행
  • 기능: Makefile에 정의된 규칙에 따라 프로그램을 컴파일하거나 다른 작업 수행
  • 주요 옵션:
    • clean - 이전 빌드 파일 제거 (Makefile에 정의된 경우)
    • all - 모든 타겟 빌드 (Makefile에 정의된 경우)
  • 예시: make clean all - 먼저 이전 빌드 파일을 제거하고 전체 프로젝트를 다시 빌드

ls -lrt

  • 의미: 파일 목록을 상세히, 역순으로, 수정 시간 기준으로 정렬하여 표시
  • 기능: -l (상세 정보), -r (역순), -t (시간순) 옵션의 조합
  • 예시: ls -lrt - 가장 최근에 수정된 파일이 맨 아래에 표시

gcc -o

  • 의미: GNU C 컴파일러 출력 파일 지정
  • 기능: C 소스 코드를 컴파일하고 실행 파일 이름을 지정
  • 예시: gcc -o program source.c - source.c 파일을 컴파일하여 'program'이라는 이름의 실행 파일 생성
  • 자주 쓰는 옵션:
    • -o - 출력 파일 이름 지정
    • -c - 컴파일만 하고 링크는 하지 않음
    • -g - 디버깅 정보 포함
    • -Wall - 모든 경고 메시지 표시

추가 자주 쓰이는 명령어

grep (Global Regular Expression Print)

  • 의미: 정규 표현식 검색
  • 기능: 파일이나 출력에서 패턴을 검색
  • 예시: grep "error" log.txt - log.txt 파일에서 "error" 문자열 찾기
  • 자주 쓰는 옵션:
    • -i - 대소문자 구분 없이 검색
    • -r - 디렉토리 내 모든 파일에서 재귀적으로 검색
    • -n - 행 번호 표시
    • -v - 패턴을 포함하지 않는 행 표시

find

  • 의미: 파일 검색
  • 기능: 파일 시스템에서 조건에 맞는 파일이나 디렉토리 검색
  • 예시: find /home -name "*.txt" - /home 디렉토리 및 하위 디렉토리에서 .txt 파일 모두 찾기
  • 자주 쓰는 옵션:
    • -name - 파일 이름으로 검색
    • -type - 파일 타입으로 검색 (f: 일반 파일, d: 디렉토리)
    • -mtime - 수정 시간으로 검색
    • -exec - 찾은 파일에 명령 실행

ps (Process Status)

  • 의미: 프로세스 상태
  • 기능: 실행 중인 프로세스 목록 표시
  • 예시: ps aux - 시스템의 모든 프로세스 상세 정보 표시
  • 자주 쓰는 옵션:
    • aux - 모든 프로세스에 대한 자세한 정보
    • ef - 모든 프로세스를 트리 구조로 표시

top

  • 의미: 테이블 오브 프로세스 (Table of Processes)
  • 기능: 실시간으로 시스템 리소스 사용 및 프로세스 정보 표시
  • 주요 키:
    • q - 종료
    • k - 프로세스 종료 (kill)
    • r - 프로세스 우선순위 변경
    • 1 - CPU 코어별 사용률 표시

cat (Concatenate)

  • 의미: 연결
  • 기능: 파일 내용을 화면에 출력하거나 여러 파일을 연결
  • 예시: cat file.txt - file.txt의 내용을 화면에 출력
  • 자주 쓰는 옵션:
    • -n - 행 번호 표시
    • -b - 비어있지 않은 행에만 번호 표시

less

  • 의미: 페이지 단위로 표시
  • 기능: 파일 내용을 페이지 단위로 보여주는 텍스트 뷰어
  • 예시: less large_file.log - large_file.log를 페이지 단위로 탐색
  • 주요 키:
    • q - 종료
    • /pattern - 패턴 검색
    • n - 다음 검색 결과로 이동
    • space - 다음 페이지
    • b - 이전 페이지

head / tail

  • 의미: 파일의 시작/끝 부분 표시
  • 기능:
    • head - 파일의 처음 몇 줄 표시
    • tail - 파일의 마지막 몇 줄 표시
  • 예시:
    • head -n 10 file.txt - file.txt의 처음 10줄 표시
    • tail -f log.txt - log.txt 파일의 마지막 부분을 실시간으로 계속 표시
  • 자주 쓰는 옵션:
    • -n - 표시할 줄 수 지정
    • -f (tail) - 파일에 추가되는 내용 실시간 표시 (로그 모니터링에 유용)

df (Disk Free)

  • 의미: 디스크 여유 공간
  • 기능: 파일 시스템의 디스크 공간 사용량 표시
  • 예시: df -h - 사람이 읽기 쉬운 형식으로 디스크 사용량 표시
  • 자주 쓰는 옵션:
    • -h - 사람이 읽기 쉬운 형식으로 표시 (GB, MB 등)
    • -T - 파일 시스템 유형 표시

du (Disk Usage)

  • 의미: 디스크 사용량
  • 기능: 디렉토리와 파일의 디스크 사용량 표시
  • 예시: du -sh * - 현재 디렉토리의 모든 파일과 디렉토리 크기를 요약해서 표시
  • 자주 쓰는 옵션:
    • -s - 요약 정보만 표시
    • -h - 사람이 읽기 쉬운 형식으로 표시
    • -a - 모든 파일 표시 (디렉토리만이 아닌)

ssh (Secure Shell)

  • 의미: 보안 쉘
  • 기능: 원격 호스트에 안전하게 접속
  • 예시: ssh user@hostname - 원격 호스트에 사용자 계정으로 접속
  • 자주 쓰는 옵션:
    • -p - 포트 번호 지정
    • -i - 개인 키 파일 지정

scp (Secure Copy)

  • 의미: 보안 복사
  • 기능: SSH를 통해 원격 호스트와 파일을 안전하게 복사
  • 예시:
    • scp file.txt user@remote:/path/ - 로컬 파일을 원격 호스트로 복사
    • scp user@remote:/path/file.txt local/ - 원격 파일을 로컬로 복사
  • 자주 쓰는 옵션:
    • -r - 디렉토리 재귀적 복사
    • -P - 포트 번호 지정

ping

  • 의미: 패킷 인터넷 그로퍼 (Packet Internet Groper)
  • 기능: 네트워크 연결 테스트
  • 예시: ping google.com - google.com과의 네트워크 연결 상태 확인
  • 자주 쓰는 옵션:
    • -c - 지정한 횟수만큼만 패킷 전송
    • -t (Windows) / -c 0 (Linux) - 중단할 때까지 계속 ping

kill

  • 의미: 프로세스 종료
  • 기능: 프로세스 ID(PID)를 이용해 프로세스 종료
  • 예시: kill 1234 - PID 1234 프로세스 종료
  • 자주 쓰는 옵션:
    • -9 - 강제 종료 시그널 (SIGKILL)
    • -15 - 정상 종료 시그널 (SIGTERM, 기본값)

wget

  • 의미: 웹 겟 (Web Get)
  • 기능: 웹에서 파일 다운로드
  • 예시: wget https://example.com/file.zip - URL에서 파일 다운로드
  • 자주 쓰는 옵션:
    • -O - 다운로드 파일 이름 지정
    • -c - 이어받기
    • -r - 재귀적 다운로드 (웹사이트 미러링)

apt / yum / dnf

  • 의미: 패키지 관리자
  • 기능: 소프트웨어 패키지 설치, 업데이트, 제거
    • apt - Debian/Ubuntu 계열
    • yum/dnf - Red Hat/Fedora 계열
  • 예시:
    • apt update && apt upgrade - 패키지 목록 업데이트 후 모든 패키지 업그레이드
    • yum install package-name - 패키지 설치
  • 주요 명령:
    • install - 패키지 설치
    • remove - 패키지 제거
    • update/upgrade - 패키지 업데이트
    • search - 패키지 검색

history

  • 의미: 명령어 기록
  • 기능: 이전에 사용한 명령어 목록 표시
  • 예시: history | grep cd - cd 명령어 사용 기록 검색
  • : !숫자 - history에서 해당 번호의 명령어 재실행
728x90

+ Recent posts