Researcher to Developer

Shell 명령어 - 파일 및 권한 관련 명령어 본문

코딩/Basic

Shell 명령어 - 파일 및 권한 관련 명령어

Probe29 2020. 12. 25. 23:04

cd

디렉토리를 이동하는 명령어

 

 

cd ~ 

자기 아이디의 Home 디렉토리로 간다.

 

 

cd - 

이동하기 전 디렉토리로 간다.

 

 

ls (=dir)

현재 디렉토리에서 파일 목록 출력

 

 

ls -al

숨김 파일까지 확인가능 (리눅스에서는 .으로 숨긴 파일을 표현한다.)

 

 

ls *

임의 문자열

 

 

ls ?

문자 하나

 

 

man ls

해당 명령어에 대한 여러가지 옵션을 확인하고 싶을 때 사용


* 참고로 앞글자 입력 후 tap을 누르면 명령어를 찾을 수 있음

 

 

ls -al
로 가면 파일의 소유자, 파일 생성 시간, 파일 사이즈 등등이 나와있음
파일의 권한과 관련이 있음

유닉스는 파일마다 소유자, 소유자 그룹, 모든 사용자에 대해
각각의 읽고 쓰고 실행하는 권한을 꼼꼼히 설정할 수 있도록 되어있다.
소유자 접근 권한 정보는 inode에 저장

 

 

 

#이 데이터가 파일인지 디렉토리인지 구분
- 파일 (파일정보 표시문자)
d 디렉토리
rwx 소유자의 권한
rw- 그룹의 권한
r-x 기타사용자의 권한

총 10칸
예를 들어 drwx------ ubuntu ubuntu
d 디렉토리니까 
ubuntu 사용자에 대해서는 ls 명령어가 가능하고 파일 생성이 가능하고 cd 접근이 가능하는 뜻
ubuntu 그룹에 대해서는 가능한 것이 없다는 뜻

 

 

 

#ls 와 파일 권한
사용자와 퍼미션 종류(권한 기호)로 구분해서 파일을 제어한다.

사용자
소유자 : 소유자에 대한 권한
그룹 : 소유자가 속해있는 그룹에 대한 권한
공개 : 모든 사용자들에 대한 권한

퍼미션 종류
읽기 (r) : 읽기 권한
쓰기 (w) : 쓰기 권한
실행 (x) : 실행 권한

 

 

#chmod 파일 권한 변경(change mod)
기호 문자 사용하는 방법

누구에게?
u 사용자
g 그룹
o 기타
a 전부

줄까? 뺄까?
+ 더하기
- 빼기
= 현재 설정대로

무슨 권한을? (rwx)
r 읽기
w 쓰기
x 실행

A 파일을 그룹(g)에게 실행 권한(x)를 더할(+) 경우 chmod g+x A
chmod g+rx test.c
chmod u+rw test.c
chmod ug+rw test.c
chmod u=rwx,. g=rw, o=rx test.c 등등

 

 

숫자를 사용하는 방법(8진수)
rwx 는 111,
r-x 는 101,
r--은 100
-w-은 010 으로 표시할 수 있다.

2진수를 8진수로 각각 바꾸면
111은 4+2+1=7
101은 4+0+1=5
100은 4+0+0=4 
010은 0+2+0=2 로 표현할 수 있다.

664 라 함은
파일에 사용자(u), 그룹(g)에 읽기,쓰기(6) 
기타(o)에게 읽기(4)를 부여하겠다는 말

chmod 400 : 소유자만 읽을 수만 있음

* 주로 사용하는 옵션
chmod -R 777 directory
한 디렉토리 이하를 한 번에 권한(퍼미션)을 부여할 때 사용

 

<출처. https://ttend.tistory.com/686>

 

 

 

 

chown 
소유자 변경

chown [옵션][소유자:소유그룹][파일]

chown root:root file
chown root: file        그룹은 소유자의 디폴트 그룹으로 설정
chown :root file        그룹의 디폴트 사용자로 설정  

주로 사용하는 옵션
chown - R root:root directory

소유자 그룹만 변경
chgrp [옵션][그룹][파일]
chgrp -R root directory

 

 

cat
파일 보기

 


head/tail
head는 파일 시작부분
tail은 끝 부분을 보여줌

 

파일 앞부분만 출력됨 (기본적으로 출력 라인 수가 10으로 정해져있음)

 

 

more
파일 보기(화면이 넘어갈 경우, 화면이 넘어가기 전까지만 보여줌)

 


rm
remove의 약자, 파일 및 폴더 삭제
주로 사용하는 명령어 형채 rm -rf 디렉토리명
r 옵션은 하위 디렉토리를 포함한 모든 파일 삭제
f 옵션은 강제로 파일이나 디렉토리 삭제

* 기본적으로 리눅스에는 휴지통 없이 바로 삭제가 되기 때문에 주의해야한다.



정리 
user 관련 명령 : whoami, useradd, adduser, sudo, passwd, su - 명령
Directory/file 관련 명령 : pwd, cd, ls, cat, head/tail, more, rm
Directory/file 권한 관련 명령 : chmod, chown, chgrp
관리자 권한으로 실행하기 : sudo
다양한 옵션은 man 명령으로 메뉴얼 확인이 가능함

* 익숙해지는 것이 목표!