linux sell脚本对隐藏目标文件或复杂的文件删除脚本

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/weixin_42867972/article/details/81838765

删除隐藏目标文件

本章节内容为删除目标文件以及隐藏的文件;还有一些是乱码或者标点符号命名的文件,通过 “ rm -f ” 进行删除的效果不太理想,必须得通过查询文件的号码才能进行删除;做起来的话还是相当麻烦的呢,所以我们开发的这个脚本就用的上场了;对于想删除文件我们只需要输入“序号” 就能将其删除…

脚本代码…

[root@deng-131 order]# vim srm.sh
#!/bin/bash
#用途:用于删除复杂隐藏的文件
#开发者:酋长rosen
#联系方式:https://blog.csdn.net/weixin_42867972/
#版本信息:2.0.10
        ls -lia  | cat -n | tail -n +2 | awk '{print}' #把要当前目录下全部文件以列表的形式显示出来
        read -p "请输入要删除文件的序号:" num          #输入要删除的文件序号
if [[ $num =~ ^[0-9]{1,4}$ ]]                        #序号必须是数字输错就直接退出
then
   id=`ls -lia  | cat -n | tail -n +2 | awk '$1=='$num'{print $2}'`  #查找删除文件ID号,进行准确删除
   find . -inum $id -exec rm {} \;      #通过ID号对目标文件执行删除工作
        echo -e "\033[32m [SUCCESSFUL:]  \033[0m 文件已删除!" #汇报成功信息
else
        echo -e "\033[31m [FAULT:] \033[0m 请从新输入!"       #反馈输入错误信息
fi

脚本思路:

1、删除目标文件可能涉及到一些复杂奇怪长又繁琐的文件命名,为了能快捷准确的输入通过以下脚本去执行
2、通过命令 “ls -lia” 进行列表式呈现当前目录下的所有文件
3、引用交互式的命令 “read -p” 输入对应的序号并且赋值判断,输入的必须是数字,乱输无效
4、通过输入的序号查找目标ID值进行删除
5、通过输入的信息反馈删除是否成功

输出 “echo $PATH” 寻找脚本摆放的位置(默认首先第一个)其他路径也是可以的呢
把脚本放到 “/usr/local/sbin” 并且改名 “srm” (名字可以自定),放置对应的位置当作新的命令使用了

[root@deng-131 order]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@deng-131 order]# cp srm.sh /usr/local/sbin/srm

通过编写 shell 脚本来实现不一样的需求。后续小编还会多写一些简单有趣实用的小脚本给大家,希望大家喜欢。。。

猜你喜欢

转载自blog.csdn.net/weixin_42867972/article/details/81838765
今日推荐