请问linux怎样删除某一个目录下所有指定文件名的文件

请问linux怎样删除某一个目录下所有指定文件名的文件,第1张

1、先使用SSH连接工具进入到linux系统中。

2、在linux系统中使用删除命令是rm,是英文remove的缩写,使用参数比较简单,我们可以使用查询命令查看使用方式。

3、除了进入目录下直接输入文件名,rm命令后还可以跟文件的绝对路径名,这样就无需进入到目录下进行删除了。

4、我们也可以使用强制命令删除,一般情况下都是直接使用强制命令删除文件,且无需提示,方便快捷rm -f 文件名。

5、另外如果目录下都是需要删除的文件,也就是批量删除的话,可以使用rm -fr 目录的形式,删除目录下的一切文件例如 rm -fr ./*。

6、同时rm命令还支持文件的正则表达式匹配,可以模糊地进行删除 *** 作,比如我们可以删除目录下的所有txt文件rm -f *.txt。

注意事项:

linux除了在服务器 *** 作系统方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该 *** 作系统的实现机制,而且可以根据自身的需要来修改完善这个 *** 作系统,使其最大化地适应用户的需要。

彻底清除删除除系统外的所有文件方法有:

1、把C盘除外的盘格式化

2、控制面板——添加删除程序——逐一删除除系统外的所有程序

3、清除系统临时文件:将下面的代码复制到记事本,保存为“清理垃圾bat”文件,用时双击,运行这个批处理,自动清除系统垃圾文件。

删除制定文件(夹)之外的所有文件呢?

1、方法1,比较麻烦的做法是:

复制需要保留的文件到其他文件夹,然后将该目录删除, 然后将需要保留的移动 回来。

mv keep 。。/ #保留文件(夹) keep

rm -rf * #删除当前文件夹里的所有文件

mv 。。/keep 。/ #将原来的东西移动回来

2、方法2,需要在当前文件夹中进行:

rm -rf !(keep) #删除keep文件之外的所有文件

rm -rf !(keep1 | keep2) #删除keep1和keep2文件之外的所有文件

3、方法3,当前文件夹中结合使用grep和xargs来处理文件名:

ls | grep -v keep | xargs rm #删除keep文件之外的所有文件

说明: ls先得到当前的所有文件和文件夹的名字, grep -v keep,进行grep正则匹配查找keep,-v参数决定了结果为匹配之外的结果,也就是的到了keep之外的所有文件名,然后 xargs用于从 标准输入获得参数 并且传递给后面的命令,这里使用的命令是 rm,然后由rm删除前面选择的文件。

好处:使用了grep来正则表达式来匹配文件名字,可以一次保留多个文件,从而进行更加准确的处理。

4、方法4,使用find命令代替ls,改进方法3从而能够处理制定文件夹的文件:

find 。/test/ | grep -v keep | xargs rm #删除当前test文件夹中keep文件之外的所有文件

说明,用grep而不用find -name选取名字,因为find选取名字时比较麻烦,对正则表达式支持不够,无法排除指定文件名。

5、方法5,直接使用find命令删除其他文件:

find 。/ -name ‘[^k][^e][^e][^p]*’ -exec rm -rf {} \#删除keep以外的其他文件。

find 。/ -name ‘[^k][^e][^e][^p]*’ | xargs rm -rf #删除keep以外的其他文件。推荐!

说明:上面第二行的代码效率高些,原因在于删除多个文件时 -exec会启动多个进程来处理,而xargs会启动一个rm进程来处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/8903069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存