명령 > 파일명
명령의 출력을 파일로 저장한다. (=캡쳐한다, capture) 기존 파일 내용이 있다면 지워진다. (=덮어쓴다, overwrite)
셸이 csh나 tcsh이면 다음 명령으로 덮어쓰기를 방지할 수 있다.
표준 에러도 저장하려면
셸이 csh나 tcsh이면 다음 명령으로 덮어쓰기를 방지할 수 있다.
set noclobber
Bash에서도 추가되었는데..문법? TBW
표준 에러(stderr)는 저장되지 않는다.표준 에러도 저장하려면
명령 >& 파일명을 쓰면 된다.
csh인가? bash도 되는가? CHK
본 셸과 bash에서는 이렇게 적을 수 있다.명령 &> 파일명
에러만 저장하려면, 본 셸 호환 셸에서
명령 2> 파일명을 쓴다.
출력을 아예 버리려면, /dev/null이라는 특별한 파일로 리디렉트한다.
명령 > /dev/null
명령 >> 파일명
명령의 출력을 파일에 추가한다.
파일이 없으면 생성됨? TBW
명령 < 파일명파일에서 입력을 받는다.
}
}
스크립팅
종류DOS의 경우 batch file
Bourne shell (sh)
Bourne again shell (bash)
csh
tcsh
Korn shell (ksh)
ash (of BSD)
zsh (of BSD)
rc (of Plan 9)
셸을 바꾸는 명령은 chsh_명령이다.Bourne again shell (bash)
csh
tcsh
Korn shell (ksh)
ash (of BSD)
zsh (of BSD)
rc (of Plan 9)
리눅스에서 특정 셸을 로그인 셸로 쓸 수 있으려면, 파일_/etc/shells에 등록해야 한다.
Bash 단축키 ¶
명령을 백그라운드로 보내기, 혹은 백그라운드에서 실행하기 ¶
명령 뒤에 & 문자를 넣는다.
21457은 프로세스 ID(pid)이다.
물론 작업 번호가 숫자가 작으므로 PID보다 기억하기 쉽다.
$ gcc a.c & [1] 214571은 작업 번호다.
21457은 프로세스 ID(pid)이다.
물론 작업 번호가 숫자가 작으므로 PID보다 기억하기 쉽다.
백그라운드 명령을 포그라운드로 가져오기 ¶
foreground로 가져오기
fg명령을 쓴다. 작업 번호 앞에 %을 붙여서 쓰거나, PID를 그대로 쓴다.
위의 경우,
fg명령을 쓴다. 작업 번호 앞에 %을 붙여서 쓰거나, PID를 그대로 쓴다.
위의 경우,
$ fg %1 $ fg 21457
역사 ¶
Shell이라는 단어는 멀틱스,Multics에서 유래.
https://multicians.org/shell.html
https://news.ycombinator.com/item?id=25207957 -- .*rc는 RUNCOM에서 유래? CHK
https://multicians.org/shell.html
https://news.ycombinator.com/item?id=25207957 -- .*rc는 RUNCOM에서 유래? CHK