重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

linux日志压缩命令 linux压缩日志文件

linux 下 压缩命令有哪些?那个压缩比最高?

用tar压缩

成都创新互联自2013年起,先为青山湖等服务建站,青山湖等地企业,进行企业商务咨询服务。为青山湖企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

压缩格式和工具有bzip2和gzip,你可以单独使用,也可以配合tar使用

tar的主要的功能有

-t 打印归档中的所用文件,并以列表的形式显示

-c 归档压缩

-x 打开归档和解开压缩

压缩命令选项有:

-j 选择bzip2压缩,压缩后的归档文件为 ***.tar.bz2

-z 选择gzip压缩,压缩后的文件为***.tar.gz

其他压缩选项:

-f 指定 归档文件

-v 打印操作过程中的相信信息

举例1:

tar -cvzf 1.tar.gz 1.txt 2.txt 2.txt

将1.txt 2.txt 3.txt 压缩归档为1.tar.gz, 如果你想压缩成bzip2,将z换成j即可

举例2:

tar -xvzf 1.tar.gz

将1.tar.gz解压,如果文件是1.tar.bz2, 则将z换成j。

上述命令中 v选项可以去掉,v只是显示操作过程中的信息

举例3:

tar -tvzf 1.tar.gz

显示1.tar.gz中的文件信息,但不解压,如果是 1.tar.bz2, 你知道该怎么办了吗?

其中 bzip2 和gzip以单独对命令也可以使用,与tar类似,你可以用 man bzip2 和man gzip命令查看具体的说明。

就压缩而已,文本文件的压缩率很高,网上给出的参数是10%~15%,我本人感觉差不多是这样,二进制文件的压缩率不高。

说说 Linux 中的压缩与解压缩指令(tar)

tar 的功能类似于 Windows 中的 WinRAR。它可以将多个目录或文件打包成一个大文件,在打包的过程中还可以透过 gzip/bzip2/xz 的支持,对文件进行压缩 1 。

tar 的选项参数很多,主要用到的有以下这些:

还是太多,记不住怎么办? 记住下面这些最常用的命令即可:

总结一下:z 为gzip;j 为bzip2;J 为xz。c 为压缩;t 为查询;x 为解压缩。最后跟着 vf。f 一定要是最后一个,如果放在其他选项之前,tar 就会把文件名搞错。比如 tar -zcfv xxx 命令,tar 指令就会认为压缩文件名为 v!

压缩的文件名称要根据压缩算法加上响应的后缀:

只有知道了压缩算法,我们才能解的出来,你说是吗?所以文件名规范很重要。

假设我们需要备份 /etc 文件夹,把它打成一个压缩包 1 。这在实际应用中很常见,因为 /etc 文件夹存放了系统主要配置文件。在英文中完整单词是etc.,也就是后面会带上一个句点,表示“等等”之意。

接下来,我们分别使用 gzip、bzip2与 xz 算法对 /etc 文件夹进行打包压缩。

gzip 压缩指令: time tar -zpcvf /root/etc.tar.gz /etc

bzip2压缩指令: time tar -jpcvf /root/etc.tar.bz2 /etc

xz 压缩指令: time tar -Jpcvf /root/etc.tar.xz /etc

从 real 中可以看出: gzip 的压缩速度最快,而 xz 的压缩速度最慢。

从大小上来看,xz 的压缩率最高,而gzip 压缩率最差。

压缩率高,自然需要时间成本。因此需要压缩的文件夹很大,那么就要多多考虑时间成本咯。因为 gzip 压缩速度快,这也是 *.tar.gz 比较流行的原因之一。

假设有这样一种场景:我们需要打包某个文件夹(/root),但这个文件夹中的某个文件或者子文件夹不想打包进去(带 etc 前缀)。也就是希望这个文件夹部分打包,部分不打包。可以执行以下指令:

tar -zcvf /root/test.tar.gz --exclude=/root/etc* --exclude=/root/test.tar.gz /root

加了 --exclude=/root/test.tar.gz 是为了排除自身,否则压缩包中会包含一个大小为 0 的自身文件,这恐怕不是我们希望看到的:

通过 tar -ztvf test.tar.gz 就可以查看刚刚新打的压缩包中所包含的文件列表:

使用命令 tar -ztvf etc.tar.gz 查看刚刚打好的压缩包。注意要使用匹配的解压缩算法才能正确解压,比如示例中是 gz 作为后缀,所以加了 -z 选项表示使用 gzip 算法进行解压。

部分输出内容:

可以看到该命令把文件的权限、账户以及归属组也一并打印出来了。

而且还有一点很关键,这些文件都没有根目录。如果没有拿掉根目录,解压缩后的文件名就会是绝对路径, 亦即解压缩后的数据一定会被放置 到 /etc/xxx 去 1 !这样系统的 /etc 文件夹就会被覆盖,后果很严重。所以,tar 打包指令默认都会去除放入包中文件的根目录。除非通过 -P 显示要求保留这些文件的根目录。

(1)完全解压

利用 tar -zxvf etc.tar.gz -C /tmp 命令把 etc.tar.gz 解压到 /tmp。解压成功后,就会在 /tmp 下看到 /etc 文件夹。

如果需要在本地路径下直接解开,那直接执行 tar -zxvf etc.tar.gz 即可。

(2)部分解压

假设我们需要把压缩包(etc.tar.gz)中的 vconsole.conf 解压出来。可以先执行以下命令,查询出该文件所对应的相对路径:

tar -ztvf etc.tar.gz | grep ‘console’

拿到需要解压的文件路径之后,就可以执行 tar -zxvf etc.tar.gz etc/vconsole.conf

进入当前目录的 etc 文件夹,就可以看到 vconsole.conf 已经被解压出来了:

【1】 鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018:359-362.

在linux系统中需要压缩log文件时输入什么命令

常用

文件打包与压缩命令选项注解示例compress文件名压缩指定的文件,压缩后的格式为*.zcompressinstall.log-d解压被压缩的文件.z为后缀的文件;compre

linux下压缩命令 谁知道怎么弄?

tar zcvf /log.tar.gz /list/bot --remove

把/list/bot下的日志文件归档压缩为/log.tar.gz文件,同时删除了/list/bot下的所有文件。

linux服务器系统日志如何通过命令压缩移到别的磁盘

1、首先需要将迁移的目的盘的原有分区抹除,重新分区成与现有分区完全一致的分区,主分区大小可以不一致,boot分区和swap分区尽量一致。分区可以用fdisk工具。当然也需要写入文件系统,文件系统类型也保持一致。这些工作完成以后,将主分区挂载到当前系统的/mnt目录下。接下来可以通过tar工具进行打包了,具体的命令为sudotar-xzvfparchlinux.tar.gz--exclude=/proc--exclude=/sys--exclude=/run--exclude=/tmp--exclude=/lost+found--exclude=/mnt/

2、进入安装盘环境之后,挂载目的盘,包括主分区和boot分区。然后使用genfstab-U/mnt/mnt/etc/fstab命令重新生成fstab。之后arch-chroot进入系统,通过grub-mkconfig/boot/grub/grub.cfg和grub-instal--target=x86_64-efi--efi-directory=/boot

Linux 解压缩的命令怎么用?

用法如下:

gzip,压缩文件名:zip或gz,解压命令:unzip

bzip2,压缩文件名:bz,解压命令;bzip2 -d

上面两个是最常用的压缩方式,一般在linux下可以通过tar命令实现打包和压缩(或解压)。例如:

tar -zcvf file file.tar.gz打包并压缩成gzip格式,其中-c命令是创建tar包,-z参数是指定压缩成gzip格式;

tar -zxvf file.tar.gz解包命令,其中-x是解包命令,-z指定解压缩格式是gzip

tar -jcvf file file.tar.bz2 打包并压缩成bzip2格式,其中-c是创建tar包,-j参数指定压缩成bzip2格式;

tar -jxvf file.tar.gz解包命令,其中-x是解包命令,-j指定解压缩格式是bzip2


文章标题:linux日志压缩命令 linux压缩日志文件
分享路径:http://cqcxhl.com/article/dooccii.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP