uname 명령어는 현재 운영체제의 정보를 출력하는 명령어입니다.
예시
uname -a
결과
Linux example.com 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux
위의 예시에서 -a
옵션은 모든 정보를 출력하도록 지정했습니다. 결과는 현재 실행 중인 시스템의 호스트 이름, 커널 버전, 빌드 날짜, 아키텍처 및 운영 체제 이름과 버전을 포함합니다.
리눅스나 유닉스 운영체제에서 실행되며, 현재 실행 중인 프로세스의 상태와 시스템 자원 사용률을 실시간으로 모니터링할 수 있습니다.
예시
top
결과
yamlCopy code
top - 10:29:20 up 15 days, 19:31, 2 users, load average: 0.06, 0.08, 0.08
Tasks: 259 total, 1 running, 258 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.6 us, 0.4 sy, 0.0 ni, 97.8 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 32109.9 total, 3039.8 free, 21608.6 used, 7441.5 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 8538.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10182 user1 20 0 21.008g 0.212t 60928 S 33.3 68.3 9:14.89 java
2045 user2 20 0 43.697g 0.090t 71068 S 1.3 29.0 48:05.44 python3
780 root 20 0 1.286g 0.019t 9860 S 0.3 6.3 27:03.89 dockerd
963 user3 20 0 8.014g 1.954g 192156 S 0.3 6.2 111:13.53 firefox
1145 user1 20 0 404.5mb 8.6mb 67268 S 0.0 0.0 0:03.06 gnome-terminal-
1166 user1 20 0 25.4mb 4.4mb 3724 S 0.0 0.0 0:00.29 bash
2983 user1 20 0 247.2mb 30.2mb 20236 S 0.0 0.1 0:08.46 gvfsd-trash
3242 user1 20 0 56.7mb 4.4mb 3896 S 0.0 0.0 0:00.04 ssh
위의 결과는 다음을 의미합니다.
각 프로세스의 PID(Process ID), 사용자, CPU 사용률, 메모리 사용률, 실행 시간, 실행 파일 등이 표시됩니다.
위의 예시에서는 가장 CPU를 많이 사용하는 프로세스가 PID 10182인 java 프로세스이며, 가장 많은 메모리를 사용하는 프로세스는 PID 10182인 java 프로세스입니다. 또한, 현재 실행 중인 다른 프로세스들도 CPU 및 메모리 사용률이 표시되어 있습니다.
top 명령어는 시스템 자원 사용량 모니터링과 디버깅, 성능 분석 등에 유용하게 사용됩니다.
네트워크 인터페이스의 설정 정보를 확인하고 변경하는 유닉스 및 리눅스 명령어입니다. 이 명령어는 "ip addr"로 대체될 수 있습니다.
예를 들어, 터미널에서 "ifconfig"를 입력하면 현재 시스템에서 사용 가능한 네트워크 인터페이스와 각 인터페이스의 IP 주소, MAC 주소, 네트워크 마스크 등의 정보를 확인할 수 있습니다.
사용 예시
ifconfig
위 명령어를 실행하면, 시스템에서 사용 가능한 네트워크 인터페이스와 해당 인터페이스의 IP 주소, MAC 주소, 네트워크 마스크 등의 정보를 확인할 수 있습니다.
lsof는 "list open files"의 약자로, 현재 시스템에서 열려있는 파일과 해당 파일을 열고 있는 프로세스를 보여주는 유틸리티 명령어입니다. lsof는 다음과 같이 사용할 수 있습니다:
lsof [옵션] [파일명 또는 프로세스 ID]
옵션:
c
: 지정한 프로세스명과 관련된 파일을 보여줍니다.i
: 지정한 IP 주소나 포트를 사용하는 프로세스를 보여줍니다.p
: 지정한 프로세스 ID에 해당하는 파일을 보여줍니다.u
: 지정한 사용자가 열고 있는 파일을 보여줍니다.g
: 지정한 그룹 ID를 가진 사용자가 열고 있는 파일을 보여줍니다.d
: 지정한 파일 디스크립터를 사용하는 파일을 보여줍니다.n
: DNS 역변환을 하지 않습니다.P
: 포트 번호 대신 포트 이름을 표시합니다.t
: 지정한 터미널과 관련된 파일을 보여줍니다.예시:
lsof
: 열려있는 모든 파일을 보여줍니다.lsof /etc/passwd
: /etc/passwd 파일을 열고 있는 프로세스를 보여줍니다.lsof -i :80
: 80번 포트를 사용하는 프로세스를 보여줍니다.lsof -c ssh
: ssh 프로세스가 열고 있는 파일을 보여줍니다.lsof -p 1234
: 1234번 프로세스가 열고 있는 파일을 보여줍니다.lsof -u user1
: user1이 열고 있는 파일을 보여줍니다."netstat" 명령어는 네트워크 연결 상태를 확인하는 명령어로, 현재 시스템에서 열려있는 네트워크 포트와 연결된 프로세스, TCP/UDP 연결 상태 등을 확인할 수 있습니다.
다음은 netstat 명령어의 사용법과 옵션입니다.
netstat [옵션]
주요 옵션:
시스템 성능 모니터링에 사용되는 리눅스 명령어입니다. 'System Activity Reporter'의 약어로, 일정한 시간 간격으로 CPU, 메모리, 디스크 I/O, 네트워크 I/O 등의 시스템 성능 정보를 수집하고 보고합니다.
'sar' 명령어는 다음과 같이 사용할 수 있습니다.
또한, 'sar' 명령어는 다양한 옵션을 사용하여 보고서를 생성하고 저장할 수 있습니다. 예를 들어, 'sar -o report.out' 명령어를 사용하여 보고서를 report.out 파일로 저장할 수 있습니다.
Virtual Memory Statistics의 약자로, Linux/Unix 운영체제에서 시스템의 가상 메모리, 프로세스, CPU, I/O 등의 성능을 모니터링하는 명령어입니다.
vmstat 명령어의 일반적인 사용법은 다음과 같습니다.
vmstat [옵션] [시간 간격] [반복 횟수]
다음은 간단한 예시입니다.
vmstat 1
위의 예시는 1초마다 5번의 출력을 보여줍니다. 각 출력은 시스템의 CPU 사용률, 메모리 사용률, 가상 메모리, 디스크 I/O, 스왑, 프로세스 수 등의 정보를 제공합니다.
리눅스나 유닉스 운영체제에서 파일 시스템의 디스크 사용 현황을 보여주는 명령어입니다.
df
명령어의 일반적인 사용 방법은 다음과 같습니다:
df [옵션] [경로]
여기서 [옵션]
은 df
명령어의 기능을 추가하거나 변경하는데 사용되는 것으로, -h
옵션은 사용 용량을 쉽게 이해할 수 있는 단위로 표시하고 -T
옵션은 파일 시스템의 유형을 함께 출력합니다.
예를 들어, /dev/sda1
파일 시스템의 디스크 사용 현황을 보려면 다음과 같이 입력합니다:
df -h /dev/sda1
이 명령어는 /dev/sda1
파일 시스템의 사용 용량, 남은 용량, 전체 용량 등을 보여줍니다.
또 다른 예로는 모든 파일 시스템의 디스크 사용 현황을 보여주는 df -h
명령어입니다. 이 명령어는 모든 파일 시스템의 사용 용량, 남은 용량, 전체 용량 등을 쉽게 확인할 수 있습니다.
디스크 I/O와 CPU 사용률 등의 시스템 활동에 대한 보고서를 생성하는 명령어입니다. 이를 통해 시스템의 성능을 분석하고 병목 현상을 파악할 수 있습니다.
다음은 iostat 명령어의 예시입니다.
$ iostat -x 5 3
위 명령어는 5초마다 3번의 보고서를 생성하며, 각 보고서는 디스크 I/O 활동과 CPU 사용률 등의 정보를 보여줍니다.
보고서에는 다음과 같은 정보가 포함됩니다.
이를 통해 시스템의 성능을 실시간으로 모니터링하고, 문제가 있는 부분을 파악하여 개선할 수 있습니다.
리눅스나 유닉스 운영체제에서 시스템 자원의 사용 정보를 제공하는 명령어입니다. 주로 시스템의 메모리 사용 정보를 확인하는 데 사용됩니다.
예를 들어, 다음과 같이 터미널에 입력하여 시스템의 메모리 사용 정보를 확인할 수 있습니다:
free -h
위 명령어는 시스템의 메모리 사용 정보를 "human-readable"한 형태로 출력합니다. 예를 들어, 메모리의 총 용량, 사용 중인 용량, 여유 용량 등을 "GB" 단위로 출력합니다.
awk는 텍스트 처리 도구로, 텍스트 파일에서 데이터 추출, 변환, 요약 등 다양한 작업을 수행할 수 있는 명령어입니다. awk는 행 단위로 데이터를 처리하며, 행 내에서 필드를 구분하여 작업을 수행합니다.
아래는 awk 명령어의 예시입니다.
예시 파일: data.txt
John 25 Male
Jane 30 Female
Tom 40 Male
커맨드
awk '{print $1}' data.txt
출력
John
Jane
Tom
예시 파일: data.txt
John 25 Male
Jane 30 Female
Tom 40 Male
커맨드
awk '$3 == "Male" {print $1}' data.txt
출력
John
Tom
예시 파일: data.txt
John 25 Male
Jane 30 Female
Tom 40 Male
커맨드
awk '{sum += $2} END {print sum/NR}' data.txt
출력
31.6667
위 커맨드는 나이 필드의 평균을 구합니다. awk에서 변수는 $로 시작하며, NR은 awk가 처리한 전체 라인 수를 나타냅니다. END는 awk가 파일의 끝까지 데이터를 처리한 후에 실행되는 명령어를 나타냅니다.