重定向、管道符、压缩

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解压缩并展开归档