터미널 cd, ls 커맨드로 자유롭게 폴더 드나들기

터미널에서 디렉토리 경로를 변경(cd)하고, 디렉토리 내 파일 리스트를 출력해주는(ls) 커맨드에 관한 내용입니다.

터미널 경로 Indicator ▼

터미널에는 경로를 나타내는 여러 표현들이 있습니다. cd, ls를 활용하기 위해선 반드시 익혀두어야 하는 내용이므로, 아래와 같이 정래해두었습니다.

  • / : Root directory라는 의미로써 만약 /Users 라고 명시하였을 때는, 파일 구조의 가장 상위 단계인 루트(Root)부터 Users 파일 혹은 폴더를 가르킵니다. 맥에서 보통 사용자를 생성하여 사용할 시, 사용자는 이 /Users 폴더 안의 사용자 이름 폴더 안에서 작업을 하게 됩니다.
  • ~ : Home directory라는 의미로써 현재 접속중인 사용자의 Home 디렉토리를 나타냅니다. 아래 사진을 보시면 두개는 같은 폴더라는 것을 알 수 있습니다.
  • ./ : 현재 사용자가 있는 경로를 가르킵니다. 현재 경로에서 작업을 할 때에는 생략 가능합니다.
  • ../ : 현재 경로에서 한단계 위의 경로를 가르킵니다.

같은 폴더를 가르키는 터미널과 파인더(홈 디렉토리) ▼

$ cd ~ //사용자 홈 디렉토리로 이동
$ ls //현재 위치한 경로 안의 내용 출력

home terminal

cmd + shift + h //파인더에서 보는 현재 접속 중인 사용자 디렉토리입니다.

home gui


.. | 한단계 위 디렉토리

경로 Indicator ‘..’을 통해 한 단계 위의 디렉토리의 내용물ls로 리스팅하였습니다. ▼

$ ls .. //~ 디렉토리 안의 내용물 출력
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
~ (563): cd Music
~/Music (564): ls
./            .localized        Logic/
../            Audio Music Apps/    iTunes/
.DS_Store        GarageBand/
~/Music (565): ls ..
./                    .ssh/
../                    .subversion/
.CFUserTextEncoding            .tooling/
.DS_Store                .viminfo
.Trash/                    .zlogin
중략
.lesshst                Sites/
.mkshrc                    Wine Files/
.mysql_history                blog local.spf
.nchsoftware/                howcis.pem
.oracle_jre_usage/            server.crt
.profile                server.csr
.putty/                    server.key
.rnd                    server.key.org
.rvm/                    unbuntu blog.spf
.spumux@
cs

cd | 디렉토리 변경

아래 예시 두가지만 알면, 어느 디렉토리든 접근이 가능합니다.(권한이 있다는 전제하에)

1) 절대 경로를 이용한 방법

Root부터 시작을 하기 때문에 /Users/사용자 이름을 꼭 명시 해주어야합니다. 그렇지 않다면, cd ~/Music과 같이 홈 디렉토리 경로 Indicator를 사용해야 합니다.

1
2
~ (576): cd /Users/SeongjuneKim/Music // ~/Music과 같음
~/Music (577):
cs

 

2) 상대 경로를 이용한 방법

이미, Home Directory에 있으므로, ./Music으로 현재 폴더 내의 Music 폴더를 들어가게 됩니다. 이 때 ./는 생략 가능합니다. 또한 ‘cd ..’를 통해 한단계 위 경로로 이동함을 알 수 있습니다.

cd Music // cd ./Music와 같음
cd .. //한 단계 위의 경로
1
2
3
4
~ (576): cd /Users/SeongjuneKim/Music
~/Music (577): cd ..
~ (578): cd Music
~/Music (579): cd ..
~ (580): cd ./Music
~/Music (581):
cs

ls | 파일 리스트 출력

디렉토리(폴더)를 자유롭게 드나들 수 있는 상황이니, 폴더 안의 파일들을 살펴보는 방법에 대해 이야기 해보도록 하겠습니다.

 

ls 플래그 ▼

ls 커맨드는 기본적으로 디렉토리 내의 구성물들을 보여주는 커맨드입니다. 대표적인 플래그(아래)와 함께 ls -l, ls -a, ls -aF 등으로 조합하여 많이 사용됩니다.

  • -a : show hidden file/folders.
  • -F : Display a slash(‘/’) for directory, an asterisk(‘*’) for executable file, at sign(‘@’) for symbolic link… etc.
  • -l : shown as list.

 

숨겨진 파일 보기

ls를 통해 디렉토리 내 숨겨진 파일 등을 모두 볼 수도 있습니다(사실, 현재 파인더를 통해 보고 계신 그 파일들은 모든 파일이 아닙니다). 디렉토리로 이동하여 ls -a(모든 파일 리스팅)를 한번 해보시길 바랍니다.

ls -a

 

필자는 보통 ‘ls -aF’를 주로 사용하고 필요에 따라 ‘-l’ 플래그를 추가하여 사용합니다. 아래 예시를 보시면 쉽게 이해하실 수 있으실 겁니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ls -aF
.bash_history               .zlogin
.bash_profile               .zshrc
.bash_profile.swp           Applications/
.bash_sessions/             Books/
.bashrc                 Desktop/
.rvm/                   unbuntu blog.spf
ls -alF
drwxr-xr-x+ 54 SeongjuneKim  staff   1836 Jul 19 16:08 ./
drwxr-xr-x   5 root          admin    170 May 10 17:49 ../
-r——–   1 SeongjuneKim  staff      7 May 16 22:49 .CFUserTextEncoding
-rw-r–r–@  1 SeongjuneKim  staff  22532 Jul 19 15:33 .DS_Store
drwx——   2 SeongjuneKim  staff     68 Jul 19 15:21 .Trash/
-rw-r–r–   1 SeongjuneKim  staff   9107 Jul 18 13:24 .bash_history
-rw-r–r–   1 SeongjuneKim  staff    794 Jul  5 10:49 .bash_profile
-rw-r–r–   1 SeongjuneKim  staff  12288 Jul 19 16:08 .bash_profile.swp
drwx——  86 SeongjuneKim  staff   2924 Jul 16 23:52 .bash_sessions/
-rw-r–r–   1 SeongjuneKim  staff    138 Jun 19 18:37 .bashrc
drwxr-xr-x   9 SeongjuneKim  staff    306 Jun 19 17:56 .composer/
drwx——   6 SeongjuneKim  staff    204 Jun 19 23:30 .config/
cs

 

* .bash_profile에 내가 원하는 커맨드 + 플래그를 alias로 등록해두시면 매번 플래그를 입력하지 않아도 편하게 사용하실 수 있습니다. 

$ vim ~/.bash_profile
alias ls="/bin/ls -aF" 추가

이상입니다. 질문 사항은 댓글로 부탁 드립니다.

1 COMMENT

댓글 남기기