새소식

languages/Linux

[Linux] 파일 관리 명령어 3

  • -

파일 권한 바꾸기: chmod

chmod [options] mode [,mode] ... file ...
chmod [options] octal-mode file ...

 

change mode의 약자. mode 표현은 8잔부 모드와 기호 모드가 있다.

  • 8진수 모드: 각 권한을 1과 0으로 표현, 3개씩 묶어 8진수로 표현
  • 기호 모드: 주체 [+-=] [권한]으로 사용한다.
    • 주체: u(owner), g(group), o(other), a(all)
    • +-=: 권한 추가(+), 권한 삭제(-), 지정한 것만 남기고 삭제(=)
    • 권한: r(read), w(write), x(execute)

 

#chmod directory 내에 f1 파일과 test3 디렉터리가 있었다

chmod o-r f1
# f1 파일의 other 에서 read 권한을 제거(-)한다

chmod o+w f1
# f1 파일의 other 에서 write 권한을 추가(+)한다

chmod 444 f1
# f1 파일에 444 권한 (r--r--r--)를 부여한다

 

링크 만들기: ln

ln [options] target ... [link_name]

 

링크란? 하나의 파일 실체에 대해 여러 개의 접근 경로를 설정할 수 있고, 이 접근 경로를 링크라 한다.

링크의 종류엔 hard link와 soft(symbolic link)가 있다.

  • hard link: 새로운 이름과 파일 실체를 연결한다. 주로 시스템이 생성하여 관리한다.
    • 디렉터리에 대한 링크 생성 불가
    • 다른 파일 시스템으로의 링크 생성 불가
    • target이 필수로 존재
    • 파일 삭제 시 참조 계수가 0아 될 때까지는 이름만 삭제되고 파일은 보존됨
  • soft(symbolic link): 새로운 파일을 만들어 경로 정보를 저장한다. 사용자가 생성하고 관리하며, 단축 경로 또는 여러 폴더에서 공유하는 느낌.
    • 디렉터리에 대한 링크 생성 가능
    • 다른 파일 시스템으로의 링크 생성 가능
    • target이 존재하지 않아도 생성 가능 (경로 정보만 있어도 만들어짐)
    • 링크 삭제 시 파일 삭제됨, 파일 삭제 시 링크 무효화

하드 링크와 심볼릭 링크

 

명령어의 link_name이란 새 이름으로 대상 파일 target에 대한 링크를 생성하는 것이다. link_name이 생략되면 target과 같은 이름을 사용한다. 단 절대 경로가 같으면 안 된다.

link_name이 디렉터리고 target이 여러 개일 때 각 target에 대한 링크를 link_name 디렉터리 내에 생성하게 된다.

옵션은 아래와 같다.

-s 심볼릭 링크를 만든다. (기본은 하드 링크)
-i link_name과 같은 이름의 파일이 있으면 덮어쓰기 여부를 묻는다.

 

ln /etc
# 하드 링크는 디렉터리에 링크를 만들 수 없지만

ln -s /etc
# 소프트 링크는 디렉터리 연결이 가능하다

ln babo bb
# babo라는 허상의 파일(실체가 없음)에 하드 링크를 만들 수 없지만

ln -s babo bb
# 소프트 링크는 가능하다

 

ln -s k1 sfile
# k1 파일을 소프트파일로 생성

ln k1 hfile
# k1 파일을 하드파일로 지정

rm k1
cat hfile # hfile은 파일 실체에 연결되어 있어 내용은 없지만 파일이 살이있음
cat sfile # sfile은 경로 정보가 저장되어 있는데 경로 정보가 사라져 볼 수 없음

'languages > Linux' 카테고리의 다른 글

[Linux] Bash Shell 기초  (0) 2024.04.08
[Linux] 감시 및 관리 명령어  (0) 2024.04.08
[Linux] 파일 관리 명령어 2  (1) 2024.04.07
[Linux] 파일 관리 명령어 1  (0) 2024.04.07
[Linux] 셸과 Bash의 개념  (0) 2024.04.05
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.