하트위키
최근 변경
최근 토론
임의 문서
도구
최근 변경
리눅스 명령어
(r3 RAW)
[목차] == 개요 == 리눅스 명령어를 정리한 리스트 문서이다. == 디렉토리/파일 관련 == === ls === ls는 list의 약자로, 특정 디렉토리 내의 내용을 출력해주는 역할을 한다. || 옵션 || 전체 || 설명 || || -l || || 각 파일/디렉토리에 대한 상세한 설명을 테이블 형태로 출력한다. || || -a || --all || 숨김 파일 또는 숨김 디렉토리[* {{{.}}}으로 시작하는 이름]를 표시한다.[br]단, {{{.}}}[* 현재 디렉토리]나 {{{..}}}[* 부모 디렉토리]도 같이 표시되는 단점이 있다. || || -1 || || 파일이나 디렉토리를 한 줄에 하나씩 출력한다. || || -t || || 수정일 순으로 출력한다. || ====# 결과 예시 #==== {{{# 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 lrwxrwxrwx. 1 root root 7 Jan 8 14:10 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Jan 8 14:10 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 Apr 11 2018 media drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt drwxr-xr-x. 2 root root 6 Apr 11 2018 opt ...}}} == 정보 표시관련 == === ifconfig === Interface Configuration의 약자로, 리눅스나 유닉스 계열 운영체제에서 네트워크 인터페이스의 설정 상태를 확인하거나 변경할 때 사용하는 가장 기본적인 명령줄 도구입니다. IP 주소 확인, MAC 주소 확인, 인터페이스 확인 > ifconfig || -a || 활성화되지 않은 인터페이스를 포함하여 모든 정보를 표시합니다. || ifconfig -a || || [인터페이스] up/down || 특정 네트워크 인터페이스를 활성화/비활성화 합니다. || ifconfig eth0 up [br] ifconfig eth0 down || || [인터페이스] || 특정 네트워크 인터페이스 만 조회 할 수 있습니다. || ifconfig eth0 || ====# 결과 예시 #==== {{{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) 숫자가 높다면 네트워크 선이나 장비 결함을 의심해볼 수 있습니다. =====# 발생할 수 있는 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 20}}} '''RX Errors''' : 외부 물리장비나 서버 리소스 부족 시 발생 (랜 케이블 노후, 스위치 포트 고장) '''RX Drop''' : OS 방화벽 차단, 메모리/버퍼 부족 '''TX Errors/Drop''' : 서버에서 데이터를 내보낼 때 발생하는 문제 (스위치 설정 불일치 또는 네트워크 전송 경로 물리적 장애) '''Overruns''' : 데이터가 쏟아지는 속도를 하드웨어나 커널이 못 따라갈 때 (고대역폭 데이터 급증 또는 커널 네이트워크 큐 사이즈 작음) === route === 내 서버에서 나가는 데이터가 어느 길(Gateway)을 거쳐 가는지 확인하는 지도입니다. *관련 옵션* > 주소를 이름 대신 IP로 보여줌 [br] route -n > 좀 더 상세하게 출력 됨 [br] route -v > 라우팅 관련 추가/삭제 설정 시 사용한다. [br] # route add [br] # route del ====# 결과 예시 #==== {{{# 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 eth0}}} '''Destination 0.0.0.0''' : 외부 인터넷으로 나가는 모든 경로 (기본 통로) '''Gateway''' : 우리 집 '대문' 역할을 하는 장비 주소 (공유기나 라우터 IP) '''Iface''' : 데이터가 실제로 나가는 랜카드 이름 (예: eth0) === ntpd === 서버의 시간이 표준 시간과 얼마나 잘 맞고 있는지, 어떤 외부 시간 서버로부터 정보를 받아오고 있는지 상태를 조회하는 명령어입니다. > ntpq -p ====# 결과 예시 #==== {{{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.110}}} =====# 발생 할 수 있는 에러/오류 #===== ntpq: read: Connection refused 원인: 내 서버에서 ntpd(NTP 서비스)가 실행 중이지 않을 때 발생합니다. 조치: systemctl start ntpd remote 항목 앞에 아무 기호(*, +)가 없을 때 원인: 시간 서버와 연결은 되지만 패킷을 주고받는 데 문제가 있거나, 이제 막 서비스를 시작해서 동기화할 시간이 더 필요한 경우입니다. 조치: 5~10분 정도 기다려보고, 계속 그대로라면 ntp(ntp.conf) 설정 파일 확인, 파일도 이상이 없다면 route 정보 확인이 필요하다. === 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 || ====# 결과 예시 #==== {{{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 ms}}} =====# 발생 할 수 있는 에러/오류 #===== 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 주소가 강제로 고정되어 있는지 확인합니다. === df === 마운트된 디스크 사용량을 출력한다. HP-UX의 경우 df와 bdf가 구분되어 있으며, bdf가 우리가 현재 알고있는 df의 형식을 출력한다. > df [옵션] [파일] || 옵션 || 설명 || || -i, --inodes || i-node 사용량을 대신 표시한다. || || -h, --human-readable || 읽기 쉽도록 1,024를 [[거듭제곱]]한 단위를 사용한다. (예시: 1023M)|| ====# 결과 예시 #==== {{{# 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/1000}}}
Liberty
|
the tree