1. 程式人生 > >linux新手基礎6—重定向

linux新手基礎6—重定向

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

在這裡插入圖片描述
手動改密碼時需要一個一個改 那麼如何實現自動更改密碼?
例如:
在這裡插入圖片描述