이 문서는 분류가 되어 있지 않습니다. 분류:분류에서 적절한 분류를 찾아 문서를 분류해주세요!
1. 개요 [편집]
리눅스 명령어를 정리한 리스트 문서이다.
2. 디렉토리/파일 관련 [편집]
2.1. ls [편집]
ls는 list의 약자로, 특정 디렉토리 내의 내용을 출력해주는 역할을 한다.
2.1.1. 결과 예시 [편집]
# ls -al
total 68
dr-xr-xr-x. 17 root root 262 Jan 16 15:22 .
dr-xr-xr-x. 17 root root 262 Jan 16 15:22 ..
-rw-r--r-- 1 root root 0 Jan 8 14:30 .autorelabel
lrwxrwxrwx. 1 root root 7 Jan 8 14:10 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jan 8 14:14 boot
drwxr-xr-x 18 root root 3240 Jan 16 15:21 dev
drwxr-xr-x. 73 root root 8192 Jan 16 15:21 etc
drwxr-xr-x. 3 root root 34 Jan 8 14:38 home
...2.2. cat [편집]
파일의 내용을 터미널 창에 출력할 때 사용하는 명령어입니다.
cat file1
2.2.1. 결과 예시 [편집]
# cat file1
test123####
test3641@#!!
tteesstt2.2.1.1. 사용 시 주의 사항 [편집]
서버 점검 중 수 기가바이트(GB)가 넘는 대용량 로그 파일을 cat으로 열면 터미널이 멈추거나 시스템 성능이 저하될 수 있습니다.
more 를 사용해 한 페이지씩 확인 할 수 있도록 하자
more 를 사용해 한 페이지씩 확인 할 수 있도록 하자
cat file1 | more
2.3. diff [편집]
두 개의 파일이나 디렉토리를 비교하여 어느 줄이 어떻게 다른지 그 차이점을 찾아주는 명령어 입니다.
diff [파일1] [파일2]
2.3.1. 결과 예시 [편집]
# diff test1 test2
2c2 # 1번 파일의 2행과 2번 파일의 2행이 다르다(change)
< test1 # 1번 파일의 내용
---
> test2 # 2번 파일의 내용
3c3 # 3행도 다르다
< test111
---
> test2223. 정보 표시관련 [편집]
3.1. ifconfig [편집]
Interface Configuration의 약자로, 리눅스나 유닉스 계열 운영체제에서 네트워크 인터페이스의 설정 상태를 확인하거나 변경할 때 사용하는 가장 기본적인 명령줄 도구입니다.
IP 주소 확인, MAC 주소 확인, 인터페이스 확인
IP 주소 확인, MAC 주소 확인, 인터페이스 확인
ifconfig
-a | 활성화되지 않은 인터페이스를 포함하여 모든 정보를 표시합니다. | ifconfig -a |
[인터페이스] up/down | 특정 네트워크 인터페이스를 활성화/비활성화 합니다. | ifconfig eth0 up ifconfig eth0 down |
[인터페이스] | 특정 네트워크 인터페이스 만 조회 할 수 있습니다. | ifconfig eth0 |
3.1.1. 결과 예시 [편집]
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.15 netmask 255.255.255.0 broadcast 192.168.0.255
ether 00:0c:29:ab:cd:ef txqueuelen 1000 (Ethernet)
RX packets 12345 bytes 10485760 (10.0 MiB)
TX packets 6789 bytes 5242880 (5.0 MiB)eth0 : 네트워크 인터페이스의 이름입니다. (요즘은 ens33, eno1 등으로 나오기도 하고 Bond 설정 시 bond0, bond1등으로 나온다.)
inet : 현재 할당된 IPv4 주소입니다.
netmask : 네트워크의 범위를 결정하는 서브넷 마스크입니다.
ether : 랜카드의 물리적 주소인 MAC 주소입니다.
RX/TX packets : 수신(Receive) 및 송신(Transmit)된 데이터 통계입니다. 여기서 에러(errors) 숫자가 높다면 네트워크 선이나 장비 결함을 의심해볼 수 있습니다.
3.1.1.1. 발생할 수 있는 Error또는 Drop [편집]
RX packets 5021 bytes 625410 (610.7 KiB)
RX errors 154 dropped 892 overruns 12 frame 154
TX packets 900 bytes 85000 (83.0 KiB)
TX errors 45 dropped 0 overruns 0 carrier 45 collisions 20RX Errors : 외부 물리장비나 서버 리소스 부족 시 발생 (랜 케이블 노후, 스위치 포트 고장)
RX Drop : OS 방화벽 차단, 메모리/버퍼 부족
TX Errors/Drop : 서버에서 데이터를 내보낼 때 발생하는 문제 (스위치 설정 불일치 또는 네트워크 전송 경로 물리적 장애)
Overruns : 데이터가 쏟아지는 속도를 하드웨어나 커널이 못 따라갈 때 (고대역폭 데이터 급증 또는 커널 네이트워크 큐 사이즈 작음)
3.2. route [편집]
내 서버에서 나가는 데이터가 어느 길(Gateway)을 거쳐 가는지 확인하는 지도입니다.
*관련 옵션*
*관련 옵션*
주소를 이름 대신 IP로 보여줌
route -n
좀 더 상세하게 출력 됨
route -v
라우팅 관련 추가/삭제 설정 시 사용한다.
# route add
# route del
3.2.1. 결과 예시 [편집]
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0Destination 0.0.0.0 : 외부 인터넷으로 나가는 모든 경로 (기본 통로)
Gateway : 우리 집 '대문' 역할을 하는 장비 주소 (공유기나 라우터 IP)
Iface : 데이터가 실제로 나가는 랜카드 이름 (예: eth0)
3.3. ntpd [편집]
서버의 시간이 표준 시간과 얼마나 잘 맞고 있는지, 어떤 외부 시간 서버로부터 정보를 받아오고 있는지 상태를 조회하는 명령어입니다.
ntpq -p
3.3.1. 결과 예시 [편집]
remote refid st t when poll reach delay offset jitter
==============================================================================
*time.google.com .GOOG. 1 u 156 128 377 2.105 -0.015 0.032
+time.bora.net 204.123.2.5 2 u 89 128 377 15.420 1.520 0.1103.3.1.1. 발생 할 수 있는 에러/오류 [편집]
ntpq: read: Connection refused
원인: 내 서버에서 ntpd(NTP 서비스)가 실행 중이지 않을 때 발생합니다.
조치: systemctl start ntpd
remote 항목 앞에 아무 기호(*, +)가 없을 때
원인: 시간 서버와 연결은 되지만 패킷을 주고받는 데 문제가 있거나, 이제 막 서비스를 시작해서 동기화할 시간이 더 필요한 경우입니다.
조치: 5~10분 정도 기다려보고, 계속 그대로라면 ntp(ntp.conf) 설정 파일 확인, 파일도 이상이 없다면 route 정보 확인이 필요하다.
원인: 내 서버에서 ntpd(NTP 서비스)가 실행 중이지 않을 때 발생합니다.
조치: systemctl start ntpd
remote 항목 앞에 아무 기호(*, +)가 없을 때
원인: 시간 서버와 연결은 되지만 패킷을 주고받는 데 문제가 있거나, 이제 막 서비스를 시작해서 동기화할 시간이 더 필요한 경우입니다.
조치: 5~10분 정도 기다려보고, 계속 그대로라면 ntp(ntp.conf) 설정 파일 확인, 파일도 이상이 없다면 route 정보 확인이 필요하다.
3.4. ping [편집]
특정 장비(서버, PC 등)가 현재 살아있는지, 그리고 나와의 통신 속도는 어느 정도인지 확인하는 네트워크 진단 도구입니다.
ping 8.8.8.8
옵션 | 전체 | 설명 |
-c [횟수] | 지정한 횟수만큼만 패킷을 전송하고 종료합니다. | ping -c 4 8.8.8.8 |
-I [인터페이스명|IP] | 패킷을 보낼 인터페이스 또는 출발지 IP 주소를 지정합니다. | ping -I eth0 8.8.8.8 |
3.4.1. 결과 예시 [편집]
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=115 time=32.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=115 time=31.2 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=115 time=30.8 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 30.812/31.503/32.511/0.732 ms3.4.1.1. 발생 할 수 있는 에러/오류 [편집]
Destination Host Unreachable
의미 : 상대방에게 가는 길을 아예 못 찾을 때 발생합니다.
원인 : 내 컴퓨터의 게이트웨이(route) 설정이 틀렸거나, 상대방 주소가 잘못된 경우.
조치1 : 내 IP가 정상 할당 되었는지 확인
조치2 : route -n 명령어로 Default Gateway(0.0.0.0)가 올바르게 설정되어 있는지 확인합니다.
조치3 : 랜 케이블이 제대로 꽂혀 있는지, 스위치 허브의 포트에 불이 들어와 있는지 확인합니다.
Request Timeout (타임아웃)
의미 : 신호는 보냈으나 대답이 없을 때 발생합니다.
원인 : 상대방 서버가 꺼져 있거나, 상대방의 **방화벽(Firewall)**이 핑 신호(ICMP)를 차단하고 있는 경우입니다.
조치1 : 상대방 서버의 방화벽(iptables 등)에서 ICMP(Ping) 응답이 차단되어 있는지 확인하고 허용합니다.
조치2 : 상대방 서버가 실제로 켜져 있는지(Power On) 확인합니다.
Unknown Host
의미 : 입력한 도메인 주소(예: naver.com)를 찾을 수 없을 때 발생합니다.
원인 : DNS 설정이 잘못되어 주소를 IP로 변환하지 못하는 상태입니다.
조치1 : /etc/resolv.conf 파일(Linux)에서 DNS 서버 주소(예: 8.8.8.8)가 맞게 등록되어 있는지 확인합니다.
조치2 : /etc/hosts 파일에 엉뚱한 IP 주소가 강제로 고정되어 있는지 확인합니다.
의미 : 상대방에게 가는 길을 아예 못 찾을 때 발생합니다.
원인 : 내 컴퓨터의 게이트웨이(route) 설정이 틀렸거나, 상대방 주소가 잘못된 경우.
조치1 : 내 IP가 정상 할당 되었는지 확인
조치2 : route -n 명령어로 Default Gateway(0.0.0.0)가 올바르게 설정되어 있는지 확인합니다.
조치3 : 랜 케이블이 제대로 꽂혀 있는지, 스위치 허브의 포트에 불이 들어와 있는지 확인합니다.
Request Timeout (타임아웃)
의미 : 신호는 보냈으나 대답이 없을 때 발생합니다.
원인 : 상대방 서버가 꺼져 있거나, 상대방의 **방화벽(Firewall)**이 핑 신호(ICMP)를 차단하고 있는 경우입니다.
조치1 : 상대방 서버의 방화벽(iptables 등)에서 ICMP(Ping) 응답이 차단되어 있는지 확인하고 허용합니다.
조치2 : 상대방 서버가 실제로 켜져 있는지(Power On) 확인합니다.
Unknown Host
의미 : 입력한 도메인 주소(예: naver.com)를 찾을 수 없을 때 발생합니다.
원인 : DNS 설정이 잘못되어 주소를 IP로 변환하지 못하는 상태입니다.
조치1 : /etc/resolv.conf 파일(Linux)에서 DNS 서버 주소(예: 8.8.8.8)가 맞게 등록되어 있는지 확인합니다.
조치2 : /etc/hosts 파일에 엉뚱한 IP 주소가 강제로 고정되어 있는지 확인합니다.
3.5. netstat [편집]
서버의 네트워크 연결 상태, 라우팅 테이블, 인터페이스 통계 등을 보여주는 강력한 네트워크 진단 도구입니다.
netstat
옵션 | 전체 | 설명 |
-a | 모든 소켓(연결 및 대기)을 표시합니다. | `netstat -a` |
-n | 주소와 포트 번호를 이름 대신 숫자로 표시합니다. | `netstat -an` |
-p | 해당 포트를 사용하는 프로그램 이름과 PID를 표시합니다. | `netstat -ap` |
-t | TCP 프로토콜만 표시합니다. | `netstat -at` |
-l | 연결 대기 중인(Listen) 포트만 표시합니다. | `netstat -nl` |
3.5.1. 결과 예시 [편집]
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx: master
tcp6 0 0 :::80 :::* LISTEN 1234/nginx: master3.6. df [편집]
마운트된 디스크 사용량을 출력한다. HP-UX의 경우 df와 bdf가 구분되어 있으며, bdf가 우리가 현재 알고있는 df의 형식을 출력한다.
df [옵션] [파일]
옵션 | 설명 |
-i, --inodes | i-node 사용량을 대신 표시한다. |
-h, --human-readable | 읽기 쉽도록 1,024를 거듭제곱한 단위를 사용한다. (예시: 1023M) |
3.6.1. 결과 예시 [편집]
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.9G 0 5.9G 0% /dev/shm
tmpfs 5.9G 8.9M 5.8G 1% /run
tmpfs 5.9G 0 5.9G 0% /sys/fs/cgroup
/dev/nvme0n1p4 50G 1.5G 49G 3% /
/dev/nvme0n1p2 1014M 125M 890M 13% /boot
/dev/nvme0n1p1 200M 12M 189M 6% /boot/efi
/dev/nvme0n1p5 182G 105M 182G 1% /home
tmpfs 1.2G 0 1.2G 0% /run/user/10003.7. ps [편집]
현재 시스템에서 실행 중인 프로세스의 목록과 상태를 확인하는 명령어입니다.
ps
옵션 | 설명 | |
-e | 시스템의 모든 프로세스를 표시합니다. | ps -e |
-f | 상세한 정보를 포함하는 풀 포맷으로 표시합니다. | ps -ef |
3.7.1. 결과 예시 [편집]
# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jan20 ? 00:00:05 /usr/lib/systemd/systemd
root 1234 1 0 10:30 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1235 1234 0 10:30 ? 00:00:02 /usr/sbin/httpd -DFOREGROUND
root 3052 3010 0 14:20 pts/0 00:00:00 ps -ef
...