리눅스 파일시스템 과 탐색명령어 ( ls, cd, file, pwd )
리눅스 터미널을 사용할때 가장 많이 사용되는것이 파일을 탐색하는 명령어이다. GUI 처럼 직관적으로 파일들이 보이고 더블클릭하여 하위 파일 및 디렉토리를 보는것과 다르게 모두 명령어로 파일 사이에서 이동한다. 리눅스의 파일시스템은 루트(/) 밑에 모든 파일들이 존재한다. window 계열은 C: , D: 와 같이 여러 루트폴더가 존재하고 각 루트별로 트리구조의 파일시스템을 따르지만 리눅스는 하나의 트리구조만 존재하는것이다.
아래에는 파일탐색을 위한 명령어들을 하나씩 살펴보도록 하겠다.
ls
리눅스 명령어 중 가장 많이 사용되는 명령어인 ls 명령어는 현재 디렉터리의 내용을 출력한다.
> ls [options] [directory name]
아래에는 옵션이나 디렉터리 지정없이 ls 명령어만 입력했을때이다. 현재 작업디렉터리에 존재하는 서브디렉터리와 파일목록을 보여준다.
[cent@localhost ~]$ ls Desktop Downloads Pictures Templates Videos Documents Music Public test.txt
특정 디렉터리 안의 내용을 확인하고 싶다면 아래와 같이 사용하면 된다. /bin 은 루트디렉터리 의 하위디렉터리인 bin 디렉터리를 표시한다.
[cent@localhost ~]$ ls /bin alsaunmute egrep mkdir sh arch env mknod sleep awk ex mktemp sort basename false more stty bash fgrep mount su cat find mountpoint sync chgrp findmnt mv tar chmod fusermount nano taskset chown gawk netstat tcsh cp grep nice touch cpio gtar nisdomainname tracepath csh gunzip ping tracepath6 cut gzip ping6 traceroute dash hostname plymouth traceroute6 date ipcalc ps true dbus-cleanup-sockets iptables-xml pwd ulockmgr_server dbus-daemon iptables-xml-1.4.7 raw umount dbus-monitor kbd_mode readlink uname dbus-send kill red unicode_start dbus-uuidgen link rm unicode_stop dd ln rmdir unlink df loadkeys rnano usleep dmesg logger rpm vi dnsdomainname login rvi view domainname ls rview ypdomainname dumpkeys lsblk sed zcat echo mail setfont ed mailx setserial
만약 특정 디렉터리 안의 파일의 또는 서브디렉터리 를 포함 해당하는 접근권한도 함께 보고싶으면 아래와 같이 작성하면 된다.
아래와 같이 접근권한 등 다양한 정보가 함께 출력되는것을 확인할 수 있다.
[cent@localhost ~]$ ls -l /home/cent total 36 drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Desktop drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Documents drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Downloads drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Music drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Pictures drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Public drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Templates -rw-rw-r--. 1 cent cent 5 Dec 4 07:06 test.txt drwxr-xr-x. 2 cent cent 4096 Nov 21 08:50 Videos
ls 명령어의 옵션은 아래와 같다.
옵션 |
설명 |
-a |
숨김파일을 포함한 모든파일을 리스트한다. |
-t |
파일이 마지막으로 수정된 시간 순으로 출력한다. |
-l |
해당 디렉터리에 존재하는 파일, 디렉터리의 접근권한 등 파일정보를 출력한다. |
-i |
incode 를 함께 출력한다. |
-r |
파일 및 디렉터리의 순서를 역순(reverse) 출력한다. |
-R |
재귀적(recursive)으로 수행되는 서브디렉터리 내용도 함께 출력된다. |
-S |
파일의 크기순으로 출력된다. |
-F |
해당 파일의 종류도 우측에 함께 출력한다. ( / 디렉터리 , * 실행파일, @ 심벌릭 링크 ) |
cd
다른 디렉터리로 현재위치를 이동시킬때 사용된다.
> cd [directory]
현재 작업디렉터리의 상위 디렉터리로 이동하고자 한다면 아래와 같이 입력하면 된다.
[cent@localhost ~/Public]$ cd .. [cent@localhost ~]$
또는 아래와 같이 절대 경로를사용하여 디렉터리를 이동할 수도 있다. 절대 경로를 사용시 루트(/) 부터 시작한다.
[cent@localhost ~]$ cd /bin [cent@localhost /bin]$
또는 아래와 같이 현재 작업디렉터리 의 상위 디렉터리 의 다른 하위디렉터리로 이동할수 있다.
[cent@localhost /bin]$ cd ../etc [cent@localhost /etc]$
file
확장자 명은 .jpg 이지만 실제 압축포맷 .png 와 같은 다른이미지 포맷일 수도 있다. 따라서 file 명령어는 실제 파일의 종류를 알고싶을때 사용한다.
>file 파일명
아래와 같이 현재 확장자명이 .jpg 로 되어있지만 file 명령어로 확인한 결과 ASCII 코드를 사용한 text 파일인것을 확인할 수 있다.
[cent@localhost ~]$ file test.jpg test.jpg: ASCII text
pwd
현재 작업중인 디렉터리의 위치를 출력한다.
>pwd
[cent@localhost ~]$ pwd /home/cent
'개발 > Linux' 카테고리의 다른 글
[Linux] 리눅스 셸 (Shell) 명령 히스토리 확인 (0) | 2017.11.30 |
---|---|
[Linux] 리눅스 셸 (Shell) 실행 프로그램 찾기(which), 확인(whereis) (0) | 2017.11.29 |
[Linux] 리눅스 셸 (Shell) 단축 명령 (alias) 만들기 (0) | 2017.11.29 |
[Linux] 리눅스 셸 (Shell) 의 이해와 종류, Shell 확인, 변경 (0) | 2017.11.28 |
[CentOS] VMware 에 CentOS 6 설치 (1) | 2017.11.23 |