《linux命令编辑器与shell编程》学习笔记 第5章 shell

来源:互联网 发布:期货模拟软件哪个好 编辑:程序博客网 时间:2024/05/16 02:03
命令行的基本语法格式:
command [arg1] [arg2]...[argn] RETURN
参数都有编号,其中命令本身为参数0.

shell只在PATH变量中定义的路径中查找命令,
可以用下面的命令来添加PATH路径
$PATH = $PATH:/xxx/yyy
这个路径添加只对当前会话有效;
也就是说,退出会话后,路径设置就失效了。

或者:
$vim /etc/profile
添加:PATH=$PATH:/xxx/yyyy
或者: 
$vim ~/.bash_profile
修改PATH行,把/xxx/yyy添加进去.


重定向
重定向标准输出:
command [args] > filename

向文件追加标准输出:
command [args] >> filename

使数据消失:/dev/null
/dev/null 是一个数据接收器,通常被称为位桶(bit bucket).
可以将不想看到或不想保存的数据重定向给它:
command [args] > /dev/null

从/dev/null 中读取数据时,将得到一个空字符串。

重定向标准输入:
command [args] < filename

转换工具:
查找输入中和string1相匹配的字符,
将匹配的字符替换成相应string2中的字符。
$tr string1 string2  

打印工具:
$lpr filename

向两个方向输出:tee
tee工具将标准输入复制到文件和标准输出:
$ cat xxx | tee yyy.txt | grep root

在后台运行程序:
在命令行的末尾输入符号(&)后按RETURN,
那么shell将在后台运行这个作业,
并分配一个作业编号在方括号[]内,后跟PID号。
command [args]& RETURN

如:
$ls -l |lpr &
[1] 22092
$

作业结束时会看到:
[1] Done ls -l | lpr

作业在前后台的切换:
ctrl+z                                   # 将前台作业挂起
$bg 挂起的作业编号        # 将挂起的作业切换到后台,继续运行。
$jobs                                  # 显示所有的作业编号列表。
$fg(或%) 作业编号           # 将对应的作业切换到前台,继续运行。
$kill pid(或%作业编号)    # 终止后台作业

通配符:
?                                匹配单个字符
*                                 匹配任意个字符
[字符列表]                对列表中的每个单独字符进行匹配
[x-y]                           对x到y的范围内每个单独字符进行匹配
[x-y z]                        对x到y的范围的每个单独字符 或 字符z进行匹配

示例:
[a-m]*                    以a~m范围内字符开始的字符串
*[a-m]                    以a~m范围内字符结束的字符串
*[^ab]或*[!ab]       不以a和b结束的字符串