命令重定向:
在Bash命令执行中,除了有>符号,还有3种输出输入状况,分别是:
1 标准输入: 代码为0,或称为stdin,使用方式为<
2 标准输出: 代码为1,或称为stdout,使用方式为1>
3 错误输出: 代码为2,或称为stderr,使用方式为2>
>> 累加到文件中,文件累加,旧数据保留.
例:
[test @test test]# ls –al 1>list.txt 2>list.err
将显示数据正确输出到list.txt,错误的数据输出到list.err
>与>>比较,区别:
>: 将原来由屏幕输出的正确数据输出到>右边的文件或设备
>>: 将原来由屏幕输出的正确数据输出到>>右边,与>不同的是,该文件将不会被覆盖,而新的数据将以累加方式添加到文件的最后面.
/dev/null是什么呢?
答: 基本上,它有点象一个无底洞,专门收集垃圾,当您输入的任何东西导向到这个虚拟的垃圾桶,它就会凭空消失,非常有用.
例:
[test @test test]# find /-name testing 1> list_right 2> /dev/null
如果要把数据都写到同一个文件中
[test @test test]# find /-name testing 1> list_right 2>&1
管线命令
管线命令使用的是”|”界定符号
管线命令”|”仅能处理经由前一个指令传来的正确信息,也就是标准输出(stdout)信息,对于标准错误信息并没有直接处理能力.
每个管线部分都是指令,而后一个指令的输入乃是前一个指令的输出.
常用的管线命令:
cut
语法:
[root @test /root]# cut –d “分隔字符” [-cf] fields
参数说明:
-d: 后面接的是分割字符,默认是空格符
-c: 后面接的是第几个字符
-f: 后面接的是第几个区块
cut的主要用途在于将同一行里的数据进行分解,最常用在分析一些数据或文件数据的时候,因为有时候我们会以某些字符当作分割参数,然后将数据加以切割,以取得我们需要的数据(常用与分析我们的日志文件).
sort
语法:
[root @test /root]# sort [-t 分隔符] [(+起始)(-结束)][-nru]
参数说明:
-t 分隔符: 使用分隔符隔开不同区块,默认是tab
+start –end: 由第start区块排序到end区块
-n: 使用纯数字排序(否则会以字母方式排序)
-r: 反向排序
-u: 相同出现的一行,只列出一次
[root @test /root]# cat /etc/passwd | sort
将列出来的个人帐号排序
wc
语法:
[root @test /root]# wc [-lmw]
参数说明:
-l: 多少行
-m: 多少符号
-w: 多少字
例:
[root @test /root]# cat /etc/passwd | wc –l
这个文件里有多少行.
uniq
语法:
[root @test /root]#uniq
uniq删除重复的行从而只显示一个
tee
例:
[root @test /root]# last | tee last.list | cut –d “ ” –fi
使用tee,会将数据同时传给下一个命令执行,也会将数据写入last.list文件中
tr
语法:
[root @test /root]# tr [-ds] SET1
参数说明:
-d: 删除SET1这个字符串
-s: 取代重复的字符
例:
[root @test /root]# cat /etc/passwd | tr –d:
“:”这个符号在/etc/passwd中不见了
split
语法:
[root @test /root]# split [bl] 输入文件 输出文件前导字符
参数说明:
-b: 以文件SIZE来分
-l: 以行数来分
例:
[root @test /root]# split –l 5 /etc/passwd test
会产生testaa,testab,testac等文件
在Bash命令执行中,除了有>符号,还有3种输出输入状况,分别是:
1 标准输入: 代码为0,或称为stdin,使用方式为<
2 标准输出: 代码为1,或称为stdout,使用方式为1>
3 错误输出: 代码为2,或称为stderr,使用方式为2>
>> 累加到文件中,文件累加,旧数据保留.
例:
[test @test test]# ls –al 1>list.txt 2>list.err
将显示数据正确输出到list.txt,错误的数据输出到list.err
>与>>比较,区别:
>: 将原来由屏幕输出的正确数据输出到>右边的文件或设备
>>: 将原来由屏幕输出的正确数据输出到>>右边,与>不同的是,该文件将不会被覆盖,而新的数据将以累加方式添加到文件的最后面.
/dev/null是什么呢?
答: 基本上,它有点象一个无底洞,专门收集垃圾,当您输入的任何东西导向到这个虚拟的垃圾桶,它就会凭空消失,非常有用.
例:
[test @test test]# find /-name testing 1> list_right 2> /dev/null
如果要把数据都写到同一个文件中
[test @test test]# find /-name testing 1> list_right 2>&1
管线命令
管线命令使用的是”|”界定符号
管线命令”|”仅能处理经由前一个指令传来的正确信息,也就是标准输出(stdout)信息,对于标准错误信息并没有直接处理能力.
每个管线部分都是指令,而后一个指令的输入乃是前一个指令的输出.
常用的管线命令:
cut
语法:
[root @test /root]# cut –d “分隔字符” [-cf] fields
参数说明:
-d: 后面接的是分割字符,默认是空格符
-c: 后面接的是第几个字符
-f: 后面接的是第几个区块
cut的主要用途在于将同一行里的数据进行分解,最常用在分析一些数据或文件数据的时候,因为有时候我们会以某些字符当作分割参数,然后将数据加以切割,以取得我们需要的数据(常用与分析我们的日志文件).
sort
语法:
[root @test /root]# sort [-t 分隔符] [(+起始)(-结束)][-nru]
参数说明:
-t 分隔符: 使用分隔符隔开不同区块,默认是tab
+start –end: 由第start区块排序到end区块
-n: 使用纯数字排序(否则会以字母方式排序)
-r: 反向排序
-u: 相同出现的一行,只列出一次
[root @test /root]# cat /etc/passwd | sort
将列出来的个人帐号排序
wc
语法:
[root @test /root]# wc [-lmw]
参数说明:
-l: 多少行
-m: 多少符号
-w: 多少字
例:
[root @test /root]# cat /etc/passwd | wc –l
这个文件里有多少行.
uniq
语法:
[root @test /root]#uniq
uniq删除重复的行从而只显示一个
tee
例:
[root @test /root]# last | tee last.list | cut –d “ ” –fi
使用tee,会将数据同时传给下一个命令执行,也会将数据写入last.list文件中
tr
语法:
[root @test /root]# tr [-ds] SET1
参数说明:
-d: 删除SET1这个字符串
-s: 取代重复的字符
例:
[root @test /root]# cat /etc/passwd | tr –d:
“:”这个符号在/etc/passwd中不见了
split
语法:
[root @test /root]# split [bl] 输入文件 输出文件前导字符
参数说明:
-b: 以文件SIZE来分
-l: 以行数来分
例:
[root @test /root]# split –l 5 /etc/passwd test
会产生testaa,testab,testac等文件
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2491/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表