解压

基于huffman树的文件压缩项目

流过昼夜 提交于 2020-02-26 02:26:13
压缩原因 1.文件太大,节省空间 2.提高数据在网络上传输的效率 3.对数据起到保护作用---加密 文件压缩类型 无损压缩:源文件被压缩之后,可以通过解压缩还原成与源文件相同的格式 有损压缩:源文件被压缩之后,解压缩无法还原成与源文件相同,但识别其内容没有影响,多用于语音,图片,视频压缩 基于Huffman树的压缩如何实现 通过Huffman编码实现,字符一般都是以字节存储的,通过编码转换为二进制编码(1字节=8比特位) 首先,什么是Huffman树 给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 例如:给定权值为1(A),3(B),5(C),7(D)四个节点,构建Huffman树 Huffman压缩原理 --基于Huffman编码 以字符串中每个字符出现的次数为权值构建Huffman树 从根节点开始,左分支为0,右分支为1,如上图 所有权值节点都在叶子节点位置,遍历每条到叶子节点的路径获取字符的编码 举个栗子:ABBBCCCCCDDDDDDD Huffman编码: A:100 B:101 C:11 D:0 原理就是这么简单,一个字符占一个字节,现在用二进制编码代替之后,一个字符只占三位,也就是说一个字节可以表示两三个字符,所以说一次压缩

压缩 与解压缩

帅比萌擦擦* 提交于 2020-02-26 00:12:47
1 file-roller +压缩文件图形化 打开压缩文件 # 2 [12:46:19 root@localhost dir]$ll m.log -rw-------. 1 root root 424638 Feb 17 12:46 m.log [12:46:26 root@localhost dir]$ll -h m.log -rw-------. 1 root root 415K Feb 17 12:46 m.log #[12:46:33 root@localhost dir]$compress m.log ---compress 压缩文件后源文件消失 新文件扩展名“.Z” [12:48:28 root@localhost dir]$ll total 128 drwxr-xr-x. 143 root root 8192 Feb 17 12:45 etc -rw-------. 1 root root 111769 Feb 17 12:46 m.log.Z [12:48:30 root@localhost dir]$uncompress m.log.Z--解压缩 不适合压缩的文件 compress 不压缩 [12:55:05 root@localhost dir]$ll m.log -rw-------. 1 root root 424638 Feb 17 12:46 m.log

文档的压缩与打包

白昼怎懂夜的黑 提交于 2020-02-25 09:41:26
在windows下我们接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件了。压缩的好处不用笔者介绍相信你也晓得吧,它不仅能节省磁盘空间而且在传输的时候还能节省网络带宽呢。 在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip等等。以前也介绍过linux系统中的后缀名其实要不要无所谓,但是对于压缩文件来讲必须要带上。这是为了判断压缩文件是由哪种压缩工具所压缩,而后才能去正确的解压缩这个文件。以下介绍常见的后缀名所对应的压缩工具。 .gz gzip 压缩工具压缩的文件 .bz2 bzip2 压缩工具压缩的文件 .tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件) .tar.gz 可以理解为先用tar打包,然后再gzip压缩 .tar.bz2 同上,先用tar打包,然后再bzip2压缩 【gzip】 语法: gzip [-d#] filename 其中#为1-9的数字 -d :解压缩时使用 -# :压缩等级,1压缩最差,9压缩最好,6为默认 压缩test.txt后,则变成了test.txt.gz 用-d解压缩 要注意的是,gzip不可以压缩目录

linux 文件属性及操作

女生的网名这么多〃 提交于 2020-02-22 12:20:54
-rw-r--r-- 文件属性一共10个字符,第一个表示文件类型( -为二进制文件,d是文件夹,l是软连接文件 ) 剩余9个 rw- r-- r-- ,每三个为一组,第一组表示 u (user)所有者 的权限,第二组表示 g (group)所属组 的权限,第三组表示 o (other)其他人 的权限 (a指全部用户) r 读 4 w写 2 x执行 1 不具有权限 0 文件操作常用命令 ls命令 :显示目录下文件,-s显示目录大小 -t 按照更改时间排序 ll 命令 :从左到右依次显示 :文件类型、文件权限、硬连接数、所有者、所属组、文件大小、修改时间、文件名 cd命令 :进入目录 cd ~ 进入主目录 cd ../进入上级目录 pwd命令 :显示当前目录 mkdir命令 :创建目录 多个目录用空格隔开 rmdir命令 :删除目录 -p 若上级为空目录,一并删除 cp命令 : 复制 cp - dpR mv命令 :重命名或者移动文件 -b 创建备份 -i 交互式操作 注意:mv与 cp 的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了 rm命令 :删除 -f 强制删除 -i 交互式 -r 递归处理(主目录为空,一并删除 touch命令:更新时间属性 创建文件 -a 更改存取时间 -m更改更新时间 -t 使用指定时间 cat命令:显示文件内容,

安装nginx的步骤 树莓派桌面版环境(Debian)

二次信任 提交于 2020-02-22 09:55:30
感谢:http://blog.csdn.net/shennongminblog/article/details/76158397 在此基础上 使用源码安装比较容易 获取pcre编译安装包,在 http://www.pcre.org/ 上可以获取当前最新的版本 解压缩pcre-xx.tar.gz包。 进入解压缩目录,执行./configure。 make & make install 获取openssl编译安装包,在 http://www.openssl.org/source/ 上可以获取当前最新的版本。 解压缩openssl-xx.tar.gz包。 进入解压缩目录,执行./config。 make & make install 获取zlib编译安装包,在 http://www.zlib.net/ 上可以获取当前最新的版本。 解压缩openssl-xx.tar.gz包。 进入解压缩目录,执行./configure。 make & make install 获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本。 解压缩nginx-xx.tar.gz包。 进入解压缩目录,执行./configure make & make install 然后记住要启动Nginx /usr/local/nginx/sbin/nginx -c /usr

Linux压缩工具

不打扰是莪最后的温柔 提交于 2020-02-21 19:51:50
一、gzip/gunzip/zcat gzip, gunzip, zcat - compress or expand files gzip [ option .... ] [ filenames ... ] -d:解压缩,相当于gunzip -#:指定压缩比(1-9),默认为6,数字越大压缩比越大,消耗的cpu越多,压缩后的空间越小 -c:压缩后标准输出,且保留源文件;所以要跟> 重定向输出 gzip -c file > file.gz 压缩文件且保留源文件 二、bzip2/bunzip2/bzcat/bzip2recover bzip2, bunzip2 - a block-sorting file compressor, v1.0.6 bzcat - decompresses files to stdout bzip2recover - recovers data from damaged bzip2 files bzip2 [ option .... ] [ filenames ... ] -d:解压缩,相当于bunzip2 -#:指定压缩比(1-9),默认为6,数字越大压缩比越大,消耗的cpu越多,压缩后的空间越小 -k:keep,保留源文件,无须输出重定向 三、xz, unxz, xzcat, lzma, unlzma, lzcat xz, unxz, xzcat,

文档的压缩与打包

☆樱花仙子☆ 提交于 2020-02-21 11:33:28
在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip等等。以前也介绍过linux系统中的后缀名其实要不要无所谓,但是对于压缩文件来讲必须要带上。这是为了判断压缩文件是由哪种压缩工具所压缩,而后才能去正确的解压缩这个文件。以下介绍常见的后缀名所对应的压缩工具。 .gz gzip 压缩工具压缩的文件 .bz2 bzip2 压缩工具压缩的文件 .tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件) .tar.gz 可以理解为先用tar打包,然后再gzip压缩 .tar.bz2 同上,先用tar打包,然后再bzip2压缩 【gzip】 语法: gzip [-d#] filename 其中#为1-9的数字 -d :解压缩时使用 -# :压缩等级,1压缩最差,9压缩最好,6为默认 压缩test.txt后,则变成了test.txt.gz 用-d解压缩 要注意的是,gzip不可以压缩目录 【bzip2】 语法:bzip2 [-dz] filename -d :解压缩 -z :压缩 其实-z参数是可以省略掉的,你不妨试试 跟gzip的解压类似,也是用-d解压。 【tar】 语法:tar [-zjxcvfpP] filename -z :是否同时用gzip压缩 -j :是否同时用bzip2压缩 -x

LInux 压缩和解压缩命令

一曲冷凌霜 提交于 2020-02-16 12:16:10
压缩后的文件并不一定比被压缩文件小 常用压缩格式: .zip .gz .bz2 【.rar(相对比较先进)】 windows 当中的 .rar 格式是不能在虚拟机中解压缩的, 其他格式可以实现 常用压缩格式: .tar.gz .tar.bz .zip 格式压缩 zip 压缩文件名 源文件 #压缩文件 zip -r 压缩文件名 源目录 #压缩目录 unzip 压缩文件 # 解压缩 .zip 文件 .gz 格式压缩 gzip 源文件 #压缩为.gz 格式的压缩文件,源文件会消失 gzip -c 源文件 >压缩文件 #压缩为 .gz 格式,源文件保留 例如 : gzip -c cangls>cangls.gz gzip -r 目录 : # 压缩目录下的所有子文件,但是不能压缩目录-d ls >test : 将 ls 的结果 写入到 test文件中 .gz 格式解压缩 gzip -d 压缩文件 # 解压缩文件 gunzip 压缩文件 #解压缩文件 gunzip -r jp gunzip -r jp 将 jp文件目录 下的所有.gz 文件全部解压缩 bz2 格式压缩 bzip2 源文件 # 压缩为 .bz2 格式,不保留源文件 bzip2 -k 源文件 # 压缩之后保留源文件 注意: bzip2命令不能压缩目录 bzip2 -d 压缩文件 #解压缩 ,-k 保留压缩文件 bunzip2

Linux 压缩和解压缩

萝らか妹 提交于 2020-02-13 23:43:30
Linux 压缩和解压缩 最早的:compress/uncompresse 文件名后缀:.Z 然后是:gzip/gunzip 文件名后缀:.gz 很久一段gzip是linux的标准压缩和解压缩算法了 然后是:bzip2/bunizip2 文件名后缀:.bz2 大文件的压缩比比gzip大一点,但是小文件的压缩比还没有gzip大,所以没能撼动gzip的地位 然后是:xz/unxz 文件名后缀:.xz 压缩比显著提高,撼动了gzip的地位 lzma/unlama 文件名后缀:.lzma 最通用的(所以操作系统都支持):zip/unzip Linux 归档:上述压缩工具,只能对文件压缩,不能对目录压缩。要想对目录压缩,必须要归档后,再对归档文件压缩。 tar,cpio gzip/gunzip/zcat 1,压缩: gzip file 压缩完成后,会自动删除原文件 # ll -h messages -rw-------. 1 root root 915K Feb 11 22:05 messages [root@localhost ~]# gzip messages [root@localhost ~]# ll -h messages.gz -rw-------. 1 root root 167K Feb 11 22:05 messages.gz 2,解压缩: gzip -d或者gunzip

Linux系统常用指令总结

一曲冷凌霜 提交于 2020-02-13 22:04:39
一,系统的运行级别 0:关机 1:单用户模式(可以找回丢失的密码) 2:多用户状态没有网络服务 3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面 6:系统重启 注意:在/etc/inittab文件中可以修改默认的运行级别 二,切换到指定的运行级别 默认指令 init 运行级别 三,帮助指令 1:获取帮助信息 man 命令 2:help指令 help 命令(功能描述:获取shell内置命令的帮助信息) 四,文件目录类指令 1:pwd 查看当前工作目录的绝对路径 2:ls指令 ls -a :显示当前目录所有的文件和目录,包括隐藏的 ls -l :以列表的方式显示信息 ls -h :友好的显示文件和目录的信息 3:cd指令 cd 参数(切换到指定的目录) cd .. 回到当前目录的上一级目录 cd ~ 回到家目录 4:mkdir指令(用于创建目录的指令) mkdir 目录名称 mkdir -p 目录名称(能够创建多级目录) 5:rmdir指令(删除空目录) rmdir 要删除的空目录 注意:这个指令只能删除空目录 6:touch指令(创建文件指令) touch 文件名 7:cp指令(拷贝文件到指定目录) cp 原文件 目标目录 cp -r 原目录 目标目录(递归复制整个文件夹) 8:rm指令(删除文件或目录) 基本语法: rm 【选项】 要删除的文件或目录 常用选项 -r