如何使用 tar 压缩当前目录中的所有文件,但不输入 tar 文件和所有文件的名称?

Posted

技术标签:

【中文标题】如何使用 tar 压缩当前目录中的所有文件,但不输入 tar 文件和所有文件的名称?【英文标题】:How to tar all files in current directory using tar but without inputing names of tar file and all files? 【发布时间】:2017-08-23 11:41:34 【问题描述】:

环境:

macOS Sierra 10.12.6

原始输入(示例):

.
├── f1.md
├── f2.md
├── f3.md
├── f4.txt
├── f5.csv
└── f6.doc

0 directories, 6 files

在一个测试文件夹中,有6个文件。

预期输出:

.
├── all.tar
├── f1.md
├── f2.md
├── f3.md
├── f4.txt
├── f5.csv
└── f6.doc

0 directories, 7 files

尝试和问题

tar -cvf all.tar f1.md f2.md f3.md f4.txt f5.csv f6.doc 

虽然我从上述方法得到结果,但我必须输入所有文件名和压缩文件名,这很不方便。例如,我可以选择所有文件并右键单击,然后选择压缩选项而不输入all.tar(我不介意.tar 文件名。)

希望

命令行方式,无需输入具体文件名。

【问题讨论】:

【参考方案1】:

如果您想要所有文件,包括子目录中的文件(或者如果您没有子目录),您可以运行:

tar -cvf all.tar *

然后,bash 会将* 扩展为当前目录中所有文件的列表,包括子目录。

如果您只想要当前目录中的那些文件,而不想要子目录中的那些文件,那么您将不得不在更复杂的命令中使用find。如果您是这种情况,请告诉我,我可以花时间为您找到该命令组合。

【讨论】:

以上是关于如何使用 tar 压缩当前目录中的所有文件,但不输入 tar 文件和所有文件的名称?的主要内容,如果未能解决你的问题,请参考以下文章

如何将linux系统的多个目录及文件备份并压缩到一个文件

在LINUX下如何将tar压缩文件解压到指定的目录下

linux tar压缩解压缩文件夹、文件命令详解

在LINUX下如何将tar压缩文件解压到指定的目录下

使用opensll加解密压缩文件

liunx_压缩打包006