美文网首页Linux开发
4-16 Linux中的管道符

4-16 Linux中的管道符

作者: 捌千里路雲和月 | 来源:发表于2021-12-19 00:15 被阅读0次

1、管道符用 | (一竖)表示。

2、管道符的作用:

  • 承上启下,把上一个命令的输出作为下一个命令的输入来执行。
  • 搭配 grep 实现过滤功能。

3、实操练习:

  • ①、ll /etc/ 列出 etc 目录下的内容,etc 目录下有很多内容,不便于阅读。那么,可以通过管道符配合 more 命令进行分页显示,便于阅读。
    ll /etc/ | more 是一个管道符使用的典型案例。前面 ll /etc/ 命令的输出作为后面 more 的输入,more 会把 ll /etc/ 的输出进行分页显示,便于阅读。
[root@localhost ~]# ll /etc/ | more
total 1076
-rw-r--r--.  1 root root     16 Mar  5  2021 adjtime
-rw-r--r--.  1 root root   1529 Apr  1  2020 aliases
-rw-r--r--.  1 root root  12288 Mar 22  2021 aliases.db
drwxr-xr-x.  2 root root    236 Mar 22  2021 alternatives
-rw-------.  1 root root    541 Aug  9  2019 anacrontab
-rw-r--r--.  1 root root     55 Aug  8  2019 asound.conf
drwxr-x---.  3 root root     43 Mar 22  2021 audisp
drwxr-x---.  3 root root     83 Mar 22  2021 audit
drwxr-xr-x.  2 root root     46 Apr  2  2021 bash_completion.d
-rw-r--r--.  1 root root   2853 Apr  1  2020 bashrc
drwxr-xr-x.  2 root root      6 Feb  3  2021 binfmt.d
-rw-r--r--.  1 root root     37 Nov 23  2020 centos-release
-rw-r--r--.  1 root root     51 Nov 23  2020 centos-release-upstream
drwxr-xr-x.  2 root root      6 Oct 13  2020 chkconfig.d
drwxr-xr-x.  2 root root     21 Mar 22  2021 cron.d
drwxr-xr-x.  2 root root     42 Mar 22  2021 cron.daily
-rw-------.  1 root root      0 Aug  9  2019 cron.deny
drwxr-xr-x.  2 root root     22 Mar 22  2021 cron.hourly
drwxr-xr-x.  2 root root      6 Jun 10  2014 cron.monthly
--More--      ## <---- more 分页显示

②、利用管道符配合 grep,列出指定关键字的目录和文件。

  • 列出 etc 目录含 “ cron” 的目录和文件。
[root@localhost ~]# ll /etc/ | grep cron
-rw-------.  1 root root    541 Aug  9  2019 anacrontab
drwxr-xr-x.  2 root root     21 Mar 22  2021 cron.d
drwxr-xr-x.  2 root root     42 Mar 22  2021 cron.daily
-rw-------.  1 root root      0 Aug  9  2019 cron.deny
drwxr-xr-x.  2 root root     22 Mar 22  2021 cron.hourly
drwxr-xr-x.  2 root root      6 Jun 10  2014 cron.monthly
-rw-r--r--.  1 root root    457 Oct 19 15:10 crontab
drwxr-xr-x.  2 root root      6 Jun 10  2014 cron.weekly
[root@localhost ~]# 

  • 列出 etc 目录含 “ cron” 的目录,目录的特征是前面以 d 开头。所以,过滤了所有含 “ cron” 的目录出来后,再用一个管道符进行过滤所有 d 开头的文件。(grep ' ^d ',^ 符号代表行首的位置。 ' ^d ',行首为 d 开头)。
[root@localhost ~]# 
[root@localhost ~]# ll /etc/ | grep cron | grep '^d'
drwxr-xr-x.  2 root root     21 Mar 22  2021 cron.d
drwxr-xr-x.  2 root root     42 Mar 22  2021 cron.daily
drwxr-xr-x.  2 root root     22 Mar 22  2021 cron.hourly
drwxr-xr-x.  2 root root      6 Jun 10  2014 cron.monthly
drwxr-xr-x.  2 root root      6 Jun 10  2014 cron.weekly
[root@localhost ~]# 

  • 列出 etc 目录含 “ cron” 的文件,文件的特征是前面以 - 开头。所以,过滤了所有 “ cron” 的目录出来后,再用一个管道符进行过滤所有 - 开头的文件。(grep ' ^- ',^ 符号代表行首的位置。' ^- ',行首为 - 开头 )。
[root@localhost ~]# ll /etc/ | grep cron | grep '^-'
-rw-------.  1 root root    541 Aug  9  2019 anacrontab
-rw-------.  1 root root      0 Aug  9  2019 cron.deny
-rw-r--r--.  1 root root    457 Oct 19 15:10 crontab
[root@localhost ~]# 

## 方法 2:目录取反,因为除了目录剩下就是文件。取反用 grep -v
[root@localhost ~]# ll /etc/ | grep cron | grep -v '^d'
-rw-------.  1 root root    541 Aug  9  2019 anacrontab
-rw-------.  1 root root      0 Aug  9  2019 cron.deny
-rw-r--r--.  1 root root    457 Oct 19 15:10 crontab
[root@localhost ~]# 

③、管道符还经常配合 ps aux 查看进程使用。

  • 列出所有 cron 进程。
[root@localhost ~]# 
[root@localhost ~]# ps aux | grep cron
root        594  0.0  0.0 126384  1664 ?        Ss   09:05   0:00 /usr/sbin/crond -n
root       1836  0.0  0.0 112812   972 pts/0    R+   16:23   0:00 grep --color=auto cro
[root@localhost ~]# 

## cron 进程输出重定向到 cron.txt 文件
[root@localhost ~]# ps aux | grep cron > cron.txt
[root@localhost ~]# 
[root@localhost ~]# cat cron.txt 
root        594  0.0  0.0 126384  1664 ?        Ss   09:05   0:00 /usr/sbin/crond -n
root       1838  0.0  0.0 112812   972 pts/0    R+   16:26   0:00 grep --color=auto cron
[root@localhost ~]# 

相关文章

  • 4-16 Linux中的管道符

    1、管道符用 | (一竖)表示。 2、管道符的作用: 承上启下,把上一个命令的输出作为下一个命令的输入来执行。 搭...

  • shell 常用命令备忘

    文本处理 linux 自动补全 linux 管道符中的占位符传递 ansible dgraph图库安装 解析配置文...

  • linux中管道符的使用

    linux中管道符的使用非常普遍 管道符的用法是将第一个命令的结果传递给第二个命令作为输入 管道符的使用有两个条件...

  • Linux命令: |

    | | 这个不是字母L,在Linux中叫做管道符,按住shift+\键 就出来了。管道符就是把上一条命令的输出,作...

  • linux三剑客与管道

    一:什么是管道? linux提供管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右面命令的输入 什么...

  • 16. Linux 管道符( ‘|’ )

    利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意...

  • R语言也有管道符%>%

    在linux系统中我门常用‘|’管道符将上一条命令的输出,作为下一条命令的输入。 在R语言中与存在类似的管道符号,...

  • R语言中的管道符%>%

    与linux中的管道符(|)功能相似,都可以进行数据信息的传递。 %>%:来自dplyr包的管道函数,我们可以将其...

  • linux|管道符号

    |管道符是什么:把前一个命令的输出结果输出给下一个命令使用。 为什么有管道符:对结果进行过滤。 使用方法: 总结:

  • shell基础

    Linux学习 一、管道符和作业控制 cat 1.txt |wc -l cat 1.txt |grep 'aaa'...

网友评论

    本文标题:4-16 Linux中的管道符

    本文链接:https://www.haomeiwen.com/subject/gwbfaltx.html