我收到以下命令:
tar -x -v -f /dev/rct0 -b 20 *
有人能解释一下它的意思吗,因为在我看来,这种形式完全没用。据我所知,-x 代表提取。那么,从当前目录中取出所有文件(?)并将它们提取到类型驱动器 rct0?如果是这样,-b 20 标志在那里做什么?(写入时使用最大大小块大小?)我本来会自己尝试的,不幸的是我没有磁带驱动器。我希望有人能解释一下这里发生了什么。祝大家节日快乐!:)
答案1
从tar --help
:
-x
告诉tar
提取文件。-v
使其变得冗长。-f /dev/rct0
指定要从中提取的文件。-b 20
指定阻塞因子。(已过时,因为20
是默认设置)最后,
*
指示tar
提取当前目录中的所有文件。
实现相同操作的更短命令是:
tar xvf /dev/rct0 *
关于阻塞因素:
档案中的数据被分组为块,即
512
字节。块以整数倍数读取和写入,称为记录。记录中的块数(即,以512
字节为单位的记录大小)称为阻塞因子。--blocking-factor=512-size
(-b 512-size
)选项指定档案的阻塞因子。默认阻塞因子通常为20
(即,10240
字节),但可以在安装时指定。要找出现有档案的阻塞因子,请使用tar --list --file=archive-name
。这可能在某些设备上不起作用。
来源:档案的阻碍因素
答案2
来自 tar 手册页:
-x, --extract, --get
extract files from an archive
-b, --blocking-factor BLOCKS
BLOCKS x 512 bytes per record
-f, --file ARCHIVE
use archive file or device ARCHIVE
-v, --verbose
verbosely list files processed
因此,此命令从磁带驱动器 ( -f /dev/rct0
) 读取数据,将其解释为 tar-archive 并提取 ( -x
) 当前目录 ( ) 中已存在的所有文件*
。阻塞因子最有可能被调整以优化磁带驱动器性能(也没有使用过它们)。