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

本文介绍了一款用于批量删除复杂命名及隐藏文件的Shell脚本。该脚本通过简单的序号输入方式,实现了对难以手动删除的目标文件的快速清理。开发者酋长rosen提供了详细的实现步骤与使用说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

删除隐藏目标文件

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

脚本代码…

[root@deng-131 order]# vim srm.sh
#!/bin/bash
#用途:用于删除复杂隐藏的文件
#开发者:酋长rosen
#联系方式:https://blog.youkuaiyun.com/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 脚本来实现不一样的需求。后续小编还会多写一些简单有趣实用的小脚本给大家,希望大家喜欢。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值