1.删除某目录下所有文件,只保留指定文件。
例:假设/abc文件夹下有a1、a2、...a10文件,保留a5和a6文件,其他全部删除
[[email protected] abc]# touch a{1..10} [[email protected] abc]# ls a1 a10 a2 a3 a4 a5 a6 a7 a8 a9 方法1: [[email protected] abc]# rm -f `ls|egrep -v ‘(a5|a6)‘` [[email protected] abc]# ls a5 a6 方法2:开启bash的extglob功能(此功能的作用就是用rm !(*jpg)这样的方式来删除不包括号内文件的文件) [[email protected] abc]# shopt -s extglob #开启extglob [[email protected] abc]# rm -fr !(a5|a6) [[email protected] abc]# ls a5 a6 [[email protected] abc]# shopt -u extglob #关闭extglob
2.chmod丢失x执行权限怎么处理?
[[email protected] bin]# chmod -x chmod [[email protected] bin]# ls -l chmod -rw-r--r--. 1 root root 50048 11月 22 2013 chmod 方法1: [[email protected] bin]# /lib/ld-linux.so.2 /bin/chmod +x /bin/chmod 方法2:使用ACL获取 [[email protected] bin]# setfacl -m user:root:rwx /bin/chmod 方法3:偷权限 [[email protected] bin]# cp -p chown chown.bak [[email protected] bin]# cat chmod > chown [[email protected] bin]# chown +x /bin/chmod [[email protected] bin]# rm -f chown [[email protected] bin]# mv chown.bak chown
3.查看文件指定行内容
例:查看/etc/passwd文件5-10行内容
方法1: [[email protected] ~]# cat /etc/passwd -b|sed -n ‘5,10p‘ 方法2:(10-5=5,显示第5行+1=6) [[email protected] ~]# cat /etc/passwd -b|head -10|tail -6 或 [[email protected] ~]# cat /etc/passwd -b|tail -n +5|head -6
[[email protected] abc]# touch a{1..10}[[email protected] abc]# lsa1 a10 a2 a3 a4 a5 a6 a7 a8 a9
方法1:使用find操作[[email protected] abc]# find . -type f ! -name "a10"|xargs rm -f[[email protected] abc]# lsa10
或:[[email protected] abc]# find . -type f ! -name "a10" -exec rm -f {} \;[[email protected] abc]# lsa10
方法2:开启bash的extglob功能(此功能的作用就是用rm !(*jpg)这样的方式来删除不包括号内文件的文件)[[email protected] abc]# shopt -s extglob[[email protected] abc]# rm -fr !(a10)[[email protected] abc]# lsa10[[email protected] abc]# shopt -u extglob
时间: 2024-12-09 08:03:22