如何理解Linux中执行ls、touch、rm、mv 和cd命令时需要的目录权限

很多同学在初学Linux时,对执行ls、touch、rm、mv 和cd命令时需要的文件权限很熟悉,但对所需的目录权限不了解或不熟悉,有些还在死记硬背。这里按照自己的理解写一下,不保证完全准确,但能帮助同学们理解。下面以操作 /var/log/messages这个文件为例:

1. Linux中一切皆文件,当然目录也是一种文件。和普通文件一样,目录在保存时,也需要占用inode(索引节点)和block(块),就是说var和log都有自己的inode和block;

2.目录的inode中保存的是本目录的属性信息(如权限、大小、时间戳、到本目录的block指针等),block中保存的是子文件(或子目录)的文件名、文件名对应的inode编号。就是说子文件/子目录的名字是保存在其上层目录的block中,即messages这个文件名保存在log的block中,log这个名称保存在var的block中;

3.普通文件的inode中保存的是该文件的属性信息,block中保存的是文件的具体内容;

4.按照前三条,具体需要的目录权限就很好理解了

ls: 需要列出一个目录下所有文件名,即需要读取该目录的block,所以需要 读 权限

touch:新增一个文件,相当于在目录的block中增加内容,所以需要 写 权限

rm:删除一个文件,相当于在目录的block中删除内容,所以需要 写 权限

mv:移动一个文件,相当于编辑目录的block内容,所以需要 写 权限

cd:切换文件夹,切换前需要把文件夹的block内容读入内存,类似于程序执行前将程序调入内存,所以需要 执行 权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值