[Linux]TCSH、Perl、Python脚本修改文件权限

本文详细介绍了Linux文件权限的概念,包括常见的权限类型及其数值表示,并提供了使用chmod命令进行权限修改的方法。此外,还介绍了如何利用Perl和Python脚本来批量更改文件权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                    TCSH、Perl、Python脚本修改文件权限

 

一、常用的Linux文件权限

 1.1.权限显示

  • 通常从左到右用9个字母显示,每3个字母分为一组,依次表示文件所有者的权限同组用户的权限其他用户的权限
  • 读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示
  • 通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)
              No.                           数字描述                                  字母描述
1444r--r--r--
2600rw-------
3644rw-r--r--
4666rw-rw-rw-
5700rwx------
6744rwxr--r--
7755rwxr-xr-x
8777rwxrwxrwx

 

 1.2.使用案例

  • 通常使用最多的是755,下面以755为例说明:

1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。

 

 1.3.权限变更

  • 直接使用chmod命令来改变文件权限
chmod 755 file_name

chmod u+rwx file_name
  • 递归修改文件权限
chmod -R 755 director_name

 

二、Perl脚本修改文件权限

 2.1.直接调用system函数

#!/usr/bin/perl -w

use warning;
use static;

system("chmod 755 file_name");

 

 2.2.Perl获取当前路径

#!/usr/bin/perl -w

use warning;
use static;
use Cwd;


$run_dir = getcwd();

 

三、Python3脚本修改文件权限

 3.1.使用stat模块

import os
import sys
import stat
  
os.chmod('abc', stat.S_IREAD)
  
os.chmod('abc', stat.S_IREAD+stat.S_IWOTH)

os.chmod(outputpath, stat.S_IRWXO + stat.S_IRWXG + stat.S_IRWXU)

os.chmod("/tmp/foo.txt", stat.S_IRWXU|stat.S_IRWXG|stat.S_IRWXO) # mode:777

 

 3.3.stat模块用法总结

          No.                       方法                                                  描述
1stat.S_IREADRead by owner. 对于拥有者读的权限
2stat.S_IWRITEWrite by owner. 对于拥有者写的权限
3stat.S_IEXECExecute by owner. 对于拥有者执行的权限
4stat.S_IRWXURead, write, and execute by owner. 对于拥有者读写执行的权限
5stat.S_IRUSRRead by owner. 对于拥有者读的权限
6stat.S_IWUSRWrite by owner. 对于拥有者写的权限
7stat.S_IXUSRExecute by owner. 对于拥有者执行的权限
8stat.S_IRWXGRead, write, and execute by group. 对于同组的人读写执行的权限
9stat.S_IRGRPRead by group. 对于同组读的权限
10stat.S_IWGRPWrite by group. 对于同组写的权限
11stat.S_IXGRPExecute by group. 对于同组执行的权限
12stat.S_IRWXORead, write, and execute by others. 对于其他组读写执行的权限
13stat.S_IROTHRead by others. 对于其他组读的权限
14stat.S_IWOTHWrite by others. 对于其他组写的权限
15stat.S_IXOTHExecute by others. 对于其他组执行的权限 

 

 3.3.Python3获取当前路径

#!/usr/bin/env python3

import sys
import os

os.getcwd()              #然后就可以看见结果了

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元直数字电路验证

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值