Linux Commands - redutan/redutan.github.io GitHub Wiki
FHF (Filesystem Hierarchy Standard) ํ์ค ํ์ผ ์์คํ
/ : ๋ฃจํธ ๋๋ ํ ๋ฆฌ
/bin : ๊ธฐ๋ณธ์ ์ธ ๋ช
๋ น์ด
/boot : ๋ถํธ๋ก๋ ๋๋ ํ ๋ฆฌ
/dev : ์์คํ
๋๋ฐ์ด์ค (์ฅ์นํ์ผ)
/etc : ๊ฐ์ข
์ค์ ํ์ผ
/home : ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ
/lib : ๋ผ์ด๋ธ๋ฌ๋ฆฌ (๋ฐ ์ปค๋๋ชจ๋)
/media : ์ธ๋ถ ์ ์ฅ์ (cdrom, usb ๋ฑ)
/mnt : ์ธ๋ถ ์ ์ฅ์ ๋๋ ํ์ผ์์คํ
๋ง์ดํธํฌ์ธํธ /proc : ์์คํ
์ค์ ๋ค์ ๊ฐ์ํ์ผ์์คํ
(pseudo-file ์์คํ
)
/root : ๋ฃจํธ ์ฌ์ฉ์์ ํ ๋๋ ํ ๋ฆฌ
/sbin : ์์คํ
(๊ด๋ฆฌ์์ฉ) ๋ช
๋ น์ด
/tmp : ์์ ์ ์ฅ์
/usr : ์ผ๋ฐ ์ฌ์ฉ์๋ค ๊ณตํตํ์ผ
/var : ์์คํ
์ด์ฉ์ค์ ์์ฑ๋๋ ์์ ๋ฐ์ดํฐ ์ ์ฅ์
bash์ธ ๊ฒฝ์ฐ
-
/etc/profile
/etc/profile.d/*.sh
/etc/bash.bashrc
-
~/.profile
-
~/.bashrc
-
~/.bash_aliases
(if exists)
-
-
# ์คํฌ๋ฆฝํธ ์์ฑ ๋ฐ /bin/sh ๋๋ /bin/bash ๋ฅผ ํตํด ์คํ
$ /bin/sh test1.sh
# ์คํํผ๋ฏธ์
์ํตํ์ง์ ์คํ
$ chmod +x test1.sh
$ ./test1.sh
# ์ด๋, ํด๋น ์ ์คํฌ๋ฆฝํธ์ ์์ฑ์ ์ฒซ ์ค์ ์ ์ (she(#)bang(!) ๋๋ shabang, hashbang)
- #!/bin/bash
- #!/usr/bin/perl
- #!/usr/bin/python
#shebang ๋ฌด์ํ๊ณ ์ง์ ์คํ
$ bash -m test1.sh
-
$0
: ์คํฌ๋ฆฝํธ/๋ช ๋ น์ด ์ด๋ฆ -
$#
: ์ ๋ฌ๋ํ๋ผ๋ฏธํฐ์ -
$$
: ํ๋ก์ธ์ค๋ฒํธ -
$?
: ์คํ๊ฒฐ๊ณผ -
$1,$2,...
: ์ ๋ ฅ์ธ์ -
$*
: ์ ๋ ฅ์ธ์ ๋ชจ๋
-
Ctrl + L
: ํ์ฌ ์ ๋ ฅ ๊ธ์๋ค์ ๋จ๊ฒจ๋ ์ฑ 'clear' ์คํ -
Ctrl + U
: ํ์ฌ ์ปค์ ์์น๋ถํฐ ๊ทธ ์ค ์ฒ์๋ถ๋ถ ๊น์ง ์ง์ฐ๊ธฐ -
Ctrl + D
: ํ์ฌ ์ปค์์ ์๋ ๊ธ์ ์ง์ฐ๊ธฐ -
Alt + B
: ์ด์ ๋จ์ด๋ก ์ปค์ ์ด๋-
Esc ๋๋ฅด๊ณ ๋ ํ ๋ฐ๋ก B
๋ ๋๊ฐ์ด ์๋ํ๋๋ฐ ๋งฅ์์ ์ ์ฉํจ
-
-
Alt + F
: ๋ค์ ๋จ์ด๋ก ์ปค์ ์ด๋-
Esc ๋๋ฅด๊ณ ๋ ํ ๋ฐ๋ก B
๋ ๋๊ฐ์ด ์๋ํ๋๋ฐ ๋งฅ์์ ์ ์ฉํจ
-
-
Ctrl + A
: ์ค ๋งจ ์์ผ๋ก ์ปค์ ์ด๋ -
Ctrl + E
: ์ค ๋งจ ๋ค๋ก ์ปค์ ์ด๋ -
Ctrl + F
: ํ ์นธ ์์ผ๋ก ์ด๋( <- ํค ์ ๋์ผ) -
Ctrl + B
: ํ ์นธ ๋ค๋ก ์ด๋(-> ํค ์ ๋์ผ) -
Ctrl + K
: ํ์ฌ ์ปค์ ์์น๋ก๋ถํฐ ๊ทธ ์ค ๋ ๋ถ๋ถ๊น์ง ํ ์คํธ ์ง์ฐ๊ธฐ
# ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ค ์ถ๋ ฅ(1)์ ๋ณด๋ด๊ณ ์๋ฌ ์ถ๋ ฅ๋ ํ์ค ์ถ๋ ฅ๊ณผ ๊ฐ์ ๊ณณ์ผ๋ก ๋ณด๋ธ๋ค.
$ ls tmp/* > result.txt 2>&1
# ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ค ์ถ๋ ฅ(1)๊ณผ ์๋ฌ ์ถ๋ ฅ(2) ๋ ๋ค ๋ณด๋ธ๋ค.
$ ls tmp/* &> result.txt
# ํ์ค ์
๋ ฅ์ผ๋ก ๋ถํฐ end(delim)๊ฐ์ด ๋ค์ด์ฌ ๋๊น์ง ์ ์
๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ํ์ผ๋ก ์ถ๋ ฅ
$ cat << end > hello.txt
#๋ด ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ํ์ฅ์๊ฐ .txt ์ธ ํ์ผ์ ์ฐพ๋ ๋ฒ
$ find *.txt
#๋ด ํ์ฌ ๋๋ ํ ๋ฆฌ์์๋ถํฐ ํ์ฅ์๊ฐ .txt ์ธ ํ์ผ์ ์ฐพ๋ ๋ฒ
$ find . -name โ*.txtโ
#๋ด ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ํ์ผ๋ช
์ด hello๋ก ์์ํ๋ โํ์ผโ ๋ง ์ฐพ๋ ๋ฒ
$ find . -name โhello*โ -type f
#๋ด ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ๋๋ ํ ๋ฆฌ๋ช
์ด dir ๋ก ์์ํ๋ โ๋๋ ํ ๋ฆฌโ ๋ง ์ฐพ๋ ๋ฒ โข find . -name โdir*โ -type d
๋ด ํ์ฌ ๋๋ ํ ๋ฆฌ์์ ์ฉ๋์ด 100,000,000๋ฐ์ดํธ (100M) ๋ณด๋ค ํฐ ํ์ผ ์ฐพ๋ ๋ฒ
โข find . -size +100000000c <-- ์ฌ๊ธฐ 100000000c ๋์ 100000k ๋๋ 100M ์ฌ์ฉ ๊ฐ๋ฅ
์ต๊ทผ ์์ฑ๋ ํ์ผ๋ง ์ฐพ์๋ณด๊ธฐ (2020๋
5์ 15์ผ ์ดํ ๋ณ๊ฒฝ๋ ํ์ผ
โข find -newerct โ15 May 2020โ -ls <-- ์ฌ๊ธฐ newerct ๋์ newermt ๋ก ํ ๊ฒฝ์ฐ ์ต๊ทผ ๋ณ๊ฒฝ๋ ์ต๊ทผ 2์ผ์์ 5์ผ ์ฌ์ด์ ๋ณ๊ฒฝ๋ ํ์ผ ์ฐพ๊ธฐ
โข find . -mtime +2 -a -mtime -5 -ls
- Access: ํ์ผ์ ์ต๊ทผ ์ ๊ทผ ์๊ฐ
- ๋ ผ๋์ด ์์. ๊ณ ์ ์ ์ผ๋ก๋ read ์์๋ ์ฌ๋ผ๊ฐ์ผ๋ ์ง๊ธ์ ์ต์ ์ ํตํด์ ๋ค์ ๋ณ๊ฒฝ๋จ
- Modify: ํ์ผ์ ๋ด์ฉ ๋ณ๊ฒฝ ์๊ฐ
- Change: ํ์ผ์ ์์ ์๊ฐ
- inode ๊ด์ ์์์ ๋ณํ ์๊ฐ - ์์ฑ, ๋ณ๊ฒฝ, ์์ฑ์์ ๋ฑ
- Birth: ์์ฑ
$ stat hello2.txt
File: hello2.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd00h/64768d Inode: 274693 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ jordan) Gid: ( 1000/ jordan)
Access: 2022-08-12 00:25:52.460811416 +0000
Modify: 2022-08-12 00:25:52.460811416 +0000
Change: 2022-08-12 00:26:07.680853040 +0000
Birth: 2022-08-12 00:25:52.460811416 +0000
์๋ฒ ์ฌ์ด์์ ACL์ ํฌํธ ๋ฒ์๋ก ๊ฒ์ฌ
- ์ด๋ ค์์ผ๋ฉด
open
- ๋งํ์์ผ๋ฉด
filtered
- ๋ซํ์์ผ๋ฉด
closed
$ nmap -p 1024-65535 10.10.10.10
Starting Nmap ...
Namp scan report for 10.10.10.10
PORT STATE SERVICE
1433/tcp filtered ms-sql-s
1521/tcp filtered oracle
...