Perl Chmod命令:如何设置和删除文件和目录权限
PERL代表实用提取和报告语言。它是一种可以在Windows、Unix和Macintosh等不同平台上运行的编程语言。C或Unix shell开发人员会发现很容易迁移到这个平台。它是一个开源软件,以其稳定性而闻名。Perl的当前版本是5.16.2。Perl提供了对过程程序和面向对象程序的支持。它可以很容易地连接到Oracle、Sybase、MySQL等数据库。这种语言与标记语言(如HTML、XML和其他)一起使用很方便。Perl提供了对Unicode的支持,并且兼容Y2K。Perl非常容易学习,即使您是编程新手。请参加这门介绍性的Perl课程,您可以自己看看。
今天,我们将带您学习Perl更改模式命令。该命令用于设置目录和文件的权限。我们假定您有基本的编程知识。如果不行,你可以学习这门编程入门课程帮助你开始。
修改文件权限是什么?
Chmod是Change Mode的首字母缩写。它由三个数字组成。这三个数字的每一个都是通过加上另外三个数字来计算的。该命令同时用于文件和目录。该命令的语法如下所示。
chmod模式列表
这里的模式是权限,列表是文件(s)的权限是设置/更改根据模式。
你可以在这个Linux课程中了解更多关于chmod的知识(chmod在Perl和Linux的工作相同)。
Chmod命令的使用模式
- U代表文件的所有者用户。
- G代表文件组的成员组
- 代表既不是成员也不是文件所有者的其他人。
- A代表所有,即ugo。
Chmod命令的操作符
这些操作符用于设置或删除文件的权限。它们如下。
- ' + '操作符添加指定的模式。
- ' - '操作符删除指定的模式。
- “=”操作符的结果是将指定的模式转换为文件的精确模式。
Chmod命令的使用模式
下面列出Perl中的三种基本模式。看一看。
- “r”代表对文件或目录内容的读权限。
- “w”代表对文件或目录的写权限。
- “x”代表文件的执行权限或目录的递归权限。
特殊的执行权限
' X '用于为文件和目录设置特殊的执行权限。它通常与-R选项一起使用。例如:chmod -R a+X
数值和模态的各种组合
读(r)为4,写(w)为2,执行(x)为1。下表列出了使用这三种命令类型的文件或目录可能具有的所有组合。
数字rwx权限集
——————————————————————
0 -不能访问文件
1 -x该文件只有执行权限
2 -w-只设置写权限
3 -wx该文件具有写和执行权限,但没有读权限。
4r -只读权限。
5 r-x读取和执行权限。
6 rw—设置文件读写权限。
7 rwx设置读、写、执行三个权限。
一般情况下,文件的权限设置为777、755、666、644。目录设置为777或755。对于CGI(通用网关接口)脚本,设置为755,数据文件设置为666,配置文件设置为644。第一个数字表示主机,第二个数字表示组,第三个数字表示其他,即访问该网站的访问者。
Chmod命令使用示例
- chmod(“+ x”、“file1 file2)-这里你设置的执行权限文件文件1和文件2的所有类型的用户。
- chmod (o = g-w”,“file1 file2)-这个命令删除所有其他的三个权限,这里是世界。组的写权限被移除。
- chmod(“= u”,“file1 file2)-这里为所有用户设置了所有权限。
- Chmod g+w
—该命令增加了组对目录的写权限 - chmod w <文件名>—删除所有三类用户的写权限。
- chmod ug = rx <文件名>—该命令设置用户和组的读取和执行权限。此处没有写权限。
- chmod + r <文件名>—此处设置“all”的读权限。
- chmod ax <文件名>—全部删除执行权限。
- chmod a + rw <文件名>-设置所有用户的读写权限。注意,没有执行权限。
- chmod + rwx <文件名>—该命令设置默认权限为-rwxr-xr-x。
- chmod u = rw, = <文件名>—该命令用于设置文件属主的读写权限。它允许组和其他的所有权限。
- chmod - r u+w,go-w
- 该命令为该用户添加写权限,并删除其他用户和此目录下所有文件的组的写权限。 - chmod = <文件名>—可以使用该命令删除所有权限。
- chmod 777 <文件名>—可以使用该命令设置所有用户的所有权限。
- chmod 664 <文件名>—设置“属主”和“组”的读写权限,其他用户只有读权限。
- chmod 0755 <文件名>—0表示没有特殊模式。该命令对用户具有所有权限,对组和其他用户只有读和执行权限。
- chmod -R u+rwX,g-rwx,o-rwx
—该命令为目录的属主设置所有权限,为目录内文件的属主设置读、写f权限,不允许组和其他权限。
例1:用Perl调用Chmod的程序
# !/usr/bin/perl使用严格;使用警告;我的$filename = "example.txt";chmod 0600, $filename or die " cannot change the permission to $filename: $!";$dir = "exampledir";chmod(0660, $dir) or die " cannot set the permission to $dir: $!";退出0;
这个程序使用chmod函数来设置文件和目录的权限。如果chmod不能正常执行,输出屏幕上会显示一个错误消息。上述程序的第一行称为shebang行。它用于使Perl脚本可移植到Unix和Cygwin。即使在Windows上,也建议使用相同的。' use strict '和' use warnings '语句用于告诉Perl解释器检查编程错误。my关键字将列出的变量声明为封闭块的局部变量。Die命令用于向用户显示消息。
例2:程序在文件列表上调用Chmod
# !/usr/bin/perl使用严格;使用警告;我的@files = ("example1.txt", "example2,txt", "example3.txt");我的$res = chmod 0600, @files;print "Modified $res files\n";死美元!如果(美元);退出0;
在这个程序中,我们对三个文件使用chmod命令。变量res接受chmod命令成功修改的文件数量。
希望本文有助于您更好地理解Perl chmod命令。用这些例子做实验,自己去尝试。你也可以这样做学习其他脚本语言的基础知识,如bash或Python(你可以通过这个课程学习)来比较最适合你的方法。