五、linux基础-shell机制
5.1 shell机制
1、Linux命令程序员可以看懂,但是操作系统是不懂这句话的含义的。因为所有的命令必须重新被解释然后传递给Linux内核才可以执行。这一被解释的机制就是shell。
Linux命令先被shell解释成内核可以执行的代码,然后再由Linux内核进行运行。作为命令语言互动式的解释和执行用户输入的命令只是shell功能的一个方面,shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于dos 中的批处理文件,称为shell script ,又叫shell程序或shell命令文件。
2、常用的shell有:
shell名称 开发者 命令名称
Bourne S.R Bourne /bin/sh 是我们中国常用的
C Bill Joy /bin/csh
Kom David /bin/ksh
在不同的shell里面,使用后的命令是不完全相同的,在sh里面用的命令,在csh里面不一定使用。
5.2 相关命令
1、如何查看自己装的Linux系统里面有哪些shell
[root@ODSDEVDB01 bin]# ls -l /bin/*sh
-rwxr-xr-x 1 root root 801512 Oct 21 2008 /bin/bash
lrwxrwxrwx 1 root root 4 Nov 22 2012 /bin/csh -> tcsh
lrwxrwxrwx 1 root root 21 Nov 22 2012 /bin/ksh -> /etc/alternatives/ksh
lrwxrwxrwx 1 root root 4 Nov 22 2012 /bin/sh -> bash
-rwxr-xr-x 1 root root 352904 Oct 5 2010 /bin/tcsh
-rwxr-xr-x 1 root root 596272 Sep 21 2010 /bin/zsh
2、查看当前操做系统使用的是那种shell
env | more 该命令可以显示当前操作系统的环境变量
SHELL=/bin/bash
3、shell的修改
chsh -s 输入新的shell 如:/bin/csh
4、shell补全功能
是指用户输入命令时,并不需要输入完整的命令,而系统自动回找出最符合的名称,这种功能可以节省经常输入命令的时间。直接输入“mk”,再按两下“tab”键,出现两头两个字母为“mk”命令。cat p 再按两下“tab”键,会出现开头字母为“p”的所有文件或目录。
示例1:输入“mk”,再按两下“tab”键
[root@ODSDEVDB01 zjbdir]# mk
mkafmmap mkdict mkdumprd mkfontdir mkfs.ext2 mkfs.msdos mkinitrd mknod mksock mkudffs
mk-amd-map mkdir mke2fs mkfontscale mkfs.ext3 mkfs.vfat mkisofs mkpasswd mksquashfs mkxauth
mkbootdisk mkdirhier mke4fs mkfs mkfs.ext4 mkhtmlindex mklost+found mkrfc2734 mkswap mkzftree
mk_cmds mkdosfs mkfifo mkfs.cramfs mkfs.ext4dev mkhybrid mkmanifest mksmbpasswd.sh mktemp mkzonedb
示例2:输入cd p,再按两下”tab”键,会出现开头字母为p的所有文件或目录
cd plearning