1.Shell命令的执行和进程
Shell 命令可以是内部或者外部命令。
内部(内置)命令(internal (built-in) command)的代码本身就是shell进程的一部分。LINUX shell中的一些内部命令如.alias、bg、cd 、continue、echo 、exec 、exit 、fg 、jobs 、pwd 、set 、shift 、test 、time 、umask 、unset和wait。
外部命令是(external command)命令代码以文件的形式出现的称为;文件内容可以是二进制代码或者shell脚本。通常使用的一些外部命令如grep、more 、cat 、mkdir 、rmdir 、ls 、sort 、ftp 、telnet 、lp和ps 。
shell先后使用fork和exec系统调用来执行一个外部二进制命令。
2.fork和exec
系统先用fork复制一个与父进程相同的暂存进程,这个进程与父进程的唯一区别是PID。然后暂存进程以exec方式加载实际要执行的程序。
3.进程有关命令
ps命令用来查看系统中运行的进程的各种属性
top命令:实时监视CPU的活动状态。该命令显示系统中CPU密集型任务的状态并且允许你交互地控制这些进程。
kill命令:终止指定PID的进程
4.作业管理
前台foreground执行:
当键入命令并敲<Enter>后,
•shell执行命令
•在当前命令执行结束即shell返回前,你不能执行任何命令。
需要运行一个要花费很长时间才能完成的LINUX命令(或者任一这样的程序),当命令执行时,你无法做其它工作。
后台background执行命令
LINUX可以在执行命令的同时做其他工作
?在命令后面加上一个“与”操作符号(&),使该命令在后台操作。
?Linux内核中的文件机制
?硬链接和符号链接