linux新手基礎6—重定向
阿新 • • 發佈:2019-01-11
linux新手基礎6—重定向
1.輸出重定向
符號 | 含義 |
---|---|
> | #重定向正確輸出 |
2> | #重定向錯誤輸出 |
&> | #重定向所有輸出 |
注意:重定向會覆蓋原檔案內容
輸出所有etc目錄下含有‘passwd’的內容
[[email protected] ~]$ find /etc/ -name passwd
find: ‘/etc/pki/CA/private’: Permission denied #重定向錯誤輸出
find: ‘/etc/pki/rsyslog’: Permission denied #重定向錯誤輸出
find: ‘/etc/audit’: Permission denied #重定向錯誤輸出
/etc/passwd #重定向正確輸出file
find: ‘/etc/polkit-1/rules.d’: Permission denied #重定向錯誤輸出
find: ‘/etc/polkit-1/localauthority’: Permission denied #重定向錯誤輸出
find: ‘/etc/grub.d’: Permission denied #重定向錯誤輸出
find: ‘/etc/selinux/targeted/modules/active’: Permission denied #重定向錯誤輸出
/etc/pam.d/passwd #重定向正確輸出
find: ‘/etc/lvm/archive’: Permission denied #重定向錯誤輸出
find: ‘/etc/lvm/backup’: Permission denied #重定向錯誤輸出
find: ‘/etc/lvm/cache’: Permission denied #重定向錯誤輸出
find: ‘/etc/dhcp’: Permission denied #重定向錯誤輸出
find: ‘/etc/firewalld’: Permission denied #重定向錯誤輸出
find: ‘/etc/audisp’: Permission denied #重定向錯誤輸出
find: ‘/etc/sudoers.d’: Permissifileon denied #重定向錯誤輸出
find: ‘/etc/ipsec.d’: Permission denied #重定向錯誤輸出
find: ‘/etc/libvirt’: Permission denied #重定向錯誤輸出
find: ‘/etc/cups/ssl’: Permission denied #重定向錯誤輸出
[ [email protected] ~]$
find /etc/ -name passwd > westos
find /etc/ -name passwd 2> westos
find /etc/ -name passwd &> westos
![](https://img-blog.csdnimg.cn/20190111115507192.?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDMyMTExNg==,size_16,color_FFFFFF,t_70
正確輸出與錯誤輸出
命令 | 含義 |
---|---|
find /etc/ -name passwd 1> westos | #正確輸出到westos檔案中 |
find /etc/ -name passwd 2> westfileos | #錯誤輸出到westos檔案中 |
find /etc/ -name passwd 1&2> westos | #錯誤所有到westos檔案中 |
2.輸出追加(追加不會覆蓋原檔案內容)
命令 | 含義 |
---|---|
>> | #追加正確輸出到檔案最後 |
2>> | #追加錯誤輸出到檔案最後 |
&>> | #追加所有輸出到檔案最後 |
例如:
管道
把輸出變成下一個程式的輸入
管道是用來組合多條命令的使用的
ls /root | wc -l
檢視/root下所有檔案個數
注意:通過管道後輸出會變成輸入,那麼是無法儲存在檔案中的
tee #複製輸出到指定位置
ls /root | tee file1 | wc -l
cat file #file中已經儲存了輸出
| #管道不允許錯誤輸出通過
2>&1 #表示把錯誤輸出偽裝成正確輸出
例子:
[[email protected] ~]$ cat -b /etc/passwd | head -n 18 | tail -n 4 #輸出/etc/passwd中的15-18行
15 polkitd: x:999:998:User for polkitd:/:/sbin/nologin
16 avahi: x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
17 avahi-autoipd: x: 170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
18 rpc: x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
2.輸入重定向
多行錄入
cat >file <<we
> hello
> redhat
> we
手動改密碼時需要一個一個改 那麼如何實現自動更改密碼?
例如: