【问题标题】:bash output redirection limits?bash输出重定向限制?
【发布时间】:2015-07-15 11:55:11
【问题描述】:

我尝试在 bash 中连接大文件(一些 GB)。我试过了

    cat file1 file2 file3 > result

它没有工作,而

    cat file1 file2 file3 >> result

工作。在这两种情况下,文件结果之前都不存在,我的期望是,两个命令都会给出相同的结果。

在同一个系统上,我用小文件(只是一些字节)尝试了同样的事情,两个命令产生了相同的输出。我试图找到一些解释(例如here)但找不到任何解释...

所以,我知道如何解决我的问题,但我仍然感到困惑。有没有人能提供线索?

【问题讨论】:

  • 运行第一个命令时发生了什么?
  • 这些文件都是普通文件吗?
  • @lcd047 单个文件是 .gz.parts 并且结果不允许我解压它给出了错误
  • @Alepac 是的,没有设备或任何虚拟的东西,只有普通文件
  • 您是在使用此命令来编写连接文件还是通过管道 | 重定向到 gunzip?

标签: bash redirect output limits


【解决方案1】:

当我需要拆分文件时,我会使用一个非常有效的技巧:

tar --one-file-system -czv /home | split -b 4000m - /media/DRIVENAME/BACKUPNAME.tgz

然后,恢复:

cat /media/DRIVENAME/BACKUPNAME.tgz.* | tar -x /

所以无论容器是什么,cat 都可以完成这项工作。因此,如果您的拆分文件的生成错误或文件系统的限制都不起作用。您使用的是什么文件系统?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2020-08-03
    • 1970-01-01
    相关资源
    最近更新 更多