set
,shopt
은 shell 옵션을 설정하는 빌트인 커맨드들이다.
set -o/+o
: on/offshopt -s/-u
: on/offcompgen
은 리눅스에서 실행되는 모든 커맨드들을 나열하는 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