inode๋?
inode๋ ์ ํต์ ์ธ ์ ๋์ค ๊ณํต ํ์ผ ์์คํ
์์ ์ฌ์ฉํ๋ ์๋ฃ ๊ตฌ์กฐ์ด๋ค. ํ์ผ ์์คํ
๋ด์์ ํ์ผ/๋๋ ํ ๋ฆฌ๋ ๊ณ ์ ํ inode๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ inode ๋ฒํธ๋ฅผ ํตํด์ ์๋ก ๊ตฌ๋ถ์ด ๊ฐ๋ฅํ๋ค. ์ฌ์ฉ์๊ฐ ํ์ผ ๋๋ ํ์ผ๊ณผ ๊ด๋ จ๋ ์ ๋ณด(ํผ๋ฏธ์
, ๋งํฌ_์, ์์ ์_๋ช
, ๊ทธ๋ฃน_๋ช
, ํ์ผ_ํฌ๊ธฐ, ํ์ผ_์ฃผ์, ์ก์ธ์ค_์ ๋ณด)์ ์ก์ธ์คํ๋ ค๊ณ ํ์ผ_์ด๋ฆ์ ์ฌ์ฉํ๋ฉด, ๋ด๋ถ์ ์ผ๋ก ํ์ผ_์ด๋ฆ์ ๋จผ์ ๋๋ ํฐ๋ฆฌ ํ
์ด๋ธ์ ์ ์ฅ๋ inode ๋ฒํธ๋ก ๋งคํํ ๋ค ๊ทธ inode ๋ฒํธ๋ฅผ ํตํด ํด๋น ํ์ผ์ ์ก์ธ์คํ๊ฒ ๋๋ค.
=>ํด๋น ํ์ผ/๋๋ ํฐ๋ฆฌ์ ๋ํด์ ๋ด๋ถ์ ์ผ๋ก ์์คํ
์ด ์ธ์ํ๊ณ ์๋ ๋ฒํธ ์ ๋๋ก ์๊ฐํ๋ฉด ๋๋ค.
์ ๋๊ฒฝ๋ก
์ ๋๊ฒฝ๋ก๋ / ๋๋ ํฐ๋ฆฌ๋ก๋ถํฐ์ ๊ฒฝ๋ก์ด๋ฏ๋ก ๋ฌด์กฐ๊ฑด /๋ก ์์๋๋ค.
mkdir /home/centos1/{123,456}
์๋๊ฒฝ๋ก
์๋๊ฒฝ๋ก๋ ํ์ฌ ์๋ ๊ณณ์์๋ถํฐ์ ๊ฒฝ๋ก์ด๋ค.
mkdir {abc,xyz}
==>ํ์ผ/๋๋ ํฐ๋ฆฌ๋ ํญ์ ์ซ์ ์ฐ์ ์ผ๋ก ์ ๋ ฌ๋๋ค.
mkdir ./ ๋ช ๋ น์ด๋ก ํ์ฌ ์๋ ๋๋ ํฐ๋ฆฌ์ qwe ํ์ผ์ ๋ง๋ค๊ณ , ../../ ์ผ๋ก ์์, ์์(์ฌ๊ธฐ์ ๋ฃจํธ) ๋๋ ํฐ๋ฆฌ์ ROOT ํ์ผ์ ๋ง๋ค์๋ค.
man ls ๋ช ๋ น์ด๋ก ls ๋ช ๋ น์ด์ ์ฌ์ฉ๋ฒ ๋ฑ์ ์ ์ ์๋ค. ๋น ์ ธ๋์ค๋ ๋ฒ์ :+q (ํน์ ls --help)
์ฌ์ฉ๋ฒ ์ค๋ช
๊ณผ LS(1)์์ผ๋ก ๋ณด์ด๋๋ฐ 1์
category๋ก์จ ๋ชจ๋ ๋ช
๋ น์ด๋ manual ํ์ด์ง์์ 8๊ฐ๋ก ๋๋๋ค.
1 User Commands, 2 System Calls, 3 C Library Functions, 4 Devices and Special Files, 5 File Formats and Conventions, 6 Games etc, 7 Miscellanea, ๊ทธ๋ฆฌ๊ณ 8 System Administration tools and Daemons๊ฐ ์๋ค.
;๊ณผ &&
A ; B์ A && B๋ A์ B ๋ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ๋์์ ์คํ์ํฌ ๋ ์ฌ์ฉ๋๋๋ฐ
; ๋ A์ ์ค๋ฅ๊ฐ ์์ด๋ B๋ฅผ ์คํ์ํจ๋ค.
&&๋ A์ ์ค๋ฅ๊ฐ ์์ผ๋ฉด B๋ฅผ ์คํํ์ง ์๋๋ค.
==>์ฐธ๊ณ ๋ก ์คํฌ๋ฆฝํธ์์๋ ||๋ OR(ํฉ์งํฉ), &&๋ AND(๊ต์งํฉ)์ ์๋ฏธ์ด๋ค.
/dev/null์ ์๋ ์ฅ์น์ด๋ฏ๋ก ๋ธ๋ํ์ฒ๋ผ ์ธ๋ถ์ ์๋ฌด ๊ฒ๋ ์ ๋ณด์ด๊ฒ ํ๋ค.
Descriptor
2> : ํ์ค ์๋ฌ - ํ์ค ์๋ฌ๊ฐ ๋ฐ์ํด์ ๋ชจ๋ํฐ์ ํ์ ๋๋ค.
1> : ํ์ค ์ถ๋ ฅ - ๋ช ๋ น์ด ์คํ์ ๊ธฐ๋ณธ ์ฅ์น์ธ ๋ชจ๋ํฐ๋ก ๊ฒฐ๊ณผ๊ฐ์ด ๋ณด์ฌ์ง๋ค
0> : ํ์ค ์ ๋ ฅ - ์ถ๋ ฅ๊ฐ์ ๋ชจ๋ํฐ์ ํ์ํ์ง ํ์ง ์๋๋ค.
mkdir /root/root 2> /home/centos1/error1.txt ; echo "I'M KING" > /home/centos1/king1.txt && cat /home/centos1/king1.txt
I'M KING
์ผ๋ฐ ๊ด๋ฆฌ์ ์๊ฒฉ์ผ๋ก root์ ๋ค์ด๊ฐ๋ ค ํ๋๊น ํ์ค์๋ฌ๊ฐ ๋ฌ๋ค. ๊ทธ๋์ error1 ํ ์คํธ ํ์ผ์ด ๋ง๋ค์ด์ก๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ด์ I'M KING ํ์ผ์ ํ ๋ฐ์ ์ผํ ์ค1 ๋ฐ์ ๋ง๋ค๊ณ ์ฝ์๋ค.
ํ๊ฒฝ๋ณ์
์ ํ๋กฌํํธ(prompt)๋ $PS1 ํ๊ฒฝ๋ณ์์ ์ ์ฅ๋์ด ์๋๋ฐ
ํ๊ฒฝ๋ณ์๋ $๋๋ฌธ์_์ด๋ฆ ์ผ๋ก ์ ์ฅ๋๋ค. <=$HOSTNAME, $USER, ...
echo ๋ ํ์ผ์ ์์ฑํ๊ฑฐ๋ ํ๊ฒฝ๋ณ์ ๋ฑ์ ๋ด์ฉ์ ์ฝ์ ๋ ์ฌ์ฉ๋๋ค.
[ \u @\h \W ]\$ ๋์ด ์๋ค.
[์ฌ์ฉ์@ํธ์คํธ ์์
_๋๋ ํฐ๋ฆฌ]$ ์๋ฏธ์ด๋ค.
์ฌ๊ธฐ์ \๋ ๋ค์ ๋์ค๋ ๊ฒ์ด ๋ฌธ์๋ ๊ธฐํธ๋ผ๋ ์๋ฏธ์ด๋ค. \๊ฐ ์์ผ๋ฉด u, h, W, $๋ ๋ชจ๋ u, h, W ๋ฑ์ ์๋ฏธํ๋ค.
\u, \h, \W ํ๋ฉด ์๋ฏธ๊ฐ user, host, Working Directory๋ก ๋ฌ๋ผ์ง๋ค.
=>\n, \t, \a, .... <=์ด๋ฐ ํ์๋ ์ ๊ทํํ์(Regular Expression)์ ์ํ๋ค.
ํ๋์ ์์ ์ ํ๋(ํ์ฌ) ํ๋ก์ธ์ค์์๋ง ์ ์ฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ด๋ ํ๊ฒฝ์ ๋ณ๊ฒฝํ ๋ค ์ค์ ํ์ผ์ ์ ์ฅํด๋์ง ์์ผ๋ฉด ํด๋น ๋ณ๊ฒฝ์ ํด๋น ํ๋ก์ธ์ค์์๋ง ์๋ํ๋ ๊ฒ์ด๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ๊ฐ๋ฉด ํด๋น ์ค์ ์ด ์์ด์ง๋ค.
=>์ ํ๋กฌํํธ์ ๊ฒฝ์ฐ์๋ $HOME/.bashrc ๋ผ๋ ํ์ผ์ ๊ธฐ๋กํด๋๋ฉด ๋๋ค.
์ด๋ ๊ฒ ๋ณ๊ฒฝํด๋๋ฉด source $HOME/.bashrc(๋ฆฌ๋
์ค์์ ์จ๊นํ์ผ์ ์์๋ค๊ฐ .์ ๋ถ์ธ๋ค.)ํด์ ์ ์ฉ์์ผ ๋์ด์ผ ํ๋ค.
nano /home/centos1/.bashrc
ํ์ผ ๋ค์ด๊ฐ์
export PS1="[\T][\u@\h \w][\d]\$"
๋ฃ์ด์ฃผ๊ธฐ
๊ทธ๋ฌ๋ฉด ๋ ์ง์ ์์ผ์ด ๋ฌ๋ค.
์์ ๋ ค๋ฉด ์ฃผ์ ์ฒ๋ฆฌ
์ด๋ ๊ฒ ์์ ๋ ๋ฐฉ๋ฒ๋ ์๋ค. ์ฌ์์ ํ๋ฉด ์์ด์ ธ ์๋ค.
*root ์ฌ์ฉ์์์๋ /root/.bashrc
centos์ฌ์ฉ์์์๋ /home/centos/.bashrc
์ฆ, ์ฌ์ฉ์๋ณ ์ค์ ์ด ๊ฐ๋ฅํ๋ค.
alias
alias ๋ผ๊ณ ์น๋ ๋ชจ๋ ์ถ์ฝ์ด๊ฐ ๋ค ๋์จ๋ค.
tail์ ์ด๋ ํ์ผ์ ๋ ๋ถ๋ถ๋ถํฐ 10์ค์ ๋ณด์ด๋๋ฐ -5 ํ๋ฉด 5์ค๋ง ๋ณด์ธ๋ค.
head๋ ์ด๋ ํ์ผ์ ์ฒซ ๋ถ๋ถ๋ถํฐ 10์ค์ ๋ณด์ด๋๋ฐ -2 ํ๋ฉด 2์ค๋ง ๋ณด์ธ๋ค.
ls -l ๋ช ๋ น์ด((check the archive of file) alias ll
-rw-r--r--. 1 root root 151 Feb 28 09:30 ab.patch
- : file
rw-r--r-- :priviliege(๊ถํ)
1 : inode(์ค์๋)
root : user
root : group
151 : size
Feb 28 09:30 : date
ab.patch : name of the file
ls -dl(check the archive of directory)
drwxr-xr-x. 2 root root 6 Mar 2 14:25 abc
d : directory
rwxr-xr-x : privilege
2 : inode(์์ด๋ ธ๋๊ฐ ๋ ๊ตฐ๋ฐ ์ฐ๊ฒฐ๋์ด ์๋ค. )
root : user
root : group
6 : size
Mar~ 25 : date
abc : name of the directory
history
history๋ก ์กฐํํ๊ณ , history -d๋ก ์ผ๋ถ ์ญ์ ํ๊ณ , history -c๋ก ์ ์ฒด ์ญ์ ํ ์ ์๋ค.
cp
cp ๋ ํ์ผ/๋๋ ํฐ๋ฆฌ ๋ณต์ฌ์ธ๋ฐ -a(์๋ณธํ์ผ์ ์์ฑ ์ ์ง)r(๋๋ ํฐ๋ฆฌ๋ ๋ณต์ฌ)p(์๋ณธํ์ผ์ ์์ ,๊ทธ๋ฃน,๊ถํ๋ ๋ณต์ฌ) ์ต์ ์ ์์ฃผ ์ฌ์ฉํ๋ค.
rm
ํ์ผ/๋๋ ํฐ๋ฆฌ ์ญ์ ์ธ๋ฐ ๋ณดํต -r(recursive:(๋ฐ๋ณต),๋๋ ํฐ๋ฆฌ ์ญ์ )f(๊ฐ์ ) ์ต์
๊ณผ ํจ๊ป ์ฌ์ฉํ๋ค.
๋๋ ํฐ๋ฆฌ ์ด๋์ ๊ดํ ๋ช
๋ น์ด๋ก cd,
ํ์ฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๋ pushd,
๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ค์ ๋ถ๋ฌ์ค๋ popd๊ฐ ์๋๋ฐ
์ด ๋์ ํ์ฌ ๋๋ ํฐ๋ฆฌ์์ ์ ์ ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ์์ ์์
ํ ๋ ์ ์ฉํ๋ค.
[root@localhost centos]# ๋ root ์ฌ์ฉ์๊ฐ /home/centos์ ์๊ณ ,
[root@localhost ~]#๋ root ์ฌ์ฉ์๊ฐ ์์ ์ ํ ๋๋ ํฐ๋ฆฌ /root์ ์๋ ๊ฒ์ด๋ค.
mkdir๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ช
๋ น์ด์ด๋ค.
mkdir -p /games/racing ํ๋ฉด games๋ ์๋ก ๋ง๋ค๊ณ , ๊ทธ ์๋์ racing๋ ๋์์ ์์ฑํ๋ ์ต์
์ด๋ค.
rmdir์ ๋๋ ํฐ๋ฆฌ ์ญ์ ๋ช
๋ น์ด์ด๋ค.
rmdir /games ํ๋ฉด games์ ํ์ ๋๋ ํฐ๋ฆฌ racing์ด ์์ด์ ์ญ์ ๋์ง ์์ง๋ง
rmdir -p /games/racing ํ๋ฉด ํ์ ๋๋ ํฐ๋ฆฌ๊น์ง ํจ๊ป ์ญ์ ๋๋ค.
==>๊ฐ๋จํ ํ์ผ ์ญ์ ์์ ์ฌ์ฉํ๋ rm -rf /games ํด์ฃผ๋ฉด ๋๋ค.
mv๋ ์ด๋ ๋ช
๋ น์ด์ธ๋ฐ ๋์ผํ ๋๋ ํฐ๋ฆฌ์์ ์ฌ์ฉํ๋ฉด ์ด๋ฆ ๋ณ๊ฒฝ์ด ๋๋ค. ๋ค๋ฅธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํด์ผ๋ง ์ด๋์ด๋ค.
์ฌ๋ฌ ํ์ผ/๋๋ ํฐ๋ฆฌ๋ฅผ ๋์ดํ๋ฉด ๋ชจ๋ ์์ ๊ฒ๋ค์ด ๋งจ ๋ค์ ๊ฒ์ผ๋ก ์ด๋๋๋ค.
rename์ ์ด๋ฆ๊ณผ ๋ค๋ฅด๊ฒ ๋ชจ๋ ํ์ฅ์๋ฅผ ์ผ๊ด ๋ณ๊ฒฝํด์ค๋ค.
# rename .txt .bak *.*
*(ํ์ผ์ด๋ฆ).*(ํ์ฅ์๊ฐ ๋ฌด์์ด๋)
tty๋ ์ฌ์ฉํ๋ ์ฝ์์ ์ด๋ฆ์ ๋ณด์ด๋ ๋ช
๋ น์ด์ด๋ค.
sort๋ ๋ํดํธ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ฃผ๋ ๋ช
๋ น์ด์ธ๋ฐ -r์ ๋ถ์ด๋ฉด ์ญ์ผ๋ก(๋ด๋ฆผ์ฐจ์) ์ ๋ ฌํด์ค๋ค.
root.txt์ ์๋ ๋ด์ฉ์ ์ญ์ผ๋ก ์ ๋ ฌํด, ๊ทธ๋ฆฌ๊ณ ๊ฑ๋ฅผ sorted.txt์ ์ ์ฅํด, ์ค๋ฒํธ๋ฅผ ๋ถ์ฌ์ ์ฝ์ด๋ด.(cat -n)