数据流导向
Posted dadaizi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据流导向相关的知识,希望对你有一定的参考价值。
数据流重导向
1、standard output与standard error output
- 标准输入 (stdin): 代码为0, 使用<或者<<
- 标准输出 (stdout) 代码为 1 ,使用 > 或 >>
- 标准错误输出 (stderr ) 代码为 2 ,使用 2> 或 2>> ;
1
# 例子标准输出,导出到文件
2
[dai@workPC ~]$ ll / > ~/rootfile
3
4
[dai@workPC ~]$ cat rootfile
5
total 80
6
lrwxrwxrwx. 1 root root 7 Mar 7 2019 bin -> usr/bin
7
dr-xr-xr-x. 6 root root 4096 Dec 31 19:36 boot
8
drwxr-xr-x 2 root root 4096 Mar 12 2019 data
9
drwxr-xr-x 19 root root 3000 Oct 13 08:27 dev
10
drwxr-xr-x. 107 root root 12288 Dec 31 19:37 etc
11
drwxr-xr-x. 4 root root 4096 Dec 1 23:54 home
12
lrwxrwxrwx. 1 root root 7 Mar 7 2019 lib -> usr/lib
13
lrwxrwxrwx. 1 root root 9 Mar 7 2019 lib64 -> usr/lib64
14
drwx------. 2 root root 16384 Mar 7 2019 lost+found
15
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
16
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
17
drwxr-xr-x. 11 root root 4096 Dec 30 21:16 opt
18
dr-xr-xr-x 103 root root 0 Oct 13 08:27 proc
19
dr-xr-x---. 10 root root 4096 Jan 1 12:05 root
20
drwxr-xr-x 34 root root 1160 Dec 31 19:37 run
21
lrwxrwxrwx. 1 root root 8 Mar 7 2019 sbin -> usr/sbin
22
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
23
dr-xr-xr-x 13 root root 0 Jan 1 20:01 sys
24
drwxrwxrwt. 16 root root 12288 Jan 1 12:53 tmp
25
drwxr-xr-x. 13 root root 4096 Mar 7 2019 usr
26
drwxr-xr-x. 19 root root 4096 Mar 7 2019 var
27
28
# 标准错误输入,导出到黑洞
29
# /dev/null 垃圾桶黑洞装置与特殊写法
30
31
[dai@workPC /]$ cd root/
32
-bash: cd: root/: Permission denied
33
34
[dai@workPC home]$ cd root/ 2> /home/dai/error1.log
35
[dai@workPC ~]$ cat error1.log
36
-bash: cd: root/: No such file or directory
37
38
39
# /dev/null 垃圾桶黑洞装置与特殊写法
40
[dai@workPC /]$ cd root/ 2> /dev/null
41
[dai@workPC /]$
42
43
# 将错误和正确信息一起导出文件中, 比如下面的这个例子,如果权限不够的时候,屏幕会输出错误信息
44
# 这个时候将正确和错误信息都输出到 file_name 这个文件
45
find /home -name .bashrc > file_name 2>&1
46
2、standard Input:< 和<<
1
# 引子
2
[dai@workPC ~]$ cat > rootfile
3
wqe
4
we2
5
^C
6
[dai@workPC ~]$ cat rootfile
7
wqe
8
we2
9
[dai@workPC ~]$
10
11
# 下面就是input的用法
12
# 将一个文件作为另一个文件的输入
13
[dai@workPC ~]$ cat > rootfile < ~/.bashrc # 将.bashrc 文件中的内容导入 rootfile
14
15
# 使用关键字给文件插入文字
16
[dai@workPC ~]$ cat > rootfile << eof
17
> This is a test
18
> OK now stop
19
> eof
20
[dai@workPC ~]$ cat rootfile
21
This is a test
22
OK now stop
23
3、命令执行的判断依据
- cmd;cmd (不考虑指令相关性的连续执行下去)
1
[dai@workPC ~]$ echo hello world;echo dai;echo haolong
2
3
# 不考虑指令是否执行成功
- &&
1
cmd1&&cmd2
2
# 如果cmd1 正确执行,再执行cmd2;如果cmd1执行失败,则不再执行cmd2
- ||
1
cmd1||cmd2
2
# 如果cmd1 正确执行,不再执行cmd2;如果cmd1执行失败,再执行cmd2
以上是关于数据流导向的主要内容,如果未能解决你的问题,请参考以下文章