Post

디렉터리와 파일 사용

디렉터리와 파일 사용

1. 리눅스 파일 시스템

1.1 파일 시스템의 구조와 종류

리눅스의 디스크 기반 파일 시스템

  • ext (Extended File System)
  • xfs (eXtended File System)
  • 기타 파일 시스템 (DVD, USB, 윈도우 등 타 시스템과의 호환, etc.)

가상 파일 시스템

  • swap, tmpfs, proc, ramfs, rootfs

2. 파일의 종류와 디렉터리 계층 구조

2.1 파일의 종류

  • 일반 파일, 디렉터리, 심볼릭 링크, 장치 파일

2.2 디렉터리의 계층 구조

루트 디렉터리와 서브 디렉터리

  • 루트 디렉터리 (/)에는 아래와 같은 서브 디렉터리가 있음
  • boot, dev, etc, home, lib, mnt, opt, proc, root, sbin, srv, sys, tmp, usr, var, etc.
  • 작업 디렉터리 : working directory
  • 홈 디렉터리 : home directory (~)

절대 경로명과 상대 경로명

  • 절대 경로명 : 루트 디렉터리부터 시작하는 경로명
  • 상대 경로명 : 현재 작업 디렉터리부터 시작하는 경로명

3. 디렉터리 관련 명령

3.1 pwd

  • 현재 작업 디렉터리의 절대 경로명을 출력

3.2 cd

  • 작업 디렉터리를 변경

3.3 ls

  • 디렉터리 내용을 출력

  • 숨김파일 확인 : -a 옵션
    • .으로 시작하는 파일을 포함하여 모든 파일을 출력
  • 상세한 정보 출력하기 : -l 옵션
    • 파일의 상세한 정보 출력
필드 번호필드 값의미
1d파일의 속성 (d: 디렉터리, -: 일반 파일, l: 심볼릭 링크)
2drwxrwxrwx파일에 대한 접근 권한 (r: 읽기, w: 쓰기, x: 실행)
32하드 링크의 개수
4user1파일의 소유자
5user1파일의 소유 그룹
64096파일의 크기 (바이트)
7Jul 27 14:32파일의 수정 시간
8test.txt파일의 이름
  • 파일의 종류 표시하기 : -F 옵션
    • *: 실행파일, /: 디렉터리, @: 심볼릭 링크
  • 디렉터리의 자체 정보 확인하기 : -d 옵션
  • 하위 디렉터리 포함하여 출력하기 : -R 옵션

3.4 디렉터리 생성 : mkdir

  • 중간 디렉터리를 자동으로 만들기 : -p 옵션

3.5 디렉터리 삭제 : rmdir

  • 디렉터리가 비어있어야 삭제 가능
  • 지정한 디렉터리를 삭제하고, 부모 디렉터리를 확인하여 비어있으면 삭제 : -p 옵션

4. 파일 관련 명령

4.1 파일 내용 출력

  • 파일 내용을 연속으로 출력하기: cat
    • cat 명령은 텍스트 파일의 내용만 출력할 수 있으며, 파일의 내용 전체를 출력하는 명령어
    • -n 옵션: 파일의 내용을 줄 번호와 함께 출력
  • 파일 내용을 화면 단위로 출력하기: more
    • Space Bar: 한 화면씩 내용 출력
    • Enter: 한 줄씩 내용 출력
    • /: 검색
    • q: 종료
  • 파일 내용을 화면 단위로 출력하기: less
  • 파일 내용의 앞부분과 뒷부분 출력하기: head, tail
    • -숫자: 화면에 출력할 행의 수를 지정 (기본값: 10)
    • -f: 파일의 내용을 주기적으로 반복 출력

4.2 파일 복사: cp

  • 파일이나 디렉터리를 복사할 때는 cp 명령을 사용한다.
  • 형식: cp [옵션] 파일1|디렉터리1 파일2|디렉터리2
  • 옵션
    • -i: 파일2가 이미 존재하면 덮어쓸 것인지 물어봄
    • -r: 디렉터리를 복사할 때 사용

4.3 파일 이동과 파일명 변경: mv

  • 파일 또는 디렉터리를 이동하거나 이름을 바꾼다.
  • 형식: mv [옵션] 파일1|디렉터리1 파일2|디렉터리2
  • 옵션
    • -i: 파일2(디렉터리2)가 존재하면 덮어쓸 것인지 물어본다.

4.4 파일 삭제: rm

  • 파일을 삭제하는 명령은 rm이다. -r 옵션을 지정하면 디렉터리도 삭제할 수 있다.
  • 형식: rm [옵션] 파일|디렉터리
  • 옵션
    • -i: 파일을 정말 삭제할 것인지 확인한다.
    • -r: 디렉터리를 삭제한다.

4.5 파일 링크

  • 하드 링크 만들기: ln
    • 형식: ln [옵션] 원본파일 링크파일
    • 옵션
      • -s: 심볼릭 링크 파일을 생성한다.
    • 사용예
      • ln test1 hdtest1
      • ln -s test1 sbtest1
  • 복사와의 차이: 복사는 완전히 독립적인 파일을 생성하며, 하드 링크는 동일한 파일에 다른 이름을 붙이는 것에 불과하다. 반면, 원본파일과 하드링크파일은 inode가 같으며 편집 내용이 원본파일과 하드링크파일에 모두 반영된다.
  • 하드 링크와 심볼릭 링크의 차이
특징하드 링크심볼릭 링크
파일 시스템같은 파일 시스템 내에서만 생성 가능다른 파일 시스템에도 생성 가능
디렉터리 생성디렉터리에 생성 불가디렉터리에도 생성 가능
파일 종류 표시- 으로 표시l 로 표시
하드 링크 개수하드 링크 개수 증가하드 링크 개수는 1
inode 번호원본 파일과 동일원본 파일과 다름
파일 확인 방법ls -l로 확인 시 원본 파일의 이름 표시 없음ls -l로 확인 시 원본 파일의 이름 표시
This post is licensed under CC BY 4.0 by the author.