๐Ÿ“‚๋„คํŠธ์›Œํฌ&์„œ๋ฒ„/๐Ÿง๋ฆฌ๋ˆ…์Šค(Linux)

12์ผ์ฐจ inode/์ ˆ๋Œ€๊ฒฝ๋กœ.์ƒ๋Œ€๊ฒฝ๋กœ/;๊ณผ &&/๋””์Šคํฌ๋ฆฝํ„ฐ2>1>0>/alias/ls -l/ls -dl /ll/cp -arp/

๐Ÿ‘ฉ‍๐ŸŽ“์ธํ…”๋ฆฌ๊ฐ์ž๐Ÿฅ” 2023. 3. 6. 15:45

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)