별의 공부 블로그 🧑🏻‍💻
728x90
728x170

50. 리눅스 명령어

1. 디렉터리 명령어

  • 디렉터리(Directory)
    • 파일을 저장하고 관리하는 저장 단위
    • 디렉터리를 생성할 때 mkdir 명령어를 사용
      • Make Directory
      • 리눅스에서 디렉터리를 생성할 때 사용
      • 실행 파일 경로 : /bin/mkdir
    • 디렉터리 삭제할 때 rmdir 명령 사용
# mkdir bogosipeo             // 디렉터리 생성
# mkdir -m 777 bogosipeo      // 디렉터리 생성 시 권한 지정
  • mkdir 옵션
    • -m
      • 디렉터리 권한 설정
      • 기본 값 : 755 (rwxr-xr-x)
    • -p
      • 상위 경로도 함께 지정
    • -v
      • 디렉터리 생성 후에 생성된 디렉터리에 대한 메시지 출력

 

2. 파일 명령어

(1) cp(copy)

  • 파일 혹은 디렉터리를 복사하는 명령
  • 원본 파일과 동일한 파일을 생성하는 것
  • 같은 이름으로 복사하면 덮어씌울 것인지 확인함.
  • 명령어 형태
# cp [옵션][원본파일][복사파일]
# cp test1 test2        // test1 파일을 test2 파일로 복사함.
  • cp 옵션
    • -f : 덮어쓰기를 해서 복사
    • -r : 하위 디렉터리 전보 복사
  • 사용 예
# cp test.txt test2.txt
# cp -r bogosipeo bogosipeo2        // -r 옵션으로 하위 디렉터리까지 모두 복사함.

(2) rm(remove)

  • 파일을 삭제할 때 사용
# rm test2.txt                // rm 명령어로 파일 삭제
# rm -r bogosipeo         // -r 옵션으로 하위 디렉터리까지 모두 삭제
  • rm 옵션
    • -f : 물어보지 않고 강제로 삭제함.
    • -r : 디렉터리 삭제 시에 파일과 하위 경로 모두 삭제
    • -v : 파일 삭제 정보 출력

(3) mv(move)

  • 파일 및 디렉터리를 이동하거나 파일의 이름을 변경할 때 사용하는 명령어
  • 원본 파일과 대상 파일의 이름이 다르면 이름이 변경됨.
  • 이동할 파일이 여러 개이면 이동 모드로만 동작함.
  • 명령어 형태
# mv [옵션] 원본파일 대상파일
# mv [옵션] 원본파일 디렉터리
# mv [옵션] 디렉터리 디렉터리
  • mv 옵션
    • -b : 백업 파일 생성
    • -f : 사용자에게 묻지 않고 파일을 덮어씀.
    • -i : 덮어 쓸 경우, 사용자에게 물어봄.
    • -n : 파일이 존재하면 덮어쓰지 않음.
    • -S : 지정한 접미사로 백업 생성
    • -t : 전체 원본 파일을 대상 디렉터리로 이동
    • -u : 파일이 업데이트 된 경우에만 이동함.
    • -v : 진행 상태 정보 출력
  • 사용 예
# mv test.txt test3.txt        // mv 명령어로 파일의 이름을 변경함.

 

3. 텍스트 명령어

(1) cat

  • 파일의 내용을 확인할 수 있는 명령어
  • 명령어 형태
# cat [옵션][파일명]
  • cat 명령어 실행 시, cat -n test.txt 처럼 -n 옵션을 사용할 경우
    • 파일의 내용을 화면에 출력할 때 행 번호 를 같이 출력하게 함.
    • 리다이렉트를 같이 사용해서 파일을 복사할 수도 있음.
  • 사용 예
# cat /etc/passwd                   // 파일 내용 보기
# cat -n /etc/passwd                // 행 번호와 함께 파일 내용 보기
# cat /etc/passwd > test            // cat으로 파일 복사
# cat > test200                     // 리다이렉션으로 키보드에서 입력을 받고, test200 파일로 저장함.

(2) grep

  • 특정 파일 내에 있는 문자열을 검색하는 역할을 하는 명령어
  • 명령어 형태
# grep [검색 문자열][파일명]
# grep [옵션][검색 문자열][파일명]
  • grep 옵션
    • -c : 검색 문자열이 속한 행 수 출력
    • -H : 파일명과 함께 출력
    • -i 대소문자를 구분하지 않음.
    • -n : 검색한 문자가 속하는 행 번호와 함께 출력
    • -r : 현재 경로에서 하위 경로까지 검색
    • -v : 검색하는 문자가 없는 행 출력
    • -w : 패턴 표현식을 하나의 단어로 검색
  • 사용 예
# grep -c 키보드 test200            // "키보드"라는 문자열이 있는 행 수 출력
1
# cat test200
키보드로 입력한 내용이 test200 파일로 저장
됩니다.
# grep -H 키보드 test200            // -H 옵션 : 파일명과 해당 문자열을 출력함.
test200:키보드로 입력한 내용이 test200 파일로 저장
# grep -r test .                            // 찾으려는 문자열 : test, 찾으려는 경로 : .(현재 디렉터리), -r : 하위 디렉터리까지 모두 찾음.
  • 정규식 표현식(Regular Expression)
    • 어떤 문자열의 집합을 묘사할 때 사용하는 텍스트 스트링
    • 정해진 구문 규칙을 사용해야 함.
    • grep 명령어에서도 정규 표현식을 사용할 수 있음.
  • grep 정규식 표현(Regular Expression)
    • . : 한 글자
    • * : 길이와 관계없는 문자열
    • ^ : 행의 첫 시작
    • $ : 행의 마지막 위치
    • [] : 한 문자 길이 패턴
    • [^] : 입력된 문자들의 여집합
    • \ : 정규식에 사용되는 문자를 그대로 사용
    • \< : 단어의 시작 위치
    • \> : 단어의 마지막 위치
  • grep 정규식 표현 예제
# grep L. file                    // file에서 L. 이 속한 행 출력
# grep L.. file                 // file에서 L.. 이 속한 행 출력
# grep L.m. file             // file에서 L.m. 이 속한 행 출력

 

4. 네트워크 명령어

(1) netstat

  • 시스템과 연결된 모든 네트워크 연결을 확인하는 명령어
# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0    300 ip-172-31-43-90.ap-:ssh 211.230.32.34:53810     ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    10864617 /run/user/1000/systemd/notify
unix  3      [ ]         DGRAM                    13824    /run/systemd/notify
unix  9      [ ]         DGRAM                    13848    /run/systemd/journal/socket
unix  8      [ ]         DGRAM                    14001    /run/systemd/journal/dev-log
unix  2      [ ]         DGRAM                    14224    /run/systemd/journal/syslog
unix  3      [ ]         DGRAM                    17457    
unix  3      [ ]         STREAM     CONNECTED     9851645  
unix  3      [ ]         STREAM     CONNECTED     10864572 
unix  3      [ ]         DGRAM                    16087    
unix  2      [ ]         DGRAM                    9852017  
unix  3      [ ]         STREAM     CONNECTED     20907    /run/systemd/journal/stdout
unix  3      [ ]         DGRAM                    15300    
unix  3      [ ]         STREAM     CONNECTED     10864590 /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     20551    
unix  3      [ ]         STREAM     CONNECTED     2564199  /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     18555    
unix  3      [ ]         DGRAM                    16084    
unix  3      [ ]         STREAM     CONNECTED     7747261  /run/systemd/journal/stdout
unix  2      [ ]         DGRAM                    19746    
unix  3      [ ]         STREAM     CONNECTED     19181    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     2564211  
unix  3      [ ]         STREAM     CONNECTED     19180    
unix  3      [ ]         STREAM     CONNECTED     942163   
unix  2      [ ]         DGRAM                    10864466 
unix  3      [ ]         DGRAM                    17459    
unix  2      [ ]         DGRAM                    19178    
unix  3      [ ]         STREAM     CONNECTED     7747260  
unix  3      [ ]         STREAM     CONNECTED     942165   /run/systemd/journal/stdout
unix  2      [ ]         DGRAM                    20348    
unix  3      [ ]         STREAM     CONNECTED     20346    
unix  3      [ ]         STREAM     CONNECTED     2564212  /var/run/dbus/system_bus_socket
unix  2      [ ]         DGRAM                    20016    
unix  3      [ ]         DGRAM                    15301    
unix  3      [ ]         STREAM     CONNECTED     9851646  /run/systemd/journal/stdout
unix  3      [ ]         DGRAM                    16085    
unix  3      [ ]         DGRAM                    17458    
unix  3      [ ]         DGRAM                    16086    
unix  3      [ ]         STREAM     CONNECTED     2564197  
unix  3      [ ]         STREAM     CONNECTED     19179    
unix  3      [ ]         DGRAM                    17460    
unix  3      [ ]         STREAM     CONNECTED     20349    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     20653    
unix  3      [ ]         DGRAM                    13826    
unix  3      [ ]         STREAM     CONNECTED     20361    
unix  3      [ ]         STREAM     CONNECTED     7747913  /var/lib/amazon/ssm/ipc/termination
unix  3      [ ]         STREAM     CONNECTED     20816    /run/systemd/journal/stdout
unix  2      [ ]         DGRAM                    10864593 
unix  3      [ ]         DGRAM                    15953    
unix  3      [ ]         STREAM     CONNECTED     7747915  
unix  3      [ ]         DGRAM                    10864619 
unix  2      [ ]         DGRAM                    14369    
unix  3      [ ]         STREAM     CONNECTED     20700    
unix  2      [ ]         DGRAM                    17676    
unix  3      [ ]         STREAM     CONNECTED     10864884 
unix  3      [ ]         STREAM     CONNECTED     19131    
unix  3      [ ]         STREAM     CONNECTED     15293    
unix  3      [ ]         DGRAM                    13825    
unix  3      [ ]         STREAM     CONNECTED     14826    
unix  3      [ ]         STREAM     CONNECTED     19183    /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     16030    
unix  3      [ ]         STREAM     CONNECTED     21182    
unix  3      [ ]         STREAM     CONNECTED     10864883 
unix  3      [ ]         STREAM     CONNECTED     19266    
unix  3      [ ]         STREAM     CONNECTED     16031    /run/systemd/journal/stdout
unix  3      [ ]         STREAM     CONNECTED     20863    /run/systemd/journal/stdout
...
  • netstat 옵션
    • -a : 모든 소켓 정보 확인
    • -n : 도메인 주소를 읽지 않고 숫자로 출력
    • -p : PID와 사용 중인 프로그램명 출력
    • -g : 멀티캐스트 그룹 정보
  • netstat 상태 값
    • LISTEN : 접속 요청을 대기하고 있는 상태
    • ESTABLISHED : 연결이 확립되어 통신이 이루어지는 상태
    • CLOSE_WAIT : 연결 종료를 대기하고 있는 상태
    • TIME_WAIT : 연결이 종료되고 특정 시간 동안 소켓을 열어둔 상태
    • CLOSE : 연결이 종료된 상태
  • 사용 예
    • eth0 : 네트워크 인터페이스명
    • lo
      • Loop Back
      • 127.0.0.1
    • MTU
      • 한 번에 통과할 수 있는 패킷의 최대크기
      • 9001로 설정되어 있음.
# netstat -i            // -i : 인터페이스 별 송수신 정보 출력
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0      9001  7603193      0      0 0       7685438      0      0      0 BMRU
lo       65536    32550      0      0 0         32550      0      0      0 LRU
  • 라우터 상태 확인
# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.31.32.1     0.0.0.0         UG        0 0          0 eth0
172.31.32.0     0.0.0.0         255.255.240.0   U         0 0          0 eth0
172.31.32.1     0.0.0.0         255.255.255.255 UH        0 0          0 eth0
  • Flags의 의미
    • U : 라우터가 Up 상태
    • G : Default Gateway
    • H : 라우터가 호스트 장비
    • S : 라우터가 -setsrc 옵션으로 생성
    • D : 라우터가 redirect로 동적 생성
    • A : 혼합된 라우팅
    • B : 브로드캐스트 주소
    • L : 호스트 로컬 주소

(2) arp

  • IP 주소를 MAC 주소로 변환하는 프로토콜
  • arp 옵션
    • -a : ARP Cache 정보에 있는 모든 호스트 정보 출력
    • -s : ARP Cache에 저장된 특정 IP에 대해서 MAC 주소 변경
    • -d : ARP Cache에 저장된 특정 MAC 주소 삭제
    • -i : 특정 Ethernet의 ARP 확인
# arp
Address                  HWtype  HWaddress           Flags Mask            Iface
ip-172-31-32-1.ap-north  ether   0a:aa:ef:89:7d:74   C                     eth0

(3) traceroute

  • 네트워크를 사용해서 목적지를 찾아가는 경로 정보를 알 수 있는 명령어
  • IP 주소 혹은 URL 주소를 입력하면 네트워크를 방문하는 구간별로 게이트웨이(Gateway)명, IP 주소, 시간 등의 정보를 표시함.
  • 내부적으로 UDP와 ICMP를 사용함.
  • 명령어 형태
# traceroute  [-m max_ttl][-n][-p port][-q nqueries][-r][-s src_addr][-t tos][-w][-w waittime]host[packetsize]
  • traceroute 옵션
    • -m
      • IP 패킷의 최대 TTL(Time to Live) 설정
      • 기본 값 : 30
    • -n : 홉(Hop) 주소 출력
    • -p : 사용되는 UDP 포트 지정
    • -r : 목적 ㅎ ㅗ스트가 직접 로컬로 연결되었다고 지정
    • -s : 호스트 IP 지정
    • -t : 패킷(Packet)에 대한 Type of Service 지정
    • -v : 상세 정보 출력
    • -w : 전송 패킷을 대기하는 시간 설정
  • TTL 혹은 Hop
    • 같은 것으로 통과할 수 있는 라우터의 수
    • 라우터(Router) : 패킷(Packet)을 전송할 때 경로를 결정해주는 네트워크 장비
  • 사용 예
# traceroute www.kisa.or.kr            // www.kisa.or.kr 도메인까지 경로를 추적함.
traceroute to www.kisa.or.kr (14.0.114.117), 30 hops max, 60 byte packets
 1  ec2-52-79-0-179.ap-northeast-2.compute.amazonaws.com (52.79.0.179)  5.239 ms ec2-52-79-0-171.ap-northeast-2.compute.amazonaws.com (52.79.0.171)  6.970 ms ec2-52-79-0-169.ap-northeast-2.compute.amazonaws.com (52.79.0.169)  3.907 ms
 2  100.65.19.128 (100.65.19.128)  7.121 ms 100.65.19.16 (100.65.19.16)  5.790 ms 100.65.19.32 (100.65.19.32)  5.108 ms
 3  100.66.8.238 (100.66.8.238)  46.675 ms 100.66.8.140 (100.66.8.140)  5.104 ms 100.66.8.132 (100.66.8.132)  1.017 ms
 4  100.66.10.32 (100.66.10.32)  8.070 ms 100.66.10.132 (100.66.10.132)  3.542 ms 100.66.10.134 (100.66.10.134)  7.778 ms
 5  100.66.6.165 (100.66.6.165)  4.130 ms 100.66.6.225 (100.66.6.225)  5.963 ms 100.66.7.129 (100.66.7.129)  2.982 ms
 6  100.66.4.71 (100.66.4.71)  3.282 ms 100.66.4.145 (100.66.4.145)  3.160 ms 100.66.4.163 (100.66.4.163)  4.327 ms
 7  100.65.9.97 (100.65.9.97)  0.758 ms 100.65.11.97 (100.65.11.97)  2.005 ms 100.65.10.193 (100.65.10.193)  0.352 ms
 8  52.93.247.23 (52.93.247.23)  2.247 ms  2.292 ms 52.93.247.19 (52.93.247.19)  2.300 ms
 9  54.239.123.142 (54.239.123.142)  5.554 ms 54.239.122.244 (54.239.122.244)  3.488 ms 54.239.123.32 (54.239.123.32)  5.325 ms
10  54.239.123.103 (54.239.123.103)  2.687 ms 54.239.122.249 (54.239.122.249)  3.066 ms 54.239.123.101 (54.239.123.101)  2.625 ms
11  211.60.104.21 (211.60.104.21)  2.327 ms 211.60.104.9 (211.60.104.9)  2.146 ms 211.60.104.21 (211.60.104.21)  2.295 ms
12  1.208.147.94 (1.208.147.94)  2.274 ms 1.208.147.90 (1.208.147.90)  2.523 ms 203.248.129.218 (203.248.129.218)  2.138 ms
13  182.162.65.214 (182.162.65.214)  2.791 ms 61-111-34-222.kidc.net (61.111.34.222)  2.596 ms 61-111-34-234.kidc.net (61.111.34.234)  2.981 ms
14  182.162.65.58 (182.162.65.58)  2.970 ms 110.45.129.162 (110.45.129.162)  2.909 ms  2.881 ms
15  211.233.87.242 (211.233.87.242)  22.550 ms 211.233.87.246 (211.233.87.246)  22.997 ms 211.233.87.242 (211.233.87.242)  29.560 ms
16  116.193.80.182 (116.193.80.182)  3.066 ms  3.373 ms  3.372 ms
17  * * *
18  14.0.114.117 (14.0.114.117)  3.842 ms  3.433 ms  2.826 ms

(4) ping

  • 네트워크 상태를 점검하기 위한 명령어
  • ICMP 프로토콜을 사용하여 ICMP echo Request를 전송함.
  • ICMP echo reply가 되돌아 오는지 확인하여 네트워크의 상태를 점검하는 명령어
  • 사용 예
# ping www.kisa.or.kr
PING www.kisa.or.kr.cdngc.net (14.0.114.116) 56(84) bytes of data.
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=1 ttl=44 time=4.18 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=2 ttl=44 time=3.67 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=3 ttl=44 time=3.79 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=4 ttl=44 time=3.74 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=5 ttl=44 time=3.85 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=6 ttl=44 time=3.70 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=7 ttl=44 time=3.89 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=8 ttl=44 time=3.80 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=9 ttl=44 time=3.81 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=10 ttl=44 time=3.82 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=11 ttl=44 time=3.68 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=12 ttl=44 time=3.67 ms
64 bytes from 14.0.114.116 (14.0.114.116): icmp_seq=13 ttl=44 time=3.68 ms
^C
--- www.kisa.or.kr.cdngc.net ping statistics ---
25 packets transmitted, 25 received, 0% packet loss, time 24045ms
rtt min/avg/max/mdev = 3.569/3.787/4.470/0.197 ms

(5) nslookup

  • 네트워크를 관리할 수 있는 도구
  • 도메인 명에 대한 IP 주소를 확인하기 위해서 DNS(Domain Name Server)에게 질의(Query)를 실행함.
  • 사용 예
    • www.naver.com에 대한 IP 주소를 확인함.
# nslookup www.naver.com
Server:        127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
www.naver.com    canonical name = www.naver.com.nheos.com.
Name:    www.naver.com.nheos.com
Address: 125.209.222.142
Name:    www.naver.com.nheos.com
Address: 223.130.195.200

 

5. 리눅스 종료

  • 리눅스를 종료하거나 재부팅하는 것은 shutdown, reboot, init 6 그리고 halt 명령어가 있음.

(1) shutdown

  • 리눅스를 정지하기 위한 명령어
  • 옵션
    • -r : 재부팅 수행
    • -h : shutdown 완료 후 시스템 종료
    • -c : 진행 중인 shutdown 취소
    • -k : 경고 메시지를 출력하고, shutdown은 수행하지 않음.
    • -f : fsck를 실행하지 않고 재부팅
    • -n : init을 호출하지 않으면서 shutdown 실행
    • -t sec : 지정한 시간에 재기동함.
    • -v : 상세 정보 출력
  • 예) 5분 후 시스템이 종료되도록 하고 싶으면 다음과 같이 명령어 입력
# shutdown -h 5

(2) reboot

  • 리눅스를 다시 시작하는 명령
  • 옵션
    • -n : 연산을 중지하고 다시 시작함.
    • -f : 강제로 다시 시작함.
    • -p : 연산 중지 시에 전원을 종료함.
    • -q : 오류가 없으면 다시 시작하지 않음.
    • -v : 상세 정보를 출력함.

(3) halt

  • 리눅스를 종료하는 명령
  • 옵션
    • -d : wtmp에 로그를 기록하지 않음.
    • -f : 강제로 종료함.
    • -n : 종료할 때 동기화하지 않음.
    • -w : 실제로 종료하지 않고, /var/log/wtmp에 로그 기록

 


 

내용 출처 : 이기적 네트워크관리사 1·2급 필기 (임호진, 황성하 공저, 영진닷컴)

728x90
그리드형(광고전용)

'Certificate > Network Manager' 카테고리의 다른 글

54. SAMBA  (0) 2021.04.29
53. RPM 패키지  (0) 2021.04.29
52. vi 편집기  (0) 2021.04.29
51. 프로세스  (0) 2021.04.28
49. 리눅스 권한 관리  (0) 2021.04.28
48. 리눅스 계정 관리  (0) 2021.04.28
47. 리눅스 파일 시스템  (0) 2021.04.27
46. 리눅스(Linux) 개요  (0) 2021.04.27
⚠️AdBlock이 감지되었습니다. 원할한 페이지 표시를 위해 AdBlock을 꺼주세요.⚠️
starrykss
starrykss
별의 공부 블로그 🧑🏻‍💻


📖 Contents 📖