bash的使用
Shell有多种版本,在Red Hat Linux 9.0中默认的版本是bash。用户成功地登录系统以后,shell为用户与系统内核进行交互,直至用户退出系统。系统上的所有用户都有一个缺省的shell。每个用户的缺省shell在系统里的/etc/passwd文件里被指定。
4.1.1 bash的内部命令与外部命令
linux的命令可以分为内部命令和外部命令。内部命令在系统启动时就调入内存,是常驻内存的。而外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。例如下面的命令就是几个常用的内部命令。
exit:终止当前shell的执行。
export:设置一个环境变量,当前shell的所有子进程都可以访问这一个环境变量。
kill:终止某个进程的执行。带有进程PID参数时,可以中止对应进程的执行。
4.1.2 命令补齐功能
命令补齐指的是bash可以自动补齐没有输入完整的命令。当用户不能拼写出整个命令时,只需要输入开头的几个字符,然后按“Tab”键。如果前面几个字符输入没有错误,系统会自动补齐整个命令。除了对命令输入进行提示以外,这个功能可以加快输入命令的速度。例如下面的操作使用了bash的命令补齐功能。
单击“主菜单”|“系统工具”|“终端”命令,打开系统终端。
在终端中输入“ifco”,然后按“Tab”键,这时会自动补齐为“ifconfig”命令。
在终端中输入“ch”,然后按两次“Tab”键,这时会列出所有以ch开头的命令,这些命令如下所示。这时可以使用这些提示书写相关命令。
chacl cheatmake chinput chmoddic chroot |
4.1.3 命令通配符
所谓通配符,就是指可以在命令中用一个字符来代替一系列字符或字符串。bash中有三种通配符,其中?和[]代表单个字符。*可以代表一个或多个字符,也可以是空字符串。
*:匹配任何字符和字符串,包括空字符串。
?:匹配任意一个字符。例如,?abc,可以匹配任何以abc结束,任意字符开头的四个字符的字符串。
[...]:匹配括号里列出的任何单字符。比如abc[def],可以匹配以abc开头,以def中任意一个字符结尾的字符串。
例如下面的例子就是在命令中使用通配符。
从主菜单中打开一个终端。
查看主目录下所有的c程序文件。c程序文件的扩展名都是.c。所以输入以下的命令。
ls *.c 注意:用*匹配一个任意字符串。 |
01.c 02.c 03.c aa.c h.c hello.c |
列出用户主目录中以0开头的c程序文件,输入的命令如下所示。
ls 0*.c 注意:用*匹配一个任意字符串。 |
01.c 02.c 03.c |
ls ??.c 注意:用?匹配一个单一字符。 |
01.c 02.c 03.c aa.c |
4.1.4 使用命令的历史记录
在终端中,如果需要再次使用已经输入过的命令,按向上方向键可以依次显示以前的命令。查找到需要的命令以后,按“Enter”键执行这一个命令。
history命令可以显示出命令的记录列表,命令的用法如下所示。
history [n] |
history 5 |
152 ls ??.c |
4.1.5 命令的别名
命令别名指的是自定义一个命令代替其他命令,可以作为其他命令的缩写,用来减少键盘输入。别名的定义alias命令如下所示。
alias list=’ls -l’ 注释:定义一个文件列表的别名。 |
注意:定义别名时,等号的两边不能有空格。
如果想取消别名,可以使用unalias命令。例如下面的命令可取消上面代码定义的lsc别名。
unalias lsc |
【编辑推荐】