Linux学习之Shell基础——Bash基本功能——多命令顺序执行与管道符

1、多命令顺序执行()

多命令执行符 格式 作用
命令1  ; 命令2 多个命令顺序执行,命令之间没有任何逻辑联系
&& 命令1 && 命令2

逻辑与

当命令1正确执行,则命令2才会执行

当命令1执行不正确,命令2不会执行

|| 命令1 || 命令2

逻辑或

当命令1执行不正确,则命令2才会执行

当命令1正确执行,则命令2不会执行

示例1:

[root@localhost ~]# ls ; date ; cd/user ; pwd
abc              cde   install.log         sh      模板  图片  下载  桌面
anaconda-ks.cfg  cdef  install.log.syslog  公共的  视频  文档  音乐
2018年 12月 16日 星期日 13:21:00 CST
-bash: cd/user: 没有那个文件或目录
/root
[root@localhost ~]# 

因为当前系统中,cd 目录下没有user,所以执行结果如第三行,但不影响后面的结果,所以最后一条命令结果正确输出了

示例2:

扩展:dd命令是进行Linux中磁盘、分区、文件等特殊内容复制的命令,比cp更强大,或特殊

[root@localhost ~]# dd if=输入文件 of=输出文件 bs=字节数 count=个数

选项:

    if=输入文件   :指定源文件或源设备

    of=输出文件   :指定目标文件或目标设备

    bs=字节数      :指定一次输入/输出多少字节,即把这些字节看做一个数据块

    count=个数     :指定输入/输出多少个数据块

例子:

 [root@localhost ~]# date ; dd  if=/dev/zero  of=/root/testfile bs=1k count=100000 ; date

# 把/dev/zero 特殊文件,就是0,;该命令相当于创建一个100MB的文件testfile ,路径为/root/testfile

每次向其中写个0,每次为1k,并把创建磁盘的始末时间。用以测试当前系统创建一个100MB的文件需要多久

[root@localhost ~]# date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000 ; date
2018年 12月 16日 星期日 13:29:07 CST
记录了100000+0 的读入
记录了100000+0 的写出
102400000字节(102 MB)已复制,2.15774 秒,47.5 MB/秒
2018年 12月 16日 星期日 13:29:09 CST
[root@localhost ~]# 

示例3:

[root@localhost ~]# ls anaconda-ks.cfg && echo yes

[root@localhost ~]#ls /root/test || echo "no

[root@localhost ~]# 命令 && echo yes || echo no

注:以上内容用于判断命令是否被正确执行,

主要用于shell编程中,用于系统自动判定某个命令是否正确被执行的后续逻辑

[root@localhost ~]# ls
abc              cde   install.log         sh        公共的  视频  文档  音乐
anaconda-ks.cfg  cdef  install.log.syslog  testfile  模板    图片  下载  桌面
[root@localhost ~]# 
[root@localhost ~]# ls && echo yes
abc              cde   install.log         sh        公共的  视频  文档  音乐
anaconda-ks.cfg  cdef  install.log.syslog  testfile  模板    图片  下载  桌面
yes
[root@localhost ~]# ls gdasdga && echo yes
ls: 无法访问gdasdga: 没有那个文件或目录
[root@localhost ~]# ./con
-bash: ./con: 没有那个文件或目录
[root@localhost ~]# ls
abc              cde   install.log         sh        公共的  视频  文档  音乐
anaconda-ks.cfg  cdef  install.log.syslog  testfile  模板    图片  下载  桌面
[root@localhost ~]# ./configure && echo yes || echo no
-bash: ./configure: 没有那个文件或目录
no
[root@localhost ~]# 

2、管道符

命令格式:

[root@localhost ~]# 命令1   |  命令2

#命令1的正确输出作为命令2的操作对象

注意:命令1必须有正确的输出,命令2才有可能执行

示例:

[root@localhost ~]#  ll   -a  /etc/  |  more

# ll -a  /etc/  的查询结果 作为管道符后面的输入,

#在此表示分屏显示 /etc/ 下文件的长格式信息显示

[root@localhost ~]# ll  -a /etc/ | more
总用量 2064
drwxr-xr-x. 118 root root  12288 12月 16 10:44 .
dr-xr-xr-x.  28 root root   4096 12月 16 07:08 ..
drwxr-xr-x.   3 root root   4096 11月 25 22:55 abrt
drwxr-xr-x.   4 root root   4096 11月 25 23:06 acpi
-rw-r--r--.   1 root root     45 12月 10 08:57 adjtime
-rw-r--r--.   1 root root   1512 1月  12 2010 aliases
-rw-r--r--.   1 root root  12288 11月 25 23:24 aliases.db
drwxr-xr-x.   2 root root   4096 11月 25 23:03 alsa
drwxr-xr-x.   2 root root   4096 11月 25 23:07 alternatives
-rw-------.   1 root root    541 8月  24 2016 anacrontab
-rw-r--r--.   1 root root    245 11月 11 2010 anthy-conf
-rw-r--r--.   1 root root    148 1月  12 2016 asound.conf
-rw-r--r--.   1 root root      1 3月  22 2017 at.deny
drwxr-x---.   3 root root   4096 11月 25 23:07 audisp
drwxr-x---.   3 root root   4096 11月 25 23:07 audit
-rw-r--r--.   1 root root  13641 6月  20 00:20 autofs.conf
-rw-------.   1 root root    232 6月  20 00:20 autofs_ldap_auth.conf
-rw-r--r--.   1 root root    667 6月  20 00:20 auto.master
-rw-r--r--.   1 root root    524 6月  20 00:20 auto.misc
-rwxr-xr-x.   1 root root   1260 6月  20 00:20 auto.net
-rwxr-xr-x.   1 root root    687 6月  20 00:20 auto.smb
drwxr-xr-x.   2 root root   4096 11月 25 22:55 avahi
drwxr-xr-x.   2 root root   4096 11月 25 23:08 bash_completion.d
-rw-r--r--.   1 root root   2699 3月  22 2017 bashrc
drwxr-xr-x.   2 root root   4096 11月 25 23:27 blkid
drwxr-xr-x.   2 root root   4096 11月 25 23:02 bluetooth
drwxr-xr-x.   2 root root   4096 11月 25 22:53 bonobo-activation
-rw-r--r--.   1 root root   1780 10月 16 2009 cas.conf
-rw-r--r--.   1 root root     28 6月  26 22:52 centos-release
drwxr-xr-x.   2 root root   4096 11月 25 23:01 certmonger
drwxr-xr-x.   2 root root   4096 5月  11 2016 chkconfig.d
drwxr-xr-x.   5 root root   4096 11月 25 22:55 ConsoleKit
--More--

[root@localhost ~]# netstat  -an | grep "ESTABLISHED"

3、grep 搜索命令补充

[root@localhost ~]# grep 【选项】“搜索内容”  文件名

选项:

    -i  : 忽略大小写

   -n  :输出行号

   -v   : 反向查找

  --color=auto    搜索出的关键字用颜色显示

 

 

你可能感兴趣的:(Linux)