shell介绍目录1.什么是shell2.LINUX中包含的命令类型3.shell命令的执行顺序4.搜索shell命令5.Shell版本(了解一下)6.Shell变量定义与参考1.shellshell的工作过程是什么:shellshellkernelkernel1.用户和操作系统内核之间的接口,起到协调用户和系统一致性,用户和系统交互的作用。2、shell最重要的功能是命令解释。从这个意义上说,shell是一个命令解释器。Linux系统中的所有可执行文件都可以作为shell命令执行。二、Linux中shell执行的命令类型1、Linux基本命令:存放在/bin/sbin目录下。2、内置命令:为了效率,将一些常用命令的解释器构造在shell内部,命令在shell内部构造。例如echo3。实用命令:存放在/usr/bin/usr/sbin/usr/local/bin等目录下的实用程序。4、用户程序:用户程序编译生成可执行文件后,也可以作为shell命令运行,比如用户自己用c语言、python语言等编写的一些程序。5、shell脚本:shell语言编写的批处理文件,如shell语言编写的类似于windows的批处理程序。(1)Linux基本命令:存放在/bin/sbin目录下。比如我们熟悉的clear命令就在bin目录下。/bin目录:存放系统的一些指令。bin是binary的缩写,主要是放置一些系统必须的执行文件,如:cat、cp、chmoddf、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。/sbin目录:一般指超级用户命令。主要放置一些系统管理必须的程序,如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、runlevel、shutdown等。(2)内置命令:在Shell内部构造的命令。例如echo(3)实用命令:实用程序存放在/usr/bin/usr/sbin/usr/local/bin等目录下。/usr/bin目录是你后面安装的一些软件的运行脚本。主要放置c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、newaliases、nslookuppasswd、quota、smb*、wget等。*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。(4)用户程序:用户自己用c语言、python语言等编写的一些程序。(5)shell脚本:用shell语言编写的类似于windows中批处理的程序。三、shell命令的执行顺序1、当用户提交命令时,Shell首先判断是否为内置命令,如果是则通过Shell内部的解释器将其解释为系统函数调用并传递给执行的内核。2、如果是外部命令或实用程序,它会尝试在硬盘中找到该命令并调入内存,然后将其解释为系统函数调用,交给内核执行。4、shell命令搜索用户给定的路径(绝对路径或相对路径),Shell沿着用户给定的路径进行搜索。如果找到,它将被加载到内存中。如果没有,会输出命令没有找到的提示信息。如果用户没有给出命令的路径,Shell会在环境变量PATH指定的路径中逐一查找。如果找到,则加载到内存中,如果没有找到,则输出提示信息。例:如果新安装的系统运行一些正常的命令如:shutdown,会提示:bash:commandnotfound。解决方法:首先要考虑这些环境变量是否已经包含在root的$PATH中。可以查看一下PATH,如果是:PATH=$PATH:$HOME/bin,需要添加如下:PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin5、shell的版本(了解一下)Bash、Korn、tcsh例子:查看自己系统中包含的shell类型ls-l/bin/*sh六、shell变量的定义和引用shell变量的定义:可以类比python中的变量赋值。示例:定义变量a并赋值helloworldda=”helloworld”示例:引用变量aecho$a示例:设置变量a为全局变量示例:显示当前shell的PID示例:调用子shell在shell中使用bash命令后,会出现一个新的bash子进程。-你今天学到了什么
