| WHO | WHAT | WHICH |
|---|---|---|
| u 소유자 | + 퍼미션 추가 | r READ |
| g 소유 그룹 | - 퍼미션 제거 | w WRITE |
| o 기타 사용자 | = 퍼미션 할당(Assign) | x EXECUTE |
| a 모든 사용자 |
예시)
파일의 소유자에게 읽기 권한 추가
$ chmod u+r FILE
파일의 소유자에게 읽기, 쓰기 권한 추가
$ chmod u+rw FILE
파일의 소유 그룹에게 쓰기 권한 제거
$ chmod g-w FILE
기타 사용자에게 읽기 권한 할당
$ chmod o=r FILE
umask
777
022 <-- Directory umask
ㅡㅡㅡㅡ
755 <-- Directory 초기 권한
111 <-- File umask
ㅡㅡㅡㅡ
644 <-- File 초기 권한
경로 이름 메타 문자
~ : 사용자의 홈 디렉터리
~ USER : USER 사용자의 홈 디렉터리
~+ : 현재 작업 디렉터리
~~ : 이전 작업 디렉터리
- : 이전 작업 디렉터리
파일 이름 대체 메타 문자
* : 아무 것도 없거나 무한대의 문자까지 매치
? : 임의의 한 문자
[] : 지정한 범위의 문자 한 문자
'' 작은 따옴표(Single Quotation)
작은 따옴표로 감싼 모든 메타 문자를 일반 문자로 취급
"" 큰 따옴표(Double Quotation)
$, \, `메타 문자를 제외한 모든 메타 문자를 일반 문자로 취급
(\ : 뒤의 메타문자의 기능을 없애줌.)



echo $(COMMAND) 도 가능.

표준 입출력
표준 출력(Standard Output, stdout, 1) - 모니터
표준 에러(Standard Error, stdefr, 2) - 모니터
표준 입력(Standard Input, stdin, 0) - 키보드
File Descripter
프로세스가 입출력을 어느 경로로 진행할지 지정하는 번호(0~255)
방향 재지정(Redirection)
표준 출력 재지정 : 명령어의 실행결과(정상 실행)의 출력 방향을 변경
$COMMAND > FILE
Append(1>>) : 출력 재지정시 지정한 파일이 존재하지 않으면 새로 생성하고 존재하는 경우 기존 파일 내용 뒤에 이어서 저장. $COMMAND >> FILE

표준 에러 재지정 : 명령어의 실행 결과 중 에러의 출력 방향을 변경
$COMMAND > FILE$COMMAND >> FILE
표준 에러 재지정을 활용 한 예시

에러나는 jpg는 표시나지 않게 함.
표준 출력, 표준 에러 재지정을 동시에 사용한 예시

$ls -l /etc/hosts /etc/nofile >result1 2>&1 이렇게하면 한 파일 안에 동시에 넣을 수도 있다.
$COMMAND 0< FILE : 파일의 내용을 명령어에 표준 입력으로 전달cat 명령어를 표준 입력 키보드가 아닌 /etc/hosts 파일로 재지정하는 예제
$ls -al ~로 숨겨져 있던 .bash_history을 찾을 수 있다.

.bash_history의 지난 명령어들


$history로 지난 명령어를 확인할 수 있다.

$!number로 history의 지난 명령어를 사용할 수 있다.

Cltrl + R 단축키로도 찾을 수 있다.

/etc/profile 파일
관리자(root)에 의해 관리되며, 시스템 전역에 걸쳐 환경을 설정하는 파일이다. 모든 사용자는 시스템 부팅 시 적용되는 초기화 설정\
~./bashrc 파일 또는 ~/.bash_profile
.bashrc 파일은 Bash Shell 실행 시 실행하는 초기화 파일이며, ~/.bash_profile 파일은 파일이름만 다르고 같은 기능을 한다.