tar 命令的 --null 和 -T 参数可以一起使用,以从 null 设备读取文件名,并将这些文件名传递给 tar 命令来处理。
--null 参数的作用是将文件名作为 null 字符分隔的字符串传递给 tar 命令。这通常用于处理包含空格或特殊字符的文件名。
-T 参数的作用是从指定的文件中读取文件名,并将其传递给 tar 命令。当与 --null 参数一起使用时,-T 参数后面可以跟一个文件名,该文件包含以 null 字符分隔的文件名列表。
[oracle@dbhost-33 shell]$ find ./ -type f -name "file*" -print0|tar -czvf "dat.tar.gz" --null -T
tar: option requires an argument -- 'T'
Try `tar --help' or `tar --usage' for more information.
[oracle@dbhost-33 shell]$ find ./ -type f -name "file*" -print0|tar -czvf "dat.tar.gz" --null -T -
./file1.txt
./file2.txt
./file3.txt
[oracle@dbhost-33 shell]$ find ./ -type f -name "file*" -print0|tar -czvf "dat.tar.gz" --null --files-from=-
./file1.txt
./file2.txt
./file3.txt
命令输出三个文件名(file1、file2 和 file3),它们被分隔成一个字符串,并传递给 tar 命令。--null 参数指示 tar 命令将文件名作为 null 字符分隔的字符串处理。-c 参数表示创建新的 tar 文件,-v 参数表示显示详细的输出信息,-f 参数指定要创建的 tar 文件的名称(archive.tar)。最后,--files-from=- 参数告诉 tar 命令从标准输入(即 null 设备)读取文件名。
这样,你可以将多个文件打包到一个 tar 文件中,而不需要手动指定每个文件的名称。这对于处理大量文件或包含空格或特殊字符的文件名非常有用。
标签:null,tar,文件名,--,参数,txt
From: https://www.cnblogs.com/baixisuozai/p/18003637