数据流重导向
<style></style> <style></style>1、standard output与standard error output
- 标准输入 (stdin): 代码为0, 使用<或者<<
- 标准输出 (stdout) 代码为 1 ,使用 > 或 >>
- 标准错误输出 (stderr ) 代码为 2 ,使用 2> 或 2>> ;
# 例子标准输出,导出到文件2
[dai@workPC ~]$ ll / > ~/rootfile3 4
[dai@workPC ~]$ cat rootfile5
total 806
lrwxrwxrwx. 1 root root 7 Mar 7 2019 bin -> usr/bin7
dr-xr-xr-x. 6 root root 4096 Dec 31 19:36 boot8
drwxr-xr-x 2 root root 4096 Mar 12 2019 data9
drwxr-xr-x 19 root root 3000 Oct 13 08:27 dev10
drwxr-xr-x. 107 root root 12288 Dec 31 19:37 etc11
drwxr-xr-x. 4 root root 4096 Dec 1 23:54 home12
lrwxrwxrwx. 1 root root 7 Mar 7 2019 lib -> usr/lib13
lrwxrwxrwx. 1 root root 9 Mar 7 2019 lib64 -> usr/lib6414
drwx------. 2 root root 16384 Mar 7 2019 lost+found15
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media16
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt17
drwxr-xr-x. 11 root root 4096 Dec 30 21:16 opt18
dr-xr-xr-x 103 root root 0 Oct 13 08:27 proc19
dr-xr-x---. 10 root root 4096 Jan 1 12:05 root20
drwxr-xr-x 34 root root 1160 Dec 31 19:37 run21
lrwxrwxrwx. 1 root root 8 Mar 7 2019 sbin -> usr/sbin22
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv23
dr-xr-xr-x 13 root root 0 Jan 1 20:01 sys24
drwxrwxrwt. 16 root root 12288 Jan 1 12:53 tmp25
drwxr-xr-x. 13 root root 4096 Mar 7 2019 usr26
drwxr-xr-x. 19 root root 4096 Mar 7 2019 var27 28
# 标准错误输入,导出到黑洞29
# /dev/null 垃圾桶黑洞装置与特殊写法30 31
[dai@workPC /]$ cd root/32
-bash: cd: root/: Permission denied33 34
[dai@workPC home]$ cd root/ 2> /home/dai/error1.log35
[dai@workPC ~]$ cat error1.log36
-bash: cd: root/: No such file or directory37 38 39
# /dev/null 垃圾桶黑洞装置与特殊写法40
[dai@workPC /]$ cd root/ 2> /dev/null41
[dai@workPC /]$42 43
# 将错误和正确信息一起导出文件中, 比如下面的这个例子,如果权限不够的时候,屏幕会输出错误信息44
# 这个时候将正确和错误信息都输出到 file_name 这个文件45
find /home -name .bashrc > file_name 2>&146
2、standard Input:< 和<<
1
# 引子2
[dai@workPC ~]$ cat > rootfile3
wqe4
we25
^C6
[dai@workPC ~]$ cat rootfile7
wqe8
we29
[dai@workPC ~]$10 11
# 下面就是input的用法12
# 将一个文件作为另一个文件的输入13
[dai@workPC ~]$ cat > rootfile < ~/.bashrc # 将.bashrc 文件中的内容导入 rootfile14 15
# 使用关键字给文件插入文字16
[dai@workPC ~]$ cat > rootfile << eof17
> This is a test18
> OK now stop19
> eof20
[dai@workPC ~]$ cat rootfile21
This is a test22
OK now stop23
3、命令执行的判断依据
- cmd;cmd (不考虑指令相关性的连续执行下去)
1
[dai@workPC ~]$ echo hello world;echo dai;echo haolong2 3
# 不考虑指令是否执行成功
- &&
1
cmd1&&cmd22
# 如果cmd1 正确执行,再执行cmd2;如果cmd1执行失败,则不再执行cmd2
- ||
1
cmd1||cmd22
# 如果cmd1 正确执行,不再执行cmd2;如果cmd1执行失败,再执行cmd2