查看文件权限
# 进入指定目录
cd /test
# 查看文件夹内所有文件权限
ls -l
# 或者使用ll查看文件权限
ll
为某个文件赋权限权限各字符在Linux中所代表的含意
参考上图:
在bin文件夹对应的第一个参数是d,d在Linux中代表该文件是一个目录文件。
说明:
当为d则是目录;
当为-则是文件;
若是l则表示为链接文档(linkfile);
若是b则表示为装置文件上面的可供存放的插口设备(可随机存取装置);
若是c则表示为装置文件上面的串行端口设备,诸如按键、鼠标(一次性读取装置)。
其权限对应关系:
chgrp和chown
在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件所有者以外的用户又可以分为文件所属组的同组用户和其他用户。
Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
# chgrp:更改文件属组
# -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
chgrp [-R] 属组名 文件名
# chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
# 举例: 将文件夹中test.log文件的拥有者改为test这个账号
chown test test.log
# 举例: 将test.log的拥有者与群组改回为root
chown root:root test.log
chmod
Linux文件属性有两种设置方式,一种是数字linux替换文件命令linux命令ls,一种是符号。
使用数字来代表各个权限,各权限的分数对照如下:
# 变更权限指令
# xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
# -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更
chmod [-R] xyz 文件或目录
# 举例: 为文件1赋所有权限
sudo chmod -R 777 /test/file1
符号类型改变文件权限
u,g,o来代表三种身分的权限,a则代表alllinux替换文件命令,即全部的身分。读写的权限可以写成r,w,x。
命令角色动作可使用字符作用对象
chmod
+(加入)/-(去除)/=(设定)
r、w、x
文件或目录
chmod
+(加入)/-(去除)/=(设定)
r、w、x
文件或目录
chmod
+(加入)/-(去除)/=(设定)
r、w、x
文件或目录
chmod
+(加入)/-(去除)/=(设定))
r、w、x
文件或目录
# 举例 修改 test1 权限为-rwxr-xr--
chmod u=rwx,g=rx,o=r test1
# 举例 给所有用户赋读写权限,但不赋执行权限
chmod a-x test1
批量替换文件中的内容vi/vim替换(需打开文件)
冒号( : ) ➕ 小写字母( s )/well/good/g 替换当前行所有 well 为 good
直接替换文件中的字符串(不用打开文件,且可以批量替换多个文件)
perl命令替换linux操作系统版本,参数涵义如下:
# 用法示例:将所有C程序中的foo替换成bar,旧文件备份成.bak
perl -p -i.bak -e 's/bfoob/bar/g' *.c
# 将当前文件夹下lishan.txt和lishan.txt.bak中的“shan”都替换为“hua”
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
# 将每个文件中出现的数值都加一
perl -i.bak -pe 's/(d+)/ 1 + $1 /ge' file1 file2
sed替换
sed命令下批量替换文件内容
# 语法:
sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名
# 例如:我要把mahuinan替换 为huinanma,执行命令:
sed -i "s/mahuinan/huinanma/g" 'grep mahuinan -rl /www'
# 示例 把当前目录下lishan.txt里的shan都替换为hua
sed -i "s/shan/hua/g" lishan.txt
# 使用变量替换(使用双引号)
sed -e "s/$var1/$var2/g" filename
perl句型
find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g'