当前位置:首页 > 网络编程 > Linux > 正文

linux下的unzip解压ZIP命令 unzip 文件或文件夹名

# tar -czpvf /home/freebsd.tar.gz ./*
# tar -zxvfp /home/freebsd.tar.gz  

# tar cvf /home/bak/mycode.tar /home/code/

# gzip -q backup.tar

# tar -xf /home/bak/mycode.tar
 

unzip解压ZIP命令:

    unzip  文件或文件夹名

tar 命令:

    tar  xvf      ***.tar   
    tar  zxvf     ***.tar.gz   
    tar  jxvf     ***.tar.gz2 和 ***.tar.bz2  
    bunzip2       ****.tar.gz2   
    gzip  -d      ****.gz   
    gunzip        ***.gz   
    gunzip        ****.tgz   
    gunzip        ****.tar.Z   
    upzip         ****.zip   

相关的命令还有:compress,uncompress,zcat,zip,zipnote,zipsplit,zipcloat   
更为详细的说明看man     and     info.   


cd directory 进入指定的目录
cd .. 进入上一级目录
cd /directory 进入目录
cd 进入用户自己的目录
cp file_from file_to 拷贝文件
ln [-s] source linkname 为一个文件建立连结
ls [directory] 查看指定目录下的文件
ls -l [directory] 查看指定目录下文件的详细
ls -a [directory] 查看指定目录下的所有文件
mkdir new_directory 建一个新目录
more file 查看一个文本文件的内容
rm file 删除一个文件
rm -r directory 删除一个目录
rmdir directory 删除一个目录
find . -name "file" 从当前目录开始查找指定的文件
adduser 创建新用户
alias 设置别名或替代名
bg fg 使挂起的进程继续运行
ps ax 查询当前进程
mount 连接文件系统
more less 浏览文件内容
chown chgrp 改变文件的拥有者
chmod 改变文件属性
halt 关闭系统
man 显示手册页
passwd 改变用户口令
grep 查找字符串
find 查找文件
dd 复制磁盘或文件系统
kill 杀掉一个进程
killall 杀掉进程

Linux下的压缩打包--tar命令详解

Windows下最常见的压缩文件只有两种,.zip和.rar。可是Linux就不同了,有.Z、bz2、.gz、.tar、.tar.gz等众多的压缩文件名,它们分别对应了各种压缩打包命令。要了解这些压缩打包命令的使用,首先要弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。Linux中的很多压缩命令只能针对一个文件进行压缩,当要压缩一大堆文件时,就得先借助打包命令将这一大堆文件先打成一个包,然后再用压缩命令进行压缩。因此打包命令在Linux的应用中具有很重要的作用。
Linux下最常用的打包命令就是tar,使用tar命令打包后,就可以用其它的命令来进行压缩了。tar命令的使用方法如下:

tar [-cxtzjvfpPN] 文件与目录
参数说明:
-c :建立一个打包文件;
-x :解开一个打包文件;
-t :查看 tar包里面的文件;
(特别注意,在选择参数时,c/x/t仅能存在一个,不可同时存在,因为不可能同时压缩与解压缩。)
-z :打包后用gzip压缩,生成.tar.gz文件;
-j :打包后用zip2压缩,生成.tar.bz2文件;
-v :压缩的过程中显示文件;
-f :使用文件名,请留意,在f之后要立即接文件名,不要再加其它参数;
-p :保持原文件的属性;
-P :使用绝对路径来压缩;
-N :设定日期(yyyy/mm/dd),比后面接的日期还要新的文件才会被打包进新建的文件中;
--exclude FILE:在打包的过程中,不要将FILE打包。

举几个例子:

例一:将整个/etc目录下的文件全部打包成为/tmp/etc.tar
tar -cvf /tmp/etc.tar /etc  #仅打包,不压缩
tar -zcvf /tmp/etc.tar.gz /etc  #打包后,以gzip压缩
tar -jcvf /tmp/etc.tar.bz2 /etc  #打包后,以bzip2压缩

例二:查阅上述/tmp/etc.tar.gz文件内有哪些文件
tar -ztvf /tmp/etc.tar.gz

例三:将/tmp/etc.tar.gz文件解压缩到/usr/local/src下
cd /usr/local/src   #先将工作目录变换到/usr/local/src下
tar -zxvf /tmp/etc.tar.gz
  
例四:只将/tmp/etc.tar.gz内的etc/passwd解压到/tmp下
cd /tmp
tar -zxvf /tmp/etc.tar.gz etc/passwd

例五:将/etc内的所有文件备份下来,并且保存其权限!
tar -zxvpf /tmp/etc.tar.gz /etc

例六:在/home当中,比2005/06/01新的文件才备份
tar -N '2005/06/01' -zcvf home.tar.gz /home

例七:备份/home、/etc,但不要/home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

例八:将/etc打包后直接解开在/tmp底下,而不产生文件!
cd /tmp
tar -cvf - /etc | tar -xvf -

现在有一个需求,不知道该如何才能实现
压缩: tar czvf /data/backup/test.tar.gz /data/a/b/directory
解压:
cd /data/test
tar xzvf /data/backup/test.tar.gz

问题是,解压后的文件,在/data/test/data/a/b/directory里面
能否压缩时只保留directory以下的所有目录,以directory作为/,而不是/data/a/b/directory?

问题已经解决,找到了GNU tar的官方资料
http://www.delorie.com/gnu/docs/tar/tar_98.html

这样写就可以解决了
tar czvf /data/backup/test.tar.gz /data/a/b/directory
改成
tar czvf /data/backup/test.tar.gz -C /data/a/b(空格)directory
-C是临时切换工作目录,-P是绝对路径,在这里只用到-C参数就行了

上一篇:Linux安装配置 vsftpd 下一篇:解决Wrong permissions on configuration f