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 GatewayH
: 라우터가 호스트 장비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 |