一、更改文件属性
1、chgrp:更改文件属组
语法:
chgrp [-R] 属组名文件名
参数选项
- -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件属主,也可以同时更改文件属组
语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3、chmod:更改文件9个属性
Linux文件属性有两种设置方法,一种是数字,一种是符号。Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
chmod [-R] 755 文件或目录 # r:4 w:2 x:1
符号类型改变文件权限
还有一个改变权限的方法呦!九个权限分别是(1)user (2)group (3)others三种身份啦! 那么我们就可以藉由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:
chmod | u g o a |
+(加入) -(除去) =(设定) |
r w x |
文件或目录 |
二、 文件测试
-e:判断文件是否存在
- 在创建新文件程序之前,应先检查指定的文件是否已经存在,以免意外覆盖重要的电子表格或是宝贵的生日档案。要达到此目的,我们可以用-e文件测试操作符来测试文件是否存在:
- die "Oops ! A file called '$filename' already exists.\n"; if -e $filename;
- -s:查找硬盘中的文件的大小
- my @original_files = qw /fred barney betty wilma pebbles dino bamm-bamm /;
- my @big_old_files; #将要移到备份磁带上的既大且旧的文件列表
- foreach my $filename (@original_files)
- {
- push @big_old_files, $filename if -s $filename > 100_000 and -A $filename > 90;
- } 文件测试操作符 意义 -r 文件或目录,对目前(有效的)用户或组来说是可读的
- -w 文件或目录,对目前(有效的)用户或组来说是可写的
- -x 文件或目录,对目前(有效的)用户或组来说是可执行的
- -o 文件或目录,由目前(有效的)用户拥有
- -R 文件或目录,对实际的用户或组来说是可读的
- -W 文件或目录,对实际的用户或组来说是可写的
- -X 文件或目录,对实际的用户或组来说是可执行的
- -O 文件或目录,由实际的用户拥有
- -e 文件或目录是存在的
- -z 文件存在且没有内容(对目录来说永远为假)
- -s 文件或目录存在而且有内容(返回值是以字节为单位的文件的大小)
- -f 是普通文件
- -d 是目录
- -l 是符号链接
- 测试同一文件的多项属性: 可读又可写 if(-r $file and -w $file) { ... }