写一些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命令的解释...
写一些Linux文件夹操作的一些感悟。的更多相关文章
- linux 文件夹操作
一.操作命令 1.创建文件夹 : mkdir 2.创建文件 : touch.vi 3.删除文件/文件夹:rm 删除文件夹的时候使用 -r可以循环删除子目录 4.移动文件/文件夹:mv 移动文件夹,使用 ...
- linux文件夹操作(及模糊搜索)
mkdir 文件夹名称 :创建文件夹 touch 文件名称 : 创建文件 给文件夹或文件授权 chmod -R 777 文件夹名称 : 递归给文件夹授读写执行权限 chmo ...
- linux文件夹操作及递归遍历文件夹
文件夹相关函数介绍 //mkdir 函数创建文件夹 #include <sys/stat.h> #include <sys/types.h> int mkdir(const c ...
- linux —— 学习笔记(文件、文件夹操作)
目录:1.常用的文件文件夹操作 2.文件属性的设置 1.常用的文件文件夹操作 mkdir 创建文件夹 -p 如果指定 a/b/c 时 a .b 不存在,一起创建出来 cp 复制文件或文件 ...
- Linux 文件/目录操作详解
目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...
- 文件挂载(一)- Linux挂载Linux文件夹
一.概述 工作中经常会出现不同服务器.不同操作系统之间文件夹互相挂载的情形,例如文件服务器或数据备份服务器. 挂载一般来说就是以下四种类型: 同类型操作系统 a. linux挂载linux文件夹 b. ...
- [No000083]文件与文件夹操作
#region Folder option 文件夹操作 /// <summary> /// 指定目录是否存在 /// </summary> /// <param name ...
- iOS开发——Swift篇&文件,文件夹操作
文件,文件夹操作 ios开发经常会遇到读文件,写文件等,对文件和文件夹的操作,这时就可以使用NSFileManager,NSFileHandle等类来实现. 下面总结了各种常用的操作: 1,遍 ...
- Python_文件与文件夹操作
''' os模块除了提供使用操作系统功能和访问文件系统的简便方法之外,还提供了大量文件与文件夹操作的方法. os.path模块提供了大量用于路径判断.切分.连接以及文件夹遍历的方法. shutil模块 ...
- python文件、文件夹操作OS模块
转自:python文件.文件夹操作OS模块 '''一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: ...
随机推荐
- B - Yet Another Palindrome Problem
B - Yet Another Palindrome Problem 思路: 给一个长为n(≤5000≤5000)的数组,问是否存在一个长度至少为3的子序列是回文的.回文的定义是把序列reverse, ...
- zabbix连接Mysql提示Can’t connect to local MySQL server through socket的解决方法
要解决此错误,有两种解决方法: 1.将连接参数"host"的值由"localhost"改成"127.0.0.1": 2.按下面方法,在&qu ...
- SQL CASE 标注
根据 状态值 显示中文备注 case when a.zht='0' then '录入' when a.zht='1' then '待审核' when a.zht='2' then '已审核' end ...
- 幻方(4n+2暂时看不懂)
奇数阶幻方 Siamese方法(Kraitchik 1942年,pp. 148-149)是构造奇数阶幻方的一种方法,说明如下: 把放置在第一行的中间. 顺序将等数放在右上方格中. 当右上方格出界的时候 ...
- os-内核通知链notifier.c
8. linux内核通知链 8.1. 概述 在Linux内核中,各个子系统之间有很强的相互关系,某些子系统可能对其它子系统产生的事件感兴趣.为了让某个子系统在发生某个事件时通知感兴趣的子系统,Linu ...
- MySql索引底层原理(01)
目的:通过mysql获取数据,检索数据的原理来理解索引,以及如何利用好索引. 由于篇幅问题,可能会连载几篇文章. 从mysql获取一条数据说起: 我们知道,电脑的系统在获取数据的时候会旋转磁盘,然后移 ...
- python34
Python成员运算符 除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组. 运算符 描述 实例 in 如果在指定的序列中找到值返回 True ...
- 嵌入式Linux应用开发
3-4 Makefile常用的函数 i. $(foreach var,list,text) 简单地说,就是 for each var in list, change it to text. 对lis ...
- Flutter配置签名打包全流程填坑笔记
1.配置包名和版本 找到android-app-src-build.gradle文件在defaultConfig{...}中配置好版本号以及包名 2.生成key 将keytool路径添加进环境变量,c ...
- spring security 基于角色的控制,可运行。
基于角色的访问控制 建表语句,见 上一篇 的博文, https://www.cnblogs.com/sdgtxuyong/p/16157870.html 在配置类中,@EnableGlobalMet ...