多命令顺序执行与管道符
1、多命令顺序执行
例子:
[root@localhost ~]# ls ; date ; cd /user ; pwd
用途:dd命令(用于磁盘复制)
[root@localhost ~]# dd if=输入文件of=输出文件bs=字节数count=个数
选项:
if=输入文件指定源文件或源设备
of=输出文件指定目标文件或目标设备
bs=字节数指定一次输入/输出多少字节,即把这些字节看做一个数据块
count=个数指定输入/输出多少个数据块
例子(dd与多命令结合)
[root@localhost ~]# date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date
[root@localhost ~]# ls anaconda-ks.cfg && echo yes
[root@localhost ~]# ls /root/test || echo "no
[root@localhost ~]# 命令&& echo yes || echo no
(正确执行命令打印yes,错误打印no)
2、管道符
命令格式:
[root@localhost ~]# 命令1 | 命令2
#命令1 的正确输出作为命令2 的操作对象
PS:注意命令1必须是正确的,并且有输出,输出作为命令2的输入
例:
[root@localhost ~]# ll -a /etc/ | more
直接用ll显示所有内容,会非常的多,不易查看;more只能对文件进行分屏显示;运用管道符,将ll的输出作为more的输入,可以使我们能够分屏查看ll的输出。[root@localhost ~]# netstat -an | grep "ESTABLISHED"
netstat -an
用于查看tcp相关的内容,可以查看有多少连接;但是内容也是过多;grep是对内容进行搜索,二者结合使用,可以筛选出我们想查看的内容输出;
附加:grep用法
[root@localhost ~]# grep [选项] "搜索内容" 文件名
选项:
-i:忽略大小写
-n:输出行号
-v:反向查找
--color=auto 搜索出的关键字用颜色显示
通配符与其它特殊符号
1、通配符
例子:
rm -rf *
删除当前目录下所有文件
ls ?abc
显示当前目录下以abc作为后缀的文件(不包括abc,因为?至少一个字符)
2、Bash中的其它特殊符号
单引号与双引号:
[root@localhost ~]# name=sc
[root@localhost ~]# echo '$name'
[root@localhost ~]# echo "$name"
反引号与$():
反引号命令
与$(命令)
用法相同,都是把里面的内容解释成命令执行,常用后者,因为反引号与单引号不好区分;
[root@localhost ~]# echo `ls`
[root@localhost ~]# echo $(date)