三大Unix shell
1,Bourne shell(AT&T shell, $)
2,C shell(Berkeley shell, %)
3,Korn shell(a superset of the Bourne shell, $)
几大Linux shell
Bash -- Linux default shell(The GNU Bourne Again shell, $)
TC shell(bundled with Solaris 8+, >)
Z shell
Public Domain Korn shell -- pdksh($)
看看Ubuntu下面支持哪些shell:
[code]
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/screen
[/code]
POSIX(Portable Operating System Interface) 1003.2标准是shell的国际标准
/etc/passwd文件最后一行是login之后load的shell,如果为null,则启动Bash
ps命令查看当前进程,pstree/ptree则按树状显示
系统调用fork会duplicate一份要调用的进程
shell命令如果为built-in,则shell处理它;如果在disk上,则shell调用fork来复制一份它自己作为子shell,parent shell则wait,子shell去exec该命令,启动新程序并overlay子shell,新程序运行完后exit,exit code为0表示成功,非0表示失败($?变量)
kill命令加PID用来杀死进程
1,Bourne shell(AT&T shell, $)
2,C shell(Berkeley shell, %)
3,Korn shell(a superset of the Bourne shell, $)
几大Linux shell
Bash -- Linux default shell(The GNU Bourne Again shell, $)
TC shell(bundled with Solaris 8+, >)
Z shell
Public Domain Korn shell -- pdksh($)
看看Ubuntu下面支持哪些shell:
[code]
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/screen
[/code]
POSIX(Portable Operating System Interface) 1003.2标准是shell的国际标准
/etc/passwd文件最后一行是login之后load的shell,如果为null,则启动Bash
ps命令查看当前进程,pstree/ptree则按树状显示
系统调用fork会duplicate一份要调用的进程
shell命令如果为built-in,则shell处理它;如果在disk上,则shell调用fork来复制一份它自己作为子shell,parent shell则wait,子shell去exec该命令,启动新程序并overlay子shell,新程序运行完后exit,exit code为0表示成功,非0表示失败($?变量)
kill命令加PID用来杀死进程
本文介绍了Unix和Linux下的主要Shell类型,包括Bourne Shell、C Shell、Korn Shell及Bash等,并详细阐述了它们的特点及使用场景。此外,还讲解了POSIX标准、/etc/passwd文件的作用、ps命令的使用以及shell命令的执行流程。

被折叠的 条评论
为什么被折叠?



