Articles of tar

如何获得在tar内部存档的文件(&其他属性)的创build时间?

我正在用c ++编写代码,使用VS 2010和Win32来简单地提取TAR文件。 我已经完全从头开始执行algorithm来进行提取。 我有一个像这样的TAR头结构: /* tar Header Block, from POSIX 1003.1-1990. */ /* POSIX header. */ struct posix_header { /* byte offset */ char name[100]; /* 0 */ char mode[8]; /* 100 */ char uid[8]; /* 108 */ char gid[8]; /* 116 */ char size[12]; /* 124 */ char mtime[12]; /* 136 */ char […]

tar(在Windows上)c#中的文件列表

然后我tar,然后在C#中gzip文件列表。 我需要一些关于如何将参数设置为tar的帮助。 假设我有一个文件夹c:\ tar \ tar.exe中的tar.exe和一个像下面这样的方法: private void RunTar(string outputFileName, List<string> fileNamePaths) { using (Process p = new Process()) { p.StartInfo.FileName = @"c:\tar\tar.exe"; p.StartInfo.Arguments = //; p.Start(); p.WaitForExit(); } } 注意:fileNamePathsToTar列表具有完整的unc文件名path,并且文件可以位于不同的文件夹中。 任何人都可以请帮忙提供什么参数 。 另外我注意到在文档中: -z, –gzip, –ungzip filter the archive through gzip -Z, –compress, –uncompress filter the archive through compress –use-compress-program=PROG filter through PROG (must […]

在Windows上解压缩多部分tarball

我有一系列名为filename.part0.tar,filename.part1.tar,… filename.part8.tar的文件。 我猜tar可以创build多个卷时,但我似乎无法find一种方法来解压缩他们在Windows上。 我已经尝试使用7zip(GUI和命令行),WinRAR,tar114(不能在64位Windows上运行),WinZip和ZenTar (我发现的一个小实用程序)解压缩它们。 所有程序都通过part0文件运行,提取3个rar文件,然后退出报告错误。 没有其他的部分文件被识别为.tar,.rar,.zip或.gz。 我已经尝试使用DOS复制命令连接它们,但这不起作用,可能是因为part0到part6和part8每个都是100Mb,而part7是53Mb,因此可能是最后一部分。 我已经尝试了几个不同的逻辑顺序来连接文件,但没有喜悦。 除了安装Linux,查找实时发行版,或者追踪为我留下这些文件的人,我该如何解开这些文件?

将最后n行文件添加到tar / zip

我需要定期发送一个日志文件的集合,可以增长很大,所以我只想发送每个文件的最后n行。 例如: /usr/local/data_store1/file.txt (500 lines) /usr/local/data_store2/file.txt (800 lines) 给定一个名为files.txt的所需文件列表的文件,我想用这些文件中的最后100行创build一个存档(tar或zip)。 我可以通过创build一个单独的目录结构与尾部编辑的文件来实现这一点,但是如果可能发生一些pipe道魔法,那么这似乎浪费了资源。 完整的目录结构也必须保留,因为文件可以在不同目录中具有相同的名称。 如果可能的话,我希望解决scheme是一个shell脚本,但是perl(没有添加模块)也是可以接受的(这是对没有安装ruby / python /等的Solairs机器)。

Tar:创build除一个以外的存档排除目录

我有一些文件的目录 dir_archive/somedir1 dir_archive/somedir2 dir_archive/somedir3 dir_archive/mydir dir_archive/mydir/excludedir1 dir_archive/mydir/excludedir2 dir_archive/mydir/excludedir3 dir_archive/mydir/many_other_directories… dir_archive/mydir/my_archive_dir 我想创buildtar(gz)档案dir_archive.tar.gz与所有文件和目录排除 dir_archive/mydir/excludedir1 dir_archive/mydir/excludedir2 dir_archive/mydir/excludedir3 dir_archive/mydir/many_other_directories… 但包括 dir_archive/mydir/my_archive_dir 我不想使用 – 每个目录的–exclude tar cvfz dir_archive.tar.gz –exclude=dir_archive/mydir/excludedir1 –exclude=dir_archive/mydir/excludedir2 –exclude=dir_archive/mydir/excludedir3 我尝试使用–add-file ,但它不起作用: tar cvfz dir_archive.tar.gz –exclude=dir_archive/mydir –add-file=dir_archive/mydir/my_archive_dir dir_archive 存在一些简单的方法? 谢谢

Unix脚本查找目录中的所有文件夹,然后tar并移动它们

基本上我需要运行一个Unix脚本来查找目录/ fss / fin中的所有文件夹,如果存在的话; 然后我把它tar并移动到另一个目录/ fs / fi。 这是我迄今为止的命令: find /fss/fin -type d -name "essbase" -print 这里我直接提到了文件夹名称essbase 。 但是,我想find/fss/fin中的所有文件夹并全部使用它们。 我如何find/fss/fin目录中的所有文件夹并将它们转换为/fs/fi ? 澄清1: 是的,我需要使用Unix shell脚本只find目录/fss/fin目录中的所有文件夹,并将它们tar到另一个目录/fs/fi 。 澄清2: 我想要明确的要求。 Shell脚本应该包含: find目录/fss/fin中的所有文件夹 Tar文件夹 将文件夹移动到位于服务器s11003232sz.net上的另一个目录/fs/fi中 根据用户请求,它应该解压文件夹,并将它们移回到orignal目录/fss/fin

添加到tar归档文件后删除文件

我有一个有很多小文件的文件夹,总计超过4Gib。 我正在使用非常有限的磁盘空间。 我需要将它们全部添加到压缩的tar压缩文件,但我没有磁盘空间来制作一个。 有没有办法删除每个文件后,它被添加到存档,所以我没有用完空间?

设置tarfile内容的文件权限

有没有办法在创build之后(或之后不久)分发一个tar文件的内容? 被tar'd的目录的写权限在tar'ing时是未知的(但通常是555)。 我希望展开的目录是世界可写的,而不需要展开tar的用户在继续之前必须记住chmod -R 777 <untarred dir> 。 笨拙的方法将是复制目录,然后chmod -R 777 <copydir>但我想知道是否有更好的解决scheme。 我在Solaris 10机器上。 背景: 根目录在我们的ClearCase vob中具有recursion的特定文件权限。 一个tar文件被创build并分发给我们组织中的多个“客户”。 大多数只需要读/执行权限(特别是不希望它们是可写的),但是一组特别需要它们的拷贝是recursion可写的,因为它们可以编辑这些文件,或者甚至恢复到“新鲜”拷贝(即, ,就像我给他们的原始状态)。 这个小组在技术上有些挑战。 即使他们有关于tarfile的“如何做”的指示,他们似乎总是忘记(或弄错了)文件的设置,一旦解散就可recursion地写入。 这导致打电话给我诊断各种问题,其根本原因是他们忘记了(或不正确地)chmod'ing展开的目录。 而且在你问之前,是的,我给他们写了一个脚本来解开/ chmod(只针对他们),但是…哦,别介意。 所以,我想我会创build一个单独的,recursion可写的版本的焦油分发给他们。 正如我刚才所说,我总是可以创build一个副本的DIR,使副本recursion可写,然后tar复制目录,但目录是相当大的,磁盘空间有时几乎满(可以差别很大),所以制作目录的副本将不可能100%的时间。

使用Nginx在TAR归档中提供文件

你可能知道。 TAR归档存储文件的原始形状。 所以为了在使用Nginx的TAR归档文件中提供文件,只需要给Nginx一个偏移值和文件长度。 我怎样才能给Nginx偏移和内容的长度? 并有这样的链接: http://example.com/Archive.tar/path/to/file.bin 另外请注意,我需要nginx接受范围标题,并能够提供尊重

Tar并将结果直接保存到SSH目录中

我有一个服务器,我想做一个tar备份,但服务器本身没有足够的磁盘空间,它等于它所包含的数据。 因此,我想将它直接 tar到一个ssh目录下,这样它就可以将tar数据转储到ssh目标中,而不需要从源服务器获取大量的临时磁盘空间。 服务器应该做一个ssh连接,并使用表单的目录: ssh user@server.com:/home/user/backupfolder/ 这是简单的Linuxterminalpipe道,甚至更简单的方式吗?