第7章 linux文件与目录管理之---7.2

1,查看文件与目录:ls

ls(略),ls -a,ls -l等

ls -al:查看所有包括隐藏的文件和目录,以及该文件或目录的权限,属性,大小等

如果对一个目录,用户只有r权限,那么是可以ls (该目录名)查看里面的文件名,我的系统会以红色显示文件名,但是无法进入目录再直接ls,因为无x权限


2,复制cp,删除mv,移动mv

1)cp   [参数]   源路径(多个文件空格隔开)  目的路径

-a:相当于-pdr,(-p连同文件的属性一起复制,-d若为连接文件,则复制目的文件而不是该连接文件,-r用于目录的复制)

-i:若目标文件已存在,会询问是否覆盖

※cp的使用:注意:文件目录的所属和权限改变即chmod,chown,chgrp这几个命令只能由root用户操作

1)对文件:用户对该文件有r权即可

前提:假设我用root账户新建文件11,22,33,44,55,66权限分别为rw- r-- r--(默认权限),--- --- r--,--- rwx ---,rwx rwx rwx,rwx rwx --x,rwx --- rwx

①直接cp:现在我用两个用户去操作, 用root用户直接cp,得到的结果是:所属当然还是root,权限方面有所变化,除了第一组(文件拥有者权限)不变,第二组第三组权限会少了w权限,权限范围是缩小的(这个是为了保护);用lwl(我自己的账户)直接cp,这里就会有几个特别的地方了:由于lwl用户对33和55这两个文件没有r权,所以无法成功,提示信息为“无法打开文件,读取权限不够”(当然,你连read权都没有,就不能复制),其他的文件复制成功一个最大的变化就是,文件的所属变成lwl这个用户和用户组了,还有一点,文件的权限中others这一组会被剥夺w权限,其他位任一位权限和源文件一样(比如--- --- rw-会变成 --- --- r--)。

②加参数-a复制:用root操作时,文件的权限和所属无任何变化(这是真正的完全复制),所属还是root;用lwl操作时,同样33 和55不能成功,那么其他文件所属变成lwl了,权限的值没有任何变化。我们可以理解为加上-a参数后

小结:对文件来说,在满足可以cp的条件下(用户对其有r权利),直接cp会剥去部分w权限(root操作时g和o都剥去,一般用户是剥去o),加-a参数不会改变权限值(但意义会改变);而文件所属是命令发出者(谁执行cp,成功了,所属就是谁)

注:root是“无所不能的”,如果一个文件所属是lwl,others权限为---,那么root用户还是能够对它进行操作的,你可以理解为:root用户对lwl来说,不是others用户,是个特例

2)对目录(加-r参数,可理解为直接cp):用户对一个目录有r和x同时满足的情况下,那么就能对其中的文件目录进行cp,但是新建,删除,移动,重命名(因为这些是记录在目录文件内的)需要w权

我现在用root创建m1,m2,m3,m4,m5,m6个文件夹,其中先不放文件,权限分别为75r-x(默认权限),77r--,77--x,77r-x,77rw-,77-wx

该六个目录在我的test文件夹内,由于test权限为777(包括w权),所以cp成功;至于加-a参数,出现的情况和1)情况是相同的,这是因为,对linux来说,目录也是一种文件,其对待方式是一样的,只不过目录这个文件里面记录的是其内的文件/目录信息。

小结:能否cp一个目录内的文件/目录,在于用户对该目录是否同时满足r和x权,只有r那么只能查看目录内有什么东西,具体信息看不了,x只能进入但是啥也不能干

总结:cp前:满足对该目录下的r和x权;满足对文件的r权

    cp:不加参数(对目录加r参数类似)会缩减权限,会减少部分w的权限,这个在我们自己cp给别人的时候就要注意了

    cp后:执行完cp,所属者会变成cp执行者


3,rm删除

rm 删除文件;rm -r删除目录

如果不想询问确定,在rm前加“\”即可,要知道-r是递归删除,系统会顺序进入目录,然后一个一个确定是否删除


考虑 一个问题:m1/m2/111,用户对其权限为:7/5/4,那么用户执行rm -r时候,会导致无法删除的,因为对m2没有w权,所以其中的文件就不能删除,rm -r是递归删除,会先进入m2,再删除;如果m1/m2/111的权限变为5/7/4,此时,用户是无法删除m2目录,但可以删除111文件!

猜你喜欢

转载自blog.csdn.net/quick_snail/article/details/52373684