linux下的gzip命令如何运用?

我编辑了如下命令
#!/bin/gzip
gzip -f /mnt/Zip/test.txt
保存成gzip.sh,想把/mnt/Zip、文件夹下的test.txt压缩了
可是我运行gzip.sh,结果却是把gzip.sh压缩了
怎么办才可以呢?
还有,如果是想压缩该目录下的所有文件,是用gzip *吗?怎么用?仅仅打上gzip *,运行就行了?

linux下的gzip命令运用方法如下:

1、打开linux客户端。




2、点击连接linux按钮。



3、输入用户名,主机ip地址。




4、输入密码。




5、连接成功,可以进行操作。




6、输入gzip 1.log,即为1.log文件进行压缩,即可得到1.log.gz压缩文件。


温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-01
楼主,将 #!/bin/gzip 改为 #!/bin/sh 后,再通过 chmod a+x gzip.sh 给予gzip.sh文件执行的权限,然后再通过 ./gzip.sh命令执行之,应该就可以了。
另外,如果你是想将目录下的所有文件压缩成一个文件,那么千万别使用gzip *命令,如果使用后,你会发现目录下的所有文件都变成了单独的.gz文件,呵呵。使用下面的命令即可完成打包和压缩:
tar -czvf 1.tar.gz /mnt/Zip/

下面的篇幅给你细讲一下吧,有点长,呵呵。
gzip命令是用来压缩文件,压缩的对象只能是一个文件。我来给你详细介绍一下Linux下的打包和压缩吧,下面是我自己总结的东西,希望对你有所帮助。
对于刚刚接触Linux的人来说,一定会被Linux下一大堆各式各样的文件给搞糊涂。别的不说,单单就压缩文件为例,我们知道在Windows系统下最常用的压缩文件就只用两种,一种是.zip,另一种是.rar。可是Linux系统下就不同了,它有.gz、.tar.gz、.tagz、.bz2、.Z、.tar等众多常见的压缩文件名。此外,Windows下的.zip和.rar也可以在Linux下使用。不过,在Linux系统下使用.zip和.rar的用户很少。下面我们就来对这些常见的压缩文件进行一番小结,希望我们下次遇到这些文件时不至于被搞糊涂。
在具体总结各类压缩文件之前,我们首先弄清楚两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。那么,为什么要区分这两个概念呢?其实,这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当我们想要压缩一大堆文件或目录时,我们就得借助Linux的打包工具将这一大堆文件先打成一个包,然后再借助Linux的压缩程序进行压缩。例如:gzip不能压缩整个目录。可以使用tar先打包,再压缩。
Linux下最常用的打包命令就是tar。使用tar命令打出来的包我们常称为tar包,tar包文件的后缀名通常都是以.tar结尾的。生成tar包后,就可以用其它的程序来进行压缩了。tar命令的用法示例如:将 /mnt/Zip/ 下的所有文件打包成1.tar文件:tar -cvf 1.tar /mnt/Zip/ ,此命令可以得到1.tar打包文件。
gzip是GUN组织开发的一个压缩程序,gz结尾的文件就是gzip压缩的结果,与gzip相对的解压程序就是gunzip。gzip命令的用法例如:将tar命令生成的1.tar文件压缩:gzip 1.tar ,此命令可以得到1.tar.gz压缩文件。
楼主你如果想要压缩一个目录下的所有文件成为一个压缩文件的话,可以分两步执行命令,第一步:将该目录下的所有文件打包成一个文件;第二步:压缩这个打包后得到的文件。命令如下:
tar -cvf 1.tar /mnt/Zip/
gzip 1.tar
另外,可以使用tar命令一步到位的生成1.tar.gz压缩文件,命令如下:
tar -czvf 1.tar.gz /mnt/Zip/
这里利用了tar提供的自动调用gzip压缩(解压)功能。通常使用-cvzf选项来生成*.tar.gz文件(使用-xvzf选项来解压*.tar.gz文件)。追问

不行啊,是不是linux mobile不支持?但是它可以解压缩啊(不用第三方软件软件解RAR和ZIP),并且她的/bin/下有gzip,gunzip,unrar,,tar,sh等文件啊?理论上可以的
非要用chmod给他加上权限吗?不加不能运行?我其他的sh都不需要啊?比如替换系统图片用的mount -o bind /mnt/fat3/ip /root/resource/gif

追答

我不了解mobile。
在Linux系统中,.sh是一种可执行的文件,在被执行之前,必须保证文件有被执行的权限,chmod的作用就是给文件加上被执行的权限。

来自:求助得到的回答
第1个回答  2011-08-01
命令: gzip
语法:gzip [选项] 压缩(解压缩)的文件名
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
 (1)压缩文件的大小
 (2)未压缩文件的大小
 (3)压缩比
 未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6。
注:gzip不能压缩整个目录。可以使用tar先打包,再压缩
例如:
$ tar cf test.tar test/
$ gzip test.tar

$ tar czf test.tar.gz test/
第2个回答  推荐于2017-09-02
第一行应该写#!/bin/sh,或干脆不要第一行。
gzip只能处理一个文件(一串字符流),所以需要用tar将整个文件夹集合成一串字符流,再经由gzip压缩。

tar czvf dir01.tar.gz dir01
tar cvf - dir01 | gzip - > foo.tar.gz
两条命令效果一样,符号 - 作为文件名时,都代表标准输入或标准输出。 以后有更好的压缩程序,可以用第二条命令的形式。追问

不行啊,是不是linux mobile不支持?但是它可以解压缩啊(不用第三方软件软件解RAR和ZIP),并且她的/bin/下有gzip,gunzip,unrar,,tar,sh等文件啊?理论上可以的
你说的那个dir01是目录吗?

追答

mobile的我没用过,不知道是否不同哦。dir01是个目录。

本回答被提问者和网友采纳
第3个回答  2011-08-02
你。。。搞笑呢 就个压缩还犯得着编个脚本。。还错了 你可以 man gzip 看看用法追问

神啊。。我是想在linux mobile上用呢。。
没软件不许我编脚本啊。。。难道您要帮我做个压缩软件玩玩?

追答

gzip难道linux不自带的 ?好吧 我out了

追问

linux自带。。linux mobile不自带(装有这个系统的手机,肯定被精简了啊。。。)。。。我什么法子啊。。我汗。。。

相似回答