Difference between r1.13 and the current
@@ -1,6 +1,8 @@
사용자의 명령([[유닉스,Unix]]의 경우 [[유닉스_명령]])을 받아 실행하는 프로그램.
보통 [[사용자,user]]와 [[커널,kernel]]의 사이에 위치.
기능
[[작업_제어,job_control]] (= 프로세스 제어)
입출력 리다이렉션(I/O redirection) [[리디렉션,redirection]]
보통 [[사용자,user]]와 [[커널,kernel]]의 사이에 위치.
command_line [[인터프리터,interpreter]]?
[[작업_제어,job_control]] (= 프로세스 제어)
입출력 리다이렉션(I/O redirection) [[리디렉션,redirection]]
@@ -69,8 +71,10 @@
DOS의 경우 batch file
종류
tcsh
Korn shell (ksh)
종류
Bourne shell (sh)
Bourne again shell (bash)
Thompson shell .... https://en.wikipedia.org/wiki/Thompson_shell
Mashey shell = PWB shell - modified Thompson .... https://en.wikipedia.org/wiki/PWB_shell
Bourne shell (sh) - [[본_셸,Bourne_shell]]
Bourne again shell (bash) .... [[WpEn:Bash_(Unix_shell)]] = https://en.wikipedia.org/wiki/Bash_(Unix_shell)
cshtcsh
Korn shell (ksh)
@@ -78,6 +82,9 @@
zsh (of BSD)
rc (of Plan 9)
셸을 바꾸는 명령은 [[chsh_명령]]이다.
리눅스에서 특정 셸을 로그인 셸로 쓸 수 있으려면, [[파일_/etc/shells]]에 등록해야 한다.
rc (of Plan 9)
Unix외
[[파워셸,PowerShell]]?
리눅스에서 특정 셸을 로그인 셸로 쓸 수 있으려면, [[파일_/etc/shells]]에 등록해야 한다.
@@ -141,6 +148,28 @@
[[shell_script]]
[[환경변수,environment_variable]]
[[프롬프트,prompt]]
----
Up: [[소프트웨어,software]]
[[환경변수,environment_variable]]
[[프롬프트,prompt]]
[[명령줄,command_line]]
영단어의 뜻: [[껍질,shell]]
= Good sites =
https://ss64.com/
"Command line reference."
The Shell Scripting Tutorial - The Shell Scripting Tutorial (Bash)
https://www.shellscript.sh/
----
Semi-twin
https://en.wikipedia.org/wiki/Comparison_of_command_shells
https://en.wikipedia.org/wiki/Unix_shell
----
Twin
[[WpEn:Shell_(computing)]]
= https://en.wikipedia.org/wiki/Shell_(computing)
----
Up: [[소프트웨어,software]]
command_line 인터프리터,interpreter?
명령 > 파일명
명령의 출력을 파일로 저장한다. (=캡쳐한다, capture) 기존 파일 내용이 있다면 지워진다. (=덮어쓴다, overwrite)
셸이 csh나 tcsh이면 다음 명령으로 덮어쓰기를 방지할 수 있다.
표준 에러도 저장하려면
셸이 csh나 tcsh이면 다음 명령으로 덮어쓰기를 방지할 수 있다.
set noclobber
Bash에서도 추가되었는데..문법? TBW
표준 에러(stderr)는 저장되지 않는다.표준 에러도 저장하려면
명령 >& 파일명을 쓰면 된다.
csh인가? bash도 되는가? CHK
본 셸과 bash에서는 이렇게 적을 수 있다.명령 &> 파일명
에러만 저장하려면, 본 셸 호환 셸에서
명령 2> 파일명을 쓴다.
출력을 아예 버리려면, /dev/null이라는 특별한 파일로 리디렉트한다.
명령 > /dev/null
명령 >> 파일명
명령의 출력을 파일에 추가한다.
파일이 없으면 생성됨? TBW
명령 < 파일명파일에서 입력을 받는다.
}
}
스크립팅
종류DOS의 경우 batch file
Thompson shell .... https://en.wikipedia.org/wiki/Thompson_shell
Mashey shell = PWB shell - modified Thompson .... https://en.wikipedia.org/wiki/PWB_shell
Bourne shell (sh) - 본_셸,Bourne_shell
Bourne again shell (bash) .... Bash_(Unix_shell) = https://en.wikipedia.org/wiki/Bash_(Unix_shell)
csh
tcsh
Korn shell (ksh)
ash (of BSD)
zsh (of BSD)
rc (of Plan 9)
Unix외
파워셸,PowerShell?
셸을 바꾸는 명령은 chsh_명령이다.Mashey shell = PWB shell - modified Thompson .... https://en.wikipedia.org/wiki/PWB_shell
Bourne shell (sh) - 본_셸,Bourne_shell
Bourne again shell (bash) .... Bash_(Unix_shell) = https://en.wikipedia.org/wiki/Bash_(Unix_shell)
csh
tcsh
Korn shell (ksh)
ash (of BSD)
zsh (of BSD)
rc (of Plan 9)
Unix외
파워셸,PowerShell?
리눅스에서 특정 셸을 로그인 셸로 쓸 수 있으려면, 파일_/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