如何使用终端

时间:2018-01-25 13:10:04

标签: linux terminal zip

我有目录"文件"使用这些文件:

FILE1.TXT。

FILE2.TXT

的index.html

的index.php

script.pl

我想创建名为files.zip的zip存档,只使用终端的.txt扩展名文件。我该怎么做?

3 个答案:

答案 0 :(得分:1)

在基本级别,如果您与文件所在的目录相同,则可以执行以下操作:

zip files.zip *txt

如果你想用.txt扩展来压缩文件,通过提供绝对路径,如果它们在Documents目录中,那么将在当前目录中创建files.zip在:

zip files.zip /the/path/to/Documents/*txt

如果您还希望此压缩文件位于Documents文件夹中,则应将其指定为:

zip /the/path/to/Documents/files.zip /the/path/to/Documents/*txt

答案 1 :(得分:0)

现有答案的附加组件,如果您要添加到现有的 zip 存档,要小心,如果您在 zip 存档内径。来自man zip

<块引用>

命令格式。基本命令格式为

   zip options archive inpath inpath ...

其中 archive 是一个新的或现有的 zip 存档,inpath 是一个目录或文件路径,可以选择包含通配符。当给出 现有 zip 存档的名称,zip 将替换 标识 zip 存档中命名的条目(匹配存档中存储的相对名称)或为新名称添加条目。为了 例如,如果 foo.zip 存在并包含 foo/file1 和 foo/file2,目录 foo 包含文件 foo/file1 和 foo/file3,则:

   zip -r foo.zip foo

或者更简洁

   zip -r foo foo

将替换 foo.zip 中的 foo/file1 并将 foo/file3 添加到 foo.zip。在此之后,foo.zip 包含 foo/file1、foo/file2 和 foo/file3,其中 foo/file2 与之前相同。

所以如果在 zip 命令执行之前 foo.zip 有:

   foo/file1 foo/file2

和目录 foo 有:

   file1 file3

然后 foo.zip 将有:

   foo/file1 foo/file2 foo/file3

其中 foo/file1 被替换,foo/file3 是新的。

答案 2 :(得分:-1)

尝试:

zip only-txt.zip `find . -name "*.txt"`

这将创建一个名为only-txt.zip的zip文件,其中包含运行该命令的目录中的所有*.txt文件,请注意,这将在dir的所有子文件夹中递归搜索* .txt文件