[---TOC---][---TOC Header:linux系统命令③-文件目录的权限+查看、压缩、打包---]
(由于以下内容纯经手打,有些过于白话,且省事尽量无配图,不明之处敬请留言!)
简介:
说到linux操作系统,我们都会想到,高逼格,高颜值,高安全啊;其中安全是最重要的,因为linux系统对文件和目录的权限有着非常严格的控制;
工作中,和各种权限打交道是不可避免的;想掌控一件事,必须要先了解它;
linux系统中文件和目录权限是基于用户和用户组进行详细划分控制的;
linux系统用户和用户组概念参考:linux用户管理
一、查看文件或目录的权限:ls -al[---TOC Heading:一、查看文件或目录的权限:ls -al---]
ls命令,用来显示目标列表,如指定目录下所有文件和目录;
有很多参数:
- “-a”显示所有档案及目录包括隐藏目录文件,如之前说的两个特殊目录“.”、“..”;
- “-A”显示所有,雷同“-a”,但不包括“.”“..”两个特殊影藏目录,显示其他隐藏目录文件,如以“."开头的视为隐藏文件;
- “-l”单列输出详细目录文件信息;从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
- “-L”如果文件或目录是符号连接文件,则列出其指向的原始文件和目录;
- “-R”递归处理,所有子目录子文件包括子目录的子文件都显示;
- “-r”以文件目录名反序排列并输出、“-t”以文件目录更改时间排序显示;
- “-n"打印出文件目录所属的UID和GID;
!----除此之外还有不少,但今天只给大家着重讲“-al”组合参数----!
[root@Moni oxblog1]# ls -al drwx------ 6 oxblog1 oxblog1 4096 5月 25 18:43 . drwxr-xr-x. 7 root root 4096 5月 25 17:04 .. -rw-r--r-- 1 root root 50 5月 25 18:14 123.txt -rw-r--r-- 1 root root 50 5月 25 18:43 234.txt drwxr-xr-x 3 root root 4096 5月 25 18:54 456 drwxr-xr-x 4 root root 4096 5月 25 18:41 789 -rw------- 1 oxblog1 oxblog1 53 5月 24 13:54 .bash_history -rw-r--r-- 1 oxblog1 oxblog1 18 9月 26 2014 .bash_logout -rw-r--r-- 1 oxblog1 oxblog1 176 9月 26 2014 .bash_profile< -rw-r--r-- 1 oxblog1 oxblog1 124 9月 26 2014 .bashrc drwxr-xr-x 2 oxblog1 oxblog1 4096 7月 14 2010 .gnome2 -rw-r--r-- 1 oxblog1 oxblog1 171 9月 2 2014 .kshrc -rw-r--r-- 1 oxblog1 oxblog1 124 5月 7 2014 .mkshrc drwxr-xr-x 4 oxblog1 oxblog1 4096 3月 29 15:36 .mozilla
不难看出,“ls -al”是a和l参数的组合,意为详细显示文件目录的信息;
注意:ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件;
所以我们可以通过颜色来区分:一般蓝色表示是目录,文件用白色显示;
(当然如果没有看到效果,可能是终端不支持颜色区分,可以网上找找配置一下)
事实上,linux中以“.”开头的隐藏文件和一般都是特殊文件,如bash_profile用户环境变量的文件;这些文件一般情况我们不需要修改;
而为了更方便的查看,linux中提供一个命令“ll”意为“ls -l”,一般我们直接使用它就可以:
[root@Moni oxblog1]# ll 总用量 16 -rw-r--r-- 1 root root 50 5月 25 18:14 123.txt -rw-r--r-- 1 root root 50 5月 25 18:43 234.txt drwxr-xr-x 3 root root 4096 5月 25 18:54 456 drwxr-xr-x 4 root root 4096 5月 25 18:41 789
linux中所有都是以文件和目录存在的,但是依然有很多种类;
如何区分?通过上面的“ll”命令我们不难看出,每行最开始是一个10位字符串;其中第一个字符便代表是文件目录类型;
- “d”,代表是目录、“-”,代表是普通文件;
- “l”,代表是链接文件、“b”代表是块文件;
- “c”,代表是字符文件、“s”代表是socket文件、“p”代表是管道文件
此外,后面九位,以每三位一组从前往后分别代表的是:属主user、属组group、其他用户other,对文件目录拥有的权限;
不难理解吧,我们也可以称之为:所有者、所有组、其他用户;
具体权限,一组三位分别代表:读(r)、写(w)、可执行(x)、而“-”,则代表着没有此权限;
如上面的123.txt文件,则是一个普通文件,并属主对其有可读写、属组和其他用户则只有只读的权限;
如此,每行代表一个目录或文件,又以空格为间隔分为九列;
其中第一列就是刚才说的权限、第二列则是连接数、第三列是属主用户、第四列是属组、第五列是文件目录大小、第六七八列其实算一列表示文件目录创建或更新的时间、最后一列则是文件目录名;
二、文件目录的隐藏属性[---TOC Heading:二、文件目录的隐藏属性---]
linux对文件目录权限属性格外严格,除了以上说的九种读写可执行权限外,还有一些隐藏的属性权限控制;
额外说一嘴,就像windows下的文件可以命令设置成隐藏和受保护文件一样;
查看和修改文件隐藏属性命令:lsattr、chattr
(lsattr查看文件的第二扩展文件系统属性)
(chattr修改文件的这些扩展隐藏属性)
[root@Moni oxblog1]# lsattr -------------e- ./789 -------------e- ./234.txt -------------e- ./123.txt -------------e- ./456
结果是13位的字符串,每一位代表一个属性,同样“-”表示没有设置此属性;
如上,两个文件和两个目录,都只有e个属性,“e”表示为可执行文件;
除此之外,一般还有几个常用属性:
a:让文件或目录仅供附加用途; b:不更新文件或目录的最后存取时间; c:将文件或目录压缩后存放; d:将文件或目录排除在倾倒操作之外; i:不得任意更动文件或目录; s:保密性删除文件或目录; S:即时更新文件或目录; u:预防意外删除。
其中“a”和“i”是最常用的,a设置后,文件只能附加不能删除,且附加也需要使用尾部新增的方式新加内容;
直接编辑保存是不允许的!并且如果直接vi还会在每次提示后创建一个备份文件!
[root@Moni oxblog1]# echo ----6---- >> 123.txt [root@Moni oxblog1]#vim 123.txt ----6---- ddd !--没错我新加了ddd三个字符,然后试图保存--! "123.txt" "123.txt" E212: 无法打开并写入文件 请按 ENTER 或其它命令继续 !--是的,我回车后q!强制退出--! [root@Moni oxblog1]# ls 123.txt 123.txt~ 234.txt 456 789
可以看到,多了一个123.txt~的文件,如果再来一次,则会再多一个123.txz~类似的文件!
而"i"属性则表示为文件无法写入、改名和删除操作,即使root用户也不可以;一般针对的是不易修改的系统配置文件;
注意:隐藏属性一般对文件设置而不对目录设置;
why?目录一般对其下子文件和子目录赋予权限递归继承传递的,除非单独设置了权限;
而有些时候,直接对目录赋予权限,因有各种问题,就拿“a”来说吧:
[root@Moni oxblog1]# chattr +a 456 [root@Moni oxblog1]#lsattr -------------e- ./789 -------------e- ./234.txt -----a-------e- ./123.txt -----a-------e- ./456
!--可以看到我给456目录赋予了“a”权限--!
[root@Moni oxblog1]#cd 456 [root@Moni 456]# ls 123 123.txt [root@Moni 456]# lsattr -------------e- ./123.txt -------------e- ./123 [root@Moni 456]# echo ----1---- > 456.txt [root@Moni 456]# lsattr -------------e- ./123.txt -------------e- ./456.txt -------------e- ./123 [root@Moni 456]# vim 456.txt ----1---- ----2---- !--没错我加入了2这一行,然后准备保存--! "456.txt" 2L, 20C 已写入 E207: 无法删除备份文件 请按 ENTER 或其它命令继续 [root@Moni 456]# ls 123 123.txt 456.tx~ 456.txt 456_txt.swp 4913 [root@Moni 456]# rm -rf 456.tx~ rm: 无法删除"456.tx~": 不允许的操作
看到没有,接下来发生的事情,其目录下新建文件虽然表面上没有继承a权限,但是任然无法修改,无法删除,修改时比直接给文件设置a权限还多出来一个swap文件和4913空文件;
虽然不知道是干什么用的,但是显然不是很友好啊!
说了那么多,咱来列举列举一下两个命令的常规参数:
①、lsattr:
- -E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。 -D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。 -R:递归的操作方式; -V:显示指令的版本信息; -a:列出目录中的所有文件,包括隐藏文件。
- 一般使用呢,就直接查看就行!
②、chattr:
- chattr +、- [ASacDdIijsTtu];其中常用就是上面列举的"abcdisSu";
- chattr + 意为为其赋予某权限、chattr - 意为取消某权限;
三、修改文件和目录的普通权限;chmod[---TOC Heading:三、修改文件和目录的普通权限;chmod---]
说了上面的针对文件特殊权限,下面来看看修改普通权限的操作,即三组读写可执行;
chmod命令,用来更改文件和目录的权限;
我们已经知道,三组权限分别代表属主(user)、属组(group)、其他用户(other);
chmod命令中,我们分别用字母“u”“g”“o”来代表三者;rwx代表读写可执行;"+""-"分别代表赋予和取消;
如此,使用规则如下:
- chmod u+r some-f , 给某些目录和文件的属主赋予可读权限;
- chmod g+w some-f , 给某些目录和文件的属组赋予可写权限;
- chmod 0+x some-f , 给其他用户赋予某些目录和文件的可执行权限;
- chmod u-r some-f , 给某些目录和文件的属主取消可读权限;
- chmod g-wx some-f , 给某些目录和文件的属组取消可写可执行权限;
- chmod 0-rwx some-f , 给其他用户取消某些目录和文件的可读可写可执行权限;
- chmod -R rwx some-d-f,给所有用户赋予某些南路和文件所有权限,并递归给其目录下所有子文件目录;
注意:
- chmod直接+- ,表示同时给三者赋予或取消权限;
- 必须是文件或目录的所有者即属主或root才能对设置其权限;
- 如果需要对某目录下做递归继承权限处理,需使用-R参数;
- 如果取消了属主的可写权限,属主仍然有强制写入的权限;如vi中用“wr!”强制写入并退出;
扩展:
在真实使用中,或有自动化处理脚本,对文件和目录的权限一般用数字表示,我们要掌握它;
- “r=4”、“w=2”、“x=1”
- 如rw权限则是6、rx权限则是5、rwx则是7等等;
- 数字表示,我们可以灵活的一条命令同事赋予u、g、o三者不同的权限;
!--如我要某个文件赋予属主全部权限,属组和其他用户可读可执行权限--!
[root@Moni ~]# chmod 755 123.txt
四、改变文件或目录的属主和属组:chown、chgrp[---TOC Heading:四、改变文件或目录的属主和属组:chown、chgrp---]
(chown命令,可以同时修改属主和属组,默认是修改属主)
(chgrp命令,可以修改某文件和目录的属组属性)
注意:和chmod一样,如果是对一个目录下所有子目录文件递归权限,都需加“-R”参数;
[root@Moni oxblog2]# ll -rw-r--r-- 1 root root 0 5月 25 19:01 file1 [root@Moni oxblog2]# chown oxblog2:oxblog2 file1 [root@Moni oxblog2]# ll -rw-r--r-- 1 oxblog2 oxblog2 0 5月 25 19:01 file1 [root@Moni oxblog2]# chown oxblog1 file1 [root@Moni oxblog2]# ll -rw-r--r-- 1 oxblog1 oxblog2 0 5月 25 19:01 file1 [root@Moni oxblog2]# chgrp oxblog1 file1 [root@Moni oxblog2]# ll -rw-r--r-- 1 oxblog1 oxblog1 0 5月 25 19:01 file1
五、文件特殊属性:suid、sgid、sticky[---TOC Heading:五、文件特殊属性:suid、sgid、sticky---]
说实话,这几个属性,博主也是第一次学习它;资料上的意思呢,是首先让我们考虑一个问题;
关于passwd这个命令,我们已经知道是修改用户密码的,其原理就是通过这个命令,最终修改了密码的影子文件/etc/shadow对应的密码部分;
此外,passwd命令普通用户也可以直接执行,用来修改本用户的密码;
[root@Moni ~]# ll /etc/shadow ---------- 1 root root 1344 5月 24 12:31 /etc/shadow
但是不难发现,shadow文件属主和属组都是root,但其权限并没有赋予用户和组相关权限;
不过,root用户自然那是可以强制读写了;而普通用户呢?显然从逻辑上看是没有权限对它进行修改操作的;
我们在看看/usr/bin/passwd这个命令文件的权限:
[root@Moni ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd
我们发现,其在属主一组的权限中,原本是x的可执行权限,被s代替;如此其他用户执行它时,就会以root用户的身份去执行;
这就是文件的特殊属性suid权限,意为当某个文件的属主权限有s时,则其他用户执行是会以此文件的属主身份去执行;
如此,sgid也不难理解;唯一注意的是:suid和sgid使用对象都必须是二进制文件方可赋予;
那么接下来我们考虑另外一个问题:
linux目录中有一个/tmp的目录,没错和windows一样,linux也设置了一个目录,做系统的临时文件目录;
对于这个目录,所有用户都可以在里面创建文件和子目录,但是呢,每个用户又只能管理和删除自己创建的文件;
这是怎么做到的呢,如果单纯的用三组rwx来控制显然是不可取的;
没错,这就用到了我们的第三种文件特殊属性:sticky权限;
注意:sticky权限只能赋予目录上,其用字母t代替常规的x可执行权限;
[root@Moni ~]# ll -d /tmp/ drwxrwxrwt. 6 root root 4096 6月 1 17:35 /tmp/
六、默认权限和umask[---TOC Heading:六、默认权限和umask---]
我们在创建某个文件时,并没有特定指定他的权限,那么它是如何设定自己的权限呢?
首先我们知道文件目录权限先是受属主属组和其他用户的限制,那么一个新文件的属主和属组是怎么确定的?
决定一个新文件目录的默认属主和属组是哪一个用户创建了它,其用户的default-gr是谁!
而linux中新创建的文件和目录,默认权限则是如下分配:
root用户创建的,文件的默认权限是644、目录的默认权限是755;
普通用户创建的,文件的默认权限是664、目录的默认权限是775;
这里数字代表的权限我们上面已经阐述了,那么我们思考两个问题;
这个默认权限是从哪里来的,也就是配置在哪里?
为什么root用户和普通用户的默认权限有所不同?
首先,我们看配置在哪里,没错,是在系统环境变量文件/etc/profile里;
[root@Moni oxblog1]# head -n65 /etc/profile | tail -n5 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi
哈哈大家有没有发现,umask,没错上面的一段内容意思就是,当创建者的uid大于199的用户,umask是002,否则是022;
而我们今天说的umask,中文“遮罩”,资料上是这么说的,但工作中我们叫它俗名:“反掩码”;
没错,学习网络的朋友,可以知道,子网掩码是255.255.255.0类似的,换成二进制是前面是1后面是0;
但在配置一些设备上路由配置等,经常配置成反子网掩码,比如0.0.0.255,换成二进制就是前面是0 后面是1;
同理,这里也是一个意思,相比于数字权限的777;umask对应的正是000;
如上,002和022对应的风别是:775、755;
如此我们可以得知,对于root用户和小于199uid的系统用户,其默认权限是755,而200及以上uid的系统用户和普通用户默认权限则是775;
注意:
linux中定义了创建目录的默认权限,umask对应是777后的权限;而创建文件的默认权限,umask对应的是666后的权限;
如此也正好匹配了上面两条默认权限的规则:
文件以666为基准,匹配002和022反掩码,得出权限是664和644;
目录以777为基准,匹配002和022反掩码,得出权限是775和755;
有些资料里说,计算反掩码都是以777位基准,进行“同位相减”的方法显然有时是不对的!
七、查找文件:file、find、locate、which、whereis[---TOC Heading:七、查找文件:file、find、locate、which、whereis---]
①、查找文件类型:file
上面我们已经可以使用ll命令通过第一个字母来判断文件类型或目录;
file命令则可以更直观的告诉我们文件的类型和目录;
!--/home/oxblog1是一个目录--!
[root@Moni ~]# file /home/oxblog1 /home/oxblog1: directory
!--/tmp是一个sticky属性的目录--!
[root@Moni ~]# file /tmp /tmp: sticky directory
!--/etc/passwd和/usr/bin/passwd文件用ll命令看都是普通文件,但用file试试--!
[root@Moni ~]# file /etc/passwd /etc/passwd: ASCII English text [root@Moni ~]# file /usr/bin/passwd /usr/bin/passwd: setuid ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
②、查找文件:find、locate
一般查找:find,在指定目录下查找符合条件的文件;
[root@Moni ~]# find / -name passwd /etc/passwd /etc/pam.d/passwd /usr/share/doc/pam_ldap-185/pam.d/passwd /usr/bin/passwd
以上,查找根目录下,名称是passwd的文件,除此之外还有其它参数;
-perm (根据文件权限查找)、-user (根据用户名查找)、-mtime -n/+n(查找n天内/n天前更改过的文件)、-atime -n/+n(查找n天内/n天前访问过的文件)、-ctime -n/+n(查找n天内/n天前创建的文件)、-newer (查找更改时间比filename新的文件)、-type b/d/c/p/l/f/s(查找块/目录/字符/管道/链接/普通/套接字文件)、-size(根据文件大小查找)、-depth n (最大的查找目录深度)
数据库索引查找文件:locate;
locate工作中还是很常用的,更精细,更迅速,它依赖于一个数据库文件,linux默认会每天检索一下系统中的所有文件并记录到数据库中,雷同windows的目录文件索引;
当然并不是所有就支持,我们需要检查有没有安装其rpm包:mlocate
[root@Moni ~]# rpm -qa | grep locate mlocate-0.22.2-4.el6.x86_64
当然相比于find,locate无需指定目录,但其虽然精细,不会那么精确,如find -name 会完全匹配名称才会打印输出,locate则会检索所有名称包含passwd字符串的文件和目录;
除此,如当日新建的文件,locate数据库并不会记录,我们可以手动更新数据库文件:updatedb;
[root@Moni ~]# updatedb [root@Moni ~]# locate sshd.conf /usr/share/logwatch/default.conf/services/sshd.conf
③、查找可执行文件:which/whereis
which 命令用于从系统的path变量定义的目录中查找可执行文件的绝对路径:
[root@Moni ~]# which ssh /usr/bin/ssh [root@Moni ~]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
whereis异能查到其路径,但是和which不同,其还能找出相关绝对路径,还能找出命令二进制文件对应的man文件,也就是帮助文件;
[root@Moni ~]# whereis ssh ssh: /usr/bin/ssh /etc/ssh /usr/share/man/man1/ssh.1.gz
八、文件压缩和打包:gzip/gunzip/zcat、tar、bzip2/bzcat、cpio[---TOC Heading:八、文件压缩和打包:gzip/gunzip/zcat、tar、bzip2/bzcat、cpio---]
文件压缩的必要性,工作运维工作中不可少的,压缩备份,打包迁移;
①、gzip/gunzip是用来压缩和解压单个文件的工具:
[root@Moni oxblog1]# gzip 123.txt [root@Moni oxblog1]# zcat 123.txt.gz ----1---- ----2---- ----3---- ----4---- ----5---- ----6----
可以看到zcat是可以直接解压压缩文件并输出打印到终端,但如果要解压成文件,则需用gunzip命令;
②、tar不但可以打包文件,还可以将整个目录中的全部文件整合成一个包,整合的同时使用gzip或bzip2进行压缩处理;
[root@Moni oxblog1]# tar -zcvf 456.tgz 456/
这里如果用gzip方式压缩,建议后缀名设置为.tgz或.tar.gz;
如果用bzip2方式压缩,建议后缀名设置为.tar.bz2;
当然你用什么都可以,不用也行,用是为了方便自己或其他人解压缩时可对症下药嘛;
而如果在不知道压缩方式的时候怎么解压呢,可以用上面的file命令嘛!
[root@Moni oxblog1]# file 456.tgz 456.tgz: gzip compressed data, from Unix, last modified: Mon Jun 5 19:20:19 2017
此外tar命令有如下参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
-z :用 gzip 压缩方式解压缩;
-j :用 bzip2 压缩方式解压缩;
-v :压缩的过程中显示文件详情!这个常用哦;
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成『 tar -zcvPf tfile sfile』才对喔!
所以常见的组合有:zxpvf,jxpvf,zcpvf,jcpvf等等!
③、bzip2、bzcat命令:
参数:
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
!--将文件123 以 bzip2 压缩--!
[root@Moni oxblog1]# echo "---------123--------" >123 [root@Moni oxblog1]# bzip2 -z 123
!--此时123会自动变成123.bz2 ,并用bzcat将压缩文件内容读出来--!
[root@Moni oxblog1]# bzcat 123.bz2 ---------123--------
!--和gzip不同的是,bzip2解压需要用参数-d--!
[root@Moni oxblog1]# bzip2 -d 123.bz2
特别注意:
为什么上面说是123变成123.bz2,而不是多了压缩文件,bzip2在执行时,会把文件直接压缩,并不保留原文件,有别于gzip,另外bzip2 会直接加上bz2的后缀名,不用手动指定;可以看到gzip压缩时,需要先指定要压缩成哪个文件,要压缩的文件是哪个;如果bzip2也想保留源文件呢?
!--如将123用最佳的压缩比压缩,并保留原本的文件--!
[root@Moni oxblog1]# bzip2 -9 -c 123 > 123.bz2 [root@Moni oxblog1]# bzcat 123.bz2 -------123------------
④、cpio:
该命令一般不单独使用,一般和find命令一起使用。
没错以上命令都是需要指定目录或文件进行备份,但cpio可以先用find精确从系统中找到一些文件后,在通过管道的方式传递给cpio进行备份,生成cpio压缩文件,进行备份,并还原!
参数:
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
这样的好处是可以让大文件的储存速度加快;
-d :自动建立目录!由于cpio 的内容可能不是在同一个目录内;
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!
所以常用的格式是:
[root@linux ~]# cpio -covB > [file|device] <==备份 [root@linux ~]# cpio -icduv < [file|device] <==还原
!--如我们把系统中的所有文件都备份到磁带机或光盘中--!
[root@Moni oxblog1]# find / -print | cpio -covB > /dev/sr0 (其中linux中第一块sisi磁带机一般被识别为st0,光盘为sr0)
!--如我们查看光盘中有哪些cpio压缩的文件和目录--!或直接把其输入到某个tmp文件中
[root@Moni oxblog1]# cpio -icdvt </dev/sr0
!--如果输出太长可以直接把其输入到某个tmp文件中--!
[root@Moni oxblog1]# cpio -icdvt </dev/sr0 > /tmp/device-files
!--当然我们也可以将某个目录下的所有文件备份到cpio文件中,并还原--!
[root@Moni oxblog1]# find /opt/ -type f | cpio -o >/home/opt.cpio [root@Moni oxblog1]# cpio -i </home/opt.cpio
好吧除此之外,还有不少压缩备份工具,如zip、dd、compress等等;
有兴趣的可以博客中搜索一下,或找资料研究一下吧!
(今天就到这里了,有疑问的地方欢迎大家留言哦。)
看了本篇文章的还道友还要看:linux系统命令和shell
相当精彩的博客!
@衣皇后 道友您的网站挂了应该!