Linux】linux中压缩命令都有哪些?各自的语法和作用是?

2021-03-29 13:50发布

3条回答
Greta
2楼 · 2021-04-16 14:11

常用就是tar命令了。

参数为-zxvf,z是表示解压缩以gz压缩的文件,x是解压缩的意思。 -C 是解压缩到什么地方的意思,后面的路径可以自己选。

另外还有 gzip unzip等。

主要特性

基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。 

完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。 

完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。 

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。 

良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。


722
3楼 · 2021-05-11 10:44

.tar


解包:tar xvf FileName.tar


打包:tar cvf FileName.tar DirName


(注:tar是打包,不是压缩!)


---------------------------------------------


.gz


解压1:gunzip FileName.gz


解压2:gzip -d FileName.gz


压缩:gzip FileName


.tar.gz


解压:tar zxvf FileName.tar.gz


压缩:tar zcvf FileName.tar.gz DirName


---------------------------------------------


.bz2


解压1:bzip2 -d FileName.bz2


解压2:bunzip2 FileName.bz2


压缩: bzip2 -z FileName


.tar.bz2


解压:tar jxvf FileName.tar.bz2


压缩:tar jcvf FileName.tar.bz2 DirName


---------------------------------------------


.bz


解压1:bzip2 -d FileName.bz


解压2:bunzip2 FileName.bz


压缩:未知


.tar.bz


解压:tar jxvf FileName.tar.bz


压缩:未知


---------------------------------------------


.Z


解压:uncompress FileName.Z


压缩:compress FileName


.tar.Z


解压:tar Zxvf FileName.tar.Z


压缩:tar Zcvf FileName.tar.Z DirName


---------------------------------------------


.tgz


解压:tar zxvf FileName.tgz


压缩:未知


.tar.tgz


解压:tar zxvf FileName.tar.tgz


压缩:tar zcvf FileName.tar.tgz FileName


---------------------------------------------


.zip


解压:unzip FileName.zip


压缩:zip FileName.zip DirName


---------------------------------------------


.rar


解压:rar a FileName.rar


压缩:rar e FileName.rar 



征戰撩四汸
4楼 · 2022-04-14 18:13

  Linux上常见的压缩命令是gzipbzip2xz,而compress实际上已经被gzip替换了。其中zip命令其实早就有了,主要是为了支持Windows常见的zip压缩包。

  gzip是由GNU计划所开发出来的压缩命令,bzip2xz是GNU后来开发出的压缩比更好的压缩命令。不过不管哪个命令,通常仅能针对一个文件来压缩和解压缩,如此以来,每次压缩与解压缩都要一大堆文件岂不烦人,这个时候,打包,tar就显得非常重要。

  tar可以将很多个文件打包成为一个文件,就算是目录也不在话下,不过单纯的tar并没有压缩功能,仅仅能够打包而已,后来在GNU计划中,将整个tar与压缩的功能结合在了一起,如此就能更方便的进行压缩与打包了。

gizp

gzip几乎是应用最广的压缩命令了,它所建立的压缩文件扩展名为.gz。该命令基本语法如下:

gzip [-cdtv#] filename

其各选项参数简介如下:

  • -c:将解压缩的数据输出到屏幕上,可通过数据流重定向来处理;

  • -d:解压缩的参数;

  • -t:可以用来检验一个压缩文件的一致性,看看文件是否有错误;

  • -v:可以显示出原文件和压缩文件的压缩比等信息;

  • -#:#为数字的意思,代表压缩等级,其取值在[1-9],其中1最快,压缩比最差,9最慢,压缩比最好,默认情况下是6;

bzip2命令基本语法如下:

bzip2 [-cdkzv#] filename

其各选项参数简介如下:

  • -c:将压缩过程产生的数据输出到屏幕上;

  • -d:解压缩的参数;

  • -k:保留原始文件,而不删除原始文件;

  • -z:压缩的参数(默认值,可不加);

  • -v:可以显示出原文件和压缩文件的压缩比等信息;

  • -#:与gzip同样,为压缩比参数;

xz命令基本语法如下:

xz [-dtlkc#] filename

  • -d:解压缩;

  • -t:可以用来检验一个压缩文件的一致性,看看文件是否有错误;

  • -l:列出压缩文件的相关信息;

  • -k:保留原始文件,而不删除原始文件;

  • -c:将压缩过程产生的数据输出到屏幕上;

  总的来说,gzip->bzip2->xz是一个压缩比越来越好,但是执行时间越来越长的变化。如果你在意时间成本,可以使用gzip,如果想压缩的更好,使用xz,至于bzip2,则比较折中。

打包指令

tar

  前面谈到的压缩指令大多都只能对单一文件进行压缩,虽然gzipbzip2xz也能够对目录进行压缩,不过它们对目录的压缩是指将目录内的所有文件分别进行压缩的操作。而不像在Windows系统,可以通过软件直接将许多数据包成一个文件的样式。

在Linux下,则有专门的打包指令:tar

这个指令不仅仅可以对文件进行打包,同时可以通过压缩指令的支持,将文件同时进行压缩。

tar命令基本语法如下:

  • 打包与压缩:tar [-z|-j-J] [cv] [-f 待建立的新文件名] filename

  • 查看文件名:tar [-z|-j-J] [tv] [-f 既有的tar文件名]

  • 解压缩:tar [-z|-j|-J] [xv] [-f 既有的tar文件名] [-C 目录]

各选项参数简介如下:

  • -c:建立打包文件,可搭配-v来查看过程中被打包的文件名;

  • -t:查看打包文件的内容含有哪些文件名,重点是查看文件名;

  • -x:解包或解压缩功能,可搭配-C在特点目录解压,默认在当前目录;

  • -z:通过gzip支持进行压缩和解压缩,文件名最好是*.tar.gz;

  • -j:通过bzip2的支持进行压缩和解压缩,文件名最好是*.tar.bz2;

  • -J:通过xz的支持进行压缩和解压缩,文件名最好是*.tar.xz;

  • -v:在压缩或解压缩过程中,将正在处理的文件名显示出来;

  • -f:参数后加要被处理的文件名;

  • -C 目录:指定目录解压;

  • -p保留备份数据的原本权限与属性,常用于备份重要的配置文件。

  • -P保留绝对路径,即运行备份数据中包含根目录。

  • --exclude=FILE在压缩过程中,不要打包FILE。

tar命令的参数比较多,也说明了其能实现的操作比较多。

其中的-c,-t,-x三个参数不能同时出现,因为它们分别代表打包压缩、查看文件名、解压缩之意。

其中的-z,-j,-J三个参数也不能同时出现,因为它们分别代表用哪一种压缩命令进行支持。

打包指令使用方法也比较简单,只需要明白各个参数的意义使用时加以选择即可,不过比较重要的是字体加粗的三个参数。

其中-p指保留数据的原本权限与属性,这个比较好理解,Linux本就是一个权限非常严格的系统,毕竟是一个多人多任务的系统,权限的管理非常重要,不明白的同学可自行学习。保留原本权限与属性可以使得打包后的文件与原来的文件更加一模一样

-P指数据中包含/根目录,也就是说默认情况下是不包含根目录的。为什么要去掉根目录?主要是为了安全。因为我们使用tar备份的数据有可能会解压缩回来使用,如果去掉了根目录,解压缩后的文件就会在当前文件夹产生,而如果包含了根目录,解压缩后的文件会可能会覆盖原本文件下的数据。


相关问题推荐

  • 回答 7

    使用命令:chmod 744 myflile就可以实现以上的操作。

  • 回答 4

    关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间分析解决这类问题,关...

  • 回答 6
    已采纳

    chmod 命令:chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。1. 文字设定法:chmod [who] [+ | - | =] ...

  • 回答 3
    已采纳

    Linux chattr 命令一般,chattr命令用于更改Linux文件上属性。以下是它的语法:chattr [ -RVf ] [ -v version ] [ mode ] files...下面是man手册对它的描述:chattr 改变一个Linux文件系统上的文件属性。一个通用格式是:+-=[aAcCdDeijsStTu]‘+’选项,将给...

  • 回答 8
    已采纳

    命令格式cat [选项] [文件]...命令功能cat主要有三大功能:一次显示整个文件:cat filename从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.将几个文件合并为一个文件:cat file1 file2 > file命令参数-n 或 --number 对输出的所有行编号,...

  • 回答 3

    shell的执行过程: 首先,脚本是从上至下从左至右执行每一行的语句的。 其次,当执行脚本时会进入一个新的shell,也成为nologin shell,在该shell下执行完成后,再返回执行前的shell。更加详细的讲解请楼主参考鸟哥linux网站中的bash shell章节有图能让您更...

  • 回答 3

    学习linux为什么要学习Shell: 1、首先我们了解一下shell编程是什么,其实shell编程就是一坨linux命令的集合再加上一些控制语句而已 2、为什么要学习linux下的shell编程,我们平时在做运维工作时总会遇到一些重复的工作,如果我们会shell编程的话就可以将这些...

  • 回答 6

    1.服务器一般情况下只有在进行项目部署或者是出现问题的时候才需要进行远程连接操作,在进行连接的时候我们一般都是使用的外部连接软件2.启动软件,点击快速连接,我们要选择连接的协议3.协议选择要然后填写服务器的IP地址和用户名,然后点击连接4.在通过验证...

  • 回答 4

    看看系统内存是否足够多,然后分区的时候是否正常运行

  • 回答 5

    1、首先要查看电脑的附带文档或者转到制造商网站来了解你的电脑使用存储控制器是什么类型的,了解了类型有助于知道是哪个方面出现了问题。2、然后在另一台电脑上同样是转到制造商的网站,将最新的驱动程序下载下来,并且保存在usb闪存驱动器或者是别的可以移...

  • 回答 7

    1、切换到root用户后。2、键入vim /etc/inittab, 就可以查看并修改该配置文件。3、在输入上面的命令后,我们可以看到该配置文件里面的信息如下:4、注意最后的那几行,就是Linux系统默认启动有七种。0:关机(不要设置这个!)1:单用户(类似于windows操作系统...

  • 回答 5
    已采纳

    很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。步骤如下:重启linux系统重启系统后出现GRUB界面在引导装载程序菜单上,按 E出现内核选择 ,选择第二行 ...

  • 回答 6

    1.正确的关机流程为:sysnc ? shutdown ? reboot ? halt;2.sync 将数据由内存同步到硬盘中。3.shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:4.shutdown –h 10 ‘This server will shutdown after 10 mins’ ...

  • 回答 2

    1、LPIC,全称Linux专业委员会认证2、Oracle联合认证(OCA)3、Oracle专业认证(OCP)4、RHCE,也叫做红帽认证工程师5、RHCA即红帽认证架构师6、SUSE认证Linux管理员(SUSE CLA)7、SUSE认证Linux专业人员(CLP)8、SUSE认证Linux工程师(CLE)...

  • 回答 15
    已采纳

    1、cd命令这是一个非常基本,也是大家经常需要使用的命令,它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径。如:cd /root/Docements # 切换到目录/root/Docementscd ./path          # 切换到当前目录下的path...

  • 回答 7
    已采纳

    目录/bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里。/etc存放系统管理和配置文件/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /usr用于存放系统应用程序,比较重要的目录/u...

没有解决我的问题,去提问