๐ก์ด๋ฒ ํฌ์คํ ์์๋ linux์ ๊ธฐ๋ณธ ๋ช ๋ น์ด ์ค ํ๋์ธ cd์ ๋ํด์ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
cd ๋ช ๋ น์ด๋ Change Directory ์ ์ฝ์๋ก ํ์ผ ์์คํ ์์ ๋๋ ํฐ๋ฆฌ์ ์์น๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ฌ์ฉํฉ๋๋ค.
cd ๋ช ๋ น์ด์ ์ค๋ช ์ ํ์ธํด๋ณด๊ฒ ์ต๋๋ค.
user@ubuntu:~$ cd --help
cd: cd [-L|[-P [-e]] [-@]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME shell variable.
The variable CDPATH defines the search path for the directory containing
DIR. Alternative directory names in CDPATH are separated by a colon (:).
A null directory name is the same as the current directory. If DIR begins
with a slash (/), then CDPATH is not used.
If the directory is not found, and the shell option `cdable_vars' is set,
the word is assumed to be a variable name. If that variable has a value,
its value is used for DIR.
Options:
-L force symbolic links to be followed: resolve symbolic
links in DIR after processing instances of `..'
-P use the physical directory structure without following
symbolic links: resolve symbolic links in DIR before
processing instances of `..'
-e if the -P option is supplied, and the current working
directory cannot be determined successfully, exit with
a non-zero status
-@ on systems that support it, present a file with extended
attributes as a directory containing the file attributes
The default is to follow symbolic links, as if `-L' were specified.
`..' is processed by removing the immediately previous pathname component
back to a slash or the beginning of DIR.
Exit Status:
Returns 0 if the directory is changed, and if $PWD is set successfully when
-P is used; non-zero otherwise.
Change the shell working directory.
→ ์์ ์์ directory๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
Change the current directory to DIR. The default DIR is the value of the HOME shell variable.
→ ํ์ฌ directory๋ฅผ ์ ๋ ฅํ DIR๋ก ๋ณ๊ฒฝํฉ๋๋ค. ๊ธฐ๋ณธ DIR์ shell HOME ๋ณ์์ ๋๋ค.
→ ๊ธฐ๋ณธ DIR : /home/{๋ก๊ทธ์ธํ ์ฌ์ฉ์ ๊ณ์ }
The variable CDPATH defines the search path for the directory containing DIR. Alternative directory names in CDPATH are separated by a colon (:). A null directory name is the same as the current directory. If DIR begins with a slash (/), then CDPATH is not used.
→ CDPATH ๋ณ์๋ DIR์ ํฌํจํ๋ directory์ ๊ฒ์ ๊ฒฝ๋ก๋ฅผ ์ ์ํฉ๋๋ค. CDPATH์ ๋์ฒด directory์ด๋ฆ์ ์ฝ๋ก (:)์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. null directory๋ ํ์ฌ directory์ ๋์ผํฉ๋๋ค. DIR์ด ์ฌ๋์(/)๋ก ์์ํ๋ฉด CDPATH๊ฐ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
If the directory is not found, and the shell option `cdable_vars' is set, the word is assumed to be a variable name. If that variable has a value, its value is used for DIR.
→ directory๋ฅผ ์ฐพ์ ์ ์๊ณ shell option `cdable_vars'๊ฐ ์ค์ ๋์ด ์์ผ๋ฉด ๋จ์ด๋ ๋ณ์ ์ด๋ฆ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ํด๋น ๋ณ์์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ DIR์ ์ฌ์ฉ๋ฉ๋๋ค.
Options:
-L
force symbolic links to be followed: resolve symbolic links in DIR after processing instances of `..'
→ ๊ฐ์ ๋ก ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ฐ๋ฅด๋๋ก ํฉ๋๋ค. `..' ์ธ์คํด์ค๋ฅผ ์ฒ๋ฆฌํ ํ DIR์์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
-P
use the physical directory structure without following symbolic links: resolve symbolic links in DIR before processing instances of `..'
→ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ฐ๋ฅด์ง ์๊ณ ๋ฌผ๋ฆฌ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. `..' ์ธ์คํด์ค๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ ์ DIR์์ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
-e
if the -P option is supplied, and the current working directory cannot be determined successfully, exit with a non-zero status
→ -P ์ต์ ์ด ์ ๊ณต๋๊ณ ํ์ฌ ์์ directory๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ฒฐ์ ํ ์ ์๋ ๊ฒฝ์ฐ 0์ด ์๋ ์ํ๋ก ์ข ๋ฃํฉ๋๋ค.
-@
on systems that support it, present a file with extended attributes as a directory containing the file attributes
→ ์ด๋ฅผ ์ง์ํ๋ ์์คํ ์์๋ ํ์ฅ๋ ์์ฑ์ด ์๋ ํ์ผ์ ํ์ผ ์์ฑ์ ํฌํจํ๋ ๋๋ ํฐ๋ฆฌ๋ก ํ์ํฉ๋๋ค.
The default is to follow symbolic links, as if `-L' were specified. `..' is processed by removing the immediately previous pathname component back to a slash or the beginning of DIR.
→ ๊ธฐ๋ณธ๊ฐ์ `-L'์ด ์ง์ ๋ ๊ฒ์ฒ๋ผ ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ฐ๋ฅด๋ ๊ฒ์ ๋๋ค.
→ `..'๋ ๋ฐ๋ก ์ด์ ๊ฒฝ๋ก ์ด๋ฆ ๊ตฌ์ฑ ์์๋ฅผ ์ ๊ฑฐํ์ฌ ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ฌ๋์ ๋๋ DIR์ ์์ ๋ถ๋ถ์ผ๋ก ๋์๊ฐ๋๋ค.
์์ ๊ฐ์ด cd ๋ช ๋ น์ด์ ๋ํ ์ค๋ช ๊ณผ ์ฌ์ฉํ ์ ์๋ ์ต์ ์ ํ์ธํด ๋ดค๋๋ฐ, ์ด์ ์ค์ต์ ํตํด์ ๋ ์์ธํ๊ฒ ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
cd
cd ๋ช ๋ น์ด๋ง ์ ๋ ฅํ๊ณ DIR์ ์ ๋ ฅํ์ง ์๋ ๊ฒฝ์ฐ์๋ shell HOME ๋ณ์๊ฐ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋์ํ๋ค๊ณ ํฉ๋๋ค.
ํ์ธํด ๋ณด๋ฉด DIR์ ์ ๋ ฅํ์ง ์์ผ๋ฉด /home/user ๊ฒฝ๋ก๋ก ์ด๋ํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ถ๊ฐ๋ก shell HOME ๋ณ์๋ฅผ ํ์ธํด๋ณด๋ฉด ๋์ผํ๊ฒ /home/user ์ธ ๊ฒ์ ํ์ธํด ๋ณผ ์ ์์ผ๋ฉฐ, HOME ๋ณ์๋ฅผ ๋ณ๊ฒฝํ ํ ๋ค์ ํ ์คํธ๋ฅผ ํด๋ณด๋ฉด ๋ณ๊ฒฝํ HOME ๋ณ์์ ๊ฒฝ๋ก๋ก ์ด๋ํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
cd ~
cd ~๋ ์์ DIR์ ์๋ตํ "cd "์ ๋น์ทํ์ง๋ง "cd "๋ HOME ๋ณ์์ ๊ฒฝ๋ก๋ก ์ด๋ํ๊ธฐ ๋๋ฌธ์ HOME ๋ณ์๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๊ทธ์ ๋ฐ๋ผ ์ด๋ํ๋ ๊ฒฝ๋ก๋ ๋ฐ๋์ง๋ง, cd ~์ ๊ฒฝ์ฐ์๋ ํ์ฌ ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ๊ฒฝ๋ก๋ก ์ด๋ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ ์ค์ ์ ๋์ผํ ๊ฒฝ๋ก์ง๋ง HOME ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ ๊ฒฝ๋ก๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
cd -
cd -๋ ์ด์ ๊ฒฝ๋ก๋ก ์ด๋ํ๋ ๋ช ๋ น์ด์ ๋๋ค.
์ ์ด๋ฏธ์ง์ฒ๋ผ ์ฒ์ ๊ฒฝ๋ก๋ /home/user์ด๊ณ /home/user/test ๊ฒฝ๋ก๋ก ์ด๋ํ ํ cd -๋ฅผ ์ ๋ ฅํ๋ฉด ์ด์ ๊ฒฝ๋ก์ธ /home/user ๊ฒฝ๋ก๋ก ์ด๋ํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ๋ค์ cd -๋ฅผ ์ ๋ ฅํ๋ฉด /home/user์ ์ด์ ๊ฒฝ๋ก์ธ /home/user/test๋ก ์ด๋ํ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
cd . or cd ..
linux์์ directory๋ฅผ ์์ฑํ๋ฉด .์ .. ํด๋๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑ๋ฉ๋๋ค.
. : ํ์ฌ directory๋ฅผ ์๋ฏธํฉ๋๋ค.
.. : ์์ directory๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ฐ๋ผ์ cd . ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ฌ directory๋ก ์ด๋ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ณํ๊ฐ ์์ผ๋ฉฐ, cd .. ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ํ์ฌ directory์ ์์ directory๋ก ์ด๋ํ ์ ์์ต๋๋ค.
cd -L | -P
์ฌ๋ณผ๋ฆญ ๋งํฌ๋ก ๊ฒฝ๋ก๋ฅผ ์ด๋ํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก๋ -L ์ต์ ์ด ๋์ํ์ฌ ์ฌ๋ณผ๋ฆญ ๋งํฌ ๊ฒฝ๋ก๋ก ์ด๋ํ ๊ฒ์ผ๋ก ํ์๊ฐ ๋ฉ๋๋ค.
ํ์ง๋ง -P ์ต์ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฌ๋ณผ๋ฆญ ๋งํฌ ๊ฒฝ๋ก๋ฅผ ์ ๋ ฅํ์ฌ๋ ์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ๊ฐ๋ฆฌํค๊ณ ์๋ ์ค์ ๊ฒฝ๋ก๊ฐ ํ์๊ฐ ๋ฉ๋๋ค.
cd variable
๋ง์ฝ ์ ๋ ฅ๋ DIR์ ํด๋นํ๋ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ์ ์์ง๋ง, DIR์ด ๋ณ์๋ก ๋ฑ๋ก๋์ด ์์ ๊ฒฝ์ฐ ๋ณ์์ ๊ฐ์ ํด๋นํ๋ ๊ฒฝ๋ก๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก DIR์ ์ ๋ ฅํ ๋ /(์ฌ๋์)๋ก ์์ํ๋ ๊ฒฝ์ฐ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ๋ฆฌํด ๋ณด๊ฒ ์ต๋๋ค.
The variable CDPATH defines the search path for the directory containing DIR. Alternative directory names in CDPATH are separated by a colon (:). A null directory name is the same as the current directory. If DIR begins with a slash (/), then CDPATH is not used.
→ CDPATH ๋ณ์๋ DIR์ ํฌํจํ๋ directory์ ๊ฒ์ ๊ฒฝ๋ก๋ฅผ ์ ์ํฉ๋๋ค. CDPATH์ ๋์ฒด directory์ด๋ฆ์ ์ฝ๋ก (:)์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. null directory๋ ํ์ฌ directory์ ๋์ผํฉ๋๋ค. DIR์ด ์ฌ๋์(/)๋ก ์์ํ๋ฉด CDPATH๊ฐ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
cd ๋ช ๋ น์ด ์ค๋ช ์ ์์ ๊ฐ์ ๋ฌธ๊ตฌ๊ฐ ์๋๋ฐ DIR์ด ์ฌ๋์(/)๋ก ์์ํ ๊ฒฝ์ฐ์๋ CDPATH๊ฐ ๋์ํ์ง ์๋๋ค๊ณ ํฉ๋๋ค. CDPATH๋ ์ ๋ ฅํ DIR ๊ฒฝ๋ก๋ฅผ ์ฐพ์ ๊ฒฝ๋ก๋ฅผ ์๋ฏธํ๋๋ฐ, ๊ธฐ๋ณธ๊ฐ์ ์๊ธฐ ๋๋ฌธ์ ํ์ฌ directory์์ ์ ๋ ฅํ DIR ๊ฒฝ๋ก๋ฅผ ์ฐพ์ต๋๋ค.
ํ์ง๋ง ์ฌ๋์(/)์ ๊ฒฝ์ฐ ์ฌ๋์(/)๊ฐ ๋ฃจํธ ๊ฒฝ๋ก๋ฅผ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ CDPATH๊ฐ ๋์ํ์ง ์๊ณ ์ ๋ ๊ฒฝ๋ก๋ก์จ ์ ๋ ฅํ DIR ๊ฒฝ๋ก๋ฅผ ์ฐพ๊ฒ ๋๋ ๊ฒ์ ๋๋ค.
1. $CDPATH ํ์ธ (๊ฐ์์)
2. test directory๋ก ์ด๋
3. test directory์ ์๋ link-test directory ํ์ธ (์ค์ ์ด๋ํด ๋ณผ ๊ฒฝ๋ก)
4. ๋ค์ ์์ directory๋ก ์ด๋ (pwd: /home/user)
5. link-test directory๋ก ์ด๋
6. CDPATH๊ฐ ์๊ธฐ ๋๋ฌธ์ ํ์ฌ directory์์ ์ ๋ ฅํ DIR์ ์ฐพ๊ฒ ๋๋๋ฐ,
/home/user์๋ link-test ๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฌ ๋ฐ์
7. CDPATH ์ค์ (test)
8. ๋ค์ link-test directory๋ก ์ด๋ (pwd: /home/user)
9. CDPATH๊ฐ test๋ก ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ์ฌ ๊ฒฝ๋ก์ test directory์์ ์ ๋ ฅ DIR์ ์ฐพ๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ ์์ ์ผ๋ก /home/user/test/link-test directory๋ก ์ด๋ํ ์ ์์ต๋๋ค.
๐ก์ ๋ฆฌ๐ก
๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ฌ๋์(/)๋ก ์์ํ๋ DIR์ ์ ๋ ๊ฒฝ๋ก (root directory์์๋ถํฐ DIR ๊ฒ์)
์ฌ๋์(/)๋ก ์์ํ์ง ์๋ ๊ฒฝ๋ก๋ ์๋ ๊ฒฝ๋ก (ํ์ฌ directory์์๋ถํฐ DIR ๊ฒ์)
'Linux' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Linux ๊ธฐ๋ณธ ๋ช ๋ น์ด - tar (0) | 2023.04.02 |
---|---|
ํ์ผ ์ ํ (File Type) (0) | 2023.04.02 |
Linux ๊ธฐ๋ณธ ๋ช ๋ น์ด - ls (0) | 2023.04.02 |
Linux ๊ธฐ๋ณธ ๋ช ๋ น์ด - mkdir & rmdir (0) | 2023.04.02 |
vi ์ ๋ ฅ ๋ชจ๋ ์ค๋ฅ (0) | 2023.03.26 |
๋๊ธ