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
chage checkXML chkconfig chooser chsh
chat chfn chkfontpath chown chvt
chattr chgrp chmod chpasswd
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列出用户主目录中文件名只有2个字符的c程序文件。输入的命令如下所示。
ls ??.c 注意:用?匹配一个单一字符。命令的运行结果如下所示。
01.c 02.c 03.c aa.c
4.1.4 使用命令的历史记录
在终端中,如果需要再次使用已经输入过的命令,按向上方向键可以依次显示以前的命令。查找到需要的命令以后,按“Enter”键执行这一个命令。
history命令可以显示出命令的记录列表,命令的用法如下所示。
history [n]参数n是一个可选的整数。当没有参数时,会列出以前执行过的所有命令。有参数n时,会列出最后执行的n个命令。例如用下面的命令来查看已经执行过的操作。
history 5这个命令会显示最后执行的5个命令的操作列表,结果如下所示。
152 ls ??.c
153 fc
154 ls ??.c
155 ls
156 history 5
4.1.5 命令的别名
命令别名指的是自定义一个命令代替其他命令,可以作为其他命令的缩写,用来减少键盘输入。别名的定义alias命令如下所示。
alias list=’ls -l’ 注释:定义一个文件列表的别名。
alias allfile='ls -a' 注释:定义显示所有文件命令的别名。
alias lsc='ls *.c' 注释:定义显示所有c程序文件命令的别名。
注意:定义别名时,等号的两边不能有空格。
如果想取消别名,可以使用unalias命令。例如下面的命令可取消上面代码定义的lsc别名。
unalias lsc
【编辑推荐】
- Linux Bash命令关于程序调试详解
- Linux Bash命令关于快捷键应用
- Linux Bash Shell系统的应用详解
- Linux Bash具体安装步骤及使用介绍
- Linux Bash命令查询相关事件详解
推荐阅读
小强"大扫荡(Linux Bug Bash)问:我们已经讲了太多的测试了,好像微软还有一个叫“BugBash”的活动,是啥意思?答:Linux Bug Bash,或者叫Bug Hunt,简而言之,就是大家一起来找小强的活动—&mdas>>>详细阅读
本文标题:Linux Bash具体应用讲解
地址:http://www.17bianji.com/yunwei/2100.html
1/2 1