1.探秘Linux压缩与解压命令:Tar与Zip
2.Linux文件压缩和解压缩命令使用详解
3.Linux中zip压缩和un
4.安装Linux下的缩工LZMA压缩工具linux安装lzma
5.Linux下的超详细的tar打包压缩解压缩命令详解
6.Linux压缩打包从零开始linux压缩打包目录
探秘Linux压缩与解压命令:Tar与Zip
大家好,今天我们要深入了解Linux系统中的具源两个常用命令——Tar和Zip。在Linux环境中,缩工文件压缩是具源一项至关重要的技能,它能有效节省磁盘空间,缩工并简化文件传输与备份过程。具源蓝冠挂机源码接下来,缩工我们一起看看这两个强大工具的具源工作原理。
首先,缩工我们来看看Tar命令的具源选项含义。
例如,缩工解压压缩文件node-v..1-linux-x.tar.xz的具源命令如下:
tar
然后,我们来看看Zip命令的缩工语法。
接着,具源我们再来了解一下Zip命令的缩工选项含义。
总结来说,无论是Tar还是Zip,它们在Linux系统中都是极为实用的文件压缩与解压工具。Tar适用于归档文件和目录,而Zip则更适合对文件内容进行压缩。当与Gzip或Bzip2等压缩工具配合使用时,它们的性能将得到进一步提升。
掌握这些命令,您将在Linux系统中处理文件变得更加便捷高效。希望本文对您有所帮助,感谢阅读!
Linux文件压缩和解压缩命令使用详解
在Linux系统中,我们通常使用的文件压缩命令有:bunzip2 , bzip2 , cpio , gunzip , gzip ,split(切割文件) , zgrep(在压缩文件中寻找匹配的正则表达式), zip ,unzip, tar ,rar。最后四个是我比较常用的,今天的笔记就写这四个的好了。
1、tar:
tar命令:tar [选项...] [FILE]...
输入“tar -?”获取相关帮助信息,tar的帮助文档给出示例如下:
示例
tar -cf archive.tar foo bar # 从文件 foo 和 bar 创建归档文件archive.tar。
tar -tvf archive.tar # 详细列举归档文件 archive.tar中的所有文件。
tar -xf archive.tar # 展开归档文件 archive.tar中的所有文件。
如果是要压缩文件夹的话,输入:
tar -cvf dirArchive.tar /dirName
同样的,要将归档文件解压到特定文件夹的话,则是:
tar -xvf dirArchive.tar /dirName
下面复习一下。我们先人为做个文件夹出来,里面放置若干文件夹和文件:
我们首先创建一个tar文件,先压缩一个文件夹(testdir):
tar -cf testdir.tar testdir
然后列出该压缩包里的结构:
接着我们向这个压缩包追加文件:
当然了,上述单步操作没必要做了,压缩包里面已经有这个文件。maven打包jar源码
然后再看看这个压缩包里的结构:
如果使用示例中的-v选项,则会将压缩包里的文件属性全部列出。包括权限,创建人,字节大小,修改时间和文件名:
从tar压缩文件中解压并显示文件列表:
一般来说比较常用到的选项有主操作选项:
另外再练习一下其他的一些用法:
1、当压缩testdir目录的时候,需要将文件夹根路径内的test文件排除:
2、只压缩比指定时间更新的文件:
3、压缩所有文件名前缀为“te”的文件或文件夹(或者压缩后缀为“st”的文件):
最后补充一下常用的选项:
-p, --preserve-permissions, --same-permissions
保留解压文件权限信息(默认只为超级用户服务)
--preserve 与 -p 和 -s 一样
--same-owner 尝试解压时保持所有者关系一致(超级用户默认此项)
-r, --append 追加文件至归档结尾
-u, --update 仅追加比归档中副本更新的文件
-k, --keep-old-files 解压时不要替换存在的文件
--keep-newer-files
不要替换比归档中副本更新的已存在的文件
--no-overwrite-dir 保留已存在目录的元数据
--overwrite 解压时重写存在的文件
--overwrite-dir
解压时重写已存在目录的元数据(默认)
--recursive-unlink 解压目录之前先清除目录层次
--remove-files 在添加文件至归档后删除它们
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE 只保存比 DATE-OR-FILE 更新的文件
2、rar:
rar command -switch 1 -switch N archive files...@listfiles... path_to_extract/
Linux系统的默认软件包里是不包含rar压缩工具的,所以我们先安装rar:
sudo apt-get install rar
command选项只可以从给出的选项中输入一个(且只能一个),我们看一下它提供的命令列表:
使用举例,比如说现在我们要进行文件压缩:
在完成压缩之后,我们可以通过命令l获取压缩文件内具体的结构信息:
甚至可以通过命令p将压缩文件内的所有信息输出到控制台:
switch N部分则提供了一些功能性的选项。
比如说以追加性的方式更新压缩文件可选用-ad:
或者说想把某个文件排除在外可以选用开关-x(注意,要排除的串要紧跟在x后面,不用加任何符号),比如我们这里想要将文件夹根路径下凡是“te”开头的文件都排除:
还有加密,用开关-p,同样的,密码紧随p后面即可:
如果相对文件进行解压或者直接打开文件,就会要求你输入密码:
除此之外,还有一些常用的选项有:
ag[format] Generate archive name using the current date
cl Convert names to lower case
cu Convert names to upper case
df Delete files after archiving
ed Do not add empty directories
dw Wipe files after archiving
其他的命令和开关可参照帮助手册。
3、zip , unzip:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
zip和unzip的使用方法是比较简单的,甚至连帮助文档都写得很简单,所以也就没什么笔记好写的了,直接看帮助文档即可。
linux zip 命令详解
功能说明:压缩文件。
语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b 工作目录][-ll][-n 字尾字符串][-t 日期时间][-压缩效率][压缩文件][文件...][-i 范本样式][-x 范本样式]
补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。
参 数:
-A 调整可执行的自动解压缩文件。
-b工作目录 指定暂时存放文件的目录。
-c 替每个被压缩的文件加上注释。
-d 从压缩文件内删除指定的文件。
-D 压缩文件内不建立目录名称。
-f 此参数的效果和指定"-u"参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
-F 尝试修复已损坏的PHP源码下载ins压缩文件。
-g 将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
-h 在线帮助。
-i范本样式 只压缩符合条件的文件。
-j 只保存文件名称及其内容,而不存放任何目录名称。
-J 删除压缩文件前面不必要的数据。
-k 使用MS-DOS兼容格式的文件名称。
-l 压缩文件时,把LF字符置换成LF+CR字符。
-ll 压缩文件时,把LF+CR字符置换成LF字符。
-L 显示版权信息。
-m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中。
-n字尾字符串 不压缩具有特定字尾字符串的文件。
-o 以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同。
-q 不显示指令执行过程。
-r 递归处理,将指定目录下的所有文件和子目录一并处理。
-S 包含系统和隐藏文件。
-t日期时间 把压缩文件的日期设成指定的日期。
-T 检查备份文件内的每个文件是否正确无误。
-u 更换较新的文件到压缩文件内。
-v 显示指令执行过程或显示版本信息。
-V 保存VMS操作系统的文件属性。
-w 在文件名称里假如版本编号,本参数仅在VMS操作系统下有效。
-x范本样式 压缩时排除符合条件的文件。
-X 不保存额外的文件属性。
-y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效。
-z 替压缩文件加上注释。
-$ 保存第一个被压缩文件所在磁盘的卷册名称。
-压缩效率 压缩效率是一个介于1-9的数值。
linux unzip 命令详解
功能说明:解压缩zip文件
语 法:unzip [-cflptuvz][-agCjLMnoqsVX][-P 密码][.zip文件][文件][-d 目录][-x 文件] 或 unzip [-Z]
补充说明:unzip为.zip压缩文件的解压缩程序。
参 数:
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f 更新现有的文件。
-l 显示压缩文件内所包含的设计模式 源码 c文件。
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t 检查压缩文件是否正确。
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 执行是时显示详细的信息。
-z 仅显示压缩文件的备注文字。
-a 对文本文件进行必要的字符转换。
-b 不要对文本文件进行字符转换。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中原有的目录路径。
-L 将压缩文件中的全部文件名改为小写。
-M 将输出结果送到more程序处理。
-n 解压缩时不要覆盖原有的文件。
-o 不必先询问用户,unzip执行后覆盖原有文件。
-P密码 使用zip的密码选项。
-q 执行时不显示任何信息。
-s 将文件名中的空白字符转换为底线字符。
-V 保留VMS的文件版本信息。
-X 解压缩时同时回存文件原来的UID/GID。
[.zip文件] 指定.zip压缩文件。
[文件] 指定要处理.zip压缩文件中的哪些文件。
-d目录 指定文件解压缩后所要存储的目录。
-x文件 指定不要处理.zip压缩文件中的哪些文件。
-Z unzip -Z等于执行zipinfo指令
范例:
zip命令可以用来将文件压缩成为常用的zip格式。unzip命令则用来解压缩zip文件。
1. 我想把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:
# zip -r yasuo.zip abc.txt dir1
2.我下载了一个yasuo.zip文件,想解压缩:
# unzip yasuo.zip
3.我当前目录下有abc1.zip,abc2.zip和abc3.zip,我想一起解压缩它们:
# unzip abc/?.zip
注释:?表示一个字符,如果用*表示任意多个字符。
4.我有一个很大的压缩文件large.zip,我不想解压缩,只想看看它里面有什么:
# unzip -v large.zip
5.我下载了一个压缩文件large.zip,想验证一下这个压缩文件是否下载完全了
# unzip -t large.zip
6.我用-v选项发现music.zip压缩文件里面有很多目录和子目录,并且子目录中其实都是歌曲mp3文件,我想把这些文件都下载到第一级目录,而不是一层一层建目录:
# unzip -j music.zip
Linux中zip压缩和un
在Linux中,zip和unzip是常用的文件压缩和解压缩工具,本文将详细介绍这两个命令的php任务网源码基本用法和参数。首先,让我们看几个实例:
1. 为了压缩/home目录下的mydata目录,输入`zip -r mydata.zip mydata`。这将创建名为mydata.zip的压缩文件。
2. 如果需要将mydata.zip解压到mydatabak目录,执行`unzip -d mydatabak mydata.zip`。
3. 要同时压缩abc文件夹和.txt,使用`zip -r abc.zip abc .txt`。
4. 对wwwroot.zip解压到/home目录,直接输入`unzip wwwroot.zip`。
5. 为了解压多个zip文件(如abc.zip, abc.zip, abc.zip),使用通配符`unzip abc*.zip`。
6. 查看wwwroot.zip内容的详细信息,使用`unzip -v wwwroot.zip`。
7. 检查wwwroot.zip的完整性,执行`unzip -t wwwroot.zip`。
8. 如果要解压wwwroot.zip中的所有文件到一级目录,使用`unzip -j wwwroot.zip`。
接下来是一些主要的参数说明:
- `-c`:用于解压并将结果输出。
- `-l`:显示压缩文件内容。
- `-p`:与`-c`类似,但显示结果而非执行。
- `-t`:用于验证压缩文件。
- `-u`:更新并解压缩。
- `-v`:显示详细操作信息。
- `-z`:仅查看压缩文件元信息。
- `-a`:对文本文件进行特定转换。
- `-b`:取消文本文件的转换。
- `-C`:保持文件名大小写。
- `-j`:不处理原有路径。
- `-L`:转换文件名为小写。
- `-M`:通过more程序处理输出。
- `-n`:解压时不覆盖。
- `-o`:覆盖文件时不询问。
- `-P`:使用zip密码。
- `-q`:静默模式。
- `-s`:转换空白字符。
- `-V`:保留文件版本信息。
- `-X`:解压时保留文件权限。
通过这些参数,你可以灵活地操作Linux的zip和unzip命令以满足不同的需求。
安装Linux下的LZMA压缩工具linux安装lzma
LZMA是7Zip开发的主要压缩算法,它可以比其他算法生成更小的文件和更高的压缩率。安装LZMA的Linux环境有许多优势,包括减小文件体积、减轻存储负担和节省计算资源。本文将介绍Linux环境中安装LZMA的步骤以及在实践中的使用经验。
一、安装LZMA压缩工具
1. 检查系统中是否已安装LZMA
检查系统中是否已安装LZMA:
> whereis lzma
如果现有系统没有安装LZMA,则需要进行安装,可以使用源码包、二进制包或者包管理器进行。
2. 安装LZMA源码包
获取LZMA源码包:
> wget press-prog=bunzip2 -xvf file.tar.bz2 来使用bzip2和bunzip2。这个补丁提供了 -j 选项,你可以用这样的命令: tar -xvfj file.tar.bz2 来解压一个bzip2格式的包。应用这个补丁将在后面安装Tar包的时候说到。
简介
bzip2, bunzip2 - 一种块排序文件压缩软件,v0.9.5
bzcat - 将文件解压缩至标准输出
bzip2recover - 恢复损坏的 bzip2 文件
bzip2 采用 Burrows-Wheeler 块排序文本压缩算法和 Huffman 编码方式压缩文件。 压缩率一般比基于 LZ/LZ 的压缩软件好得多,其性能接近 PPM 族统计类 压缩软件。
命令行参数有意设计为非常接近 GNU gzip 的形式,但也不完全相同。
bzip2 从命令行读入文件名和参数。 每个文件被名为 原始文件名.bz2 的压缩文件替换。 每个压缩文件具有与原文件相同的修改时间、 权限, 如果可能的话, 还具有相同的属主, 因此在解压缩时这些特性将正确地恢复。 在某些文件系统中, 没有权限、 属主或时间的概念, 或者对文件名的长度有严格限制, 例如 MSDOS, 在这种情况下,bzip2 没有保持原文件名、 属主、 权限以及时间的机制, 从这个意义上说,bzip2 对文件名的处理是幼稚的。
bzip2 和 bunzip2 在缺省情况下不覆盖已有的文件。 如果想覆盖已有的文件,要指定 -f 选项。
如果未指定文件名, bzip2 将压缩来自标准输入的数据并写往标准输出。在这种情况下, bzip2 会拒绝将压缩结果写往终端,因为这完全无法理解并且是没有意义的。
bunzip2 (以及 bzip2 -d) 对所有指定的文件进行解压缩处理。不是由 bzip2 产生的文件将被忽略,同时发出一个警告信息。 bzip2 按下列方式由压缩文件名确定解压后的文件名:
filename.bz2 解压成 filename
filename.bz 解压成 filename
filename.tbz2 解压成 filename.tar
filename.tbz 解压成 filename.tar
anyothername 解压成 anyothername.out
如果文件名的后缀不是下列之一: .bz2, .bz, .tbz2 或 .tbz, .bzip2 将抱怨无法确定原始文件名,并采用原文件名加 .out 作为解压缩文件名。
在压缩时,如果不提供文件名,bzip2 将从标准输入读取数据,压缩结果写往标准输出。
bunzip2 能够正确地解压由两个或更多个压缩文件连在一起的文件。 解压的结果为相应的连在一起的未压缩文件。
bzip2 也支持对连在一起的压缩文件的完整性检查(-t选项)。
同样可采用 -c 选项将文件压缩或解压缩至标准输出。 多个文件可通过这种方式压缩或解压缩。 输出结果被依次送往标准输出。 采用这种方式对多个文件的压缩将生成包含 多个压缩文件的数据流。这样的数据流只能被 0.9.0 版或其后续版本的 bzip2 正确解压。较早版本的 bzip2 会在解压完第一个文件之后停止。
bzcat (或 bzip2 -dc) 将所有指定文件解压缩至标准输出。
bzip2 可从环境变量 BZIP2 和 BZIP 中依次读取参数, 并在命令行参数之前对其进行处理。 这是提供缺省选项的方便途径。
即使压缩后的文件略大于原文件, 压缩也总是照样进行。 小于大约 字节的文件压缩后倾向于变大, 因为会有一个 字节的数据头。 对于随机数据 (包括大多数压缩软 件的输出), 大约每字节压成 8. 位, 放大率约为 0.5%。
bzip2 采用 位 CRC 校验码作自我检查,以确认解压后的文件与原始文件相同。 这可用于检测压缩文件是否损坏,并防止 bzip2 中未知的缺陷(运气好的话这种可能性非常小)。 数据损坏而未检测到的几率非常之小, 对于每个被处理的文件大约是四十亿分之一。 检查是在解压缩时进行的, 因此它只能说明某个地方出问题了。 它能帮助恢复原始未压缩的数据。可以用 bzip2recover 来尝试从损坏的文件中恢复数据。
返回值:正常退出返回 0, 出现环境问题返回 1 (文件未找到,非法的选项,I/O错误等), 返回 2 表明压缩文件损坏,出现导致 bzip2 紧急退出的内部一致性错误(例如缺陷)时返回 3。
参数
-c --stdout
将数据压缩或解压缩至标准输出。
-d --decompress
强制解压缩。 bzip2, bunzip2 以及 bzcat 实际上是同一个程序,进行何种操作将根据程序名确定。 指定该选项后将不考虑这一机制,强制 bzip2 进行解压缩。
-z --compress
-d 选项的补充:强制进行压缩操作,而不管执行的是哪个程序。
-t --test
检查指定文件的完整性,但并不对其解压缩。 实际上将对数据进行实验性的解压缩操作,而不输出结果。
-f --force
强制覆盖输出文件。通常 bzip2 不会覆盖已经存在的文件。该选项还强制 bzip2 打破文件的硬连接,缺省情况下 bzip2 不会这么做。
-k --keep
在压缩或解压缩时保留输入文件(不删除这些文件)。
-s --small
在压缩、 解压缩及检查时减少内存用量。 采用一种修正的算法进行压缩和测试, 每个数据块仅需要 2.5 个字节。 这意味着任何文件都可以在 k 的内存中进行解压缩, 尽管速度只有通常情况下的一半。
在压缩时,-s将选定 k 的块长度,内存用量也限制在 k 左右, 代价是压缩率会降低。 总之,如果机器的内存较少(8兆字节或更少), 可对所有操作都采用-s选项。参见下面的内存管理。
-q --quiet
压制不重要的警告信息。属于 I/O 错误及其它严重事件的信息将不会被压制。
-v --verbose
详尽模式 -- 显示每个被处理文件的压缩率。 命令行中更多的 -v 选项将增加详细的程度, 使 bzip2 显示出许多主要用于诊断目的信息。
-L --license -V --version
显示软件版本,许可证条款及条件。
-1 to -9
在压缩时将块长度设为 k、 k .. k。 对解压缩没有影响。参见下面的内存管理。
--
将所有后面的命令行变量看作文件名,即使这些变量以减号-打头。 可用这一选项处理以减号-打头的文件名, 例如:bzip2 -- -myfilename.
--repetitive-fast --repetitive-best
这些选项在 0.9.5 及其以上版本中是多余的。 在较早的版本中,这两个选项对排序算法 的行为提供了一些粗糙的控制,有些情况下很有用。 0.9.5 及其以上版本采用了改进的算法而与这些选项无关。
例:
例a,压缩
复制代码
代码如下:
[root@localhost ~]# bzip2 -z abc.sh #压缩复制代码
代码如下:
[root@localhost ~]# bzip2 -kv abc.sh #压缩原文保留abc.sh: 1.:1, 6. bits/byte, .% saved, in, out.
复制代码
代码如下:
[root@localhost ~]# bzip2 -9 -c abc.sh abc.bz2 #压缩原文保留例b,解压
复制代码
代码如下:
root@tnak-VirtualBox:/home/tnak# bzip2 -dv abc.sh.bz2abc.sh.bz2: done
Linux下快速压缩日志的脚本实现linux压缩日志脚本
linux下快速压缩日志的脚本实现是完成日志压缩的易用工具,可以在短时间内压缩大量日志文件,提高系统性能。
使用脚本压缩日志文件,需要安装两种工具:gzip和bzip2。Gzip是一种常用的文件格式,它可以将文件空间大小压缩到原始大小的若干分之一,而bzip2与gzip在压缩率上略微有所不同,但是它是一种更快速、更安全的压缩选项,更适合大型文件的压缩。
下面我们将介绍一个使用shell脚本机制实现快速压缩日志的过程,以便大家对更多的日志压缩工具有一个清晰的概念。
1. 首先,编辑 .sh 脚本文件,内容如下:
#!/bin/bash
FILE_PATTERN=”.log” # 日志压缩文件格式
for file in ./*.log;
do
if [ -f $file ]; then # 判断文件是否存在
gzip $file # 使用 gzip 命令压缩文件
fi
done
# 使用 bzip2 命令压缩
for file in ./*.log;
do
if [ -f $file ]; then
bzip2 $file
fi
done
2. 然后,给予脚本可执行权限:
chmod +x .*.sh
3. 最后,执行脚本:
./script.sh
如此,就可以使用shell脚本快速压缩日志文件了。这个脚本的优势在于简洁,可以用于多种文件,也可以轻松地进行调整来匹配特定的日志文件格式。另外,还可以利用管道和并行处理等机制来提高性能。
综上所述,Linux下日志压缩脚本是一个优秀的工具,可以快速压缩文件,大大提高系统性能。只需安装相应的压缩工具,然后编写脚本,就能轻松实现快速压缩日志文件。
Linux安装LZMA压缩格式指南linux安装lzma
Linux安装LZMA压缩格式指南
Linux是一款多用途的操作系统,不仅支持最新和高端的应用开发,还可以支持各种新的压缩格式,其中就包括LZMA压缩格式。LZMA(Lempel-Ziv-Markov Chain Algorithm)是一种被广泛使用的无损数据压缩算法,由Igor Pavlov开发,支持压缩率大于gzip的压缩算法,可以节省资源,提高系统的使用效率,下面就一起来学习安装和使用Linux LZMA压缩格式的方法。
首先,要在Linux系统上安装LZMA压缩格式,用户需要安装XZ-Utils应用程序,它可以帮助用户安装和使用LZMA压缩格式。用户可以使用下面的代码来安装Xz-utils应用程序:
sudo apt-get install xz-utils
Once the application is installed, it can be used to compress the file with the .xz extension. To do that, you need to open the Terminal and type the following command and the name of the file you want to compress.
xz filename
If you want to compress multiple files, you can use the tar command to group them into one file. To do that, you need to type the following command in the Terminal and the names of the files.
tar -cJf multiple-files.tar.xz file1 file2 file3
接下来,我们一起来看看Linux中的LZMA压缩如何解压缩文件。如果你已经使用xz-utils安装了LZMA压缩格式,你可以在终端中使用下面的命令来解压缩文件:
xz -d filename
如果你要解压缩多个文件,你可以使用下面的命令来解压缩tar.xz文件:
tar -xJf multiple-files.tar.xz
最后,我们简单介绍一下Linux中LZMA压缩格式的其他用法。使用Xz-utils,你可以更改文件压缩选项,并调整xz压缩级别。另外,你还可以使用xz和lzmatext2工具来解压缩文件,调整级别或检查压缩状态。
总之,在Linux系统上安装LZMA压缩格式非常容易,只需要安装XZ-Utils应用程序,然后就可以使用Xz和tar命令来压缩和解压缩文件。在使用LZMA压缩之前,用户也可以调整压缩级别和选项,以获得最佳效果。现在了解了如何安装LZMA文件压缩格式,你就可以开始简单地使用它来压缩文件。