Unit 3
一、管理输入和输出
在Linux系统中,正确输出为“1⃣️”,错误输出为“2⃣️”
(用普通用户student的身份在系统内执行)
find /etc -name passwd
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/passwd ##正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/grub.d’: Permission denied
/etc/pam.d/passwd ##正确输出
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/named’: Permission denied
find /etc -name passwd > file ##重定向正确输出
find /etc -name passwd 2> file ##重定向错误输出
find /etc -name passwd &> file ##重定向所有输出
Ps: >重定向,但会覆盖原文件内容
e.g:
>file ##清空file
find /etc -name passwd >> file ##追加正确输出
find /etc -name passwd 2>> file ##追加错误输出
find /etc -name passwd &>> file ##追加所有输出
Ps:>>追加,不会覆盖原文件内容
e.g:
>>file #追加内容给file
Ps:系统的错误输出是无法通过管道的,我们可以将2⃣️>&1⃣️,即可得到所有输出。
二、管道 “|”
将上一条的输出转化为下一条的输入
tee # 复制输出到指定位置
e.g:
date |tee file |wc -l #复制date命令的所有输出到file中,并统计行数
管道的应用实例:
显示/etc/passwd文件的第15-18行的内容