1. 用chattr命令防止系统中某个关键文件被修改:
# chattr +i /etc/resolv.conf
然后用mv /etc/resolv.conf等命令操作于该文件,都是得到Operation not permitted 的结果。vim编辑该文件时会提示W10: Warning: Changing a readonly file错误。要想修改此文件就要把i属性去掉: chattr -i /etc/resolv.conf
# lsattr /etc/resolv.conf
会显示如下属性
—-i——– /etc/resolv.conf
2. 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件:
# chattr +a /var/log/messages
3. 权限的优先级
# owner > acluser > group及aclgroup (谁的优先级大,就用谁)> other
4. setfacl getfacl
# setfacl -m u: username: rwx filename 设置用户的acl
# -x u/g:username/groupname filename 设置组的acl
# -m m:rwx filename 设置mask(最大优先级)
# -b filename 删除文件上的所有acl,同时删除acl结构
———上面的权限都可以配合递归 -R 一起使用
# -m d:u/g:username/groupname:rwx filename 设置默认权限(注意默认权限仅对未来文件有效,对当前无效)
# -X acl.txt filename 设置一个清除acl权限的清单 如 u:wang g:test
5. umask 查询当前shell的umask
# umask xxx 设置当前shell的umask
# vim ~/.bashrc
# 将umask xxx写入文件,在下次使用该用户登录shell时生效
# -S 以模式方式显示
# -p 输出可被调用
6. 设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以读写,
设置/testdir/dir的权限,使新建文件自动具有acl权限:user1:rw,g1:—,
备份/testdir目录中所有文件的ACL,清除/testdir的所有ACL权限,并利用备份还原。
7. SUID SGID sticky
# chmod u+s filename 设置SUID位 # chmod u-s filename 去掉SUID设置
# chmod g+s filename 设置SGID位 # chmod g-s filename 去掉SGID设置
当对一个可执行的二进制文件作用了suid权限之后,任何可以执行该文件的用户在执行时将临时拥有该文件所属人的身份。
当对一个可执行的二进制文件作用了sgid权限之后,任何可以执行该文件的用户在执行时将临时更改主要组为该为文件的主要组从而获得组权限。
当对一个目录作用了suid权限之后,任何对目录有wx权限的用户在该目录下所创建的文件(或目录)的所属组不在是用户的主组,而是继承该目录的所属组。
当对一个目录作用了sticky权限之后,该目录下的文件仅其所属人、目录的所属人和root可以删除。
8. uniq 去重
# uniq 去除连续的重复行,仅保留一行
# -u 去除连续的重复行,不保留
# -d 仅显示重复的行,去除不重复的行
# -c 显示的结果前显示重复的次数
9. 找出ifconfig “网卡名” 命令结果中本机的IPv4地址
10. 查出分区空间使用率的最大百分比值
11. grep用法
# -v 显示不被pattern匹配到的行
# -i 忽略字符大小写
# -n 显示匹配的行号
# -c 统计匹配的行数
# -o 仅显示匹配到的字符串
# -q 不输出任何信息
# -A 后几行 -B 前几行 -C 上下各几行
# -e 实现多个选项间的逻辑or关系
grep -e ‘cat’ -e ‘dog’ file
# -w 匹配整个单词
12. read用法
# -a 将内容读入到数值中
# -n 用于限定最多可以有多少字符可以作为有效读入
# -p 用于给出提示符
# -t 用于等待输入的时间
# -s 用于隐藏输入密码的显示情况
13. shell添加用户小程序
14. tar用法
# -c: 建立压缩档案
# -x:解压
# -t:查看内容
# -r:向压缩归档文件末尾追加文件
# -u:更新原压缩包中的文件
# -z:有gzip属性的
# -j:有bz2属性的
# -Z:有compress属性的
# -v:显示所有过程
# -O:将文件解开到标准输出
打包: tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。
tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。
tar -tf all.tar 这条命令是列出all.tar包中所有文件
压缩: tar -czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包
tar -cjf jpg.tar.bz2 *.jpg 是用bzip2压缩的包
tar -cZf jpg.tar.Z *.jpg 是用compress压缩
解压: tar -xzvf file.tar.gz 解压tar.gz(gzip)
tar -xjvf file.tar.bz2 解压 tar.bz2(bzip2)
tar -xZvf file.tar.Z 解压tar.Z (compress)
15. sed用法
-n 不输出模式空间内容到屏幕,既不自动打印
-e 多点编辑
-f 从指定文件中读取编辑脚本
-r 支持使用扩展正则表达式
-i.bak 备份文件并原处编辑
编辑命令:
d: 删除模式空间匹配的行,并立即启用下一轮循环
p: 打印当前模式空间内容,追加到默认输出之后
a: 在指定行后面追加文本
i: 在行前面追加文本
w: 保存模式匹配的行至指定文件
r: 读取指定文件的文本至模式空间中匹配到的行后
=: 打印行号
!: 模式空间匹配行取反处理
g: 行内全局替换
p: 显示替换成功的行
例题:etc/passwd删除倒数第二个单词
第一个单词和最后一个单词调换顺序
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/86679