linux实现除了某个文件或某个文件夹以外的全部删除
作者:jingxian 发布时间:2023-09-08 04:46:35
比如一个目录下有1,2,3,4,5这五个文件,现在我需要删除除了2以外的所有文件,那么我可以使用
find . ! -name 2 -exec rm -f {} \;
当然你还可以配合着 -maxdepth 来更精准的删除了.
下面演示删除的范围仅限于当前目录.
find . -maxdepth 1 ! -name 2 -exec rm -f {} \;
下面提供Linux下find命令的详细使用方法
在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find [起始目录] 寻找条件 操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。 该命令提供的寻找条件可以是一个用逻辑运算符 not、and、or 组成的复合条件。逻辑运 算符 and、or、not 的含义为:
(1) and:逻辑与,在命令中用“-a”表示,是系统缺省的选项,表示只有当所给的条 件都满足时,寻找条件才算满足。
例如:
find –name 'tmp' –xtype c -user 'inin'
% 该命令寻找三个给定条件都满足的所有文件
(2) or:逻辑或,在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足 时,寻找条件就算满足。
例如:
find –name 'tmp' –o –name 'mina*'
% 该命令查询文件名为'tmp'或是匹配'mina*'的所有文件。
(3) not:逻辑非,在命令中用“!”表示。该运算符表示查找不满足所给条件的文件 。
例如:
find ! –name 'tmp'
% 该命令查询文件名不是'tmp'的所有文件。
需要说明的是:当使用很多的逻辑选项时,可以用括号把这些选项括起来。为了避免She ll本身对括号引起误解,在话号前需要加转义字符“\”来去除括号的意义。
例:
find \(–name 'tmp' –xtype c -user 'inin' \)
该命令的各选项含义如下:
首先,下列各个选项中的 n 值可以有三种输入方式,假设 n 为20,则:
+20 表示20以后(21,22,23等)
-20 表示20以前(19,18,17等)
20 表示正好是20
以名称和文件属性查找。
-name '字串' 查找文件名匹配所给字串的所有文件,字串内可用通配符 *、?、[ ]。
-lname '字串' 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符 *、?、[ ]。
-gid n 查找属于ID号为 n 的用户组的所有文件。
-uid n 查找属于ID号为 n 的用户的所有文件。
-group '字串' 查找属于用户组名为所给字串的所有的文件。
-user '字串' 查找属于用户名为所给字串的所有的文件。
-empty 查找大小为 0的目录或文件。
-path '字串' 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[ ]。
-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711,644。
-size n[bckw] 查找指定文件大小的文件,n 后面的字符表示单位,缺省为 b,代表512字节的块。
-type x 查找类型为 x 的文件,x 为下列字符之一:
b 块设备文件
c 字符设备文件
d 目录文件
p 命名管道(FIFO)
f 普通文件
l 符号链接文件(symbolic links)
s socket文件
-xtype x 与 -type 基本相同,但只查找符号链接文件。
以时间为条件查找
-amin n 查找n分钟以前被访问过的所有文件。
-atime n 查找n天以前被访问过的所有文件。
-cmin n 查找n分钟以前文件状态被修改过的所有文件。
-ctime n 查找n天以前文件状态被修改过的所有文件。
-mmin n 查找n分钟以前文件内容被修改过的所有文件。
-mtime n 查找n天以前文件内容被修改过的所有文件。
可执行的操作
-exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。
{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。
-ok 命令名称 {} 对符合条件的文件执行所给的Linux 命令,与exec不同的是,
它会询问用户是否需要执行该命令。
-ls 详细列出所找到的所有文件。
-fprintf 文件名 将找到的文件名写入指定文件。
-print 在标准输出设备上显示查找出的文件名。
-printf 格式 格式的写法请参考有关C语言的书。
指令实例:
find . - name ‘main*' - exec more {} \;
% 查找当前目录中所有以main开头的文件,并显示这些文件的内容。
find . \(- name a.out - o - name ‘*.o'\)> - atime +7 - exec rm {} \;
% 删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。
% 命令中的“.”表示当前目录,此时 find 将从当前目录开始,
逐个在其子目录中查找满足后面指定条件的文件。
% “\(” 和 “\)” 表示括号(),其中的 “\” 称为转义符。之所以这样写是由于
对 Shell 而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。
% “-name a.out” 是指要查找名为a.out的文件;
% “-name ‘*.o'” 是指要查找所有名字以 .o 结尾的文件。
这两个 -name 之间的 -o 表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件。
% find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间
是否在7天以前(条件 -atime +7),若是,则对该文件执行命令 rm(-exec rm {} \;)。
其中 {} 代表当前查到的符合条件的文件名,\;则是语法所要求的。
% 上述命令中第一行的最后一个 \ 是续行符。当命令太长而在一行写不下时,
可输入一个 \,之后系统将显示一个 >,指示用户继续输入命令。


猜你喜欢
- 10月20日消息,支付宝总裁邵晓锋在2009中国数码产品网上零售峰会上表示,支付宝已经成立了独立运营的团队,专攻支付宝手机方面的研究,目前已
- 首先说说现在的个人电影站,市场上流行的主要是马克斯电影程序和搜一次电影程序,至于两者的区别,大家有兴趣的可以到他们的官网看看就知道了,不过现
- 本文介绍的是关于Linux中别名与二进制使用的相关内容,分享出来给大家参考,下面来看看详细的介绍:二进制一般二进制这个名词听上去高深莫测,然
- 购物真是女性的天性,就连网上也不例外。万事达卡国际组织昨日发布了一项关于女性消费者网络购物行为的调查,发现有网购行为的女性不仅在数量上多于男
- 为了助力社区门户的运营建设,康盛创想(Comsenz)全新推出的社区论坛系统Discuz! 7.2版本进一步优了产品细节,在版块管理上新增了
- 我们以默认模板为例分析一下其模板样式,SupeSite 7.0 默认模板的样式表为 \templates\default\css\commo
- 不仔细看httpd.conf配置文件还不知道有这回事,汗。ServerType这个配置选项指定如何运行Apache。Apache可以使用两种
- 想必大家都知道,在给网站做seo优化技术时,选择合适的关键字是非常重要的一步。那么选择这些关键字,除了了解用户习惯外,我们还可以通过一些关键
- IE9引入了Pinned Sites 新概念。Pinned Sites允许用户把网站像Windows应用程序一样“钉”在Windows 7
- 1 我的Linux需求这里讨论的是我对线上的Linux机器的需求,所以只讨论稳定发行版,且是比较保守的版本。比如CentOS 7的xfs不予
- 在Google Earth 5.1测试版发布时就已改进了软件运行的速度,尤其是移动和转换地点时地图的更新速度明显提高。近日官方发布5.1正式
- 在了解了Exchange Server Store的工作方式和特点以后,我们接下来介绍一些邮件存储系统的管理技巧。管理员在掌握了原理以后会对
- 对于网站的收录与更新,搜索引擎都有它们各自的规律。因此每次网站的更新收录,都牵动着每一个网站所有者的神经。因为更新收录直接影响着百度排名和G
- 共享进行曲完成上面的WEB共享准备工作后,我们下面就需要将现成的IIS服务器改造成一个信息共享访问平台了,以后需要与他人交流的共享信息可以直
- 本周一Google公司对外宣布推出三种还处于测试阶段的新搜索模式,这些新功能能对同一关键词得出不同的搜索返回结果。1月31日消息,据国外媒体
- 通常地,大多数Web站点的设计目标都是:以最易接受的方式,为访问者提供即时的信息访问。在过去的几年中,越来越多的黑客、病毒和蠕虫带来的安全问
- 昨天谈到博客作者对垃圾留言的厌恶。今天再谈谈搜索引擎可能怎样鉴别垃圾留言。在点石论坛里看到了太多帖子讨论博客留言群发软件以及各种各样的经验。
- 引言:Exchange Server 2007提供了一个新的邮件兼容工具,称作传输规则机制。这种机制允许管理员对来自内外部的邮件信息采用策略
- 一旦你的网站跟这十大标准之中的几个挂上钩,就难逃经典特差网站的厄运,如果不幸以下这十条你的网站全都占了,那还是请离开站长圈,另谋出路比较好。
- 你完全不必耐心看完所有内容:简要安装说明如下安装http://sourceforge.net/projects/awstats/ 下载安装包