写一些Linux文件夹操作的一些感悟。

rwx 权限对目录的作用
读权限(r) 表示具有读取目录结构列表的权限,也就是说,可以看到目录中有哪些文件和子目录。一旦对目录拥有 r 权限,就可以在此目录下执行 ls 命令,查看目录中的内容。
写权限(w) 对于目录来说,w 权限是最高权限。对目录拥有 w 权限,表示可以对目录做以下操作:在此目录中建立新的文件或子目录;删除已存在的文件和目录(无论子文件或子目录的权限是怎样的);对已存在的文件或目录做更名操作;移动此目录下的文件和目录的位置。一旦对目录拥有 w 权限,就可以在目录下执行 touch、rm、cp、mv 等命令。
执行权限(x) 目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,也就是说,赋予 x 权限的用户或群组可以使用 cd 命令。

 

首先写明一点,如果你想允许任何一类用户对文件夹进行操作,务必需要添加X权限,要不然r与w的权限添加了也是枉然。

 

Linux的文件操作的一般命令为cp,mv,rm, touch等,也就是作为的增删改查。但作为Linux来说,文件夹与文件其本质都是文件。文件夹的本质为存在了文件目录的文件。

 

上面的rwx是我网上所复制的文件夹权限的操作。

针对文件夹的增删改查,我这里做一个简单的记录。

 

首先,写

第一个增的,也就是在文件夹下你可以新建文件。

对照上面的要求,本人测试,最小的情况下,你需要拥有该目录的wx权限,你就可以在该目录下新建文件。

 

第二个是删除

一般我们用的删除命令为rm -rf,这是一个非常危险的命令,所有有些人会用过一些方式将rm的执行用mv来代替。

这里我先介绍rm -rf递归删除文件的权限要求,很多时候在删除文件的时候,经常会出现权限问题,导致无法删除。

比如删除 目录 rm -rf /home/vbird/dir

这样的递归删除,将检查所有dir以及dir下面的所有子目录权限。这里需要强调一下,每个文件[不包含目录]能否被删除只跟自己的目录权限有关系,只有自己的目录权限拥有rwx,才能删除该文件。

如果是目录需要检查是否为空目录,如果为空目录视为普通文件。如果目录下面存在文件,需要检查对该目录的权限是否拥有rwx权限,才能对该目录下的文件删除进行操作.

所有,如果你想将dir下面的所有文件[包含文件夹]删除,必须拥有对每个非空文件的rwx权限,才能删除该目录。

 

第三个是mv[伪删除]

这个需要分两种情况,第一种属于在改名也就是在同目录下mv,这个时候你只需要拥有该文件上级目录的wx权限既可.

上面的移动文件的情况,比如mv /home/bird/file.c file_1.c

这种情况,需要用户对文件的原始目录与目标至少有wx的权限才可以,但如果是目录的话,情况需要做一些添加

mv /home/bird/dir dir1

这中情况下,不光需要前面提到的目录要求,还需要对执行的目录dir需要至少有wx的权限.

试想一下也对,简单的将目录理解为一个小型的数据库文件,当你将一个目录转移到另一个地方。该目录的源父目录以及目的地父目录的数据信息都会反生变化,并且由于转移的本身就为目录,所以该目录的自身信息也将发生变化[也就是该目录第一层的文件与文件夹]

 

待续...cp命令的解释...

 

posted @ 2022-07-25 17:32  就是想学习  阅读(121)  评论(0编辑  收藏  举报