**管道通常用来组合不同的命令,实现一个复杂的功能。 (|)
**重定向通常用来保存某命令的输出信息及报错信息,可以用来记录执行结果或保存错误信息到某一指定文件。(> >> 2> <)
1.将终端输出结果重定向到指定文件中。>(覆盖)(错误信息不会被重定向文件中)
[例子1]
wangzheng@ubuntu:~$ echo "wangzheng" >wangzheng.txt
wangzheng@ubuntu:~$ ls
Desktop Music Templates aabbcc etc.tar.gz wangzheng.tar
Documents Pictures Ubuntu One abc.txt examples.desktop.gz wangzheng.txt
Downloads Public Videos bingfeng home wangzheng.zip
wangzheng@ubuntu:~$ cat wangzheng.txt
wangzheng
[例子2]
wangzheng@ubuntu:~$ ls -l >wangzheng.txt
wangzheng@ubuntu:~$ cat wangzheng.txt
total 149880
drwxr-xr-x 5 wangzheng wangzheng 4096 Jul 10 09:41 Desktop
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 5 07:19 Documents
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 9 19:39 Downloads
00:57 wangzheng.zip
...............
2.将终端输出结果重定向到指定文件中。>>(追加)(错误信息不会被重定向文件中)
wangzheng@ubuntu:~$ echo "abcd" >> abc.txt
wangzheng@ubuntu:~$ cat abc.txt
abcd
wangzheng@ubuntu:~$ echo "efghj" >>abc.txt
wangzheng@ubuntu:~$ cat abc.txt
abcd
efghj
wangzheng@ubuntu:~$
3、将报错信息重定向到文件中 (2>),多用于日志文件
wangzheng@ubuntu:~$ ls -l 1234567/ 2>wangzheng.txt
wangzheng@ubuntu:~$ cat wangzheng.txt
ls: cannot access 1234567/: No such file or directory
4.同时保存正确结果和错误信息 (2>&1)#xa0;
5. 标准输入 (<)#xa0;
在 /etc/passwd 文件里搜索 带有“wangzheng” 的字符
wangzheng@ubuntu:~$ grep wangzheng < /etc/passwd
wangzheng:x:1000:1000:Administrator,,,:/home/wangzheng:/bin/bash
wangzheng@ubuntu:~$
6.管道:将一个命令的输出结果当做另一个命令的输入内容 (|)
wangzheng@ubuntu:~$ ls -l | grep wangzheng
drwxr-xr-x 5 wangzheng wangzheng 4096 Jul 10 10:22 Desktop
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 5 07:19 Documents
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 9 19:39 Downloads
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 5 07:19 Music
drwxr-xr-x 4 wangzheng wangzheng 4096 Jul 9 19:21 Pictures
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 5 07:19 Public
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 5 07:19 Templates
drwxrwxr-x 2 wangzheng wangzheng 4096 Jul 5 07:03 Ubuntu One
drwxr-xr-x 2 wangzheng wangzheng 4096 Jul 5 07:19 Videos
-rw-rw-r-- 1 wangzheng wangzheng 0 Jul 5 01:26 aabbcc
-rw-rw-r-- 1 wangzheng wangzheng 11 Jul 10 10:00 abc.txt
drwxrwxr-x 2 wangzheng wangzheng 4096 Jul 6 08:38 bingfeng
-rw-rw-r-- 1 wangzheng wangzheng 1296120 Jul 5 01:19 etc.tar.gz
-rw-r--r-- 1 wangzheng wangzheng 3742 Jun 30 09:44 examples.desktop.gz
drwxrwxr-x 3 wangzheng wangzheng 4096 Jul 5 01:16 home
-rw-rw-r-- 1 wangzheng wangzheng 152125440 Jul 5 01:13 wangzheng.tar
-rw-rw-r-- 1 wangzheng wangzheng 1289 Jul 10 10:19 wangzheng.txt
-rw-rw-r-- 1 wangzheng wangzheng 3889 Jul 5 00:57 wangzheng.zip
7. 在根目录下查找wangzheng用户的所有包含wangzheng字符的文件(太多了!)
root@ubuntu:~# find / -user wangzheng | grep angzheng
...................
root@ubuntu:~# ls -l / |grep home
drwxr-xr-x 3 root root 4096 Jun 30 09:44 home
(将结果追加到 wangzheng.txt 文件中,有点慢哦!)
root@ubuntu:~# find / -user wangzheng >> /home/wangzheng/wangzheng.txt |grep wangzheng
root@ubuntu:~# find / -user wangzheng >> /home/wangzheng/wangzheng.txt |grep wangzheng
find: `/run/user/wangzheng/gvfs': Permission denied
find: `/proc/7277/task/7277/fd/5': No such file or directory
find: `/proc/7277/task/7277/fdinfo/5': No such file or directory
find: `/proc/7277/fd/5': No such file or directory
find: `/proc/7277/fdinfo/5': No such file or directory
root@ubuntu:~#