DrawingProcess
๋“œํ”„ DrawingProcess
DrawingProcess
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
ยซ   2025/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (967)
    • Profile & Branding (25)
      • Career (18)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (97)
      • Book (66)
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • ์ธ์ƒ์„ ์‚ด๋ฉด์„œ (64)
      • ๋‚˜์˜ ์ทจ๋ฏธ๋“ค (7)
      • ๋‚˜์˜ ์ƒ๊ฐ๋“ค (42)
      • ์—ฌํ–‰์„ ๋– ๋‚˜์ž~ (10)
      • ๋ถ„๊ธฐ๋ณ„ ํšŒ๊ณ  (5)

๊ฐœ๋ฐœ์ž ๋ช…์–ธ

โ€œ ๋งค์ฃผ ๋ชฉ์š”์ผ๋งˆ๋‹ค ๋‹น์‹ ์ด ํ•ญ์ƒ ํ•˜๋˜๋Œ€๋กœ ์‹ ๋ฐœ๋ˆ์„ ๋ฌถ์œผ๋ฉด ์‹ ๋ฐœ์ด ํญ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ผ.
์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ด๋Ÿฐ ์ผ์ด ํ•ญ์ƒ ์ผ์–ด๋‚˜๋Š”๋ฐ๋„ ์•„๋ฌด๋„ ๋ถˆํ‰ํ•  ์ƒ๊ฐ์„ ์•ˆ ํ•œ๋‹ค. โ€

- Jef Raskin

๋งฅ์˜ ์•„๋ฒ„์ง€ - ์• ํ”Œ์ปดํ“จํ„ฐ์˜ ๋งคํ‚จํ† ์‹œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ๋„

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
DrawingProcess

๋“œํ”„ DrawingProcess

[Linux] ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด ์ •๋ฆฌ (feat. ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด Best 50)
Study: ComputerScience(CS)/CS: Linux

[Linux] ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด ์ •๋ฆฌ (feat. ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด Best 50)

2022. 6. 21. 21:08
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” '์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด'์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด๋†“์€ ๊ธ€์ž…๋‹ˆ๋‹ค.
์ฒ˜์Œ์—๋Š” Linux ๋ช…๋ น ์ค‘ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” '๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด Best 50 ์ •๋ฆฌ'๋กœ ๊ธฐํšํ•˜์˜€์œผ๋‚˜ ์ •๋ฆฌํ•˜๋‹ค๋ณด๋‹ˆ ์œ ์šฉํ•œ ๋ช…๋ น์–ด๊ฐ€ ๋งŽ์•„ ์‹ค๋ฌด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋“ค์„ ์ถ”๊ฐ€ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ดˆ๋ณด์ž, ์ „๋ฌธ๊ฐ€์— ๊ด€๊ณ„์—†์ด ๋‹ค์–‘ํ•œ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์„ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๊ฒƒ์€ ํ•„์ˆ˜์ด๊ธฐ์— ํ•„์š”ํ•  ๋•Œ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

1. ํŒŒ์ผ ์‹œ์Šคํ…œ ํƒ์ƒ‰์„ ์œ„ํ•œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด

01. pwd

Print Work Directory์˜ ์•ฝ์ž๋กœ ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

% pwd
/Users/choiseongjun

02. ls

list segments์˜ ์•ฝ์ž๋กœ ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ํŠน์ • ๋””๋ ‰ํ„ฐ๋ฆฌ์™€ ํŠน์ • ํŒŒ์ผ์˜ ๋‚ด์šฉ๋„ ์ œ๊ณตํ•œ๋‹ค.

% ls
CMakeLists.txt	README.md	build		gtest		include		src

% ls -a
.		.DS_Store	.gitignore	README.md	gtest		src
..		.git		CMakeLists.txt	build		include

% ls -al
total 48
drwxr-xr-x. 3 root root         101  8์›” 18 14:47 .
drwxr-xr-x. 9 root root          96  8์›” 17 14:26 ..
-rw-r--r--. 1 root root 65940890076  8์›” 17 19:29 MbrReceiver_2022-08-17
-rw-r--r--. 1 root root        1662  8์›” 18 10:39 MbrReceiver_2022-08-18
-rw-r--r--. 1 root root    10794129  8์›” 18 17:17 MbrReceiver_log
drwxrwxrwx. 3 mbd  root        4096  8์›” 17 16:29 logs

% ls -hl
-rw-r--r--. 1 root root  62G  8์›” 17 19:29 MbrReceiver_2022-08-17
-rw-r--r--. 1 root root 1.7K  8์›” 18 10:39 MbrReceiver_2022-08-18
-rw-r--r--. 1 root root  11M  8์›” 18 17:19 MbrReceiver_log
drwxrwxrwx. 3 mbd  root 4.0K  8์›” 17 16:29 logs
  • -al: byte ๋‹จ์œ„๋กœ ํŒŒ์ผ ํฌ๊ธฐ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • -h: human readableํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

03. cd

Change Directory์˜ ์•ฝ์ž๋กœ ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ ์ง€์ •ํ•˜๋ฉฐ ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŒŒ์ผ์„ ์ฐพ์œผ๋ฉฐ, ์ ˆ๋Œ€๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋ฉด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

% cd build/

% cd ..

04. mkdir

MaKe DIRrctory์˜ ์•ฝ์ž๋กœ ์ƒˆ ํด๋”๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋‹จ, ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด ํด๋”๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. -p์˜ต์…˜์„ ์ฃผ์–ด ํŠน์ • ์œ„์น˜๊นŒ์ง€ ์—†๋Š” ํด๋”๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๊ฐ€๋Šฅํ•˜๋‹ค.

% ls
CMakeLists.txt	README.md	build		gtest		include		src
% mkdir choi
% ls
CMakeLists.txt	README.md	build		choi		gtest		include		src

% mkdir -p choi/seong/jun/

05. rmdir

ReMove DIRtory์˜ ์•ฝ์ž๋กœ ๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์‚ญ์ œํ•˜๋ ค๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋Š” ์‚ญ์ œํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, rm -rf ๋ช…๋ น์–ด๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

% pwd
/Users/choiseongjun/choi/seong

% rmdir jun/

cd ../../

% rmdir choi/
rmdir: seong/: Directory not empty

% rm -rf choi/

06. lsblk

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ธ”๋ก ์žฅ์น˜๋ฅผ ๋‚˜์—ดํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค. ๋ธ”๋ก ์žฅ์น˜์˜ ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์ „๋ฌธ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

07. mount

Window์™€ ๋‹ฌ๋ฆฌ SD ์นด๋“œ ๋˜๋Š” USB๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ๋งˆ๋‹ค ๋ฐฐํฌํŒ์ด ์ฒ˜์Œ์— ์ง์ ‘ ํ‘œ์‹œ๋˜์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. mount ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ธฐ์กด ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๋งˆ์šดํŠธ ํ•ด์•ผ ํ•œ๋‹ค.

% mount 
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk3s6 on /System/Volumes/VM (apfs, local, noexec, journaled, noatime, nobrowse)
/dev/disk3s2 on /System/Volumes/Preboot (apfs, local, journaled, nobrowse)
/dev/disk3s4 on /System/Volumes/Update (apfs, local, journaled, nobrowse)
/dev/disk1s2 on /System/Volumes/xarts (apfs, local, noexec, journaled, noatime, nobrowse)
/dev/disk1s1 on /System/Volumes/iSCPreboot (apfs, local, journaled, nobrowse)
/dev/disk1s3 on /System/Volumes/Hardware (apfs, local, journaled, nobrowse)
/dev/disk3s5 on /System/Volumes/Data (apfs, local, journaled, nobrowse, protect)
map auto_home on /System/Volumes/Data/home (autofs, automounted, nobrowse)

08. df

disk free์˜ ์•ฝ์ž๋กœ, ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋””์Šคํฌ ๊ณต๊ฐ„์— ๋Œ€ํ•œ ํ•„์ˆ˜ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•œ๋‹ค. ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ์‹ค์‹œ๊ฐ„ ์„œ๋ฒ„ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์ง€ํ–ฅ ์‹œ์Šคํ…œ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๋ฐ ํ™œ์šฉํ•œ๋‹ค.

% df  
Filesystem                             512-blocks      Used Available Capacity  iused      ifree %iused  Mounted on
/dev/disk3s1s1                          478724992  43226360  62413584    41%   553788 2393071172    0%   /
devfs                                         412       412         0   100%      714          0  100%   /dev
/dev/disk3s6                            478724992  10486128  62413584    15%        5 2393624955    0%   /System/Volumes/VM
/dev/disk3s2                            478724992    732128  62413584     2%      780 2393624180    0%   /System/Volumes/Preboot
/dev/disk3s4                            478724992   1207104  62413584     2%      213 2393624747    0%   /System/Volumes/Update
/dev/disk1s2                              1024000     12328    985960     2%        3    5119997    0%   /System/Volumes/xarts
/dev/disk1s1                              1024000     15208    985960     2%       28    5119972    0%   /System/Volumes/iSCPreboot
/dev/disk1s3                              1024000       784    985960     1%       33    5119967    0%   /System/Volumes/Hardware
/dev/disk3s5                            478724992 356840712  62413584    86%  1894527 2391730433    0%   /System/Volumes/Data
map auto_home                                   0         0         0   100%        0          0  100%   /System/Volumes/Data/home
  • -h: human readableํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

+ du

Disk Usage์˜ ์•ฝ์ž๋กœ, ๋ฆฌ๋ˆ…์Šค ๊ณ„์—ด ์„œ๋ฒ„์˜ ๋””์Šคํฌ ์‚ฌ์šฉ๋ฅ ์„ ํ‘œ์‹œํ•œ๋‹ค.

% du -h /home/sjchoi
8.0K    /home/sjchoi/.vscode
28K     /home/sjchoi/.local/share/CMakeTools
28K     /home/sjchoi/.local/share
28K     /home/sjchoi/.local
9.2G    /home/sjchoi

# ํŒŒ์ผ ์šฉ๋Ÿ‰์ˆœ์œผ๋กœ ์ •๋ ฌ ํ›„ human readableํ•˜๊ฒŒ ๋ณด๊ธฐ
$ du -sh /* | sort -rh
  • -s ์˜ต์…˜์œผ๋กœ ์ˆซ์ž๋ฅผ ์ˆซ์ž์ฐจ๋Ÿผ ์ฝ๋Š”๋‹ค.
  • -h ์˜ต์…˜์œผ๋กœ human readableํ•˜๊ฒŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

+ tree

tree ๋Š” ํด๋”์˜ ํ•˜์œ„ ๊ตฌ์กฐ๋ฅผ ๊ณ„์ธต์ ์œผ๋กœ ํ‘œ์‹œํ•ด ์ฃผ๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋กœ ์ „์ฒด ๊ตฌ์กฐ๋ฅผ ๋Œ€๋žต์ ์œผ๋กœ ํŒŒ์•…ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.

$ tree -L 1 -d N /
/
|-- bin -> usr/bin
|-- boot
|-- dev
|-- etc
|-- home
|-- lib -> usr/lib
|-- opt
...
  • -L(Level) ์˜ต์…˜๋’ค์— depth ๊ฐ’์„ ์ฃผ์–ด ์ œํ•œ์„ ๋‘˜ ์ˆ˜ ์žˆ๋‹ค.
  • -d ์˜ต์…˜์œผ๋กœ directory๋งŒ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • -N ์˜ต์…˜์œผ๋กœ ํ•œ๊ธ€๋ช… ํด๋”๋„ ํ™•์ธ๊ฐ€๋Šฅํ•˜๋‹ค.
    • tree๋Š” ascii ๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๋Š” \332 ๊ฐ™์ด 8์ง„์ˆ˜๊ฐ€ ์ธ์ฝ”๋”ฉํ•ด์„œ ํ‘œ์‹œํ•˜๋ฏ€๋กœ ํ•œ๊ธ€์ด ๊นจ์ ธ ๋ณด์ธ๋‹ค.

+ pstree

pstree ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์ธต์ ์œผ๋กœ ํ‘œ์‹œํ•ด ์ฃผ๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋กœ ๋Œ€๋žต์ ์œผ๋กœ ํŒŒ์•…ํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.

$ pstree
systemdโ”€โ”ฌโ”€ModemManagerโ”€โ”€โ”€2*[{ModemManager}]
        โ”œโ”€NetworkManagerโ”€โ”€โ”€2*[{NetworkManager}]
        โ”œโ”€accounts-daemonโ”€โ”€โ”€2*[{accounts-daemon}]
        โ”œโ”€acpid
        โ”œโ”€at-spi-bus-launโ”€โ”ฌโ”€dbus-daemon
        ...

 

2. ์‹œ์Šคํ…œ ์กฐ์ž‘์„ ์œ„ํ•œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด

09. uname

์ด๋ฆ„, ๋ฒ„์ „ ๋ฐ ๊ธฐํƒ€ ์‹œ์Šคํ…œ ํŠน์ • ์„ธ๋ถ€ ์‚ฌํ•ญ๊ณผ ๊ฐ™์€ ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. OS ๋ฐ ์ปค๋„ ๋ฒ„์ „์„ ๋น ๋ฅด๊ฒŒ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค.

% uname -a
Linux mbd-sym 5.15.0-48-generic #54~20.04.1-Ubuntu SMP Thu Sep 1 16:17:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • [Linux] : ์ปค๋„ ๋ช…
  • [mbd-sym] : ํ˜ธ์ŠคํŠธ ๋ช…
  • [5.15.0-48-generic] : ์ปค๋„ ๋ฆด๋ฆฌ์ฆˆ ์ •๋ณด
  • [#54~20.04.1-Ubuntu SMP Thu Sep 1 16:17:26 UTC 2022] : ์ปค๋„ ๋ฒ„์ „
  • [x86_64] : ๋จธ์‹  ํ•˜๋“œ์›จ์–ด ์ด๋ฆ„
  • [x86_64] : ํ”„๋กœ์„ธ์„œ ์ข…๋ฅ˜
  • [x86_64] : ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ
  • [GNU/Linux] : ์šด์˜์ฒด์ œ

10. ps

ํ˜„์žฌ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ๊ฐํ™”ํ•œ๋‹ค. ๋ฆฌ์†Œ์Šค๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•˜๋ฉฐ, ํ„ฐ๋ฏธ๋„๋กœ ๊ธฐ๋ณธ์ ์ธ ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

% ps  
  PID TTY           TIME CMD
32974 ttys000    0:00.07 /bin/zsh -l
  816 ttys005    0:00.04 -zsh
  827 ttys007    0:00.18 -zsh
 3576 ttys008    0:00.04 /bin/zsh -l
 5603 ttys010    0:00.43 -zsh
  • -e ์ปค๋„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ์ถœ๋ ฅ
  • -f ์ถœ๋ ฅ์„ ํ’€ ํฌ๋งท์œผ๋กœ ํ‘œ๊ธฐ (์œ ๋‹‰์Šค ์Šคํƒ€์ผ) UID, PID , PPID ๋“ฑ์ด ํ•จ๊ป˜ ํ‘œ์‹œ
  • -l (System V) ์ถœ๋ ฅ์„ ๊ธด ํฌ๋งท์œผ๋กœ ํ‘œ๊ธฐ. ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ ๊ธธ๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ์˜ต์…˜์œผ๋กœ ์šฐ์„ ์ˆœ์œ„์™€ ๊ด€๋ จ๋œ PRI ๊ฐ’๊ณผ NI ๊ฐ’ ํ™•์ธ.

11. kill

์ž์› ์ œํ•œ์œผ๋กœ ์ธํ•ด ๋ฉˆ์ถ˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.

$ kill -9 <PID>
  • -l ์˜ต์…˜์œผ๋กœ kill ๋ช…๋ น์— ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ signal์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • -9 ์˜ต์…˜์œผ๋กœ ํŠน์ • PID ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.

12. service

  • ์‹œ์Šคํ…œ ์ „์ฒด ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์ด๋‹ค.
  • ํ„ฐ๋ฏธ๋„ ์ฐฝ์—์„œ ์ง์ ‘ System V init ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.

13. batch

  • ์‹œ์Šคํ…œ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋„๊ตฌ์ด๋‹ค.
  • ๋˜ํ•œ, ์ž๋™ํ™” ์‰ด ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์„ ์œ„ํ•œ ๋ช…๋ น์–ด ์ค‘ ํ•˜๋‚˜๋กœ ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

14. shutdown

  • halt, init๊ณผ ํ•จ๊ป˜ ์‹œ์Šคํ…œ์„ ์ข…๋ฃŒํ•˜๋Š” ๋ช…๋ น์–ด ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
  • shutdown์€ ํ˜„์žฌ ์ ‘์† ์ค‘์ธ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ์‹œ์Šคํ…œ์ด ์ข…๋ฅ˜ ๋œ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • shutdown -h now๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ์„ ์ฆ‰์‹œ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค.

+ top

process๋“ค์„ ์‹œ๊ฐํ™”ํ•˜๋Š” ์ „ํ†ต์ ์ธ ๋ช…๋ น์œผ๋กœ ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์Šค๋“ค์˜ CPU/Memory ์ ์œ ์œจ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

% Cpu(s)

  • [us] : ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉ์ค‘์ธ ์‚ฌ์šฉ๋ฅ 
  • [sy] : ์‹œ์Šคํ…œ์ด ์‚ฌ์šฉ์ค‘์ธ ์‚ฌ์šฉ๋ฅ 
  • [ni] : ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์šฉ๋ฅ (์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์‚ฌ์šฉ๋จ)
  • [id] : ์•„๋ฌด ์ผ๋„ ํ•˜์ง€ ์•Š๋Š” ์—ฌ์œ ๋ฅ 
  • [wa] : ์ž…์ถœ๋ ฅ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค ์‚ฌ์šฉ๋ฅ 
  • [hi] : ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์šฉ๋ฅ 
  • [si] : ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์šฉ๋ฅ 
  • [st] : ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ์—์„œ ์†์‹ค๋ฅ 

PROCESS

  • [PID] : ํ”„๋กœ์„ธ์Šค ID
  • [USER] : ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚จ ์‚ฌ์šฉ์ž ID
  • [PR] : ํ”„๋กœ์„ธ์Šค์˜ ์šฐ์„ ์ˆœ์œ„
  • [NI] : NICE ๊ฐ’, ๋งˆ์ด๋„ˆ์Šค๋ฅผ ๊ฐ€์ง€๋Š” ๊ฐ’์ด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์Œ
  • [VIRT] : ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‚ฌ์šฉ๋Ÿ‰(SWAP+RES)
  • [RES] : ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ์ƒ์ฃผํ•˜๊ณ  ์žˆ๋Š” ํฌ๊ธฐ
  • [SHR] : ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ค‘ ์‚ฌ์šฉ์ค‘์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ์ž”์—ฌ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
  • [S] : ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ
  • [%CPU] : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” CPU์˜ ์‚ฌ์šฉ๋ฅ 
  • [%MEM] : ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์‚ฌ์šฉ๋ฅ 
  • [TIME+] : ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์‚ฌ์šฉํ•œ ์‹œ๊ฐ„
  • [COMMAND] : ์‹คํ–‰๋œ ๋ช…๋ น์–ด

+ htop

top ๋ช…๋ น์˜ ํ–ฅ์ƒ๋œ ๋ฒ„์ „(์‚ฌ์šฉ์ž ์นœํ™”์ )์ด๋ฉฐ, ๋‹ค์–‘ํ•œ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๊ธฐ์— ์„ค์น˜ํ•˜์—ฌ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

  • ์ˆ˜ํ‰/์ˆ˜์ง์˜ ์Šคํฌ๋กค์ด๊ฐ€๋Šฅํ•˜๋ฉฐ ๋งˆ์šฐ์Šค๋ฅผ ์ง€์›ํ•œ๋‹ค.
  • f5๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ”„๋กœ์„ธ์Šค๋“ค์„ tree ๊ตฌ์กฐ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

+ free: ๋ฉ”๋ชจ๋ฆฌ ๋ชจ๋‹ˆํ„ฐ๋ง

๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -t ์˜ต์…˜์œผ๋กœ Memory์™€ Swap์— ๋Œ€ํ•œ ๊ฐ’์˜ ์ด ํ•ฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • [MEM] : ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ
  • [Swap] : ์ผ์ข…์˜ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
  • [Buffers] : ์ผ๋ถ€ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ๋ฐœ์ƒํ•œ ์ž„์‹œ ๋ฉ”๋ชจ๋ฆฌ
  • [Cached] : ๊ธฐ์กด์— ์‹คํ–‰๋œ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์‚ฌ์šฉํ–ˆ๋˜ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์‹คํ–‰ ์ค‘์ด๊ฑฐ๋‚˜ ์ƒˆ๋กœ ์‹œ์ž‘๋  ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ํ•„์š”ํ•  ๋•Œ ๋น ๋ฅด๊ฒŒ ์žฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ

+ vmstat: ์‹œ์Šคํ…œ ์ •๋ณด ๋ชจ๋‹ˆํ„ฐ๋ง

์‹œ์Šคํ…œ ์ž‘์—…, ํ•˜๋“œ์›จ์–ด ๋ฐ ์‹œ์Šคํ…œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ, ํŽ˜์ด์ง•, ๋ธ”๋ก์žฅ์น˜์˜ I/O, CPU์ƒํƒœ ๋“ฑ์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, -s ์˜ต์…˜์„ ์ฃผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ํ†ต๊ณ„ ํ•ญ๋ชฉ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

procs

  • [r] : CPU์—์„œ ๋Œ€๊ธฐ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. r์˜ ๊ฐœ์ˆ˜๊ฐ€ CPU์˜ ๊ฐœ์ˆ˜์˜ 2๋ฐฐ๋ฅผ ๋„˜๋Š”๋‹ค๋ฉด CPU์˜ ์„ฑ๋Šฅ์„ ์˜ฌ๋ ค์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • [b] : ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ sleep ์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜ (I/O ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋Š” ๋™์•ˆ ๋ธ”๋ก ์ฒ˜๋ฆฌ๋œ ํ”„๋กœ์„ธ์Šค)์ด๋‹ค. b์˜ ์ˆ˜์น˜๊ฐ€ ๋†’์€ ๊ฒฝ์šฐ๋ผ๋ฉด CPU๊ฐ€ ๊ณ„์† ๋Œ€๊ธฐ์ƒํƒœ๋กœ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ ๋””์Šคํฌ I/O๋ฅผ ํ™•์ธํ•ด ๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Swap(KB/s)

  • [si(swap in)] : ๋””์Šคํฌ swap ๊ณต๊ฐ„์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ํ˜ธ์ถœํ•˜๋Š” ์–‘์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” swap ๋””์Šคํฌ๊ฐ€ ํ•ด์ œ๋˜๋Š” ์–‘(per sec)์ž…๋‹ˆ๋‹ค.
  • [so(swap out)] : ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋””์Šคํฌ๋กœ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์–‘(per sec)์ž…๋‹ˆ๋‹ค. swap out์ด ์ง€์†์ ์œผ๋กœ ๋ฐœ์ƒํ•œ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์„ ์˜์‹ฌํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. swap out๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Š˜๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. Swap out๊ฐ’์€ 0์— ๊ฐ€๊นŒ์›Œ์•ผ ์ข‹๊ณ  ์ดˆ๋‹น 10๋ธ”๋Ÿญ ์ดํ•˜๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค. swapํ•„๋“œ์˜ ๊ฐ’์ด ๋†’๋‹ค๊ณ  ํ•ด๋„ free ๋ฉ”๋ชจ๋ฆฌ์— ์—ฌ์œ ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

+ iostat: CPU, ๋””์Šคํฌ ์ž…์ถœ๋ ฅ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง

ํ‰๊ท  CPU๋ถ€ํ•˜ ์™€ ๋””์Šคํฌ I/O์˜ ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, -x ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ์ž์„ธํ•œ ๋‚ด์—ญ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • [tps] : ๋””๋ฐ”์ด์Šค์— ์ดˆ๋‹น ์ „์†ก ์š”์ฒญ ๊ฑด์ˆ˜
  • [kB_read/s] : ๋””๋ฐ”์ด์Šค์—์„œ ์ดˆ๋‹น ์ฝ์€ ๋ฐ์ดํ„ฐ ๋ธ”๋ก ๋‹จ์œ„
  • [kB_wrtn/s] : ๋””๋ฐ”์ด์Šค์—์„œ ์ดˆ๋‹น ์“ด ๋ฐ์ดํ„ฐ ๋ธ”๋ก ๋‹จ์œ„
  • [kB_read] : ๋””๋ฐ”์ด์Šค์—์„œ ์ง€์ •ํ•œ ๊ฐ„๊ฒฉ ๋™์•ˆ ์ฝ์€ ๋ธ”๋ก ์ˆ˜
  • [kB_wrtn] : ๋””๋ฐ”์ด์Šค์—์„œ ์ง€์ •ํ•œ ๊ฐ„๊ฒฉ ๋™์•ˆ ์“ด ์ „์ฒด ๋ธ”๋ก ์ˆ˜

 

3. ํŒŒ์ผ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด

15. touch

์œ ํšจํ•œ ๋นˆ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด์ด๋‹ค. ํ„ฐ๋ฏธ๋„ ์ด๋™ ์ค‘์— ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ํŒŒ์ผ์„ ์ฑ„์šธ ์ˆ˜ ์žˆ๋‹ค.

% touch choi.cpp
% ls
CMakeLists.txt	build		gtest		src		README.md	choi.cpp	include

16. cat

concatnate์˜ ์•ฝ์ž๋กœ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ์œผ๋‚˜, ํ„ฐ๋ฏธ๋„์—์„œ ํŒŒ์ผ ๋‚ด์šฉ์„ ๋ณด๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ๋˜ํ•œ ํŒŒ์ผ ๋‚ด์šฉ ์ถœ๋ ฅ์„ ๋‹ค๋ฅธ ๋ช…๋ นํ–‰ ๋„๊ตฌ๋‚˜ ํŒŒ์ผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

% nano choi.cpp
seongjun
% cat choi.cpp 
seongjun

17. head

์ง์ ‘ ํŒŒ์ผ ๋˜๋Š” ํŒŒ์ดํ”„ ๋œ ๋ฐ์ดํ„ฐ์˜ ์‹œ์ž‘์„ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŒŒ์ผ์˜ ์ฒซ ๋ฒˆ์งธ ํ–‰์„ ๊ธฐ์ค€์œผ๋กœ ์ง€์ •ํ•œ ํ–‰๊นŒ์ง€์˜ ํŒŒ์ผ ๋‚ด์šฉ ์ผ๋ถ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ์ฒซ 10์ค„์„ ์ถœ๋ ฅํ•ด ์ค€๋‹ค.

18. tail

ํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰ ํ–‰์„ ๊ธฐ์ค€์œผ๋กœ ์ง€์ •ํ•œ ํ–‰๊นŒ์ง€์˜ ํŒŒ์ผ ๋‚ด์šฉ ์ผ๋ถ€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ธฐ๋ณธ ๊ฐ’์œผ๋กœ ๋งˆ์ง€๋ง‰ 10์ค„์„ ์ถœ๋ ฅํ•ด ์ค€๋‹ค.

$ tail -f /opt/logs/auditLog.txt
  • -f <ํŒŒ์ผ๋ช…>: ํ•ด๋‹น ํŒŒ์ผ์˜ ์‹ค์‹œ๊ฐ„ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.

19. cp

copy์˜ ์•ฝ์ž๋กœ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํ•œ ํด๋”์—์„œ ๋‹ค๋ฅธ ํด๋”๋กœ ๋ณต์‚ฌํ•˜๋„๋ก ์ง€์‹œํ•œ๋‹ค. ์ถ”๊ฐ€๋กœ, scp๋ฅผ ์ด์šฉํ•˜๋ฉด ssh ์›๊ฒฉ ์ ‘์† ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์›๊ฒฉ์ง€์— ์žˆ๋Š” ํŒŒ์ผ๊ณผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.

% cp README.md include/
% ls
CMakeLists.txt	README.md	build		gtest		include		src
% cd include 
% ls
README.md		crypto_types.hpp	key_db.hpp		runnable.hpp
ZoneDetect		dir_man.hpp		license.hpp

+ cp -R <dir>

๋ชจ๋“  ํŒŒ์ผ ๋ฐ ์„œ๋ธŒ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํฌํ•จํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

$ cp -R ./checkpoints/* ./nerf/checkpoints/

20. mv

move์˜ ์•ฝ์ž๋กœ ํ•˜๋‚˜ ๋˜๋Š” ์—ฌ๋Ÿฌ ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค. -f ์˜ต์…˜์„ ์ด์šฉํ•˜์—ฌ ํฐ ํŒŒ์ผ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค.

% mv README.md include/
% ls
CMakeLists.txt	build		gtest		include		src
% cd include 
% ls
README.md		crypto_types.hpp	key_db.hpp		runnable.hpp
ZoneDetect		dir_man.hpp		license.hpp

21. comm

๋‘ ๊ฐœ์˜ ํŒŒ์ผ์„ ๊ณตํ†ต ํ–‰๊ณผ ๊ตฌ๋ณ„๋˜๋Š” ํ–‰์œผ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค. 

$ comm [์˜ต์…˜] [ํŒŒ์ผ 1] [ํŒŒ์ผ 2]
  • -1: ๋‘ ๊ฐœ๋ฅผ ๋น„๊ตํ•˜๋˜ ํŒŒ์ผ 1์—๋งŒ ์žˆ๋Š” ๊ฒƒ์€ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ
  • -2: ๋‘๊ฐœ๋ฅผ ๋น„๊ตํ•˜๋˜ ํŒŒ์ผ 2์—๋งŒ ์žˆ๋Š” ๊ฒƒ์€ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ
  • -3: ๋‘๊ฐœ๋ฅผ ๋น„๊ตํ•˜์—ฌ ํŒŒ์ผ 1๊ณผ ํŒŒ์ผ 2์— ๋ชจ๋‘ ์กด์žฌํ•˜๋Š” ๋ผ์ธ์€ ์ถœ๋ ฅํ•˜์ง€ ์•Š์Œ

22. less

cat๊ณผ ๋‹ฌ๋ฆฌ ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ํŒŒ์ผ ๋‚ด์—์„œ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ํƒ์ƒ‰ ๊ฐ€๋Šฅํ•˜๋‹ค.

23. ln

๋””์Šคํฌ ๊ณต๊ฐ„์˜ ํŠน์ • ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์‹ฌ๋ฒŒ๋ฆญ ๋งํฌ์˜ ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

24. cmp

๋‘ ํŒŒ์ผ์„ ๋น„๊ตํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์ค€ ์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ์— ์ธ์‡„ํ•œ๋‹ค.

+ diff

the difference between both the command is that 'cmp' is used to find the difference between files whereas 'diff' is used to find the difference between directories. 

To check the differences between the data of two files cmp command is used. But it displays only the first difference.
Syn: $ cmp file1 file2
To display all the differences between the files diff command is used.
Syn: $ diff file1 file2

25. dd

ํŒŒ์ผ์„ ํ•œ ์œ ํ˜•์—์„œ ๋‹ค๋ฅธ ์œ ํ˜•์œผ๋กœ ๋ณต์‚ฌ ๋ฐ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋ถ€ํŒ…์ด ๊ฐ€๋Šฅํ•œ USB ์Šคํ‹ฑ์„ ๋งŒ๋“ค ๋•Œ ์ข…์ข… ์‚ฌ์šฉํ•œ๋‹ค.

26. alias

ํ•œ ๋ฌธ์ž์—ด์„ ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋‹จ์–ด๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด์ด๋‹ค. ์‰˜์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ณ  ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์ƒ์˜ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

% alias ~='cd ~'
% ~

 

 

4. ์ง€๋ฃจํ•  ๋•Œ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ๋ฏธ์žˆ๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด

27. cal

calender์˜ ์•ฝ์ž๋กœ ๋‹ฌ๋ ฅ์„ ASCII ํ…์ŠคํŠธ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

% cal 
      6์›” 2022         
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ†   
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28 29 30
  • ์ง€์ •๋œ ์ •๋ณด๋ฅผ ํ„ฐ๋ฏธ๋„์— ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ์›” ๋ฐ ์—ฐ๋„์™€ ๊ฐ™์€ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

28. fortune

๋งค๋ฒˆ ๋‹ค๋ฅธ ๋…์ฐฝ์ ์ด๊ณ  ์–ด๋ฆฌ์„์€? ๊ตฌ์ ˆ์„ ๋ณด์—ฌ์ค€๋‹ค. sudo apt install fortune-mod๋กœ ์„ค์น˜ ํ›„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

$ fortune
Keep it short for pithy sake.
$ fortune
A visit to a strange place will bring fresh work.

29. history

ํ„ฐ๋ฏธ๋„ ์„ธ์…˜์˜ bash ๊ธฐ๋ก ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

$ history
    1  man 
    2  man shutdown
    3  ls
    4  code

30. yes

์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ Ctrl + Cํ‚ค๋กœ ๋ฉˆ์ถœ ๋•Œ๊นŒ์ง€ ๊ณ„์† ๋ฐ˜๋ณตํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. CPU ๋“ฑ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

$ yes "string"
string
string
string^C

31. banner

์ž์‹ ๋งŒ์˜ ๋งž์ถค ๋ฐฐ๋„ˆ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

32. rev

์ž…๋ ฅ ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ ์™€์„œ ๊ฐ ๋ฌธ์ž๋ฅผ ๋ฐ˜๋Œ€๋กœ ํ‘œ์ค€ ์ถœ๋ ฅํ•œ๋‹ค.

 

5. ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด

33. wget

๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์ž๊ฐ€ ํ„ฐ๋ฏธ๋„์—์„œ ๋ฐ”๋กœ ์›น์—์„œ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐ ํ™œ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋‚˜ ํฌ๋ก  ์ž‘์—…์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ์ž‘์—… ์ค‘ ํ•˜๋‚˜๋กœ, HTTP, HTTPS, FTP ์ธํ„ฐ๋„ท ํ”„๋กœํ† ์ฝœ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

34. iptables

์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ํŠน์ • ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์—์„œ ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ํ„ฐ๋ฏธ๋„ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. sysadmins๋Š” ์ •๊ธฐ ํŠธ๋ž˜ํ”ฝ์„ ์ •์˜ํ•˜๊ณ  ์˜์‹ฌ์Šค๋Ÿฝ๊ฑฐ๋‚˜ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ์˜ฌ๋ฆฌ๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

35. traceroute

๋„คํŠธ์›Œํฌ ํŒจํ‚ท์ด ํ•œ ์‹œ์Šคํ…œ์—์„œ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์œ ํ•ดํ•œ ์นจ์ž…์ž๋กœ๋ถ€ํ„ฐ ์ปดํ“จํ„ฐ๋ฅผ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋‹ค.

36. cURL

๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํŒŒ์ผ์„ ์ „์†กํ•˜์—ฌ ์ƒˆ๋กœ์šด Linux ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์‚ฌ์šฉ์ž ๊ฐœ์ž… ์—†์ด ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์ผ๋ฐ˜์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๊ด€๋ จ ์‰˜ ์Šคํฌ๋ฆฝํŠธ์— ์‚ฌ์šฉํ•œ๋‹ค.

+ ifconfig

์‹œ์Šคํ…œ์— ์„ค์ •๋œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ƒํƒœ๋ฅผ ํ™•์ธ ๋ฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

  • [eth0, eth1] : ํ”ํžˆ ๋žœ ์นด๋“œ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์œ ์„  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. eth0, eth1๊ฐ€ ๋– ์žˆ์„ ๊ฒฝ์šฐ ๋žœ ์นด๋“œ๊ฐ€ 2๊ฐœ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.
  • [lo] : ๋ฃจํ”„ ๋ฐฑ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ž๊ธฐ์ž์‹ ๊ณผ ํ†ต์‹ ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ƒ ์žฅ์น˜์ž…๋‹ˆ๋‹ค. IP๊ฐ€ 127.0.0.1 ์ž…๋‹ˆ๋‹ค. IP์ฃผ์†Œ๋Š” ์„œ๋ฒ„์— ํ•˜๋‚˜์”ฉ ๋ถ€์—ฌ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ํ• ๋‹น๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋งˆ๋‹ค ๋‹ค๋ฅธ IP์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • [HWaddr] : ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•˜๋“œ์›จ์–ด ์ฃผ์†Œ(MAC Address)
  • [inetaddr] : ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ํ• ๋‹น๋œ IP ์ฃผ์†Œ
  • [Bcast] : ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ์ฃผ์†Œ
  • [Mask] : ๋„ท๋งˆ์Šคํฌ
  • [MTU] : ๋„คํŠธ์›Œํฌ ์ตœ๋Œ€ ์ „์†ก ๋‹จ์œ„(Maxium Transfer Unit)
  • [RX packets] : ๋ฐ›์€ ํŒจํ‚ท ์ •๋ณด
  • [TX packets] : ๋ณด๋‚ธ ํŒจํ‚ท ์ •๋ณด
  • [collision] : ์ถฉ๋Œ๋œ ํŒจํ‚ท ์ˆ˜
  • [Interrupt] : ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฒˆํ˜ธ
  • ์ถ”๊ฐ€๋กœ, Ifconfig ๋ช…๋ น์–ด๋กœ๋Š” private ip๋ฐ–์— ํ™•์ธ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต์ธ ์•„์ดํ”ผ(Public IP)๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด Curl์„ ์„ค์น˜ ํ›„์— ํ™•์ธํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
    • $ curl ifconfig.me

+ netstat

๋„คํŠธ์›Œํฌ ์ ‘์†, ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”, ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ†ต๊ณ„ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค.

netstat -natp | grep 8994
  • option : 
    -l (listen) : ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ
    -n (number port) : ํฌํŠธ ๋„˜๋ฒ„
    -t (tcp) : tcp
    -u (udp) : udp
    -p : ํ”„๋กœ๊ทธ๋žจ ์ด๋ฆ„ / PID
    -a : ๋ชจ๋‘
    -i : ์ด๋”๋„ท ์นด๋“œ๋ณ„ ์ •์ƒ/์—๋Ÿฌ/๋“œ๋ž ์†ก์ˆ˜์‹  ํŒจํ‚ท ์ˆ˜ ํ™•์ธ
    -r : ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”
    -s : ๋„คํŠธ์›Œํฌ ํ†ต๊ณ„

+ ping

Paket Internet Groper์˜ ์•ฝ์–ด์ด๋ฉฐ, ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ์ƒํƒœ๋ฅผ ์ ๊ฒ€, ์ง„๋‹จํ•˜๋Š” ๋ช…๋ น์ด๋‹ค.

ping 127.0.0.1
  • ํŒจํ‚ท(packet, ๋„คํŠธ์›Œํฌ ์ตœ์†Œ ์ „์†ก๋‹จ์œ„)์„ ๋ณด๋‚ธํ›„(ICMP echo request) ๋Œ€์ƒ ์ปดํ“จํ„ฐ๊ฐ€ ์ด์— ๋Œ€ํ•ด ์‘๋‹ตํ•˜๋Š” ๋ฉ”์‹œ์ง€(ICMP echo reply)๋ฅผ ๋ณด๋‚ด๋ฉด ์ด๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ ๋ถ„์„ํ•œ๋‹ค.

+ tcping

tcp ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์‘๋‹ต ์œ ๋ฌด๋ฅผ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํฌํŠธ๊นŒ์ง€ ํ™œ์šฉํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

tcping -t 192.168.0.1 8080
  • ์œ„์˜ ์˜ˆ์‹œ๋Š” 192.168.0.1 ip์˜ 8080/tcp ํฌํŠธ๊ฐ€ ์—ด๋ ค์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค.
    • ์—ด๋ ค์žˆ์„ ๊ฒฝ์šฐ, Port is Open์ด๋ผ๋Š” ์‘๋‹ต์„ ์ˆ˜์‹ ํ•œ๋‹ค.
    • ๋‹ซํ˜€์žˆ์„ ๊ฒฝ์šฐ, No Response๋ผ๋Š” ์‘๋‹ต์„ ์ˆ˜์‹ ํ•œ๋‹ค.
  • ์ถ”๊ฐ€๋กœ, telnet <IP> <port>์„ ์ด์šฉํ•ด์„œ๋„ ํ•ด๋‹น IP:Port๊ฐ€ ์—ด๋ ค์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

+ arp

arp(Address Resolutioin Protocol)์€ IP ์ฃผ์†Œ๋ฅผ MAC ์ฃผ์†Œ๋กœ ํ’€์–ด์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ์‹œ์Šคํ…œ๋ผ๋ฆฌ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ƒ๋Œ€๋ฐฉ์˜ MAC ์ฃผ์†Œ๋ฅผ ์•Œ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ip์— ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์„œ MAC ์ฃผ์†Œ๋ฅผ ๋ฐ›์•„์˜จ๋‹ค.

$ arp -an
? (172.31.0.2) at 02:42:ac:1f:00:02 [ether] on br-30b998c1d9fc
? (172.31.0.3) at 02:42:ac:1f:00:03 [ether] on br-30b998c1d9fc
? (172.19.0.70) at 02:42:ac:13:00:46 [ether] on br-c8c26b9ab3b8
? (192.168.16.1) at 00:10:f3:9c:c0:c8 [ether] on eno1
...
  • -a: Use alternate BSD style output format (with no fixed columns).
  • -e: Use default Linux style output format (with fixed columns).
  • -d [host]: ์ง€์ •ํ•œ ํ˜ธ์ŠคํŠธ๋ฅผ ๋ชฉ๋ก์—์„œ ์‚ญ์ œ
  • -s [host MAC address]: ํ˜ธ์ŠคํŠธ์˜ MAC ์ฃผ์†Œ(ํ•˜๋“œ์›จ์–ด ์ฃผ์†Œ)๋ฅผ ์ถ”๊ฐ€
  • -f [file name]: ํŒŒ์ผ์— ์žˆ๋Š” ๋ชฉ๋ก์„ ์ถ”๊ฐ€
  • -n: shows numerical addresses instead of trying to determine symbolic host, port or user names.

 

6. Linux ๋ช…๋ น์–ด ๊ฒ€์ƒ‰ ๋ฐ ์ •๊ทœ ํ‘œํ˜„์‹

37. find

ํ„ฐ๋ฏธ๋„์—์„œ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋ฉฐ ํŒŒ์ผ ๊ถŒํ•œ, ์†Œ์œ ๊ถŒ, ์ˆ˜์ • ๋‚ ์งœ, ํฌ๊ธฐ ๋“ฑ๊ณผ ๊ฐ™์€ ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

38. which

๊ฒ€์ƒ‰ํ•˜๋ ค๋Š” ๋ชจ๋“  ํŒŒ์ผ์ด ์‹คํ–‰ํŒŒ์ผ์ธ ๊ฒฝ์šฐ ์œ ์šฉํ•˜๋ฉฐ ํŠน์ • ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ทจํ•˜์—ฌ $PATH ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์—์„œ ์ด์ง„ ํŒŒ์ผ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

$ which python
/home/sjchoi/miniconda3/bin/python

39. locate

Linux์—์„œ ํŠน์ • ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ๋ชจ๋ฅผ ๋•Œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด์ด๋ฉฐ, sudo apt install mlocate๋กœ ์„ค์น˜ ํ›„ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

40. grep

๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ํŒŒ์ผ์—์„œ ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด์ด๋ฉฐ, ์ฐพ๊ณ ์ž ํ•˜๋Š” ํŒจํ„ด์„ ์ž…๋ ฅ๋ฐ›์•„ ํŠน์ • ํŒจํ„ด์— ๋Œ€ํ•ด ์ง€์ •๋œ ํŒŒ์ผ์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค. ๋ณดํ†ต '|' ๋’ค์— ๋‹ค์Œ์˜ ๋ช…๋ น์„ ์ฃผ์–ด ํŠน์ • ๋ช…๋ น ๋‚ด ๊ฒ€์ƒ‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

$ ps -elf | grep Receiver
$ netstat -natp | grep 8080

41. sed

์ง€์ •๋œ ๋ถ€๋ถ„์„ ๊ต์ฒดํ•˜์—ฌ ํŒŒ์ผ ๋˜๋Š” ์ŠคํŠธ๋ฆผ์˜ ๊ฐ ์ค„์„ ์กฐ์ž‘ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ๋งŽ์€ ์–‘์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ณ  ์ด๋™ ์ค‘์—๋„ ๋ณ€๊ฒฝํ•ด์•ผํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

 

7. I/O ๋ฐ ์†Œ์œ ๊ถŒ์„ ๋‹ค๋ฃจ๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด

42. clear

ํ„ฐ๋ฏธ๋„ ํ™”๋ฉด์„ ์ง€์šฐ๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

43. echo

ํ„ฐ๋ฏธ๋„ ์ฝ˜์†”์— ํŠน์ • ํ…์ŠคํŠธ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. '>>' ์™€ ๊ฐ™์€ ํ˜•์‹์„ ์ด์šฉํ•˜์—ฌ ํŠน์ • ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

echo "hello world" >> test.txt

44. sort

์‚ฌ์ „ ์ˆœ ๋˜๋Š” ์—ญ์ˆœ์œผ๋กœ ํŒŒ์ผ์„ ์ •๋ ฌํ•ด์•ผ ํ•  ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ณดํ†ต '|' ๋’ค์— ๋‹ค์Œ์˜ ๋ช…๋ น์„ ์ฃผ์–ด ํŠน์ • ๋ช…๋ น ๋‚ด ๊ฒ€์ƒ‰ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

$ du -sh ./* | sort -h
  • -h, --human-numeric-sort    compare human readable numbers (e.g., 2K 1G)
  • -n, --numeric-sort          compare according to string numerical value

45. sudo

super user์˜ ์•ฝ์ž๋กœ ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์šฉ์ž๋Š” ๋‚ฎ์€ ์ˆ˜์ค€์˜ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ข…์ข… ์ด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๊ณ„์ •์—์„œ ๋ฃจํŠธ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋‹ค.

46. chmod

์‹œ์Šคํ…œ ํŒŒ์ผ ๋˜๋Š” ๊ฐ์ฒด์˜ ์•ก์„ธ์Šค ๊ถŒํ•œ(r: read, w: write, x: execute)์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค. ํŠน์ • ์‚ฌ์šฉ์ž(u: Owner, g: Group, a: All users, o: Others)์— ๋”ฐ๋ฅธ ํŒŒ์ผ ๊ถŒํ•œ ๋ณ€๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ๋งค๊ฒŒ๋ณ€์ˆ˜๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

// Owner, Group, All user์— ๋ชจ๋“  ๊ถŒํ•œ์„ ๋ถ€์—ฌ(7: 111(2), ์ฝ๊ธฐ ์“ฐ๊ธฐ ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ชจ๋‘ ๋ถ€์—ฌ)
chmod 777 python.py

// Group(g)์— ์“ฐ๊ธฐ(w) ๊ถŒํ•œ์„ ๋ถ€์—ฌ
chmod g+w python.py

// Owner(o), Group(g)์— ์“ฐ๊ธฐ(w) ๊ถŒํ•œ์„ ์‚ญ์ œ
chmod og-w python.py

์ถ”๊ฐ€์ ์ธ ๊ถŒํ•œ ๊ด€๋ จ ๋‚ด์šฉ์— ์žˆ์–ด์„œ๋Š” [Linux] chmod ํŒŒ์ผ ๊ถŒํ•œ ๋ฐ ํŠน์ˆ˜ ๊ถŒํ•œ ์„ค์ •์„ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

47. chown

chmod์™€ ์œ ์‚ฌํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์†Œ์œ ์ฃผ๋‚˜ ๊ทธ๋ฃน์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜๋ฉด ํŒŒ์ผ์— ๋Œ€ํ•œ ์ด์ „ ์†Œ์œ ์ฃผ๋Š” ํ•ด๋‹น ํŒŒ์ผ์— ์ด ๋ช…๋ น์„ ๋‹ค์‹œ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค. chmod ๋˜๋Š” chown ๋ชจ๋‘ ๋ฃจํŠธ ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋‹ค.

+ umask

์•ž์œผ๋กœ ๋งŒ๋“ค์–ด์งˆ ํŒŒ์ผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ช…๋ น์œผ๋กœ ์ง€์ •ํ•œ 8์ง„์ˆ˜๋Š” ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์งˆ ํŒŒ์ผ์—์„œ ์ œ๊ฑฐ๋  ๊ถŒํ•œ์„ ๋ช…์‹œ

$ umask 111
$ touch test.txt
$ ll | grep test
-rw-rw-rw-. 1 sjchoi sjchoi  0 11์›”  2 09:49 test.txt

 

8. ์ผ์ƒ์ ์ธ ์‚ฌ์šฉ์„ ์œ„ํ•œ ๊ธฐํƒ€ ๋ช…๋ น์–ด

48. man

man ๋ช…๋ น์€ manual์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ Linux ๋ช…๋ น์ด๋‹ค. ์ด ๋ช…๋ น ๋‹ค์Œ์œผ๋กœ ๋‹ค๋ฅธ ๋ช…๋ น์„ ๋„ฃ์œผ๋ฉด, ํ•ด๋‹น ๋ช…๋ น์˜ ๋งค๋‰ด์–ผ ๋˜๋Š” ์„ค๋ช…์„œ ํŽ˜์ด์ง€๋ฅผ ๋‚˜์—ดํ•œ๋‹ค.

49. tar

ํŒŒ์ผ์„ ์•„์นด์ด๋ธŒํ•˜๊ณ  ์ถ”์ถœํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ํŒŒ์ผ์„ ์••์ถ•ํ•˜๋Š”๋ฐ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์ด๋‹ค.

# tar๋กœ ์••์ถ•ํ•˜๊ธฐ
$ tar -cvf [ํŒŒ์ผ๋ช….tar] [ํด๋”๋ช…]

# tar ์••์ถ• ํ’€๊ธฐ
$ tar -xvf [ํŒŒ์ผ๋ช….tar]

# tar.gz๋กœ ์••์ถ•ํ•˜๊ธฐ
$ tar -zcvf [ํŒŒ์ผ๋ช….tar.gz] [ํด๋”๋ช…]

# tar.gz ์••์ถ• ํ’€๊ธฐ
$ tar -zxvf [ํŒŒ์ผ๋ช….tar.gz]

50. whatis

์‚ฌ์šฉ์ž๊ฐ€ ์ œ๊ณตํ•œ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์„ธํŠธ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ช…๋ น๊ณผ ์ผ์น˜ํ•˜๋Š” ์‹œ์Šคํ…œ ๋ช…๋ น์„ ์ธ์‡„ํ•œ๋‹ค.

 

์ฐธ๊ณ 

  • linux command: https://www.xmind.app/m/WwtB/
  • [Blog] ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด ๋ชจ์Œ BEST 50 ์ดˆ๋ณด์ž ๋ฐ ์ „๋ฌธ๊ฐ€์šฉ: https://dora-guide.com/linux-commands/
  • [Blog] ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•œ ์‹œ์Šคํ…œ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ: https://www.whatap.io/ko/blog/10/ 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Study: ComputerScience(CS) > CS: Linux' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Linux] ๋ฆฌ๋ˆ…์Šค wget vs curl: ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์ปจํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค์ž!  (0) 2022.07.19
[Linux] ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ (user@host : ์‚ฌ์šฉ์ž๋ช…, ํ˜ธ์ŠคํŠธ๋ช… ๋ณ€๊ฒฝํ•˜๊ธฐ)  (0) 2022.07.19
[Linux] ssh config ์„ค์ • ๋ฐฉ๋ฒ•: ~/.ssh/config  (1) 2022.07.17
[Linux] ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ (์กฐํšŒ, ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ • ๋“ฑ)  (0) 2022.07.13
[Linux] Ubuntu - ํ•™๊ต ์™€์ดํŒŒ์ด ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•  (0) 2020.06.17
    'Study: ComputerScience(CS)/CS: Linux' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Linux] ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ (user@host : ์‚ฌ์šฉ์ž๋ช…, ํ˜ธ์ŠคํŠธ๋ช… ๋ณ€๊ฒฝํ•˜๊ธฐ)
    • [Linux] ssh config ์„ค์ • ๋ฐฉ๋ฒ•: ~/.ssh/config
    • [Linux] ๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ (์กฐํšŒ, ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ • ๋“ฑ)
    • [Linux] Ubuntu - ํ•™๊ต ์™€์ดํŒŒ์ด ์ ‘์†ํ•˜๋Š” ๋ฐฉ๋ฒ•
    DrawingProcess
    DrawingProcess
    ๊ณผ์ •์„ ๊ทธ๋ฆฌ์ž!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”