초코레

파일 및 권한 명령어 본문

Linux

파일 및 권한 명령어

초코레 2020. 7. 11. 22:54

manual이라는 의미. 해당 명령어에 대한 옵션 조회.

man [명령어]

현재 디렉토리 위치 조회

pwd

디렉토리 이동

~ 옵션을 붙이면 현재 ID의 home 디렉토리로 이동

- 을 붙이면 이동하기 전 디렉토리로 이동

. 옵션과 ..옵션을 붙이면 각각 현재 디렉토리로, 상위 디렉토리로 이동

cd [옵션]

현재 디렉토리의 디렉토리 목록 조회. -al 옵션을 붙이면 숨김 파일까지 조회. -i 옵션을 붙이면 파일 inode를 확인할 수 있다.

  • 와일드 카드 : *는 임의 문자열, ?는 문자 하나 (ex. ls host* 는 host로 시작하는 파일 및 디렉토리 목록 조회)
  • 파일 권한 : 파일마다 소유자, 소유자 그룹, 모든 사용자에 대해 읽고 쓰고 실행하는 권한 설정, 소유자 접근 권한 정보는 inode에 저장되어 있음(ls -al 시 나오는 정보가 inode에서 가져오는 정보)
  • ls -al로 조회 시 가장 앞에 붙은 문자들 : 1칸, 3칸, 3칸, 3칸으로 구분되며 맨 앞의 1칸은 이 데이터가 파일(-) 인지 디렉토리(d) 인지 구분하고 두 번째 부터 각 3칸은 순서대로 소유자의 권한, 그룹의 권한, 기타사용자의 권한을 의미한다.
    • 사용자 : 소유자(소유자에 대한 권한), 그룹(소유자가 속한 그룹에 대한 권한), 공개(모든 사용자들에 대한 권한)
    • 퍼미션 종류(권한 기호) : 읽기(r) 권한, 쓰기(w) 권한, 실행(x) 권한
    • 사진 참고
ls [옵션]

터미널 상에 해당 파일의 전체 내용을 출력한다.

cat [파일]

파일의 시작 부분과 끝 부분을 출력한다.(기본적으로 출력 라인 수가 10으로 정해져 있다)

head [파일]
tail [파일]

파일 내용이 화면이 넘어갈 경우, 화면이 넘어가기 전까지 출력한다.

space를 누르면 다음 페이지로, enter를 누르면 한 줄씩 넘어간다.

more [파일]

파일 및 폴더 삭제 (리눅스에는 휴지통이 없다)

주로 -rf 옵션을 붙여서 사용한다.

  • r 옵션 : 하위 디렉토리를 포함한 모든 파일 삭제(재귀적)
  • f 옵션 : 강제로 파일이나 디렉토리 삭제(Y/N으로 묻지 않음)
rm [옵션] [파일 혹은 디렉토리]

파일 및 폴더 복사. 주로 -rf 옵션을 붙여서 사용한다.

cp [복사할 파일] [복사된 파일]

파일 권한 변경.

  • 기호 문자를 사용하는 방법 : 누구에게(사용자u, 그룹g, 기타o, 전부a), 줄까뺄까(더하기+, 빼기-, 설정=), 무슨 권한을(읽기r, 쓰기w, 실행x)
  • 숫자를 사용하는 방법 : 읽기쓰기실행 권한(rwx)을 각각 bit로 나타내서 r은 2^2으로 4, w는 2^1로 2, x는 2^0으로 1로 보고 줄 권한만 더해서 각 사용자에게 지정한다.
    • 특정 디렉토리의 하위 디렉토리 전체에 권한을 지정하려면 숫자 권한 앞에 -R 옵션을 붙인다.
chmod g+rx test.c → 그룹 사용자에게 test.c 파일에 대한 읽기와 실행 권한을 추가한다.
chmod ug=r test.c → 소유자와 그룹 사용자에게 test.c 파일에 대한 읽기 권한만 지정한다.
chmod u=rwx, g=rx test.c → 한 파일에 대해 각 사용자 별로 권한을 설정할 때는 콤마(,)로 구분한다.

chmod 777 [파일] → 모든 사용자에게 rwx 권한을 준다(rwxrwxrwx)
chmod 750 [파일] → 소유자는 rwx, 그룹은 rx 권한을 주고 기타는 아무 권한도 주지 않는다(rwxr-x---)
chmod 400 UbuntuServerKeyPair.pem → 키페어 파일에 대해 소유자만 읽기(r)만 가능하고 나머지는 아무 권한도 지정하지 않는다(r--------)

소유자 변경

chown [옵션] [소유자:소유그룹] [파일]
chown root:root file
chown root: file
chown :root file
chown -R root:root directory

소유자 그룹 변경

chgrp [옵션] [그룹] [파일]
chgrp -R root directory