08管道命名符

管道命名符的作用:把前一个命令原来要输入到屏幕的标准正常数据当做后一个命令的标准输入。

1. grep 命令中的使用

找出被限制登录用户的命令是 grep "/sbin/nologin" /etc/passwd;

统计文本行数的命令是 wc -l;

现在要做的就是把搜索命令的输出值传递给统计命令,即把原来输出到屏幕的用户信息列表再交给 wc 命令作进一步的加工,因此只需要把管道符放到两条命令之间即可。

[root@localhost ~]# grep "/sbin/nologin" /etc/passwd | wc -l
16
2. 搭配 more 命令中的使用

某些命令的输出经常会出现好多行,然后一股脑地显示到屏幕上,根本看不清楚。我们可以使用 more 翻页形式查看内容。

[root@localhost ~]# ls -l /etc | more
total 1084
-rw-r--r--.  1 root root     44 Jun  7 14:18 adjtime
-rw-r--r--.  1 root root   1518 Jun  7  2013 aliases
-rw-r--r--.  1 root root  12288 Nov 14  2017 aliases.db
drwxr-xr-x.  2 root root    236 Nov 14  2017 alternatives
-rw-------.  1 root root    541 Mar 31  2016 anacrontab
-rw-r--r--.  1 root root     55 Nov  5  2016 asound.conf
drwxr-x---.  3 root root     43 Nov 14  2017 audisp
drwxr-x---.  3 root root     83 Nov 14  2017 audit
drwxr-xr-x.  2 root root     22 Nov 14  2017 bash_completion.d
-rw-r--r--.  1 root root   2853 Nov  6  2016 bashrc
drwxr-xr-x.  2 root root      6 Nov  7  2016 binfmt.d
-rw-r--r--.  1 root root     38 Nov 30  2016 centos-release
-rw-r--r--.  1 root root     51 Nov 30  2016 centos-release-upstream
--More--
3. 搭配 passwd 命令重置密码

使用 passwd 命令修改用户密码时,通常都需要输入两次密码以进行确认,这在编写自动化脚本时将称为一个非常致命的缺陷。通过把管道符和 passwd 命令的 --stdin 参数结合,可以用一条命令来完成密码重置操作。

//直接使用passwd命令需要输入两次密码
[root@localhost /]# passwd
Changing password for user root.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
//使用passwd --stdin 命令需要输入一次密码
[root@localhost /]# passwd --stdin root
Changing password for user root.
1
passwd: all authentication tokens updated successfully.
//使用管道符连接echo与passwd命令不需要输入密码
 [root@localhost /]# echo "1" | passwd --stdin root
Changing password for user root.
passwd: all authentication tokens updated successfully.   
posted @ 2018-06-13 14:24  洛克十年  阅读(161)  评论(0编辑  收藏  举报