
set,shopt은 shell 옵션을 설정하는 빌트인 커맨드들이다.
set -o/+o : on/offshopt -s/-u : on/off
compgen은 리눅스에서 실행되는 모든 커맨드들을 나열하는 bash 커맨드이다.
$ compgen -c: 바로 실행될수있는 모든 커맨드 나열$ compgen -a: bash alias 모두 나열$ compgen -k: bash keywords 모두 나열$ compgen -A function: bash function 모두 나열$ compgen -b: bash built-ins 모두 나열bash alias -> Keywords -> Functions -> built-ins -> finally a search in $PATH 순으로 진행된다.
type: command의 종류 출력

fork/exec 하지않고 바로 실행한다.cd,pwd,echo 등등
/user/bin:/bin) :을 통해 디렉토리가 분리되어있다.
;,&로 분리된다.; -> 순차적으로 명령어/파이프라인을 실행한다.$ date ; sleep1 ; sleep1 ; sleep1 ; date& -> 비동기적으로 실행한다.$ date & sleep1 & sleep1 & sleep1 & date$ date ; sleep1 & sleep1 & sleep1 ; date <=>0: 정상적으로 종료되었을때 Process가 반환하는 값
!0: 비정상적으로 종료되었을때 Process가 반환하는 값
$? : exit status 값이 저장되어있다.
exit status은 Bash Conditional commands에 사용된다.

&&,ll
cmd1 && cmd2 : cmd1이 성공해야 cmd2를 실행한다.cmd1 || cmd2 : cmd1이 실패해야 cmd2를 실행한다.cd ~/tempdir
rm -rf # 위험한 명령어이므로 아래와 같이 사용하자.
cd ~/tempdir && rm -rf *
()은 child/sub shell에서 실행된다.
0< : 키보드를 통한 standard input 대신에 특정 파일을 통한 읽기

1> : standard output을 file로 redirect
1> 대신에 1>>
2> : standard error을 file로 redirect


output과 error을 같은 파일에 redirect

출력을 버리고 싶을때는 redirect to /dev/null
/dev/null : special virtula file