티스토리 뷰

공부/Linux

06. 디렉토리 & 파일관리 (1/2)

김대욱대욱 2018. 3. 19. 13:20

목표

1. 디렉토리 이동 관련 명령어

2. 디렉토리 관리 명령어

3. 파일 관리 명령어

4. 파일 내용 확인 명령어

5. 기타 관리용 명령어


1. 디렉토리 이동 관련 명령어

 ▷ pwd CMD

  - 현재 / 작업 디렉토리명을 출력한다.

# pwd

 

 ▷ cd CMD

  - 작업 디렉토리를 변경 한다.

  - cd 명령어를 사용하여 디렉토리 경로를 변경하는 경우 상대경로(Relative Path)나 절대경로(Absolute Path)를 사용 할 수 있다.

  - 상대경로 : 이동하는 기준이 현재 디렉토리이며, 현재 디렉토리를 기준으로 위, 아래로 이동할 때 사용한다.

# cd dir

  - 절대경로 : 이동하는 기준이 최상위 디렉토리(/)이며, root(/) 디렉토리를 기준으로 이동할 때 사용한다.

# cd /dir1


  - 디렉토리 파일 구조


2. 디렉토리 관리 명령어

 ▷ ls CMD

  - 디렉토리의 내용을 나열한다.

# ls

  - 명령어 형식

# ls -l

# ls -l dir1


# ls -ld

# ls -ld dir1


# ls -altr

  - 명령어 옵션

-a : 모든 파일 표시한다.

-l : 디렉토리가 지정되는 경우 디렉토리의 내용을 자세히 보여준다. 파일의 내용이 지정되는 경우 파일의 속정 정보를 자세히 보여준다.

-R : 해당 디렉토리와 서브 디렉토리의 모든 내용을 표시한다. 

-F : 디렉토리인 경우에는 디렉토리 "/"표시를 하고 실행 파일인 경우는 뒤에 "*" 표시를 한다.

-i : 해당 파일의 inode 번호를 표시한다.

-n : 파일의 소유자와 그룹을 숫자로 표시한다.

-d : 찾고자 하는 디렉토리에 관한 정보만을 표시한다.

-u : 파일 사용 시간 순으로 정렬한다.

-t : 파일 시간 순으로 정렬한다.

-r : 정렬 순서를 내림차순으로 한다.

 

※ tree CMD를 사용하면 하위 디렉토리 까지 출력된다.


 ▷ mkdir CMD

  - 새로운 디렉토리를 생성한다.

  - 명령어 형식

# mkdir dir1                  /* 현재 디렉토리에 dir1 디렉토리 생성 */

# mkdir dir1 dir2              /* 현재 디렉토리에 dir1, dir2 디렉토리 생성 */

# mkdir -p dir3/dir2/dir1     /* dir3 디렉토리 안에 dir2를 생성하고 dir2 안에 dir1을 생성 */ 

  - 명령어 옵션 

-m : 디렉토리의 퍼미션 권한을 지정 (기본값 : 755)

-p : 디렉토리 경로로 생성 (디렉토리를 만들 때 상위 디렉토리가 없을 시 상위 디렉토리까지 생성)

 

디렉토리를 생성후 tree CMD를 사용하여 확인한 모습.


 ▷ rmdir CMD

  - 빈 디렉토리를 지운다.

  - 명령어 형식

# rmdir dir1                   /* dir1 디렉토리 삭제 */

# rmdir dir1 dir2              /* dir1, dir2 디렉토리 삭제 */

# rmdir -p dir3/dir2/dir1      /* 경로에 포함되어 있는 디렉토리 삭제 (비워있어야 함) */

  - 명령어 옵션

-p : 하위항목을 같이 지움 ( 하위항목도 비워 있어야 함)

  ※ 비어있지 않는 디렉토리 삭제 ( 아래에 rm CMD 내용에서 한번 더 나옴)

# rm -rf dir1                   

     -r : 빈 디렉토리가 아닌데 지워도 되냐고 묻는다. ( r : recursive )

     -rf : 물어보지 않고 그냥 바로 삭제 ( f : force )


3. 파일 관리 명령어

 ▷ touch CMD

  - 파일의 시간 정보를 바꾼다. 파일의 이름을 지정하여 존재하지 않는 파일이름을 지정하면 빈파일을 만들어 주고, 기존에 존재했던 파일을 지정하면 파일이나 디렉토리의 수정시간이나 접근시간 등을 현재시간으로 업데이트 시켜준다.

  - 명령어 형식

# touch file1                  /* file1 파일 생성 */

# touch file1 file2             /* file1, file2 파일 생성 */

# touch -t 08081230 file1     /* file1 수정 시간 변경 (월,일,시,분) */

  - 명령어 옵션

-a : 최근 파일 사용기간 만 변경

-c : 파일을 생성하지 않는 명령어

-d [시간] : 현재 시간 대신 지정한 시간으로 변경

-m : 최근 파일 변경 시간만 변경

-r [파일] : 현재 시간 대신 지정한 파일의 시간으로 변경

-t MMDDhhmm : 현재 시간 대신 지정한 시간으로 변경

 

실습 결과


 ▷ cp CMD

  - 파일 복사

  - 명령어 형식

# cp file1 file2                 /* file1 파일내용을 file2로 복사 */

# cp file1 dir1                 /* file1 파일을 dir1디렉토리에 복사 */

# cp -r dir1 dir2               /* dir1 디렉토리를 dir2 디렉토리로 복사 */  

  - 명령어 옵션

-a : 원본 파일의 속성, 링크 정보를 유지 하면서 복사

-b : 복사할 대상을 덮어쓰고나 지울 때를 대비해서 백업 파일 만듬

-d : 심볼릭 파일 자체를 심볼릭 정보와 함께 복사할 때 사용

-f : 복사할 파일이 존재할 때 삭제하고 복사

-i : 복사할 파일이 존재하는 경우 복사할 것인지 물어봄

-l : 디렉토리가 아닌 경우 복사 대신 하드 링크로 만듬

-p : 원본 파일의 소유, 그룹, 권한, 허용 시간을 보존한 채로 복사

-r : 서브 디렉토리 내에 있는 모든 파일까지 통째로 복사

-s : 디렉토리가 아닌 경우 복사 대신 심볼릭 링크로 만듬

-u : 대상 파일보다 원본 파일이 새로운 것일 때 복사

-v : 복사 상태를 보여줌

  

  ※ 실무에서 쓰이는 예

- 로그파일(EX: file.log) 비우기

# cp /dev/null file.log

# cat /dev/null > file.log

# > file.log


# cd /test

# cp -p /var/log/messages file.log

# cp -f /dev/null file.log

# ls -l file.log

-> 파일의 크기 '0' 확인


- 설정 파일을 백업 받고 설정하는 경우

# cd /etc/httpd/conf

# cp -p httpd.conf httpd.conf.old


 ▷ mv CMD

  - 파일 옮기기 (rename)

  - 명령어 형식

# mv file1 file2                  /* file1 파일 이름이 file2로 변경 */

# mv file1 dir1                  /* file1 파일이 dir1 디렉토리의 하위경로로 이동 */

# mv dir1 dir2                   /* dir1 디렉토리가 dir2 디렉토리의 하위경로로 이동 */

  - 명령어 옵션

-b : 복사할 대상을 엎어 쓰고나 지울때를 대비해서 백업 파일을 만듬

-f : 복사할 파일이 존재할 때 삭제하고 복사

-i : 복사할 파일이 존재하는 경우 복사할 것인지 물어봄

-u : 대상 파일보다 원본 파일이 새로운 것일 때 복사

-v : 파일 옮기기 전의 과정을 보여 줌


 ▷ rm CMD

  - 파일 지우기

  - 명령어 형식

# rm file1                        /* file1 파일 삭제 */

# rm file1 file2                   /* file1, file2 파일 삭제 */

# rm -r dir1                      /* dir1 디렉토리 하위경로까지 삭제 */

  - 명령어 옵션

-f : 강제로 파일을 지우고 삭제할 파일이 없을 경우에도 아무런 메시지를 보여주지 않는다.

-i : 파일을 삭제할 것인지 사용자에게 물어봄

-r, -R : 일반파일이면 그냥 지우고 디렉토리일 경우 그 하위경로와 파일을 모두 지움

-v : 삭제되는 파일의 정보를 보여줌

  ※ rm 명령어로 지운 파일 복구 (100% 장담할 수 없음)

# debugfs /dev/sda3

(TUI) debugfs CMD 사용하는 방법 (ext2, ext3)

(TUI) extundelete CMD (ext3, ext4)

(GUI) TestDisk 툴을 사용하는 방법(Windows(FAT32/NTFS), Linux(ext3/ext4)



'공부 > Linux' 카테고리의 다른 글

07. 파일 종류  (0) 2018.03.19
06. 디렉토리 & 파일관리 (2/2)  (0) 2018.03.19
05. 리눅스 기본 정보 확인  (0) 2018.03.19
04. 리눅스 환경  (0) 2018.03.19
**VMware tools 설치  (0) 2018.03.19
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/08   »
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 26 27 28 29 30
31