• 文件合并与打包


    文件合并和打包压缩

    1. 文件合并和覆盖

      cat 命令可以打开文件,使用 cat 命令可以将几个文件合并成一个文件:

    >		# 覆盖,前面的文件内容会覆盖后一个文件的内容
    >>		# 在末尾追加
    

      文件合并:

    cat a.txt b.txt > c.txt		# 合并(同时打开两个文件),将合并后的内容覆盖到 c.txt中
    

      示例 1:

    cat a.txt > b.txt		# 左边的文件内容覆盖右边的文件内容,若右边文件不存在,则新建
    echo 'hello' > b.txt	# 与上效果一样
    

      示例 2:

      命令输出结果也可以覆盖(添加)到文件中,常用于记录日志:

    ll > b.txt		# 命令输出结果覆盖到右边文件中
    
    wc -l a.txt		# 显示文件行数	
    
    cat a.txt | wc -l 	# 管道符(上一个命令的结果作用于后一个命令)
    

    2. 归档文件和压缩文件

      归档(archiving)就是讲许多文件(或目录)打包成一个文件,其目的是为了方便备份、还原以及文件的传输操作。

    2.1 tar 命令

      tar 命令常用于打包、查看解包文件以及解包

      语法:

    tar [] 打包文件名 源文件
    

      选项:

    • -c:打包(创建一个新的 tar 文件)
    • -v:显示过程(verbose)
    • -f:指定打包后的文件名
    • -t:列出 tar 文件中目录的内容
    • -x:从 tar 文件中抽取文件(及解包)
    • -z:使用 gzip 压缩算法来压缩打包后的文件
    • -j:使用 bzip2 压缩算法来压缩打包后的文件

    2.1.1 打包

    tar -cvf test.tar a.txt b.txt c.txt		# 将 a.txt、b.txt、c.txt打包成 test.tar
    

    2.1.2 查看打包文件

    tar -tf test.tar	# 查看归档文件
    

    2.1.3 解包

    tar -xvf test.tar	# 解包
    tar -xvf test.tar -C /tmp	# 解包到 /tmp 目录下
    

    2.2 压缩

      压缩就是将一个大的文件通过一些压缩算法变成一个小文件,其目的是为了缩小文件大小,节省存储文件的磁盘或磁带的空间,在网络传输时也会减少网络的流量。

    2.2.1 gzip 和 gunzip 命令

      gzip 命令用于压缩,gunzip 用于解压缩

      语法:

    gzip 参数
    gunzip 参数
    
    gzip 1.txt
    gunzip 1.txt.gz
    

    2.2.2 bzip2 和 bunzip2 命令

      bzip2 用于压缩,bunzip2 用于解压缩

      语法:

    bzip2 参数
    bunzip2 参数
    
    bzip2 1.txt
    bunzip2 1.txt.bz2
    

    2.3 打包与压缩

      打包和压缩可以连接在一起,tar 命令中 z 选项表示使用 gzip 压缩算法来压缩打包后的文件,j 选项表示使用 bzip2 压缩算法来压缩打包后的文件。

    2.3.1 压缩打包后的文件

    # 压缩打包后的文件为 .gz 格式的压缩包
    tar -czvf test.tar.gz a.txt b.txt c.txt 		# 打包并压缩成 gz 格式的压缩包
    
    tar -tf test.tar.gz		# 查看
    
    tar -xvf test.tar.gz	# 解包(解包不需要指定 z)
    
    tar -cjvf test.tar.bz2 a.txt b.txt
    

    2.3.2 打包目录下所有文件

    # 打包某个目录下的所有文件。而非目录
    cd test
    tar cvzf test2.tar.gz *
    tar: 从成员名中删除开头的 “/”	  
    
    [root@hj tmp]# cd test		# 切换到 test 目录下
    
    [root@hj test]# tar -czf test.tar.gz *		# 将test 目录下的全部文件打包并解压成名为 test.tar.gz 文件
    
    [root@hj test]# ls
    1.txt  2.txt  3.txt  a.pass  b.pass  c.pass  test.tar  test.tar.gz
    
    [root@hj test]# tar -xvf test.tar.gz -C /tmp/test2	# 解压缩到 test2 中
    [root@hj test]# ls /tmp/test2
    1.txt  2.txt  3.txt  a.pass  b.pass  c.pass  test.tar
    
  • 相关阅读:
    十进制数转换
    桶排序
    快速排序
    单词倒排
    (c++) string b; cin>>b; int i=strlen(b); 报错的原因。
    n的阶乘(1<n<10000)(结果超大……)
    2020软件工程最后一次作业
    2020软件工程第四次作业
    2020软件工程第三次作业
    2020软件工程第二次作业
  • 原文地址:https://www.cnblogs.com/midworld/p/11049495.html
Copyright © 2020-2023  润新知