【linux系统命令③】、文件目录的权限

(由于以下内容纯经手打,有些过于白话,且省事尽量无配图,不明之处敬请留言!)


简介:

说到linux操作系统,我们都会想到,高逼格,高颜值,高安全啊;其中安全是最重要的,因为linux系统对文件和目录的权限有着非常严格的控制;

工作中,和各种权限打交道是不可避免的;想掌控一件事,必须要先了解它;

linux系统中文件和目录权限是基于用户和用户组进行详细划分控制的;

linux系统用户和用户组概念参考:linux用户管理

一、查看文件或目录的权限: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文件,则是一个普通文件,并属主对其有可读写、属组和其他用户则只有只读的权限;

如此,每行代表一个目录或文件,又以空格为间隔分为九列;

其中第一列就是刚才说的权限、第二列则是连接数、第三列是属主用户、第四列是属组、第五列是文件目录大小、第六七八列其实算一列表示文件目录创建或更新的时间、最后一列则是文件目录名

二、文件目录的隐藏属性  

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  

说了上面的针对文件特殊权限,下面来看看修改普通权限的操作,即三组读写可执行;

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  

(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  

说实话,这几个属性,博主也是第一次学习它;资料上的意思呢,是首先让我们考虑一个问题;

关于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  

我们在创建某个文件时,并没有特定指定他的权限,那么它是如何设定自己的权限呢?

首先我们知道文件目录权限先是受属主属组和其他用户的限制,那么一个新文件的属主和属组是怎么确定的?

决定一个新文件目录的默认属主和属组是哪一个用户创建了它,其用户的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  

①、查找文件类型: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  

文件压缩的必要性,工作运维工作中不可少的,压缩备份,打包迁移;

①、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

Edit@bigmouth【原创博文】®【系统工程】


原创文章,转载请注明:转自于公牛博客

本文链接地址:【linux系统命令③】、文件目录的权限

6
祝福我们的祖国繁荣昌盛
  • 请尽情挥洒您的笔墨!

    欢迎来到公牛博客更多分享更多精彩记录美丽点亮生活

    公牛博客·统计碑运行:2858 D
    博文:213 P
    评论:1872 S