컬쥐네 다락방
리눅스 시스템 명령어 본문
시스템 명령어
시스템 정보 관련 명령어
uptime
uptime은 다음 정보를 한 줄로 표시한다.
현재 시간, 시스템이 실행된 시간, 현재 로그온한 사용자 수, 지난 1분, 5분, 15분 동안의 시스템 로드 평균 (CPU 평균값)
[root@localhost ~]# uptime
21:30:22 up 7:56, 5 users, load average: 0.00, 0.00, 0.00
free
리눅스 시스템에서 메모리의 전체적인 현황을 빠르게 살펴볼 수 있는 명령어.
전체 메모리의 크기, 사용중인 메모리 크기, 공유 메모리와 buffer, cache 메모리, swap의 크기를 알 수 있다.
사용 가능한 메모리가 없으면 모든 프로세스가 공간 확보를 못해서 시스템 응답 불가 현상 또는 성능 저하가 올 수 있기에 메모리 모니터링은 매우 중요하다.
[root@localhost ~]# free
total used free shared buff/cache available
Mem: 1831820 1093696 267200 6092 470924 573688
Swap: 2097148 395264 1701884
top
시스템의 상태를 빠르게 살펴보는 명령어.
옵션 없이 입력하면 interval 간격으로 (기본 3초) 화면을 갱신하며 보여준다.
실행 전 옵션
-b : 순간의 정보보여준다
-n : 실행 주기를 설정
실행 후 명령어
shift + p : CPU 사용률 내림차순
shift + m : 메모리 사용률 내림차순
shift + t : 프로세스가 돌아가고 있는 시간순
k : kill. k 입력 후 PID 번호 작성
a : 메모리 사용량에 따라 정렬
[root@localhost ~]# top
top - 22:01:06 up 8:27, 5 users, load average: 0.01, 0.02, 0.00
Tasks: 271 total, 2 running, 269 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1788.9 total, 259.6 free, 1068.8 used, 460.5 buff/cache
MiB Swap: 2048.0 total, 1662.0 free, 386.0 used. 559.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
779 root 20 0 368368 9812 8480 S 0.3 0.5 0:39.81 vmtoolsd
11577 root 20 0 63980 5164 4284 R 0.3 0.3 0:00.05 top
1 root 20 0 245696 9644 6400 S 0.0 0.5 0:05.33 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kblockd
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
10 root 20 0 0 0 0 S 0.0 0.0 0:00.61 ksoftirqd/0
11 root 20 0 0 0 0 R 0.0 0.0 0:01.45 rcu_sched
12 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
13 root rt 0 0 0 0 S 0.0 0.0 0:00.02 watchdog/0
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
17 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd
19 root 20 0 0 0 0 S 0.0 0.0 0:00.04 khungtaskd
w, who
로그인한 사용자 정보 확인 명령어
[root@localhost ~]# w
21:36:08 up 8:02, 5 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty2 tty2 07:16 14:20m 3:19 0.67s /usr/libexec/tracker-miner-fs
user tty3 - 07:28 14:04m 0.05s 0.05s -bash
root tty4 - 07:28 14:03m 0.04s 0.04s -bash
root tty6 - 07:33 14:03m 0.05s 0.05s -bash
root pts/1 192.168.209.1 19:13 0.00s 0.34s 0.03s w
[root@localhost ~]# who
root tty2 2022-02-14 07:16 (tty2)
user tty3 2022-02-14 07:28
root tty4 2022-02-14 07:28
root tty6 2022-02-14 07:33
root pts/1 2022-02-14 19:13 (192.168.209.1)
디렉토리 구성
/boot booting 관련 디렉토리 booting 이미지가 로드된다.
/etc 시스템 환경 설정 디렉토리
/usr 시스템 구성 및 응용프로램이 설치되는 디렉토리
/tmp 임시저장 디렉토리 - 응용프로그램에 대한 (프로세스에 대한)
/var 임시저장 디렉토리 - 시스템 운영시 발생하는 정보를 저장
ex) log
/home 사용자 홈디렉티가 저장되는 디렉토리
/usr/bin 시스템의 명령어가 설치된 디렉토리
pstree
tree 형태로 구성을 보여준다
[root@localhost ~]# pstree
systemd─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─accounts-daemon───2*[{accounts-daemon}]
├─agetty
├─alsactl
├─atd
├─auditd─┬─sedispatch
│ └─2*[{auditd}]
├─avahi-daemon───avahi-daemon
├─bluetoothd
├─chronyd
├─colord───2*[{colord}]
├─crond
├─cupsd
├─dbus-daemon───{dbus-daemon}
├─dnsmasq───dnsmasq
├─firewalld───{firewalld}
├─gdm─┬─gdm-session-wor─┬─gdm-wayland-ses─┬─gnome-session-b─┬─gnome-shell─┬─Xwayland
│ │ │ │ │ ├─ibus-daemon─┬─ibus-dconf───3*[{ibus-dcon+
│ │ │ │ │ │ ├─ibus-engine-sim───2*[{ibus+
│ │ │ │ │ │ └─2*[{ibus-daemon}]
│ │ │ │ │ └─5*[{gnome-shell}]
df
디스크 용량 사이즈를 보여준다
[root@localhost ~]# df -hTP (h Size 정보를 m G 단위로 변환해서 보여줌, T type 파일 시스템 정보를 알려줌 P --portability
화면에 출력시 끊겨서 출력되는 것을 방지)
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 866M 0 866M 0% /dev
tmpfs tmpfs 895M 0 895M 0% /dev/shm
tmpfs tmpfs 895M 9.7M 885M 2% /run
tmpfs tmpfs 895M 0 895M 0% /sys/fs/cgroup
/dev/nvme0n1p3 xfs 48G 4.6G 43G 10% /
/dev/nvme0n1p1 xfs 507M 225M 282M 45% /boot
tmpfs tmpfs 179M 1.2M 178M 1% /run/user/42
tmpfs tmpfs 179M 4.6M 175M 3% /run/user/0
tmpfs tmpfs 179M 4.0K 179M 1% /run/user/1000
du
디렉토리와 모든 하위 디렉토리의 용량을 표시해주는 명령어
옵션
-s : 선택한 디렉토리만의 용량을 알려준다.
-sh : h를 붙이면 용량이 읽기 편한 단위로 나오게 할 수 있다.
-a : 디렉토리에 속한 파일의 용량도 같이 출력한다.
[root@localhost ~]# du -sh /* 2> /dev/null
0 /bin
196M /boot
0 /dev
29M /etc
11M /home
0 /lib
0 /lib64
0 /media
0 /mnt
0 /opt
0 /proc
105M /root
9.8M /run
0 /sbin
0 /srv
0 /sys
32K /tmp
3.9G /usr
174M /var
stat
디렉터리나 파일의 상세 정보를 표시하는 명령어.
ls 명령어로 표시되지 않는 정보를 보고 싶을때 사용한다.
옵션
-L : 심벌릭 링크를 역참조하여 정보를 출력
-f : 해당 파일이 저장된 파일 시스템의 정보를 출력
-c : 사용자 정의 형식으로 정보를 출력 -> format sequence를 붙여서 활용한다.
-t : 디렉터리나 파일 정보를 요약하여 출력
[root@localhost ~]# ls -li aaa
68430434 -rw-r--r--. 2 root root 2658 2월 15 00:42 aaa
[root@localhost ~]#
[root@localhost ~]# stat aaa
File: aaa
Size: 2658 Blocks: 8 IO Block: 4096 일반 파일
Device: 10303h/66307d Inode: 68430434 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-02-14 12:19:57.449069907 -0500
Modify: 2022-02-15 00:42:47.846396585 -0500
Change: 2022-02-15 00:42:51.407396472 -0500
Birth: -
[root@localhost ~]# stat -f aaa
File: "aaa"
ID: 1030300000000 Namelen: 255 Type: xfs
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 12445505 Free: 11240169 Available: 11240169
Inodes: Total: 24903168 Free: 24781096
[root@localhost ~]# ls -l ccc
lrwxrwxrwx. 1 root root 3 2월 14 20:09 ccc -> aaa
[root@localhost ~]# stat ccc
File: ccc -> aaa
Size: 3 Blocks: 0 IO Block: 4096 심볼릭 링크
Device: 10303h/66307d Inode: 67934266 Links: 1
Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-02-14 20:09:32.806916337 -0500
Modify: 2022-02-14 20:09:32.805916338 -0500
Change: 2022-02-14 20:09:32.805916338 -0500
Birth: -
[root@localhost ~]# stat -L ccc
File: ccc
Size: 2658 Blocks: 8 IO Block: 4096 일반 파일
Device: 10303h/66307d Inode: 68430434 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2022-02-14 12:19:57.449069907 -0500
Modify: 2022-02-15 00:42:47.846396585 -0500
Change: 2022-02-15 00:42:51.407396472 -0500
Birth: -
Format Sequence : -c 옵션을 이용해 사용자 정의를 할 때 필요한 포맷
[root@localhost ~]# stat -c %i aaa
68430434
[root@localhost ~]# ls -li aaa | cut -d " " -f 1
68430434
[root@localhost ~]# stat -c %h *
2
1
2
1
1
2
1
5
2
[root@localhost ~]# stat -c %A aaa -rw-r--r--
%a : 8진수로 된 파일 권한
%d : 10진수로 된 장치 번호
%f : 16진수로 된 파일 유형
%g : 소유자의 그룹 ID
%G : 소유자의 그룹 이름
%h : 하드 링크 개수
%i : inode 번호
%n : 파일 이름
find
형식 : find [option] [path] [expression]
파일 및 디렉토리를 검색할 때 사용하는 명령어
find 명령어는 다른 명령어와 달리 옵션을 거의 사용하지 않고 표현식을 통해 찾을 대상을 정한다.
표현식의 중첩으로 대상 범위를 줄일 수 있다.
Option (옵션)
-P : 심볼릭 링크를 따라가지 않고 심볼릭 링크 자체 정보 사용
-L : 심볼릭 링크에 연결된 파일 정보 사용
-H : 심볼릭 링크를 따라가지 않으나 Command Line Argument를 처리할 땐 예외
-D : 디버그 메세지 출력
Expression (표현식)
-name : 지정된 문자열 패턴에 해당하는 파일 검색 (대소문자를 구분하지 않으려면 iname 사용)
-type : 지정된 파일 타입 검색
-inum : inode 넘버로 파일 검색
-samefile : 같은 파일 검색
-perm : 퍼미션으로 검색
-size : 파일 크기를 이용해 검색 (-n : n 이하 +n : n이상 크기)
-empty : 빈 디렉토리 혹은 크기가 0인 파일 검색
-delete : 검색된 파일 또는 디렉토리 삭제
-exec : 검색된 파일에 대해 지정된 명령을 실행하고 싶을 때 명령 앞에 붙여준다.
-path : 지정된 문자열 패턴에 해당하는 경로에서 검색
-print : 검색 결과를 출력 검색 항목은 newline으로 구분한다
-print0 : 검새 결과를 출력. 검색 항복은 null로 구분
-atime : n일 이내에 엑세스된 파일을 검색
-ctime : n일 이내에 만들어진 파일을 검색
-mtime : n일 이내에 수정된 파일을 검색
-mmin : n분 이내에 수정된 파일을 검색 (+mmin으로 사용할 시 n분보다 오래된 파일 검색)
-cnewer file : 해당 팡리보다 최근에 수정된 파일 검색
-user : 사용자명을 이용해 검색
-다양한 예시
[root@localhost ~]# ls -l aaa
-rw-r--r--. 2 root root 2658 2월 15 00:42 aaa <---user rw- group r-- other r-- = 6 4 4
[root@localhost ~]#
[root@localhost ~]# chmod 777 aaa <-- chmod는 뒤에 배우게 됨 권한을 변경하는 명령어
[root@localhost ~]# ls -l aaa
-rwxrwxrwx. 2 root root 2658 2월 15 00:42 aaa
[root@localhost ~]# find . -type f -perm 777 -ls
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./aaa
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./bbb
[root@localhost ~]# find . -type f -perm -001 -ls
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./aaa
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./bbb
[root@localhost ~]# find . -type f -perm -020 -ls
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./aaa
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./bbb
[root@localhost ~]# find . -type f ! -perm -020 -ls
-perm /u /g /o /a r w x s t
[root@localhost ~]# find . -type f -perm /g=w -ls
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./aaa
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./bbb
[root@localhost ~]# find . -type f -perm /o=x -ls
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./aaa
68430434 4 -rwxrwxrwx 2 root root 2658 2월 15 00:42 ./bbb
[root@localhost ~]# find . -type f -perm /o=x
./aaa
./bbb
[root@localhost ~]# find . -type f -perm /o=x -exec chmod 644 {} \;
[root@localhost ~]# find . -type f -perm /o=x -ls
[root@localhost ~]# ls -l aaa bbb
-rw-r--r--. 2 root root 2658 2월 15 00:42 aaa
-rw-r--r--. 2 root root 2658 2월 15 00:42 bbb
mtime atime ctime mmin amin cmin
[root@localhost ~]# find /root -type f -mtime -1
/root/anaconda-ks.cfg
/root/.cache/dconf/user
/root/.cache/gnome-shell/update-check-3.32
/root/.cache/tracker/db-version.txt
[root@localhost ~]# find /root -type f -mmin -60
/root/.cache/tracker/meta.db
/root/.cache/tracker/meta.db-wal
/root/.cache/tracker/meta.db-shm
/root/.local/share/gvfs-metadata/root
/root/.local/share/gvfs-metadata/root-2e7b231c.log
/root/.local/share/tracker/data/tracker-store.journal
[root@localhost ~]# find /root -type f -mmin -120
/root/.cache/tracker/meta.db
/root/.cache/tracker/meta.db-wal
/root/.cache/tracker/meta.db-shm
/root/.local/share/gvfs-metadata/root
/root/.local/share/gvfs-metadata/root-2e7b231c.log
/root/.local/share/tracker/data/tracker-store.journal
/root/aaa
/root/bbb
-size +50M -size -100M
[root@localhost ~]# find . -type f -size +50 -size -100 -print
./.cache/tracker/meta.db-shm
./.cache/mozilla/firefox/pxtt36so.default-default/cache2/entries/96A3A367708E3D055E8AAFD2CC426BD24476E19E
./.cache/mozilla/firefox/pxtt36so.default-default/cache2/entries/E34CCF2F421FB2762468857BBB9C7CF2AC2FBB09
./.config/pulse/40adb6651b7a4ddd8acccc50129a93f5-card-database.tdb
./.local/share/gvfs-metadata/home-21f9616f.log
./.local/share/gvfs-metadata/root-2e7b231c.log
./.mozilla/firefox/pxtt36so.default-default/storage/permanent/chrome/idb/3561288849sdhlie.sqlite
./.mozilla/firefox/pxtt36so.default-default/storage/permanent/chrome/idb/1451318868ntouromlalnodry--epcr.sqlite
./.mozilla/firefox/pxtt36so.default-default/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.sqlite
./.mozilla/firefox/pxtt36so.default-default/storage/permanent/chrome/idb/2823318777ntouromlalnodry--naod.sqlite
./.mozilla/firefox/pxtt36so.default-default/storage/permanent/chrome/idb/2918063365piupsah.sqlite
./.mozilla/firefox/pxtt36so.default-default/storage/default/moz-extension+++ef336ded-5287-4179-916a-14906948498f^userContextId=4294967295/idb/3647222921wleabcEoxlt-eengsairo.sqlite
./.mozilla/firefox/pxtt36so.default-default/addonStartup.json.lz4
./.mozilla/firefox/pxtt36so.default-default/saved-telemetry-pings/62685a98-a8be-4f90-8186-2af362a4e162
[root@localhost ~]# find . -type f -size +50 -size -100 -ls
67934756 32 -rw-r--r-- 1 root root 32768 2월 15 01:54 ./.cache/tracker/meta.db-shm
102164573 32 -rw------- 1 root root 31180 2월 14 09:11 ./.cache/mozilla/firefox/pxtt36so.default-default/cache2/entries/96A3A367708E3D055E8AAFD2CC426BD24476E19E
102164586 48 -rw------- 1 root root 47868 2월 14 09:11 ./.cache/mozilla/firefox/pxtt36so.default-default/cache2/entries/E34CCF2F421FB2762468857BBB9C7CF2AC2FBB09
2433213 28 -rw------- 1 root root 28672 2월 14 07:16 ./.config/pulse/40adb6651b7a4ddd8acccc50129a93f5-card-database.tdb
102164555 32 -rw-r--r-- 1 root root 32768 2월 14 07:17 ./.local/share/gvfs-metadata/home-21f9616f.log
103231839 32 -rw-r--r-- 1 root root 32768 2월 15 01:55 ./.local/share/gvfs-metadata/root-2e7b231c.log
68430428 48 -rw-r--r-- 1 root root 49152 2월 14 07:37 ./.mozilla/firefox/pxtt36so.default-default/storage/permanent/chrome/idb/3561288849sdhlie.sqlite
[root@localhost ~]# find /etc -type f -exec ls -s {} \; | sort -n -r | head -5
9124 /etc/udev/hwdb.bin
8652 /etc/selinux/targeted/policy/policy.31
700 /etc/brltty/Contraction/zh-tw.ctb
680 /etc/services
564 /etc/ssh/moduli
[root@localhost ~]#
[root@localhost ~]# find /etc -type f -exec ls -s {} \; | sort -n | head -5
0 /etc/.pwd.lock
0 /etc/cron.deny
0 /etc/crypttab
0 /etc/cups/classes.conf
0 /etc/cups/client.conf
[root@localhost ~]# find /etc -type f -exec grep -l umask {} \;
/etc/X11/xinit/Xsession
/etc/lvm/lvm.conf
/etc/bashrc
/etc/login.defs
/etc/csh.cshrc
/etc/profile
/etc/rc.d/init.d/functions
/etc/authselect/postlogin
/etc/udisks2/mount_options.conf.example
[root@localhost ~]# rm -f aaa bbb
[root@localhost ~]# cp /etc/passwd aaa
[root@localhost ~]# ln aaa bbb
[root@localhost ~]# ls -il aaa bbb
68430434 -rw-r--r--. 2 root root 2658 2월 15 02:25 aaa
68430434 -rw-r--r--. 2 root root 2658 2월 15 02:25 bbb
[root@localhost ~]# find / -inum 68430434 -exec cp {} /tmp \;
[root@localhost ~]# ls /tmp
aaa
bbb
......
'클라우드 > 리눅스' 카테고리의 다른 글
작업 예약 - cron (0) | 2022.02.24 |
---|---|
vi 에디터 명령어 (0) | 2022.02.21 |
파일 입출력 명령어 (0) | 2022.02.18 |
리눅스 기본 명령어 (0) | 2022.02.15 |
vi 편집기 명령어 간단 정리 (0) | 2021.10.26 |