Linux rm删除指定文件外的其他文件方法汇总

我们经常需要使用rm命令来删除不需要的文件。今天我就来给大家分享一下Linux rm删除指定文件外的其他文件方法汇总。

作为一名Linux用户,我们经常需要使用rm命令来删除不需要的文件。但是有时候我们只想保留某些特定的文件,而将其他所有的文件都删除掉。那么该怎么做呢?今天我就来给大家分享一下Linux rm删除指定文件外的其他文件方法汇总。

创新互联建站专注于企业成都营销网站建设、网站重做改版、盐津网站定制设计、自适应品牌网站建设、H5页面制作商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为盐津等各大城市提供网站开发制作服务。

首先,我们可以使用通配符(*)和逻辑运算符(!)来实现这个功能。比如说,如果你想要保留以“.txt”结尾的所有文本文件,并且将其他类型的所有文件都删除掉,那么你可以使用以下命令:

```

rm !(*.txt)

这个命令会选中除了以“.txt”结尾之外的所有其他类型的文件,并将它们全部删除掉。

另外一个实现同样功能的方法是通过管道操作符“|”,将find命令与xargs命令组合起来使用。具体步骤如下:

1. 使用find命令查找要被保留下来的特定类型或名称等属性匹配到对应规则后获取其绝对路径

2. 将搜索结果传递给xargs,在此基础上执行rm -f 命令进行批量处理

例如:如果你想要保留当前目录及其子目录中以“.txt”结尾并且修改时间在一周之前的文本文件,并将其他所有类型的文件都删除掉,那么你可以使用以下命令:

find . -type f -name "*.txt" ! -mtime 7 | xargs rm -f

这个命令会找到当前目录及其子目录中符合条件的文本文件,并将它们全部保留下来。然后,通过管道操作符“|”将搜索结果传递给xargs命令,在此基础上执行rm -f 命令进行批量处理。

另外还有一种方法是使用rsync命令来实现同样的功能。具体步骤如下:

1. 使用rsync命令从原始目录复制特定类型或名称等属性匹配到对应规则后获取其绝对路径

2. 将复制结果传递给rm命令,在此基础上执行删除操作

rsync --delete-before --exclude='*.txt' --exclude='./*/' ./ /tmp && rm -rf /tmp/*

这个命令会先用rsync从原始目录中复制出需要被保留下来的所有文本文件和相关信息,并排除了不需要被保存下来部分内容;接着再将复制结果传递给rm命令,在此基础上执行删除操作。

综上所述,以上三种方法都可以很好地实现Linux rm删除指定文件外的其他文件功能。但是在使用这些命令的时候,一定要非常小心谨慎。因为误删了重要文件可不是开玩笑的事情!

当前标题:Linux rm删除指定文件外的其他文件方法汇总
标题路径:http://www.hantingmc.com/qtweb/news28/37428.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联