1、文件系统权限及管理
1.1 三种权限:(1)读权限(r):指用户对文件或目录查看权限。若用户对某文件或目录不具有读权限,则不能查看内容。
(2)写权限(w):值用户对文件或目录的写权力。若用户对某文件没有写权限,则不能修改它;若用户对某目录没有写权限,则不能在该目录内创建文件或子目录。
(3)执行权(x):指用户对文件的执行权或对目录的进入权限。若用户对某文件没有执行权则不能执行它;若用户对某目录没有执行权则不能进入它。
1.2 三类人:UNIX/Linux系统对文件操作的三种权限只对三种人分配,分别是用户主(user:u)、同组人(group:g)和其他人(other:o)。用户主是文件的拥有者;同组人是与文件主同组的用户;其他人是指除用户和同组人以外的用户。
1.3 权限控制
1.3.1 权限的字符串表示:除第一个字符外,其余为文件的权限描述。权限字符串从左至右每3个分为一组,分别代表文件主、同组人和其他权限,分别如下:
rwx:文件主的权限,可读可写可执行。
r-x:同组人的权限,可读可执行,但不可写。
r-x:其他人的权限,可读可执行,但不可写。
就某个文件而言,它对某类用户的权限分配有3种:
(1)读权限。若用户对文件或目录有读权限,则对应位置为r,否则为-。
(2)写权限。若用户对文件或目录有写权限,则对应写权限的位置为w,否则为-。
(3)执行权限。若用户对文件有执行权或对目录有进入权,则对应执行权限的位置为x,否则为-。
对于某个文件来说,它的权限按所有者、同组人和其他人从左到右的顺序排列。例如:若用户主的权限为rwx,同组人的权限为r-x,其他人的权限为---,则它的权限为rwxr-x---。
1.3.2 权限的数字表示:在数字方式表示下,某类用户对文件或目录的访问权限可用一个三位二进制数来表示。在字符串表示时,若具有某个权限,则对应位为1,否则为0,这样某类用户的权限就可表示为三位二进制数,其值为不大于7,因此可做为八进制数。
用户 权限 表示法 |
User | Group | Other | |||||||
符号表示 | r | w | x | r | - | x | r | - | x | |
数字表示 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | |
7 | 5 | 5 |
1.4 默认权限与umask:在UNIX/Linux系统中,当用户创建文件或目录时,将为它们设置默认权限。文件或目录的默认权限由文件权限掩码umaks来控制。默认情况下,root的umask值为0022,普通用户的umask值为0002。新建文件和目录的默认权限如表:
root | 普通用户 | |
umsk | u=rwx,g=rx,o=rx/022 | u=rwx,g=rwx,o=rx/002 |
文件 | rw-r--r--/644 | rw-rw-r--/644 |
目录 | rwxr-xr-x/755 | rwxrwxr-x/755 |
2、权限管理命令
2.1 设置文件创建掩码(umask)
2.1.1 功能及用法:umask的功能是设置或查询umask的值。
umask的用法为:umask[-p][-S] [new_umask]
2.1.2 参数及说明
参 数 | 功 能 |
无 | 显示当前文件创建掩码umask的值 |
new_umask | 将新值new_umask设置为当前文件创建掩码 |
-p | 当new_umask忽略时,显示一个可重用umask命令,输出为umask umask_value |
-S | 以符号方式显示当前umask值 |
在设置文件创建掩码时,若new_mask首位为数字,则用八进制方式解释其内容,否则使用符号方式处理。
2.1.3 使用示例
#umask #显示当前的umask值
#umask 0022 #设置umask值为0022
#umask u=rwx,g=rx,o= #设置umask值为0027
2.2 改变文件的权限(chmod)
2.2.1 功能及用法:chmod(change mode)的功能为改变文件或目录的访问权限。
(1)符号方式:chomd[options]<+|-|=>
(2)数值方式:chmod[options]num_perm file...
2.2.2 参数说明
参 数 | 功 能 |
-f,--silient,--quiet | 以强制或安静方式工作,忽略大部分错误信息 |
-v | 报告chmod对每个文件的处理信息 |
-reference=rfile | 从指定文件rfile中获取权限值 |
-R,--recursive | 以递归方式处理子目录及其中的文件 |
2.2.3 使用示例
#chmod a+x my_p1 my_p2 #为所有用户(all)对文件my_pl、my_p2增加执行权
#chmod u+rwx,go+rx myp #为文件主增加所有权限,为组和其他人增加读和执行权
#chmod -R o-rwx /tmp/w123 #递归去掉/tmp/w123内目录和文件对其他人的所有权限
#chmod -R 777/tmp/* #将/tmp中的所有文件和各级子目录及内容权限设置为777
2.3 改变文件的所有者(chown)
2.3.1 功能与用法:改变文件的所有者,本质上是改变文件主的uid。只有超级用户有权使用chow。
用法:chown[options]owner[:group]file...
chown[options]:group file...
如果用户组被指定,则文件的所属组也将被修改。
2.3.2 参数说明
参 数 | 功 能 |
--dereference | 改变符号链接最终对象的所有者,而非符号链接本身 |
-h,--no-dereference | 与--dereference相反,仅改变符号链接的所有者,而非链接对象 |
--from=cur_own:cur_grp | 只改变与当前主和组匹配的目标。主和组中的一个可省略 |
-f,--silient,--quiet | 以强调或安静方式工作,忽略大部分错误信息 |
-v | 报告chown对每个文件的处理信息 |
--reference=rfile | 从指定文件rfile中获取权限值 |
-R,--recursive | 以递归方式处理子目录及其中的文件 |
2.3.3 使用示例
#chown root my_files #将my_files的所有者改为root
#chown zhang*.c #将当前目录下所有C语言文件的所有者改为zhang
#chown -R gjshao /tmp/mydir #递归将/tmp/mydir的所有者改为gjshao
#chown -R gavin:bin mudat #递归将mydat的所有者改为gavin,组改为bin
#chown -R :bin mydat #递归将mydat的组改为bin
2.4 改变文件的组(chgrp)
功能是改变文件所属组,其用法为:chgrp[options]new_group file...
new_group可以组名或组标识给出。chgrp命令可由chown替代,其参数与chown相同。
2.5 ext2+文件系统的新增属性及其管理
2.5.1 ext2+的新增文件属性
属 性 | 说 明 |
A | 文件被访问同时不修改访问时间 |
a | 只能增加方式打开 |
c | 自动压缩 |
D | 目录改变时同步写入,类似在安装文件系统时使用了dirsync选项 |
d | 当使用dump备份时,不备份此文件 |
e | 扩展格式(此属性不能去除) |
i | 不能修改,不能删除,也不能有链接指向此文件 |
s | 安全删除,当文件删除时,文件原来的内容将填充0x00 |
S | 文件修改时同步写入,类似在安装文件系统时使用了sync选项 |
u | 当文件被删除时,内容将被保存,可以用于删除后恢复 |
2.5.2 lsatter:显示文件的ext2+扩展属性
用法:lsattr[-RVdv]file...
属 性 | 说 明 |
-a | 列所有文件属性,也包括”.“开始的文件 |
-d | 列目录属性,而非其中文件属性 |
-R | 递归处理 |
-v | 显示文件版本号 |
2.5.3 chattr:对ext2+的新增属性进行管理
用法:chattr[-RV][-v version][mode]file...
3、与文件系统管理相关的其他命令
3.1 文件综合查找命令(find)
3.1.1 功能:用于文件的查找,从而定位文件在指定文件系统中的位置
用法:find[path...][expression]...
3.1.2 参数描述
参数类型 | 参 数 | 意 义 |
选项 | -daystart | 从当日开始计算时间,否则从24小时前。配合时间参数使用 |
-depth | 在查找完当目录后进入子目录 | |
-follow | 跟踪符号链接 | |
-mount/-xdev | 不搜索在其他文件系统上的内容 | |
测试 | 数字 | n表示=n;-n表示 |
-name pattern | 指定文件名。pattern中可以包含通配符 | |
-amin n | 指定最近曾访问时间,单位为分钟。参见”数字“ | |
-cmin n | 指定最近状态被修改时间。参见-amin | |
-mmin n | 指定最近曾修改时间。参见-amin | |
-atime n | 指定最近曾访问时间。参见-atime | |
-ctime n | 指定最近状态被修改时间,参见-atime | |
-mtime n | 指定最近被修改时间,参加-atime | |
-anewer file | 存取时间较file近 | |
-cnewer file | 状态改变时间较file近 | |
-newer file | 修改时间较file近 | |
-empty | 空文件或空目录 | |
-executable/-readable/-writable | 可执行/可读/可写 | |
-fstype type | 指定文件类型 | |
-group gname | 指定组名或gid | |
-user uname | 指定用户名或uid | |
-perm PERM | 指定权限。PERM可为+nnnn、-nnnn或nnnn | |
-regex pattn | 指定正则表达式 | |
-size n[ewbk] | 指定大小,默认为块(b) | |
-type t/-xtype t | 指定文件类型:b,c,d,p,f,l和s等 | |
-true / -false | 返回true/false | |
-inum n | 指定i节点号,参见”数字“ | |
-links n | 指定链接数,参见”数字“ | |
-mindepth/-maxdepth d | 设置目录搜索的深度 | |
操作 | 将结果写到标准输出 | |
-fprint file[format] | 将结果[以format格式]写到文件file | |
-delete | 删除找到的文件 | |
-exec cmd {} \; | 假如find的返回值为True,则将找到的内容替换到{},执行命令cmd{} | |
-exec cmd {} + | 假如find的返回值为True,则将找到的内容添加到{},最后执行cmd{} | |
-ok cmd {} \; | 类似-exec,但执行前提示操作者,回答为y或Y时则执行cmd{} | |
操作符 | (expr) | 括号操作 |
-not/!expr | 非运算 | |
exprl[-a/-and]expr2 | 与操作 | |
exprl -o/-or expr2 | 或运算 |
find命令的功能的确是用于文件的查找与定位,但它的功能不仅限于此,可以利用它与其他命令配合工作,而完成特定任务。
3.1.3 使用示例
(1)按修改时间查找文件。
#find/tmp/home -mtime -l -print #在/tmp和/home下查找24小时内没有更改的文件
$find $HOME -mtime() #在/home下查找24小时内被更改的文件
(2)在/home下查找属于用户gjshao的C语言程序。
#find /home -user gjshao -name"*.c" -print
(3)将当前目录内的所有*.c和*.h的文件打成tar包/tmp/mych.tar。
#tar cvf/tmp/mych.tar'find .-name"*.[ch]"-type f -print'
(4)在/home下查找所有权限为0644用户主为test的文件。
#find /home -perm 0644 -user test -print
(5)查找并删除指定文件。
#find /tmp -name core -type f -exec rm -f '{}'\; #在/tmp内查找名为core的普通文件,并删除之
#find /tmp -name core -type f -ok rm -f '{}'\; #查找普通文件core,并删除之,删除前确认
(6)在/sbin和/usr/sbin可执行但不可读的文件。
#find /sbin /user/sbin -executable \! -readable -print
(7)查找具有特殊属性的文件,并将名字保存到文件中。
find /\(-perm -4000 -fprintf /root/suid.txt "%m%u%p\n"\),\
\(-size+100M -fprintf/root/big.txt"%-10s%p\n"\)
##有suid属性文件保存到/root/suid.txt,长度>=100MB者保存到/root/big.txt
3.2 文件按名称查找命令(locate)
3.2.1 功能与用法:按名称查找文件,它需要一个或多个数据库支持,这些数据库由每天的例行工作(crontab)程序来建立和更新。
用法:locate[options]pattern...
3.2.2 参数说明
参 数 | 功 能 |
-A|--all | 查找所有符合长期保持者 |
-b|--basename | 基本名字匹配(与-w相反) |
-c|--count | 只显示匹配次数 |
-e|--existing | 仅查找确实存在者(类似find) |
-i|--ignore-case | 忽略大小写 |
-l N|--limint=N | 限制只输出N行 |
-w|--wholename | 完整模式匹配(默认模式,与-b相反) |
-r|--regex | 使用正则表达式 |
3.2.3 示例
#locate passwd #匹配所有含有passwd的文件,即匹配*passwd*
#locate -b '\passwd' #精确匹配passwd
3.3 文件复制命令(dd)
3.3.1 功能及用法:文件的复制可由实现,它用于文件或目录的复制是非常有效的,但对设备文件的复制,或创建一个占有连续空间的文件来说最好还是使用dd。dd的功能是复制指定的输入文件到指定的输出文件,默认时使用标准I/O。
用法:dd[opts=value]...
3.3.2 参数及说明
参 数 | 功 能 |
if=i_file | 指定输入文件,默认为stdin |
ibs=size | 制定输入块的大小,单位可是b,k,M等 |
bs=size | 同时指定输入/输出块的大小 |
skip=n | 从输入中跳过n个块 |
conv=v | 指定转换类型,v=ASCII,block,ebcdic,lcase,ucase,swab等 |
of=o_file | 指定输出文件,默认为stdout |
obs=size | 指定输出块的大小,单位可是b,k,M等 |
count=n | 只复制n块 |
seek=n | 从输出中跳过n个块 |
3.3.3 dd示例
(1)构造软盘映像文件。
#dd if=/dev/fd() of=/tmp/fd_img bs=36b #设置I/O块为36b,映像文件为/tmp/fd_img
#cp /dev/fd() /tmp/fd_img #也可使用cp命令,用户可以比较两个命令的执行速度
(2)介质复制。
复制软盘或U盘等,可以使用临时文件,按一下方法进行:
#dd if=/dev/fd() of=/tmp/mytmpf bs=36k #构造映像文件,交换磁盘
#dd if=/tmp/mytmpf of=/dev/fd() bs=36k #输出映像文件
#rm -f/tmp/mytmpf #删除临时文件
(3)将第一个SCSI硬盘的主引导扇区复制到文件MBR.sda。
#硬盘的设备文件为/dev/sda,主引导扇区位于物理第一扇区
#dd if=/dev/sda of=MBR.sda bs=1b count=1
(4)将file转换成大写后写入文件file2。
#dd if=file of=file2 conv=ucase
3.4 链接管理命令(ln)
3.4.1 功能:链接管理,可用于创建文件的硬盘链接和符号链接。
用法:In [options] ... [-T] target linkname (格式1)
In [options] ... target (格式2)
In [options] ... target ... dir (格式3)
In [options] ... -t dir target... (格式4)
第一种格式用于创建一个指向target的链接linkname,或在当前目录创建一个指向target的同名链接;第二种格式用于在当前目录内容创建一个target同名的链接;第三种和第四种格式用于在目录dir内创建target的同名链接。
3.4.2 参数及说明
参 数 | 功 能 |
-f | 强行操作,删除已经存在的同名文件 |
-s | 创建符号链接,若不指定此选项则创建硬链接 |
-t dir | 指定目标目录为dir |
-i | 当链接名已经存在时,交互或提示用户是否删除它 |
-b | 启用备份,文件重名时,将name备份为name~ |
-T target | 指定目标文件target |
3.4.3 文件的链接示例
#ln -s/tmp/myf my_link #在当前目录内建立/tmp/myf的符号链接my_link
#ln /bin/ls /usr/bin/l #在目录/usr/bin内为/bin/ls创建一个硬链接l
3.5 磁盘空间和文件系统的使用情况统计(df)
3.5.1 功能:按指定格式显示系统中已安装文件系统的使用情况。
用法:df[options][filesystem]
若不指定文件系统,则显示系统文件所有已安装文件系统的使用情况。
3.5.2 参数及说明
参 数 | 功 能 |
-a | 显示所有文件系统信息 |
-B sz | 指定显示单位 |
-h | 按人类易读方式显示 |
-i | 显示iinode使用情况 |
-k | 以K为单位 |
-v | 以百分比方式显示相关信息 |
3.5.3 示例
#df -v #显示文件系统的使用情况
#df -i #显示系统i节点的使用情况
3.6 目录使用磁盘空间情况统计(du)
3.6.1 功能:按指定单位统计文件或目录的大小。
用法:du [options][names]
若不指定names,则使用当前目录。
3.6.2 参数及说明
参 数 | 功 能 |
-a | 显示所有文件系统信息 |
-b | 以字节为单位 |
-B sz | 指定显示单位 |
-h | 按人类易读方式显示 |
-k | 以k为单位 |
-s | 仅显示指定项目的毛总数,也包括其子目录 |
3.6.3 示例
##统计用户zhangsan家目录的大小
#du -h /home/zhangsan #列出每个子目录的大小
#du -hs /home/zhangsan #列出整个子目录的大小
##统计/home内每个用户目录使用磁盘空间的情况:
#cd /home;du -s 'ls' #ls用于列目录的内容,其输出作为du的输入
3.7 数据备份与文件归档管理(tar,cpio)
3.7.1 数据备份及任务
数据备份有多种方式,如完整备份、增量备份和日志备份等。
(1)完整备份就是所需备份的信息全部备份到存储介质,这种办法较安全,因为每次都有完整信息,但是对于日常性备份工作来说,可能需要大量存储介质。完整备份恢复时将覆盖原有数据。
(2)增量备份是指在某次完整备份的基础上,在以后一个指定时间段内只备份变化部分或新增文件,若某个时间系统数据出问题了,则可以在完整备份的基础上,通过增加备份的数据来恢复数据。必须配合完整备份才能保证数据的完整性,并在使用时,完整备份的时间间隔不能太长。
(3)日志备份也是在完整备份的基础上进行的,很像增量备份但又不同于增量备份。一旦在某个时刻事故发生,则可以在完整备份的基础上根据日志流水逐步重演历史事件,以恢复数据。这也是日志文件系统的设计思路。
3.7.2 磁盘文件归档管理命令(tar)
3.7.2.1 功能:对指定的文件进行归档,从归档文件中取出或恢复指定数据。
用法:tar [key][files]
3.7.2.2 参数说明
功能参数
参 数 | 功 能 |
-c | 创建新文档 |
-t | 显示备份文件的内容列表 |
-x | 从档案中提取文件,即恢复文件 |
-u | 只备份归档文件中被修改的文件 |
-r | 在旧档案后追加,不用于普通档案文件 |
-d | 比较档案内文件与系统内容的差别 |
部分修饰参数
参 数 | 功 能 |
-b N | 指定块大小:N*512,默认 N=20 |
-f | 指定档案文件名,而不使用默认设备 |
-h | 不归档符号链接,而归档它指向的文件 |
-i | 忽略0长度文件 |
-p | 保持权限 |
-z | 使用gzip进行压缩或解压缩 |
-k | 保留旧文件,即不覆盖老文件 |
-T F | 从文件F中读取要处理的文件名 |
-v | 在工作过程中显示所处理的文件名 |
-w | 强制tar以交互式工作 |
-P | 采用绝对路径,即保留最前的/ |
-j | 使用bzip2进行压缩或解压缩 |
3.7.2.3 tar命令示例
(1)使用普通文件作为归档文件。
#tar cvf /tmp/mytar [t-z]* #创建tar包文档/tmp/mytar
#tar tvf /tmp/mytar #显示tar包文档/tmp/mytar的目录
#tar xf /tmp/mytar #从归档文件/tmp/mytar中提取所有文件
(2)使用软盘备份。
#tar cvf /dev/fd() mydata hisdata #将mydata hisdata 归档到软盘上
#tar rvf /dev/fd() /home/gjshao/*.c #再向软盘上追加/home/gjshao*.c
#tar xvf /dev/fd() mydata #从软盘上恢复或提出数据mydata
(3)构造和使用压缩tarball。
#tar cvfz /tmp/mytar.tgz mydir yourdir hisfile #创建tgz格式压缩包
#tar xvfz /tmp/mytar.mydir #从压缩文档中提取数据mydir
#tar xvfz /tmp/mytar.tgz #从压缩文档中提取所有文件
(4)构造和使用bzip2压缩tar包。
#tar cvfj /tmp/lisi.tbz2 /home/lisi/data #创建bzip2压缩tar包
#tar tvfj /tmp/lisi.tbz2 #查看包中内容
#tar xvfj /tmp/lisi.tbz2 #从压缩文档中提取所有文件
(5)使用磁带机进行数据备份
##使用磁带机/dev/st()对目录/data内的数据文件进行完整备份
#tar cvf /tmp/st() /data
##使用磁带机/dev/st()对目录/data中2天内修改过的数据文件进行增量备份
#find /data -mtime2 -print> /tmp/tar_list #首先得到文件列表
#tar rvf /dev/st() -T/dev/tar_list #增量备份(追加方式)
#增量备份过程可以统一为
#find /data -mtime 2 -print|tar rvf/dev/st() -T- #表示标准输入
3.7.3 文件系统备份与复制命令(cpio)
3.7.3.1 功能:把指定的文件进行归档,形成归档文件。
用法:cpio -o[-aBuvV] [-c][-O archive][
cpio -i[-ABcdfkqrtuv][-I archive][patterns][
cpio -p[-adruv] dir
3.7.3.2 参数说明
功能参数
参 数 | 功 能 |
-o | 归档模式:copy-out |
-I | 提取模式:copy-in |
-p | 直接复制模式:copy-pass |
部分修饰参数
参 数 | 功 能 |
-a | 重复存取时间 |
-A | 向归档文件追加内容,用于归档模式 |
-d | 需要时创建目录 |
-f | 复制与指定模式不匹配的文件,常规情况下是复制匹配文件 |
-F | 指定归档文件名,而不使用标准I/O |
-I archive | 提取模式时,指定归档文件名而不使用标准设备 |
-I | 如果有可能,链接文件而不复制它们 |
--no-absolute-filenames | 提取模式时,使用当前路径而非绝对路径 |
-O archive | 归档模式时,指定归档文件名,而不使用标准设备 |
-q | 不显示复制的块数等工作信息 |
-r | 以交互方式,由用户更改文件名 |
-t | 列文档目录(与-i配合使用) |
-u | 无条件复制。当覆盖已存在文件时不进行提示 |
3.7.3.3 cpio示例
#ls *.txt | cpio -ov > /dev/fd() #将当前目录下的所有*.txt文件归档到软盘
#cpio -itv < /dev/fd() #列出归档目录文件/dev/fd()中的内容
#cpio -ir "#.txt" < myarch #从归档文件myarchv中提取文件,并采用交互式
#find .-print | cpio -ov -O /dev/stO #将当前目录中所有文件归档到磁带/dev/stO
#cpio -itv -I /dev/stO #查到磁带/dev/stO上的归档目录
3.8 文件的压缩与解压缩
3.8.1 zip和unzip
3.8.1.1 功能:以.zip格式打包压缩或解压缩文件。zip用于打包压缩,unzip用于解压缩。
用法:zip zipfile file1 file2...
unzip zipfile file1 file2...
3.8.1.2 应用举例
(1)数据压缩与恢复。
#zip myzipfile file1 file2 #压缩file1、file2,生成或加入myzipfile.zip
#unzip myzipfile[.zip] #解压缩myzipfile中的所有文件
#unzip myzipfile[.zip] file2 #解压缩myzipfile中的file2文件
(2)数据打包压缩。
#tar cf -.|zip mytar - #将当前目录内的文件打成压缩tar包mytar
#unzip -p mytar|tar xvf - #压缩包数据恢复。参数-p将文件解压缩到标准输出
#unzip mytar, tar xvf mytar #先解压,后提取数据
3.8.2 gzip/gunzip/zcat
3.8.2.1 功能:以.gz格式压缩或解压缩文件。gzip用于压缩文件,gunzip用于解压缩文件,zcat用于显示或阅读压缩文件内容。
用法:gzip [-acdfhlLnNrtvV19][-S suffix][name...]
gunzip [-acfhlLnNrtvV][-S suffix][name...]
zcat[-fhLV][name...]
3.8.2.2 gzip的部分参数
参 数 | 功 能 |
-a | ASCII方式 |
-c | 输出到stdout |
-d | 解压缩 |
-f | 强行解压缩,尽管有多个链接 |
-l | 列压缩文件的内容 |
-q | 安静方式,屏蔽所有警告输出 |
-r | 递归处理目录 |
-S .suf | 指定扩展名 |
-t | 检查压缩文件的完整性 |
-#,--fast,--best | 调整压缩速度和质量 |
3.8.2.3 gzip应用
(1)文件压缩。
#gzip myf #将myf压缩后生成myf.gz,并删除myf
#gunzip myf[.gz] #解压缩myf.gz,生成myf,并删除myf.gz
(2)使用tarball。
#tar cvfz mytar.tgz files dirs #将files和dirs打包压缩生成mytar.tgz
#tar tvfz mytar.tgz #查看tar包mytar.gz的内容
#tar xvfz mytar.tgz[files dirs] #从mytar.gz包提取文件
3.8.3 bzip2/burnzip2
3.8.3.1 功能:压缩、解压缩文件。
用法:bzip2 [-cdfkqstvzVL123456789][file...]
bunzip2 [fkvsVL][file...]
bzcat [-s][file...]
3.8.3.2 bzip2的部分参数
参 数 | 功 能 |
-c | 输出到stdout |
-d | 解压缩 |
-f | 强行解压缩,覆盖已有文件 |
-q | 默默工作,屏蔽不必要输出 |
-k | 保留原文件 |
-t | 检查压缩文件的完整性 |
-#,--fast,--best | 调整压缩速度和质量 |
bunzip2解压过程文件类型转换表
输入文件类型 | 输出文件类型 |
filename.bz2 | filename |
filename.bz | filename |
filename.tbz2 | filename.tar |
filename.tbz | filename.tar |
filename | filename.out |
3.8.3.3 bzip2的应用举例
(1)文件压缩与解压缩。
#bzip2 myfile #使用bzip2压缩文件myfile,设myfile是文本文件
#bunzip2 myfile.bz2 #解压myfile.bz2
#bzip2 -d myfile.bz2 #同上
#bzcat my file.bz2 #显示或阅读压缩文件
(2)文件的打包与压缩。
1.打包压缩。
#tar cvf tarball.tar files dirs #打包
#bzip2 tarball.tar #压缩。注意扩展名
#tar cvf - files dirs | bzip2 > tarball.tbz2 #打包和压缩过程可统一为此或
#tar cvfj tarball.tbz2 files dirs
2.解压与提取tarball文件。
#bunzip2 tarball.tbz2 #先解压tarball.tbz2
#tar xvf tarball.tar #再提取包中国所有文件或将解压和展开过程统一为
#bzcat tarball.tbz2|tar xvf - #或
#tar xvfj tarball.tbz2