방송대/UNIX시스템

파일과 디렉터

피클s 2022. 8. 30. 09:10

 

파일 시스템 탐색

파일시스템

  • 운영체제가 디스크(파티션) 상에 파일을 구성하는 방식
  • 리눅스는 1개의 트리 구조로 관리(1개의 루트 디렉터리만 있음)

ls 명령

  • 파일과 서브 디렉터리 목록을 나열하는 명령
  • ls [options] [names]
  • ls directory : 디렉터리에 존재하는 파일과 서브 디렉터리 정보 출력
  • ls file : 해당 파일의 정보를 출력
  • 옵션
짧은 옵션 긴 옵션 설명
-a --all 점(.)으로 시작하는 숨긴 파일도 보여줌
-d --directory 디렉토리 자체에 대한 정보
-F --classify 우측에 파일의 종류를 알려주는 문자를 붙임.
실행 파일은 *, 디렉터리는 /, 심볼릭 링크는 @
-l --format=long 긴 포맷으로 결과를 보여줌
-R --recursive 재귀적으로 서브 디렉터리의 내용도 나열함
-S --sort=size 파일크기 순서로 결과를 보여줌
-t --sort=time 최종 수정 시간 순으로 보여줌

 

파일의 종류

  • 정규파일 : 일반 파일. 실행파일, 텍스트, 이미지 등
  • 디렉터리 : 디렉터리도 파일로 취급한다.
  • 심볼릭 링크(소프트 링크) : 윈도우의 바로가기와 비슷하다.
  • 장치파일 : 프린터, 키보드 등과 같은 장치를 파일로 취급한다.

명령어

file : 파일의 종류를 알려줌

pwd : 절대 경로로 현재 디렉터리를 알려줌

cd : 작업 디렉터리를 이동하는 명령

mkdir [options] directories : 디렉터리 생성 

rmdir [options] directories : 비어있는 디렉터리 삭제

cp [options] file1 file2 : 파일 복사. file2가 이미 존재하는 파일이면 덮어쓰기 한다.

cp [options] files directory :  여러 파일을 디렉터리에 복사

cp -r [options] directory1 directory2 : 디렉터리를 재귀적으로 복사. 

mv [options] source target : 파일이동. 파일이 있다면 덮어쓰기한다.

rm [options] files : 파일삭제.

 

파일의 접근권한

  • 사용자 부류 : 소유자(u), 그룹(g), 기타(o)
  • 읽기(r) : 파일 내용 읽기
  • 쓰기(w) : 수정, 삭제, 이름변경
  • 실행(x) : 실행

 

예시

소유자 그룹 기타
r w x r w - r - -

-> 소유자는 읽기/쓰기/실행, 그룹은 읽기/쓰기, 기타사용자는 읽기만 가능하다

 

 

디렉터리의 접근권한

  • 읽기(r) : 디렉터리가 가진 파일과 서브 디렉터리의 목록보기(ls)
  • 쓰기(w) : 파일과 디렉터리를 만들거나 삭제
  • 실행(x) : 디렉터리로 이동하거나 디렉터리에서 프로그램을 실행하기 또는 파일의 메타 정보 보기

* 디렉터리를 자유롭게 사용하려면 rwx권한을 가져야 한다.

 

chmod [options] mode files

파일 소유자가 접근권한을 변경하는 명령

 

8진수 mode

  • 읽기 4, 쓰기 2, 실행 1

ex) rwxr-xr-x -> 111 101 101 -> 755

 

기호 mod

  • ugoa (User Group Other All) : 생략하면 all
  • +-= : 권한의 추가 삭제 지정을 의미

ex) chmod u+x file1

ex) chmod u=rwx,g=rx,o=x file2

 

 

umask [-S] [mask]

접근권한의 기본값을 출력하거나 설정한다. 보통 /etc/bashrc에 설정되어 있음

umask 002 라는 것은 -------w-

0은 가리지 않는다 2는 쓰기권한을 가린다.

즉 소유자와 그룹은 rwx권한 기타사용자는 r-x 권한을 가진다는 의미

 

chown [options] newowner files

root 사용자가 파일이나 디렉터리의 소유자를 변경하는 명령

 

ln [options] source [target]

기본적으로 하드링크를 만들며, -s옵션을 주면 심볼릭 링크가 만들어짐

하드링크 : 하나의 파일에 다른 이름을 부여함. 다른 시스템에 링크생성 불가

심벌릭링크 : 바로가기와 같은 독립적인 파일. 다른 시스템에 링크 생성 가능

 

 

파일의 내용 확인

more [options] [files] : 파일의 내용을 화면 단위로 출력. 스페이스를 누르면 다음 내용 표시. 이전으로 돌아갈 수 없음.

less : 화면단위로 표시하며, 페이지업/다운/위/아래 키로 스크롤 가능

head [options] [files] : 파일 맨 앞부분만 표시. [-숫자] 옵션으로 라인 수 변경

tail [options] [files] : 파일 마지막 부분만 표시. [-숫자] 옵션으로 라인 수 변경. [-f] 실시간으로 내용 감시

cat [options] [files] : 하나의 파일 또는 여러파일을 연결 시켜 화면에 출력