Linux Bash具体应用讲解

运维 系统运维
《Linux系统下C程序开发详解》第4章详细的为大家介绍Shell编程,本节将为您讲述的是bash的使用。

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

 

【编辑推荐】

  1. Linux Bash命令关于程序调试详解 
  2. Linux Bash命令关于快捷键应用
  3. Linux Bash Shell系统的应用详解
  4. Linux Bash具体安装步骤及使用介绍
  5. Linux Bash命令查询相关事件详解
     
责任编辑:chenqingxiang 来源: 电子工业出版社
相关推荐

2010-06-23 14:57:01

Linux Bash命

2010-02-24 09:38:58

WCF应用编码

2010-06-23 11:17:09

Linux Bash

2009-11-24 16:28:41

PHP5魔术函数

2010-06-23 11:09:14

Linux Bash

2009-12-18 09:48:26

Linux中应用

2010-06-23 10:57:12

Linux Bash命

2010-06-30 11:09:16

Linux SNMP

2010-02-01 17:37:35

C++调用C链接库

2009-12-03 17:17:32

软路由配置

2010-01-25 15:35:08

Android NDK

2009-12-21 13:59:28

Linux安装过程

2010-02-02 17:11:10

2009-11-23 17:56:44

PHP缓存机制

2010-07-21 17:23:04

telnet回显

2010-05-27 11:03:44

Linux流量控制

2010-06-18 10:24:51

Linux acces

2010-06-18 16:07:13

Linux addr2

2010-03-15 19:37:00

Java多线程同步

2010-06-23 10:03:18

Linux Bash命
点赞
收藏

51CTO技术栈公众号