갓태희

[Linux] 파일의 접근권한 본문

Linux

[Linux] 파일의 접근권한

갓태희 2021. 5. 25. 22:06

혹시 이해가 안되시면 이전글 - 리눅스 기본 지식을 보고와주세요

위의 사진을 통해 파일의 접근권한 또한 파일 자세히보기 명령어 ll -a로 볼수있는 정보에 대해서 설명하려한다.

우선 위에서부터 차근차근 보면

지금 나의 터미널에서 현재 위치를 나타내는데 ~폴더 안에 test폴더 안에 위치해있다 라는것을 알려주는 경로를 나타내며,

바로 옆에 master는 나의 현재 브랜치를 나타낸다. master까지가 브랜치 이름이다 master!가 브랜치 이름이아니다. !(느낌표) 표시는 커밋되지 않은 변경사항이 있을때 나타나는 것이다 나는 깃을 많이쓰기때문에 이처럼 브랜치를 바로 알려주는 터미널의 기능이 없으면 git branch명령어를 쳐서 직접 현재 위치한 브랜치를 확인해야하기때문에 그러한 과정을 없애주는 아주 중요한 역할을 해주고있다. 깃을 혹시나 모른다면 이번 글의 중요한 주제는 아니니 여기 에서 공부하는것을 추천한다. 깃은 정말 알면 알수록 매력적인 버전관리 도구이다.

또한 옆에 시간표시 까지 oh-my-zsh의 테마이며 다른사람들이 커스터마이징 해놓은 다양한 테마를 사용할수 있다.

밑에 cat -b result.txt라는 명령어가 나오는데 이 명령어는 cat(명령어) -b(옵션) result.txt(파일명)의 형태를 가지고 있다. 우선 cat명령어는 파일의 내용을 보는 명령어 이며 당연히 디렉토리에는 사용불가능한 명령어이다 그래서 그냥 cat result.txt 하면 그냥 result.txt파일의 내용을 보는것인데 -b옵션을 주면 한줄한줄 번호를 붙혀서 출력해준다. 나는 설명을 하기위해 저렇게 줄번호가 보이게 출력을 의도적으로 한 것이다. 여러분도 혹시 필요하면 사용하길 바란다.

1번라인

1번라인은 현재 ~/test폴더에 숨김폴더와 숨김파일을 포함한 폴더와 파일의 개수를 나타낸다. .폴더, ..폴더, .git폴더, dir1,2,3폴더 helloWorld.txtresult.txt이렇게 총 8개가 맞다.

2번라인

들어가기 앞서 2,3번줄 을 자세히 보면 ...이 보일것이다 이게 이전글에서 설명했더 현재경로(.)와 이전경로(..)이다. 디렉토리를 생성하면 무조건 이 두개의 폴더는 존재하게 된다.

사실 2번라인만 설명하면 나머지는 배운내용을 가지고 직접 파일이나 폴더가 어떤 파일권한을 가지고있는지를 생각해보면 공부에 도움이 될것이다.

맨 왼쪽에 d는 디렉토리를 나타내며 파일의 종류가 오는 자리이다.

이 위치에는 여러가지 종류가 올수 있는데

  • d:디렉토리
  • -:아카이브파일(일반파일도 포함)
  • f:파일
  • s: 심볼릭 링크
  • c/b:장치파일
  • p:파이프
    를 나타내며 그 이후로 3자리씩 끊어서 읽으면된다.

3자리씩 끊게 되면 rwx, r-x, r-x인데 차례로 유저(사용자), 그룹, 유저와 그룹을 제외한 다른사람(other라고 부름)의 파일권한을 나타낸다. 또한 r은 읽기, w는 쓰기, x는 실행 권한을 나타내며 -는 그 자리에 대응하는 권한이 없다는것이다.

이것을 토대로 해석하게되면 유저(사용자)에게는 읽기, 쓰기, 실행권한이 모두 있으며(rwx), 그룹에게는 읽기,실행권한이 있고 쓰기권한은 없다.(r-x) other도 마찬가지이다.

파일 권한 옆에 숫자는 디렉토리일 경우 그 디렉토리 안에있는 파일과 폴더의 개수를 나타내며 파일의 경우 파일시스템 내부에 존재하는 파일을 가리키는 하드링크의 개수를 나타내는데 파일의 경우 하드링크의 개수는 무조건 하나이다. 그 옆의 imone은 이 폴더혹은 파일의 소유자를 나타내며 그 바로옆에 staff는 그룹으로써의 소유자를 말한다. 이것은 컴퓨터마다 다를것이다. 리눅스를 사용하고있다면 id명령어를 통해서 나 같은경우에는 imone, staff가 유저이고 그룹인것을 단번에 알수있다. 아래 사진처럼 말이다.

그 옆에 256B는 파일의 크기를 나타내는데 바이트가 기본 단위이며 그 옆에는 가장 최근의 생성시간이 아닌 수정시각을 나타내며 그 옆에는 디렉토리명 혹은 파일명을 나타낸다.

결론

2번까지만 설명하면 나머지 라인은 다들 생각해 볼수있을 것이다. 댓글로 정답을 서로 공유해보며 맞춰보는것도 좋을것 같다.

'Linux' 카테고리의 다른 글

사용중인 포트 Kill하기  (0) 2021.06.28
[Linux] echo 명령어  (0) 2021.05.26
[Linux] 리눅스 기본 지식  (0) 2021.05.24
Comments