重定向、管道符、压缩
1、重定向与管道符
重定向 #将输出的内容重定向到某个文件
#系统设定:
默认输入设备 #标准输入,STDIN,0 (键盘)
默认输出设备 #标准输出(显示器)
标准正确输出 #STDOUT,1
标准错误输出 #STDERR,2
#I/O重定向:
> #覆盖输出重定向
>> #追加输出重定向
2> #重定向错误输出
2>> #追加重定向错误输出
&> #覆盖重定向标准输出或错误输出至同一个文件
&>> #追加重定向标准输出或错误输出至同一个文件
< #输入重定向
<< #Here Document,退出条件;退出条件加单引号使输入的特殊字符没有特殊含义
tee #从标准输入读取数据,输出一份到屏幕上,一份保存到文件
示例:
[root@localhost ~]# tee /tmp/hello.out
hello world
hello world
[root@localhost ~]# cat /tmp/hello.out
hello world
| 管道符 #前一个命令的输出,作为后一个命令的输入。最后一个命令会在当前shell进程的子shell进程中执行
使用格式: 命令1 | 命令2 | 命令3 | ...
示例:
[root@hzz ~]# echo "hello hzz" | cut ‐d ' ' ‐f 2
hzz
xargs #和管道符连用,将前面的命令执行的结果作为参数交给后面的命令执行
使用格式: 命令1 | xargs 命令2
选项:
-n #设置一次性传递的参数的数量,默认是所有
-i #将数据拆分为一个一个的存储在{}中
-d #自定义分隔符
示例:
[root@hzz ~]# find / -name "ifcfg-ens33" | xargs -i cp {} /root/
[root@hzz ~]# ls
ifcfg-ens33
2、压缩、解压缩命令
#压缩格式: gz,bz2,xz,zip,Z
compress #用此命令压缩的文件其文件名为FILENAME.Z,解压用uncompress
gzip #压缩后的文件以.gz结尾;只能压缩文件不能压缩目录
gzip /path/to/somefile #压缩完成后会不保留原文件
-d #解压缩,解压完成后不保留原文件
-c #将结果输出至标准输出,保留原文件
-# #-后面加数字1-9,-1压缩等级最低;-9 压缩比最高。默认压缩比是-6
-l #查看压缩文件内的内容;从左至右依次显示为:
#压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名称
gunzip #解压
gunzip /path/to/some_compress_file.gz #解压完成后不保留原文件
zcat /path/to/somefile.gz #不解压的情况下查看文本文件的内容
bzip2 #压缩后的文件以.bz2结尾;bzip2是一款比gzip有着更大压缩比的压缩工具,使用格式近似
bzip2 /path/to/somefile #压缩完成后不保留原文件
-d #解压缩,解压完成后不保留原文件
-6 #-后面加数字1-9,指定压缩比,默认为6
-k #keep,压缩时保留原文件
bunzip2 #解压
bunzip2 /path/to/some_compress_file.bz2 #解压完成后不保留原文件
bzcat /path/to/somefile.bz2 #不解压的情况下查看文本文件的内容
xz #压缩后的文件以.xz结尾;比bzip2有着更大压缩比的压缩工具,使用格式近似
xz /path/to/somefile #压缩完成后不保留原文件
-d #解压缩,解压完成后不保留原文件
-# #-后面加数字1-9,指定压缩比,默认为6
-k #keep,压缩时保留原文件
unxz #解压
unxz /path/to/some_compress_file.xz #解压完成后不保留原文件
xzcat /path/to/somefile.xz #不解压的情况下查看文本文件的内容
zip #既归档又压缩的工具,zip压缩后保留原文件,zip可以压缩目录
#gz、bz2、xz都只能压缩文件。
-d #指定解压路径
zip filename.zip file1 file2 ...
zip filename.zip DIR/*
unzip #解压
unzip filename.zip
tar #归档工具,只归档不压缩
-c #创建归档文件
-f file.tar #操作的归档文件
-x #还原归档
-v #显示归档过程
-C #将展开的归档文件保存至指定目录下
-tf /path/to/file.tar #不展开归档,直接查看归档了哪些文件
--delete #从归档文件中删除文件
-p #归档时保留权限信息。只有管理员才有权限用此选项
--xattrs #在归档时保留文件的扩展属性信息
-zcf #归档并调用gzip压缩
-zxf #调用gzip解压缩并展开归档
-jcf #归档并调用bzip2压缩
-jxf #调用bzip2解压缩并展开归档
-Jcf #归档并调用xz压缩
-Jxf #调用xz解压缩并展开归档