首页 > 代码库 > linux(CentOS)下目录档案管理以及档案文件系统打包压缩
linux(CentOS)下目录档案管理以及档案文件系统打包压缩
一、目录档案的管理
1、操作目录的常用命令:
(1)、绝对路径与相对路径:
绝对路径都是从根目录开始写法为: /usr/local/java ("/" 为根目录,也是目录的入口)
相对路径就是相对于当前这个路径的路径,他的写法不是从根目录开始的(“/”) 写法为: cd ../local/ jdk 这种写法就是相对于你当前的路径你向上走一级目录, 之后再进入到 /local/jdk这个目录
(2)、代表不同目录的符号: . 或 ./ 代表当前目录, .. 或 ../ 代表上级目录 , - 代表前一个工作目录 , ~ 代表家目录
(3)、常用目录操作命令:
&、 cd(change directory ) 修改目录; cd ~ , cd / 修改目录
&、 pwd (print working directory ) 打印工作目录, pwd [-P] 显示你当前的目录,-P就是打印真实目录不是link(链接) 目录
&、 mkdir(make directory ) 创建一个目录, mkdir [-pm] 两个参数,-p可以帮你建立多层目录,如 mkdir -p /test1/test2/test3,而-m就是在建立的时候指定权限,不用管默认权限(umask)
&、 rmdir(remove directory)移除目录,有三种情况,一、删除空目录 rmdir 二、删除这个目录的同时想删除这个目录的上级目录 , 三、一次删除多个目录即这个目录以及子目录 : rm -r 这个的r 就是递归删除, 而还可以添加一个参数 -f 就是忽略其下的文件,会一次性都删除!
(4)、目录与档案的查看 ls : ls 后面可以接很多参数, 常用的就是 ls -al (显示长串字符,以及档案目录的属性) ,还有像 -i(inode ) 等很多,其他的使用 man ls查查看!
2、操作档案 复制 删除 移动:
(1)、复制: cp 可以复制档案 目录,也可以建立连接档案,常用的命令如下:
cp -a test.txt test1.txt
cp -d test.txt test1.txt 若来源文件为链接文件属性,则复制链接文件的属性,而不会复制档案本身
cp -f test.txt test1.txt -f(force )若目标档案已经存在,则移除后会尝试一次
cp -i test.txt test1.txt 如果目标文件已经存在,则会在覆盖目标文件之前会询问是否覆盖! (常用)
cp -l test.txt test1.txt 进行硬式连接的连接档建立,而不会复制档案本身
cp -p test.txt test1.txt 进行复制的时候连同档案的属性一起复制过去,经常用作备份!
cp -r 递归复制,在进行目录的复制行为 ! (常用)
(2)、删除: rm [-fir] 其中 f(force,强制 强力) 而 i 就是询问 的意思 而 r 就是递归删除!
(3)、移动 重命名: mv [-fiu] 其中的 f同样是强制的意思 -i 若目标档案已经存在则询问是否替换,而 u为若目标档案已经存在,而且source比较新的时候会被替换
mv -f test.txt test1.txt
mv -i test.txt test1.txt
mv -r test.txt test1.txt
3、档案内容的查看:
(1)、命令: cat 由第一行开始显示档案内容
tac 从最后一行开始显示,可以看出 tac 是 cat 癿倒着写!
nl 显示癿时候,顺道输出行号!
more 一页一页癿显示档案内容
less 不 more 类似,但是比 more 更好癿是,他可以往前翻页!
head 叧看头几行
tail 叧看尾巳几行
od 以二迚制癿方式读取档案内容!
(2) 、cat [-bn] 常用 -b只显示有内容的行号 , 而 -n 显示所有的行号!
(3)、截取内容: head -n ++/-m 截取前m行或 后 m行 tail -n ++/- m截取最后几行
4、建立一个空档案,并可以修改时间:
(1)、建立一个空档案: touch documentName
(2)、将档案的时间修改为当前时间:
touch -c -t 050618032000 file
touch -d "6:03pm" file
touch -d "05/06/2000" file
touch -d "6:03pm 05/06/2000" file
5、档案预设权限:当我们建立档案的时候,没有指定权限,那我们建立的档案的权限是什么,这里就是设计到了一个预设权限的问题:
(1)、使用 umask 、 umaks -S 查看当前预设的权限
(2)、umask 002 这个数字和 chmod 002 代表的意思刚好相反,umak后的数字代表的就是从 user group other 中去掉的数,而chmod代表着给予的数字,看如下的事例: umask 002 下创建的档案的权限为 775 即 rwx rwx rx , 也就是表示从user 中去掉0 也就是有rwx权限,而group也一样,other 中去掉了w权限!
二、目录与文件系统的打包与压缩
1、打包,压缩常用的指令:
(1)、.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
(2)、.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
(3)、.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
(4)、.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
(5)、.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
(6)、.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
(7)、.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
(8)、.Z
解压:uncompress FileName.Z
压缩:compress FileName
(9)、.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
(10)、.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
(11)、.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
(12)、.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
(13)、.rpm
解包:rpm2cpio FileName.rpm | cpio -div
(14)、.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
(15)、.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName
2、指令参数解释:
(1)、sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
(2)、gzip 命令减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
(3)、语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:
-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段: 压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或--best表示最慢压缩方法(高压缩比)。
系统缺省值为 6。
指令实例:
gzip *% 把当前目录下的每个文件压缩成 .gz 文件。
gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。
gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。
gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。
linux(CentOS)下目录档案管理以及档案文件系统打包压缩