linux find命令将查找到的文件批量删除方法

目录
  • linux find命令将查找到的文件批量删除
  • Linux中find三种删除方式,常用于crontab定时任务和shell脚本
    • 0、按文件类型查找
    • 1、按文件名查找
    • 2、按文件时间属性查找
    • 3、按指定目录深度查找
    • 4、排除指定子目录查找
    • 5、按文件大小查找
    • 6、实例:

linux find命令将查找到的文件批量删除

全盘搜索系统中所有后缀为.mp4的文件,并删除所有查找到的文件:

[root@linuxcool ~]# find / -name "*.mp4" -exec rm -rf {} \;

补充知识

Linux中find三种删除方式,常用于crontab定时任务和shell脚本

find 查看删除的三种方式,如删除当前目录下的TXT文件:

方法1:xargs rm -f

find ./ -type f -name "*txt" |xargs rm -f

方法2:-exec rm -f

find ./ -type f -name "*txt*" -exec rm -f {} \;

-exec命令是查找到的每个文件调用一次rm命令,因此速度最慢

方法3:-delete

find ./ -type f -name "*txt" -delete

如果一次删除大量文件,建议采用第三种方式。经测试在删除千万级文件时,第三种方式比前两种快百倍。

删除时,常用参数:

0、按文件类型查找

-type:后面指定文件的类型。
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。

1、按文件名查找

-name: 查找时文件名大小写敏感。
-iname: 查找时文件名大小写不敏感。

2、按文件时间属性查找

-atime -n[+n]: 找出文件访问时间在n日之内[之外]的文件。
-ctime -n[+n]: 找出文件更改时间在n日之内[之外]的文件。
-mtime -n[+n]: 找出修改数据时间在n日之内[之外]的文件。
-amin -n[+n]: 找出文件访问时间在n分钟之内[之外]的文件。
-cmin -n[+n]: 找出文件更改时间在n分钟之内[之外]的文件。
-mmin -n[+n]: 找出修改数据时间在n分钟之内[之外]的文件。

find -ctime -2        #找出距此时2天之内创建的文件
find -ctime +2        #找出距此时2天之前创建的文件

3、按指定目录深度查找

-maxdepth: 后面的参数表示距当前目录指定的深度,其中1表示当前目录,2表示一级子目录,以此类推。在指定该选项后,find只是在找到指定深度后就不在递归其子目录了。

4、排除指定子目录查找

-path pathname -prune: 避开指定子目录pathname查找。
-path expression -prune: 避开表达中指定的一组pathname查找。
需要说明的是,如果同时使用-depth选项,那么-prune将被find命令忽略。

5、按文件大小查找

-size [+/-]100[c/k/M/G]: 表示文件的长度为等于[大于/小于]100块[字节/k/M/G]的文件。
-empty: 查找空文件。

6、实例:

删除N天前的文件,将/usr/local/backups目录下所有10天前带”.”的文件删除

find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;

到此这篇关于linux find命令将查找到的文件批量删除的文章就介绍到这了,更多相关linux find删除文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Linux下find 命令的 7 种用法

    目录 0. 按名称或正则表达式查找文件 1. 查找不同类型的文件 2.按指定的时间戳查找文件 3. 按大小查找文件 4. 按权限查找文件 5. 按所有权查找文件 6. 在找到文件后执行命令 总结 首先我们需要使用 cd 命令进入对应的目录,然后,命令如下: find . -type f -atime +365 -exec rm -rf {} \; 如果你还没有完全理解上面的命令,完全不用担心.本文将介绍 find 命令的 7 个实际用途,您最终会掌握它.如果您已经知道了,那么阅读这篇文章对您来说

  • 浅谈Linux下通过find命令进行rm文件删除的小技巧

    我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,

  • Linux中find命令的用法汇总

    Linux系统中的 find 命令在查找文件时非常有用而且方便.它可以根据不同的条件来查找文件,例如权限.拥有者.修改日期/时间.文件大小等等.在这篇文章中,我们将学习如何使用 find 命令以及它所提供的选项来查找文件. 在绝大多数Linux发行版中,你都可以直接使用 find 命令而无需进行任何安装操作.如果你想在linux系统的命令行中变得特别高效,那么 find 是你必须掌握的命令之一. find 命令的基本语法如下: $ find [path] [option] [expression

  • Linux文本查找命令find的用法详解

    find 命令主要用于查找目录和文件,可以指定多种参数进行匹配. 用法:find  +查找路径  +命令参数   [输出形式] 查找路径:告诉find在哪查找 命令参数:指定要查找的文件属性,属性包括多种,类型.名称.大小.修改时间等等 常用的参数: -name 按文件名进行查找 -user 按照文件的属主进行查找 -mtime  按照文件的更改时间来查找,-n 表示文件修改时间距今天n天以内,+n 表示文件修改时间距今天n天以前 -type  按照文件的类型查找,d 表示目录, f表示文件 ,

  • linux的一个find命令配合rm删除某天前的文件方法

    语句写法:find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \; 例1: 将/usr/local/backups目录下所有10天前带"."的文件删除 find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; find:linux的查找命令,用户查找指定条件的文件 /usr/local/backups:想要进行清理的任意目录 -

  • linux find命令将查找到的文件批量删除方法

    目录 linux find命令将查找到的文件批量删除 Linux中find三种删除方式,常用于crontab定时任务和shell脚本 0.按文件类型查找 1.按文件名查找 2.按文件时间属性查找 3.按指定目录深度查找 4.排除指定子目录查找 5.按文件大小查找 6.实例: linux find命令将查找到的文件批量删除 全盘搜索系统中所有后缀为.mp4的文件,并删除所有查找到的文件: [root@linuxcool ~]# find / -name "*.mp4" -exec rm

  • 利用Linux Find命令快速查找文件方法

    目录 一.find 命令基本使用方法 二.find 命令进阶用法 在茫茫的linux系统种我们如何快速的查找文件呢?对于系统文件基本上是有固定的位置的,但是有些软件安装文件是有自定义位置的,不熟悉的运维人员交接后我们需要重新适应各个运维人员的安装习惯.这里我们用的较多的还是linux find命令进行快速查找定位. 一.find 命令基本使用方法 find 命令格式如下: find PATH EXPRESSIONS... ACTIONS... 比如,我想查找 /etc/passwd 这个文件:

  • Win10系统下安装labelme及json文件批量转化方法

    一.安装环境:windows10,anaconda3,python3.6 由于框架maskrcnn需要json数据集,在没安装labelme环境和跑深度学习之前,我安装的是anaconda3,其中pyhton是3.7版本的,经网上查阅资料,经过一番查找资料,发现,原来在2019年,TensorFlow还不支持python3.7,所以,迫于无奈,我只能乖乖把python的版本退回到3.6版本,具体步骤也很简单.就是打开anaconda prompt ,然后输入conda install pytho

  • Linux下scp无密码上传 下载 文件 目录的方法

    在Linux下远程备份的时候,需要配置scp的 无密码复制文件.目录.就把这个设置整理如下: 本地服务器:A 远程服务器:B 1.在 A 上运行 ssh-keygen -t rsa 在/root/.ssh 下生成id_rsa 和 id_rsa.pub 两个文件 在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A 如图所示 2. 在 B 上也同样运行 ssh-keygen -t rsa 3. 在 B 的 /root/.ssh 下创建authorized_ke

  • Linux mysql命令安装允许远程连接的安装设置方法

    而这些东西,正是新手很困惑的地方.一下是我的安装笔记,在Centos虚拟机上安装成功.中文的参考:http://xieyu.blog.51cto.com/213338/59749英文的参考 How to Install MySQL 5.0 on Linux,How to Install PHP 5 on Linux ,How to Install Apache 2 on Linux Linux mysqlapache php 安装过程.将apache ,mysql ,php 的tar.gz 文件

  • 关于.LDB文件 .ldb文件的产生 .ldb文件的删除方法

    当打开数据库的所有用户都关闭数据库时,.ldb会被自动删除.但是当数据库没有被正常关闭或者数据库被损坏的时候,.ldb不会被自动删除.因为 .LDB 文件中存储着数据库损坏时谁正在使用该数据库. 遇到这种情况,有时候直接删除.LDB 文件也是无法删除的.改怎么办呢? 既然是可能因为数据库没有正常关闭或损坏才无法删除的,那修复下数据库就可以了: 复制代码 代码如下: <%  Application.Contents.Removeall()  %> 将上面的代码保存为一个ASP文件放在空间里执行一

  • 积累linux常用命令大全

    本人记忆力有限,就把平时在项目中遇到的linux常用命令分享给大家. Linux常用命令全集 http://www.jb51.net/linux/ linux文件中存在^M 使用shell命令tr可以实现去除,具体命令如下: 复制代码 代码如下: cat -v yourfile | tr -d "^M" > targetfile VIM中选定某个单词 在ESC之后,使用w或者wi或者vwi可以选择某个单词 在控制台中快速移动光标 1.删除 1.1 ctrl + d 删除光标所在位

  • 详解Linux中两个查找命令locate和find教程

    Linux中有很多查找命令,今天主要讲解locate,find两个命令. 1.locate locate命令其实是"find -name"的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库. (

  • Linux 按时间批量删除文件命令(删除N天前文件)

    需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据. 可以使用下面一条命令去完成: find /home/lifeccp/dicom/studies -mtime +21 -name "*.*" -exec rm -Rf {} \; 这个是根据时间删除. 下面简要解释一下,这句shell命令: find /home/lifeccp/dicom/studies -mtime +21 -name "*.*"

  • Linux du命令查看文件夹大小并按降序排列

    1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du -s /usr/* | sort -rn | head 5.选出排在后面的10个 du -s /usr/* | sort -rn | tail du -h –-max-depth=0 user du -sh –-max-depth=2 | more 总结du常用命令 du -h --max-dept

随机推荐