本文主要为个人学习小结:

rwx你都清晰吗_linux

首先,我在/tmp/you/下建立了8个目录,分别赋予普通用户8个不同的权限,同时在每个目录下又都创建了8个不同权限的文件如下(只要cp -a就行不麻烦):

rwx你都清晰吗_linux_02

然后切换至普通用户ayf。

a.目录管理:

1.先从ls开始,

rwx你都清晰吗_linux_03

可见没有读权限的目录都无法ls,

rwx你都清晰吗_权限_04

从上图可见,虽然拥有读权限,当没有执行权限时ls会有提示信息,

rwx你都清晰吗_linux_05

用ll命令时,区别就更明显了,当然只有执行权限是ll是无效的。

2.cd命令

对于cd命令,只有拥有执行权限是才能执行,不发图了。

3.mkdir命令

首先一定要有写权限,you目录事先设置了rwx权限,如果父目录没有设置写权限,就无法创建目录。不然如果你要创建,那么只有子目录拥有执行和写权限才可以,也就是说要先进入子目录然后可以创建。

其次即使父目录有写权限,如果子目录没有执行和写权限就不能往子目录创建。如下图。

rwx你都清晰吗_权限_06

4.cp命令

首先我在you目录下建立了一个cp目录,然后用cp -ar [0-9] cp把所有目录都复制到cp中,然后进入cp目录,虽然会有很多信息提示,然而你会cp下所有目录都有,即使该目录没有读权限。

rwx你都清晰吗_权限_07

然后分别用ll命令查看每个目录,情况如下:

rwx你都清晰吗_权限_08

综上所知,总结如下,对于一个子目录,如果父目录,没有执行权限,那么无论如何也不能复制。如果父目录拥有执行权限(即使只拥有执行权限也是一样的),如果非空子目录拥有读和执行权限,并且目录下拥有读权限的文件都会被复制,如果子目录没有读和执行权限,会创建一个以该用户为所有者的空目录。当然你复制过去的目标目录一定要有写和执行权限。

5.mv命令

只要父目录拥有写权限,那么无论子目录拥有什么权限都可以被改名rwx你都清晰吗_linux_09

然而只有子目录拥有写权限时才可以剪切移动,不管子目录下有什么。

如果父目录没有写权限,无论子目录是什么权限,都无法使用mv。

6.rm命令

是否能删除看上级目录是否有写和执行权限,没有一切免谈。有,啥都能删。

b.文件管理:

  1. cat类命令

这个很简单,没有读权限,免谈。

2.vi类命令

当文件拥有写权限时,可以用重定向修改文件内容,但是如果要用vim编辑器的话,必须要有读和写权限。

3.cp命令

前提是文件要有读权限,不然免谈。

4.mv命令

看上级目录,同目录方面。

5.rm命令

同目录。