Post

ACL

permission

- r : 읽기 권한

- w : 쓰기 권한

- x : 실행 권한(디렉터리의 경우 접근 여부)

- 보안적 측면으로 활용

ex) chmod 777 /a

- /a 디렉터리에 대한 모든 권한 부여(소유자, 그룹, 일반 사용자)

- 공유폴더와 같이 모든 사용자가 접근해야 하는 공유 목적으로 사용

* 시스템의 목적에 따라 디렉터리 별로 중요도도 달라짐

ex) chmod 774 /a : other 일반 사용자의 r 권한만 부여, 디렉터리의 경우 애초에 x 권한이 없어 접근이 안됨(보통 디렉터리는 x권한을 부여함)

8. mkdir

- mkdir과 같은 디렉터리 생성 명령을 통해 디렉터리를 생성할 때

- disk 공간을 초과해서 사용할 경우 시스템 상 문제가 발생함

- 특정 사용자가 사용할 수 있는 가용 용량을 정하는 행위가 필요함(=Quata, 디스크 할당)

ex) mkdir -m 1777 /a

-m 옵션 : 퍼미션 지정

* 기본 퍼미션

- 디렉터리 : 777

- 파일 : 666

- umask : 기본 퍼미션에서 umask 값을 뺀 권한이 디렉터리와 파일에 부여됨(숫자 값이 아닌 권한을 제외시키는 개념)

-- root : 0002

-- other : 0022

ex) root 사용자가 파일을 생성한 경우 : 664

ex) other 사용자가 파일을 생성한 경우 : 644

* 파일

- binary file : 기계어 코드(실행 코드)로 이루어진 파일, 실행이 가능한 실행 파일

(cpu에 의해 프로세스가 할당되고 메모리의 공간을 할당 받음)

명령어들이 binary file의 형태로 실행되는 것(binary file을 컴파일 해서 실행파일로 변환)

.sh의 파일명 형태로 구분함(쉘 스크립트 파일)

- text file : 일반 텍스트로 이루어진 파일

9. touch

- 파일의 시간을 현재 시간으로 설정하는 명령어

- 새로운 파일을 만들어 현재 시간으로 설정하기 때문에 새로운 파일을 지금 만드는 것과 같은 효과

- 기존에 있는 a 파일 : touch /a -> 현재 시간으로 리셋

- 기존에 없는 a 파일 : touch /a -> 생성과 같은 효과

* Time

- change time : 메타 데이터(파일의 데이터(파일명, 권한, 크기 등))에 대해 변화가 일어났을 때 변경되는 시간

- modify time : 내용에 대한 변화가 일어났을 때 변경되는 시간(ls -l 명령 시 나오는 시간)

- access time : 파일에 접근 후 읽었을 때 변경되는 시간

-> find 명령어의 조건으로도 사용됨

-> 보안적 측면에서 활용하기 좋음

10. cp

- 복사

- 경로만 잘 지정해서 사용하기

- 복사하려는 곳에 복사본 파일이 덮여쓰이지 않도록 조심해야 함(삭제된 파일은 복구 가능, 덮여진 파일은 복구 불가) -> -i 옵션 꼭 사용하기(Alias 기능 활용, cp=’cp -i’ 로)

- -r 옵션 : 디렉터리를 복사할 때 사용(하위 디렉터리 포함)

11. mv

- 이동

- 경로만 잘 지정해서 사용하기

- 파일명 변경의 효과로 사용 가능

- 이동하려는 곳에 복사본 파일이 덮여쓰이지 않도록 조심해야 함(삭제된 파일은 복구 가능, 덮여진 파일은 복구 불가) -> -i 옵션 꼭 사용하기(Alias 기능 활용, cp=’cp -i’ 로)

12. rm

- 삭제

- -r 옵션 : 디렉터리 삭제할 때 사용(하위 디렉터리 포함)

13. Alias

- 지정한 명령어를 해당 별칭으로 함축시켜 사용

15. more

- 파일의 내용을 한 페이지 단위로 출력

16. less

- 파일의 내용을 한 페이지 단위로 출력하고 많은 키 값들 사용 가능

17. head

- 파일의 첫번째부터 지정한 줄 수까지 출력

18. tail

- 파일의 마지막부터 지정한 줄 수까지 출력

19. 와일드카드 문자

- * : 자릿수 상관없이 모든 문자 의미

- ? : 한 자리수의 모든 문자 의미

- [0-9] : 0~9의 숫자

- [0,3,7] : 한 자리수 숫자

- [a-z] : a~z

- [a,o,u] : 한 자리수 소문자 알파벳

- [A-Z] : A~Z

- [A,O,U] : 한 자리수 대문자 알파벳

- ls * : 모든 파일

- ls a* : a로 시작하는 모든 파일

- ls *a : a로 끝나는 모든 파일

- ls *a* : a가 포함된 모든 파일

- 파일명 자체에 *, ?이 포함된 경우 \* , \?(Escape character) 로 사용

- ex) \** : *로 시작하는 모든 파일

- ex) \?? : ?로 시작하는 두 글자 파일

20. find

- 적절한 조건을 사용해 검색해야 함(광범위하게 x)

- ctime, mtime, atime : 날짜 기준

- cmin, mmin, amin : 분 기준

- ctime : +9(현재 시간으로부터 9일전+9일전), 9(현재 시간으로부터 9일 전), -9(현재 시간으로부터 9일 이내)

- permission : +5000(r or x) , -5000 (r and x)

- exec : 찾은 파일에 이어 또다른 명령을 사용

ex) find / -name ‘*a’ -type f size +10k -exec ls -lS \;

찾은 파일들의 자세한 목록, 크기 기준 정렬 시킴, 쉘에서는 종결문자의 의미가 아닌 앞 명령과 뒤 명령을 연결의 의미로 사용 -> \; (종결문자로 인식해라)

- 파이프() : 앞 명령어의 결과와 뒤 명령어의 인자 값으로 전달(앞 명령어와 뒤 명령어를 연결)

- 파이프를 이용해 xargs 명령을 통해 exec 효과를 낼 수 있음(-exec 옵션과 다르게 find 명령과는 아예 다른 명령이라 활용도가 더 높음)

21. last

- 사용자의 로그인 기록을 표시

22. lastlog

- 마지막에 로그인한 로그인 정보 표시

This post is licensed under CC BY 4.0 by the author.