Post

[Linux] 엔지니어를 위한 리눅스 명령어

리눅스의 가장 기본적인 명령어를 이해하는 데 도움이 되는 간단한 가이드 문서다. 기본부터 고급 리눅스 명령어, 네트워킹 명령어, 파일 관리 명령어, 시스템 모니터링 명령어, 패키지 관리 명령어, 디스크 및 파일 시스템 명령어, 스크립팅 및 자동화 명령어, 개발 및 디버깅 명령어, 기타 유용한 명령어를 포함한다.

1. Basic Linux Commands

  1. pwd - 현재 디렉토리 출력
    1
    2
    3
    4
    5
    
     # 현재 디렉토리 경로 표시
     pwd
    
     # 결과
     /home/user/project
    


  2. ls - 파일 및 디렉토리 리스트 출력
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
     # 현재 디렉토리의 항목 목록 표시
     ls
    
     # 상세 파일 정보(크기, 권한) 목록 표시
     ls -l
    
     # 숨김 파일을 포함한 모든 항목 목록 표시
     ls -a
    
     # 숨김 파일을 포함하여 상세 정보 출력
     ls -la
    


  3. cd - 디렉토리 변경
    1
    2
    3
    4
    5
    6
    7
    8
    
     # /var/log 디렉토리로 이동
     cd /var/log
    
     # 상위 디렉토리로 이동
     cd ..
    
     # 홈 디렉토리로 이동
     cd ~
    


  4. touch - 빈 파일 생성
    1
    2
    
     # 현재 디렉토리 내 file.txt 생성
     touch file.txt
    


  5. mkdir - 디렉토리 생성
    1
    2
    3
    4
    5
    6
    7
    8
    
     # backups 이름의 디렉토리 생성
     mkdir backups
    
     # backups 이름의 디렉토리 생성 (상위 디렉토리 포함)
     mkdir -p /home/user/new/project
    
     # 다수 디렉토리 생성
     mkdir dir1 dir2 dir3
    


  6. rm - 파일 및 디렉토리 삭제
    1
    2
    3
    4
    5
    
     # 파일 삭제
     rm file.txt
    
     # 디렉토리 삭제 (하위 디렉토리 포함)
     rm -r directory/
    


  7. rmdir - 빈 디렉토리 삭제
    1
    2
    
     # 빈 디렉토리 삭제
     rmdir test_directory
    


  8. cp - 파일 및 디렉토리 복사
    1
    2
    3
    4
    5
    
     # file.txt 파일을 /tmp/ 디렉토리로 복사
     cp file.txt /tmp/
    
     # 디렉토리 복사 (하위 포함)
     cp -r dir1/ dir_backup/
    


  9. mv - 파일 및 디렉토리 이동/이름 수정
    1
    2
    3
    4
    5
    
     # /tmp 디렉토리로 파일 이동
     mv file.txt /tmp/
    
     # 파일 이름 변경
     mv oldname.txt newname.txt
    


  10. cat - 파일 내용 출력
    1
    2
    3
    4
    5
    
    # 파일 내용 출력
    cat config.txt
    
    # 파일 병합
    cat file1.txt file2.txt > merged.txt
    


  11. echo - 텍스트 터미널 출력
    1
    2
    3
    4
    5
    6
    7
    8
    
    # 텍스트 출력
    echo "Hello DevOps!"
    
    # 텍스트를 포함한 파일 생성
    echo "Job Done!" > message.txt
    
    # 파일 내용 추가
    echo "More data" >> message.txt
    


  12. clear - 터미널 스크린 청소
    1
    2
    3
    4
    5
    
    # 터미널 세션 스크린 청소
    clear
    
    # 단축키
    Ctrl + L
    


2. Intermediate Linux Commands

이러한 명령어는 파일 권한 설정부터 프로세스 모니터링, 네트워크 테스트, 데이터 전송 및 파일 관리에 이르기까지 일상적인 DevOps 운영에서 널리 사용된다.

  1. chmod - 파일 권한 변경
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
     # test.txt 파일에 대한 Read(읽기), Write(쓰기), Execute(실행) 권한 제어
     chmod 400 test.txt
    
     # Owner: Read+Write+Execute / Group: Read+Execute / Other: Read+Execute
     chmod 755 script.sh
    
     # 기존 파일에 실행 권한 추가 부여
     chmod +x script.txt
    
     # 기존 파일에 실행 권한 제거
     chmod -x script.txt
    


  2. chown - 파일 소유권 변경
    1
    2
    3
    4
    5
    
     # 소유자 변경
     sudo chown user file.txt
    
     # 소유자 및 소유 그룹 변경
     sudo chown user:group file.txt
    


  3. find - 파일 및 디렉토리 검색
    1
    2
    3
    4
    5
    
     # /var 경로에서 log로 시작하는 파일 변경
     find /var -name "log*"
    
     # 현재 디렉토리에서 10MB 이상 크기의 파일 검색
     find . -type f -size +10M
    


  4. grep - 파일 내 텍스트 검색
    1
    2
    3
    4
    5
    6
    7
    8
    
     # app.log 파일 내 error(대소문자 구분 o)라는 문구를 포함한 행 출력
     grep "error" app.log
    
     # app.log 파일 내 error(대소문자 구분 x)라는 문구를 포함한 행 출력
     grep -i "error" app.log
    
     # /etc/ 하위 디렉토리 포함하여 password라는 문구를 포함한 행 출력
     grep -r "password" /etc/
    


  5. wc - 단어, 행, 문자 카운트
    1
    2
    3
    4
    5
    6
    7
    8
    
     # 행 수 출력
     wc -l file.txt
    
     # 단어 수 출력
     wc -w file.txt
    
     # 문자 수 출력
     wc -c file.txt
    


  6. head - 파일 내용 상위 출력
    1
    2
    3
    4
    5
    
     # 파일 내용 상위 10행(Default) 출력
     head file.txt
    
     # 파일 내용 상위 5행 출력
     head -n 5 file.txt
    


  7. tail - 파일 내용 하위 출력
    1
    2
    3
    4
    5
    6
    7
    8
    
     # 파일 내용 하위 10행(Default) 출력
     tail file.log
    
     # 파일 내용 하위 5행 출력
     tail -n 5 file.log
    
     # 파일 내용 실시간 출력
     tail -f file.log
    


  8. sort - 파일 내용 정렬
    1
    2
    3
    4
    5
    
     # 알파벳 또는 숫자 순으로 정렬
     sort names.txt
    
     # 숫자 정렬
     sort -n numbers.txt
    


  9. uniq - 중복 라인 삭제
    1
    2
    
     # sort 명령어와 함께 사용되어 고유 값 필터링
     sort data.txt | uniq
    


  10. diff - 두 파일 비교
    1
    2
    
    # 행 기준 두 파일 비교
    diff old.conf new.conf
    


  11. tar - Tar 압축 파일 생성 및 압축 해제
    1
    2
    3
    4
    5
    
    # 압축 파일 생성 (tar)
    tar -czvf archive.tar folder/
    
    # 압축 해제 (tar)
    tar -xzvf archive.tar
    


  12. zip/unzip - Zip 압축 파일 생성 및 압축 해제
    1
    2
    3
    4
    5
    
    # 압축 파일 생성 (zip)
    zip logs.zip *.log
    
    # 압축 해제 (zip)
    unzip logs.zip
    


  13. df - 디스크 사용량 출력
    1
    2
    3
    4
    5
    
    # 읽기 쉬운 형식으로 디스크 및 파티션 사용량 확인
    df -h
    
    # 읽기 쉬운 형식으로 타입을 포함하여 디스크 및 파티션 사용량 확인
    df -Th
    


  14. du - 디렉토리 크기 출력
    1
    2
    3
    4
    5
    
    # /var/log 디렉토리 내 전체 사이즈 출력
    du -sh /var/log
    
    # 디렉토리 및 파일이 차지하는 공간 표시
    du -h *
    


  15. top - 실시간 프로세스 모니터링
    1
    2
    3
    4
    5
    
    # 실시간 CPU/Memory 사용량 확인
    top
    
    # 읽기 쉬운 형식으로 실시간 CPU/Memory 사용량 확인
    htop
    


  16. ps - 실행 중인 프로세스 출력
    1
    2
    3
    4
    5
    
    # 전체 프로세스 출력
    ps aux
    
    # 특정 프로세스 출력
    ps -ef | grep nginx
    


  17. kill - 프로세스 종료
    1
    2
    3
    4
    5
    
    # 프로세스 종료
    kill 1234
    
    # 프로세스 강제 종료
    kill -9 1234
    


  18. ping - 네트워크 연결성 체크
    1
    2
    
    # 연결성 및 지연시간 체크 (Stop: Ctrl+C)
    ping google.com
    


  19. wget - 웹 파일 다운로드
    1
    2
    
    # URL 경로의 파일 다운로드
    wget https://example.com/file.zip
    


  20. curl - 서버로 데이터 전송 / 서버에서 데이터 다운
    1
    2
    3
    4
    5
    
    # HTTP, FTP, API Calls 등 데이터 전송
    curl http://example.com
    
    # 파일 다운로드
    curl -O https://site.com/file.tar.gz
    


  21. scp - 호스트 간 안전한 파일 전송
    1
    2
    3
    4
    5
    
    # SSH 기반 파일 복사 (Local->Remote)
    scp file.txt user@server:/tmp/
    
    # SSH 기반 파일 복사 (Remote->Local)
    scp user@server:/home/logs.zip .
    


  22. rsync - 파일 동기화/백업
    1
    2
    3
    4
    
    # 증분 복사
    rsync -av /data/ /backup/
    
    rsync -avz user@server:/path/ .
    


3. Advanced Linux Commands

  1. awk - 텍스트 데이터의 행/열 처리
    1
    2
    3
    4
    5
    6
    7
    
     # 1.IP주소($1)만 뽑음 -> 2.정렬 -> 3.중복 제거 및 카운트 -> 4.많은 순 정렬
     # 로그 파일의 첫 번째 칸(IP)만 뽑아서 접속 횟수 순위 지정
     # (디도스(DDoS) 공격이나 크롤러를 찾을 때 활용)
     awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10
    
     # 'node' 프로세스를 찾아서 -> PID($2)만 출력
     ps aux | grep node | awk '{print $2}'
    


  2. sed - 파일을 열지 않고 파일 내용 검색, 수정, 교체
    1
    2
    3
    4
    5
    
     # nginx.conf 파일에서 80을 8080으로 변환
     sed -i 's/listen 80;/listen 8080;/g'
    
     # 3행의 'foo'만 'bar'로 변경
     sed -i '3s/foo/bar/' file.txt
    


  3. cut - 텍스트 일부(열) 제거 및 추출
    1
    2
    3
    4
    5
    6
    7
    8
    
     # 1, 7번 필드 출력
     cut -d ":" -f 1,7 /etc/passwd
     # 결과: root:/bin/bash
    
     # 각 줄의 1~5번째 글자까지만 출력
     ls -l | cut -c 1-5
     # 결과: -rw-r (권한 부분 앞쪽만 잘림)
    
    


  4. tr - 문자 교체 및 삭제
    1
    2
    3
    4
    5
    
     # 대소문자 변환
     echo "hello world" | tr 'a-z' 'A-Z'
    
     # 파일 내의 캐리지 리전(\r) 문자 삭제
     cat script_windows.sh | tr -d '\r' > script_linux.sh
    


  5. xargs - 표준 입력으로부터 받은 데이터를 명령어로 변환
    1
    2
    
     # 30일 이상 된(mtime +30) .log 파일을 찾아서 삭제
     find /var/log/ -name "*.log" -mtime +30 | xargs rm -f
    


  6. ln - 하드링크 및 심볼릭 링크 생성
    1
    2
    
     # 파일 및 디렉토리 심볼릭 링크 생성
     ln -s /path/original file_link
    


  7. free - 메모리 사용량 확인
    1
    2
    
     # 읽기 쉬운 형식으로 메모리 사용량 출력
     free -h
    


  8. iostat - CPU 및 I/O 상태 확인
    1
    2
    
     # 2초마다 확장된 I/O 통계 확인
     iostat -x 2
    


  9. netstat(Legacy) / ss(Modern) - 열려 있는 포트 정보 확인
    1
    2
    3
    4
    5
    6
    7
    8
    
     # TCP LISTEN 상태의 포트와 프로세스 확인 (netstat)
     sudo netstat -nltp
    
     # UDP LISTEN 상태의 포트와 프로세스 확인 (netstat)
     sudo netstat -nlup
    
     # TCP/UDP LISTEN 상태의 포트와 프로세스 확인 (ss)
     sudo ss -nltup
    


  10. ifconfig / ip - 네트워크 정보 확인
    1
    2
    3
    4
    
    # IP Address 및 Interface 확인
    ip addr show
    
    ifconfig
    


  11. iptables - 방화벽 룰 확인
    1
    2
    3
    4
    5
    
    # 현재 방화벽 룰 확인
    sudo iptables -nL
    
    # 현재 방화벽 룰에 번호를 붙여서 확인
    sudo iptables -nL --line-numbers
    


  12. systemctl - systemd service 관리
    1
    2
    
    # nginx 서비스 재시작
    sudo systemctl restart nginx
    


  13. journalctl - systemd log 확인
    1
    2
    
    # nginx 서비스 로그 확인
    journalctl -u nginx
    


  14. crontab - 반복 작업 예약
    1
    2
    3
    4
    5
    
    # cron job 설정 변경
    crontab -e
    
    # 매일 01:00 /home/user/backup.sh 실행
    0 1 * * * /home/user/backup.sh
    


  15. at - 일회성 작업 예약
    1
    2
    
    # reboot 명령어 02:00 수행
    echo "reboot" | at 02:00
    


  16. uptime - 시스템 가동 시간 및 부하 확인
    1
    2
    
    # 시스템이 얼마나 오래 실행 중인지, 부하 확인
    uptime
    


  17. whoami - 현재 로그인 유저 확인
    1
    2
    
    # 현재 로그인된 유저 확인
    whoami
    


  18. users - 현재 로그인 된 유저 목록 확인
    1
    2
    
    # 현재 로그인 된 유저 목록 확인
    users
    


  19. hostname - 호스트 네임 확인 및 수정
    1
    2
    3
    4
    5
    
    # hostname 확인
    hostname
    
    # hostname 수정
    sudo hostnamectl set-hostname server01
    


  20. env - 환경 변수 출력
    1
    2
    
    # 전체 환경 변수 출력
    env
    


  21. export - 환경 변수 설정
    1
    2
    3
    4
    5
    6
    
    # 환경 변수 설정 (현재 세션)
    export PATH=$PATH:/opt/myapp/bin
    
    # 환경 변수 설정 (영구 설정)
    echo 'export PATH=$PATH:/opt/myapp/bin' >> ~/.bashrc
    source ~/.bashrc
    


4. Advanced Networking Commands

  1. ip addr - IP Address 출력 및 설정
    1
    2
    3
    4
    5
    
     # 전체 네트워크 인터페이스 및 IPs 출력
     ip addr show
    
     # IP 할당
     sudo ip addr add 192.168.1.10/24 dev eth0
    


  2. ip route - 라우팅 테이블 출력 및 설정
    1
    2
    3
    4
    5
    
     # default 및 static 라우팅 설정 출력
     ip route
    
     # 라우팅 설정
     sudo ip route add 10.0.0.0/24 via 192.168.1.1
    


  3. traceroute - 패킷 경로 추적
    1
    2
    
     # 도착지까지의 패킷 경로 확인
     traceroute google.com
    


  4. nslookup - DNS Lookup 유틸
    1
    2
    3
    4
    5
    6
    7
    8
    
     # DNS 정방향 조회
     nslookup google.com
    
     # DNS 역방향 조회
     nslookup 8.8.8.8
    
     # 특정 레코드(MX) 조회
     nslookup -query=mx naver.com
    


  5. dig - DNS Query 도구
    1
    2
    3
    4
    5
    6
    7
    8
    
     # DNS Query 정방향 결과(IP만) 출력
     dig google.com +short
    
     # DNS Query 정방향 결과(경로) 출력
     dig google.com +trace
    
     # DNS Query 역방향 결과 출력
     dig -x 8.8.8.8 +short
    


  6. ssh - Secure 원격 로그인
    1
    2
    3
    4
    5
    
     # 원격지 접속
     ssh user@192.168.1.20
    
     # 키파일을 통한 원격지 접속
     ssh -i my-key.pem user@192.168.1.20
    


  7. ftp - FTP 프로토콜을 통한 파일 전송 (대화형)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
     # ftp 서버 접속 (SSH 기반의 SFTP로 대체)
     ftp 192.168.1.10
    
     # 파일 전송
     put file.txt
    
     # 파일 다운로드
     get data.zip
    
     # 접속 종료
     bye
    


  8. nmap - 네트워크 스캔 및 감사 도구
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
     # 192.168.1.0/24 대역의 네트워크 전체 조회
     sudo nmap 192.168.1.0/24
    
     # 버전 감지 스캔 (ex. Port 외에 Apache 2.4.41 버전 스캔)
     sudo nmap -sV 192.168.1.10
    
     # OS 감지
     sudo nmap -O 192.168.1.10
    
     # 모든 포트 스캔
     sudo nmap -p- 192.168.1.10
    
     # 종합 스캔
     sudo nmap -A 192.168.1.10
    


  9. telnet - 원격 접속 도구(특정 포트 오픈 확인 도구)
    1
    2
    
     # 원격지 특정 포트 오픈 확인
     telnet google.com 80
    


  10. netcat(nc) - 네트워크 작업 도구
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    # 포트 스캔 및 연결 확인(-zv)
    nc -zv 192.168.1.20 22
    
    # 파일 전송
    # 수신 (4444 포트로 들어오는 데이터를 received.txt로 저장)
    nc -l 4444 > received.txt
    
    # 송신 (4444 포트로 file.txt 내용을 전송)
    nc 192.168.1.10 4444 < file.txt
    


5. File Management & Search Commands

이 명령어들은 파일을 빠르게 확인하고, 검색하며, 디렉터리 구조를 이해하는 데 도움이 됩니다.

  1. locate - 빠른 파일 검색
    1
    2
    3
    4
    5
    
     # 시스템 전체에서 nginx.conf라는 이름이 들어간 모든 경로 출력
     locate nginx.conf
    
     # 대소문자 구분 없이 검색
     locate -i Nginx.conf
    

sudo updatedb 명령을 통해 파일 목록 DB를 수동으로 갱신해야 한다.

  • locate 명령은 방금 만든 파일은 검색할 수 없다.
  • 리눅스는 보통 하루에 한 번 자동으로 파일 목록 DB(mlocate.db)를 업데이트 한다.


  1. stat - 파일 정보 및 메타데이터 확인
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     # 정확한 파일 크기, 아이노드 번호, 타임스탬프 상세 확인
     stat file.txt
    
     # 결과
     File: file.txt
     Size: 2048        Blocks: 8          IO Block: 4096   regular file
     Device: 801h/2049d  Inode: 131072      Links: 1
     Access: (0644/-rw-r--r--)  Uid: ( 1000/    user)   Gid: ( 1000/    user)
     Access: 2024-01-27 10:00:00.000000000 +0900
     Modify: 2024-01-27 10:05:00.000000000 +0900
     Change: 2024-01-27 10:10:00.000000000 +0900
     Birth: -
    


  2. tree - Tree 형식의 디렉토리 구조 확인
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     # Tree 형식의 디렉토리 및 파일 구조 출력 
     tree /var/www/
    
     # 결과
     /var/www/
     ├── index.html
     ├── css
     │ └── style.css
     └── js
     └── app.js
    


  3. file - 파일 상세 타입 확인
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
     # 압축 파일 확인
     file backup.tar.gz
    
     # 결과
     _backup.tar.gz:_ _gzip compressed data_
    
    
     # 스크립트 파일 확인
     file script.sh
    
     # 결과
     _script.sh:_ _Bourne-Again shell script_
    


  4. basename - 절대 경로 중 파일명 출력
    1
    2
    3
    4
    
     basename /home/user/data/report.csv
    
     # 결과
     report.csv
    


  5. dirname - 절대 경로 중 파일 경로 출력
    1
    2
    3
    4
    
     dirname /home/user/data/report.csv
    
     # 결과
     /home/user/data
    


6. System Monitoring Commands

  1. vmstat - 시스템 성능 상태 확인(Memory, CPU, Paging, Process)
    1
    2
    3
    4
    5
    6
    7
    
     # 1초 간격으로 5번 출력
     vmstat 1 5
    
     # 결과 ()
     procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     2  0      0 120000  50000 400000    0    0     1     5   10   20 10  5 80  5  0
    


  2. lsof - 프로세스가 사용하는 열려있는 모든 파일 확인
    1
    2
    3
    4
    5
    
     # 8080 포트를 사용 중인 프로세스 확인
     sudo lsof -i :8080
    
     # 파일 사용자 확인
     sudo lsof /var/log/messages
    


  3. dmesg - 커널 메시지 확인
    1
    2
    3
    
     # 커널 로그 확인
     # 모든 하드웨어 감지, 드라이버 로딩, 파일 시스템 오류 등
     sudo dmesg | tail
    


  4. iotop - 실시간 Disk I/O 모니터링
    1
    2
    3
    4
    5
    6
    7
    8
    
     # 디스크의 Reading/Writing 상태 확인
     sudo iotop
    
     # 현재 디스크의 I/O를 발생시키고 있는 프로세스만 출력
     sudo iotop -o
    
     # 프로세스 단위로 확인
     sudo iotop -P
    


7. Package Management Commands

  1. apt - Debian/Ubuntu 계열의 패키지 매니저
    1
    2
    3
    
     sudo apt update
     sudo apt install nginx
     sudo apt remove nginx
    


  2. yum / dnf - 레드햇(RHEL/CentOS/Fedora) 계열의 패키지 매니저
    1
    2
    3
    
     sudo yum install httpd
     sudo yum update
     sudo dnf remove httpd
    


  3. snap - snap 패키지 매니저 (snap을 지원하는 시스템-Ubuntu 등)
    1
    2
    3
    4
    5
    6
    7
    8
    
     # 스냅 패키지 목록 및 버전 확인
     sudo snap list
    
     # 도커 설치
     sudo snap install docker
    
     # 업데이트 보류 (특정 시간까지 업데이트 안 함)
     sudo snap refresh --hold
    


  4. rpm - 레드햇(RHEL/CentOS/Fedora) 계열의 rpm 매니저
    1
    2
    3
    4
    5
    6
    7
    8
    
     # 설치
     sudo rpm -ivh package.rpm
    
     # java 설치 확인
     sudo rpm -qa | grep -i java
    
     # 삭제
     sudo rpm -e package_name
    


8. Disk & Filesystem Commands

  1. mount/ umount - 마운트 및 마운트 해제
    1
    2
    3
    4
    5
    
     # 디스크 마운트
     sudo mount /dev/sdb1 /mnt/data
    
     # 마운트 해제
     sudo umount /mnt/data
    


  2. fsck - 파일 시스템 체크 및 수리
    1
    2
    3
    4
    5
    6
    7
    8
    
     # 마운트 해제
     sudo umount /dev/sdb1
    
     # 검사 수행
     sudo fsck /dev/sdb1
    
     # 자동 yes 처리하여 검사 수행
     sudo fsck -y /dev/sdb1
    


  3. mkfs - 파일 시스템 생성 (포맷)
    1
    2
    
     # 수행
     sudo mkfs -t xfs /dev/sdb1
    


  4. blkid - Block Device 정보 확인
    1
    2
    
     # UUID, 파일 시스템 타입 등 확인
     sudo blkid
    


  5. lsblk - Block Device 목록 확인
    1
    2
    
     # Device name, Mount point 등 확인
     lsblk
    


  6. parted - 파티션 관리 도구 (대화형)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
     # 디스크 선택 및 진입
     sudo parted /dev/sdb
    
     # 상태 확인
     print
    
     # 타입 선택
     # GPT(2TB 이상 디스크에 사용) / MBR
     mklabel gpt
     mklabel msdos
    
     # 파티션 생성
     mkpart
    
     # 1번 파티션 삭제
     rm 1
    
     # 종료
     quit
    


9. Scripting & Automation Commands

  1. bash - Bash Shell & Scripting
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
     # 해석기 직접 호출
     # 실행 권한(x) 없이도 가능
     bash script.sh
    
     # 직접 실행
     # 쉐뱅(#!/bin/bash) 필요
     ./script.sh
    
     # 디버깅 모드로 실행
     bash -x script.sh
    


  2. sh - 구형 Shell 인터프리터 (호환성 목적으로 사용)
    1
    
     sh script.sh
    


  3. alias - 단축키 및 별칭
    1
    2
    3
    
     alias ll='ls -l'
     alias gs='git status'
     alias rm='rm -i'
    


  4. source - 스크립트 내용 적용
    1
    2
    3
    4
    5
    
     # source 명령어로 실행 (현재 Shell 안에서 실행)
     source ~/.bashrc
    
     # 실행 파일로 실행 (자식 Shell 하나 추가 실행)
     . ~/.bashrc
    
This post is licensed under CC BY 4.0 by the author.