linux 如何删除某一目录及其子目录下的所有文件或文件夹

【linux】搜索所有目录和子目录下的包含.git的文件并删除 会使`rm -f`命令执行为`rm -f /path/to/search/somedir/.git`,从而删除该文件。在Linux中,要搜索所有目录和子目录下的包含`.git`的文件并删除它们,可以使用`find`命令结合`-exec`选项来执行删除操作。` 表示`-exec`选项的结束。在Shell脚本中,分号(`;因此,这个命令组合的作用就是对于`find`命令找到的每个匹配`-name "*.git*"`的文件(即文件名包含`.git`的文件),都执行`rm -f`命令来删除它们。 阅读详情

当你要删除某一目录下及其子目录下的所有某类型的文件或文件夹时,使用一般的rm方法在配以正则是行不通的。。。

 

正确做法为:

 

find folderPath -option [-print] [-exec -ok command] {} \;

 

e.g.:

删除当前目录及其子目录下的所有xml文件:

 

find . -type f -name '*.xml' -exec rm -rf {} \;

 

删除某个目录下及其子目录下的所有的.svn 文件夹:

find /test/subtest -type d -name '.svn' -exec rm -rf {} \;

 

Linux中find常见用法示例

find path -option [ -print ] [ -exec -ok command ] {} \;

#-print 将查找到的文件输出到标准输出

#-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格,{} 表示find到的结果,最后有反斜杠\ 和 分号 ; 表示命令结束

#-ok 和-exec相同,只不过在操作前要询用户

#find 根据下列规则判断 path 和 expression(命令选项参数 -option),在命令列上第一个 – ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

====================================================

-name filename #查找名为filename的文件

-perm #按执行权限来查找

-user username #按文件属主来查找

-group groupname #按组来查找

-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前

-atime -n +n #按文件访问时间来查找文件,-n指n天以内,+n指n天以前

-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前

-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在

-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存

-newer f1 !f2 #查更改时间比f1新但比f2旧的文件

-type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件

-size n[c] #查长度为n块[或n字节]的文件

-depth #使查找在进入子目录前先行查找完本目录

-fstype #查更改时间比f1新但比f2旧的文件

-mount #查文件时不跨越文件系统mount点

-follow #如果遇到符号链接文件,就跟踪链接所指的文件

-cpio #对匹配的文件使用cpio命令,将他们备份到磁带设备中

-prune #忽略某个目录

 

===========================================================================

find -name april* 在当前目录下查找以april开始的文件

find -name april* fprint file 在当前目录下查找以april开始的文件,并把结果输出到file中

find -name ap* -o -name may* 查找以ap或may开头的文件

find /mnt -name tom.txt -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件

find /mnt -name t.txt ! -ftype vfat 在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件

find /tmp -name wa* -type l 在/tmp下查找名为wa开头且类型为符号链接的文件

find /home -mtime -2 在/home下查最近两天内改动过的文件

find /home -atime -1 查1天之内被存取过的文件

find /home -mmin +60 在/home下查60分钟前改动过的文件

find /home -amin +30 查最近30分钟前被存取过的文件

find /home -newer tmp.txt 在/home下查更新时间比tmp.txt近的文件或目录

find /home -anewer tmp.txt 在/home下查存取时间比tmp.txt近的文件或目录

find /home -used -2 列出文件或目录被改动过之后,在2日内被存取过的文件或目录

find /home -user cnscn 列出/home目录内属于用户cnscn的文件或目录

find /home -uid +501 列出/home目录内用户的识别码大于501的文件或目录

find /home -group cnscn 列出/home内组为cnscn的文件或目录

find /home -gid 501 列出/home内组id为501的文件或目录

find /home -nouser 列出/home内不属于本地用户的文件或目录

find /home -nogroup 列出/home内不属于本地组的文件或目录

find /home -name tmp.txt -maxdepth 4 列出/home内的tmp.txt 查时深度最多为3层

find /home -name tmp.txt -mindepth 3 从第2层开始查

find /home -empty 查找大小为0的文件或空目录

find /home -size +512k 查大于512k的文件

find /home -size -512k 查小于512k的文件

find /home -links +2 查硬连接数大于2的文件或目录

find /home -perm 0700 查权限为700的文件或目录

find /tmp -name tmp.txt -exec cat {} \;

find /tmp -name tmp.txt -ok rm {} \;

find / -amin -10 # 查找在系统中最后10分钟访问的文件

find / -atime -2 # 查找在系统中最后48小时访问的文件

find / -empty # 查找在系统中为空的文件或者文件夹

find / -group cat # 查找在系统中属于 groupcat的文件

find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件

find / -mtime -1 #查找在系统中最后24小时里修改过的文件

find / -nouser #查找在系统中属于作废用户的文件

find / -user fred #查找在系统中属于FRED这个用户的文件

查当前目录下的所有普通文件

——————————————————————————–

# find . -type f -exec ls -l {} \;

-rw-r–r– 1 root root 34928 2003-02-25 ./conf/httpd.conf

-rw-r–r– 1 root root 12959 2003-02-25 ./conf/magic

-rw-r–r– 1 root root 180 2003-02-25 ./conf.d/README

查当前目录下的所有普通文件,并在- e x e c选项中使用ls -l命令将它们列出

=================================================

在/ l o g s目录中查找更改时间在5日以前的文件并删除它们:

$ find logs -type f -mtime +5 -exec -ok rm {} \;

 

-------------------------------------------------------------------------------------------------------------------

========================================================================

文件系统

/dev/sda2

/dev/sda1

1)在/tmp中查找所有的*.h,并在这些文件中查找'SYSCALL_VECTOR',最后打印出所有包含'SYSCALL_VECTOR'的文件名

A) find /tmp -name '*.h' | xargs -n50 grep SYSCALL_VECTOR

B) grep SYSCALL_VECTOR /tmp/*.h | cut -d':' -f1| uniq > filename

C) find /tmp -name '*.h' -exec grep 'SYSCALL_VECTOR' {} \; -print

2)find / -name filename -exec rm -rf {} \;

find / -name filename -ok rm -rf {} \;

#这个就是上面提到的删除.svn目录的一种方法

3)比如要查找磁盘中大于3M的文件:

find . -size +3000k -exec ls -ld {} \;

4)将find出来的东西拷到另一个地方

find *.txt -exec cp {} /home/zgf/tmp \;

如果有特殊文件,可以用cpio,也可以用这样的语法:

find dir -name filename -print | cpio -pdv newdir

6)查找2004-11-30 16:36:37时更改过的文件

# A=`find ./ -name '*php'` | ls -l –full-time $A 2>/dev/null | grep '2004-11-30 16:36:37

二、linux下find命令的用法

1. 基本用法:

find / -name 文件名

find ver1.d ver2.d -name '*.c' -print 查找ver1.d,ver2.d *.c文件并打印

find . -type d -print 从当前目录查找,仅查找目录,找到后,打印路径名。可用于打印目录结构。

2. 无错误查找:

find / -name access_log 2 >/dev/null

3. 按尺寸查找:

find / -size 1500c (查找1,500字节大小的文件,c表示字节)

find / -size +1500c (查找大于1,500字节大小的文件,+表示大于)

find / -size +1500c (查找小于1,500字节大小的文件,-表示小于)

4. 按时间:

find / -amin n 最后n分钟

find / -atime n 最后n天

find / -cmin n 最后n分钟改变状态

find / -ctime n 最后n天改变状态

5. 其它:

find / -empty 空白文件、空白文件夹、没有子目录的文件夹

find / -false 查找系统中总是错误的文件

find / -fstype type 找存在于指定文件系统的文件,如type为ext2

find / -gid n 组id为n的文件

find / -group gname 组名为gname的文件

find / -depth n 在某层指定目录中优先查找文件内容

find / -maxdepth levels 在某个层次目录中按递减方式查找

6. 逻辑

-and 条件与 -or 条件或

7. 查找字符串

find . -name '*.html' -exec grep 'mailto:'{} \;

from : http://blog.zol.com.cn/751/article_750102.html

origin:https://lxs647.iteye.com/blog/1797494

递归删除.svn文件 将文件放在要删除svn文件的根目录,然后双击kill-svn.bat即可。 立即下载

相关推荐

AC7811无感FOC实战:从开环到闭环的电机控制调试全记录

本文详细记录了基于国产AC7811芯片实现无感FOC电机控制的全过程。从硬件软件环境搭建、开环I/F启动调试,到滑模观测器参数整定,再到平滑切入闭环及双环PID调节,提供了完整的实战步骤与参数调试心法。文章重点分享了无感控制从开环到闭环切换的关键技巧与常见问题排查清单,为工程师提供了一份避坑指南。

kotlin6android的博客 713

Linux下 利用find命令删除所有.svn目录

  ====================实例==============     删除所有.svn目录 这也是我当初查找 Linux find 命令的目的。 1)  find . -type d -name ‘.svn’ | xargs rm -rf #先(递归)找到当前路径下含有 .svn的文件目录,再经 xargs逐个干掉 #(处理方式是逐个,并不是’删一条显示删了一条再...

hikin 1189

智慧工地算法视频分析服务器区域入侵检测AI视频分析技术在煤矿的实战应用

通过实时分析和处理井下视频资料,智慧矿山算法视频分析服务器不仅能够及时发现并预警人员违规行为和设备异常状况,还能够通过智能分析预防潜在的安全风险,从而显著提高煤矿的安全管理水平和生产效率。

EasyDarwin开源社区技术博客 562

【Linux】删除目录及其子文件夹

习惯了使用Windows操作系统,从没想过删除目录及其子文件夹会出现什么问题。然而,在Linux中这可能会给你带来困扰。 打开超级终端,我们通过mkdir命令来创建一个目录文件,自然会想到使用rmdir命令来删除这个目录,这没有什么问题,但是rmdir命令只能在目录为空时删除,也就是说当删除目录及其子文件夹时,这个命令不能完成这个操作。 我们可以通过强大的rm命令来完成,当然需要必要的参数。rm -r-f就可以删除目录及其子文件夹。-r参数是表示递归删除下一层目录,-f参数是表示强制删除,而不进行提示

Just do it! 4536

服务器安全配置:二、本地安全策略设置

密码最长使⽤期限”设置为“90天”;“⽤可以还原的加密来存储密码”设置为“禁⽤”“复位账户锁定计数器”设置为15分钟,贴图这里是我自己设置的时间,15分钟也够用,具体看自己需要。”网络访问: 不允许 SAM 帐户和共享的匿名枚举“设置为“已启用””网络访问: 限制对命名管道和共享的匿名访问“设置为“已启用””网络访问: 不允许匿名枚举 SAM 帐户“设置为“已启用”“关机: 允许系统在未登录的情况下关闭”设置为“已禁用”(1)交互式登录:不显示最后的⽤户名”设置为“已启⽤”

weixin_48825672的博客 3137

基于STM32H5的循环GPDMA链表使用

STM32H503的GPDMA链表模式可实现灵活的数据传输。相比传统DMA直接编程方式,链表模式通过配置多个节点实现分散数据传输,支持循环链表功能。示例展示了如何使用GPDMA链表实现UART1循环发送数据:配置两个DMA节点分别指向不同发送缓冲区,构建循环链表并绑定到DMA通道。关键点包括:清空链表结构体、正确设置循环模式、检查节点配置。此方法提高了DMA使用的灵活性,适用于需要交替传输多段数据的场景。

kevin1499的博客 452

Linux常用命令

Linux常用命令,工作中用到的命令

IT成长笔记 2996

芒果YOLOv1改进35:主干Backbone篇之MobileViTv3:全网首发最新 MobileViTv3 系列最强改进版本(三)|轻量化Transformer视觉转换器,简单有效地融合了本地全局

芒果YOLOv1改进35:主干Backbone篇之MobileViTv3:全网首发最新 MobileViTv3 系列最强改进版本(三)|轻量化Transformer视觉转换器,简单有效地融合了本地全局

包括YOLOv5、YOLOv7、YOLOv8等模型改进 421

Linux笔记之删除当前目录及其子目录中所有指定扩展名的文件

Linux笔记之将当前目录包括子目录下所有后缀名为.xxx的文件删除

小勇博客 1736

吃透工业通信:C#工控机实现Modbus、OPC UA、Profinet、EtherCAT协议全适配

本文介绍了基于C#的工业通信协议全适配方案,采用分层架构设计实现Modbus、OPC UA、Profinet和EtherCAT四种主流协议的统一管理。核心包括:1)三层架构(应用层、抽象层、协议层)降低耦合;2)定义统一通信接口IIndustrialCommunication;3)工厂模式创建不同协议实例;4)以Modbus TCP为例展示具体实现。该方案经过实际项目验证,可简化多协议设备管理,提升工业自动化系统的开发效率。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 725

打造AI智能体员工,我用扣子复刻了华与华、奥美和金枪大叔

这事说穿了,就是你用多个AI智能体,分别扮演专业角色,构成一支能力互补、各司其职的“数字团队”。每个智能体,都有明确的角色设定、任务边界和接口形式。它不再是一个泛泛的ChatGPT,而是你手下的“品牌顾问”、“策略专家”、“文案大神”、“短视频导演”、“运营总监”。简单来说,你不再是雇一个人,而是养一群机器人打工——24小时不摸鱼,不请假,不离职。如果你是个人创业者、内容创作者、培训机构、中小企业主,其实都可以尝试构建属于你自己的“AI虚拟员工矩阵”。

互联网架构师笔记 1498

【svn】批量删除文件夹当中的.SVN

然后将这个批处理文件放到要删除 .svn 文件的目录下,双击运行即可。将下面代码,粘贴到记事本中,保存为 KillSvn.bat文件。

春天的波菜 2551

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

linux删除目录下的某一种文件夹,linux 如何删除某一目录及其子目录下的所有文件或文件夹...

当你要删除某一目录下及其子目录下的所有某类型的文件或文件夹时,使用一般的rm方法在配以正则是行不通的。。。正确做法为:find folderPath -option [-print] [-exec -ok command] {} \;e.g.:删除当前目录及其子目录下的所有xml文件:find . -type f -name '*.xml' -exec rm -rf {} \;删除某个目录下及其子...

weixin_39959615的博客 3990

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux删除目录下的子目录文件夹,linux下删除目录及其子目录下某种类型文件

Linux下,如果想要删除目录及其子目录下某种类型文件,比如说所有的txt文件,则可以使用下面的命令:find.-name "*.txt" -typef-print-execrm-rf{}\;. : 表示在当前目录下-name"*.txt"表示查找所有后缀为txt的文件-typef表示文件类型为一般正规文件-print表示将查询结果打印到屏幕上-execcommandcom...

weixin_42313980的博客 2028

linux 删除所有子目录下的指定文件/文件夹(转载)

linux 删除所有子目录下的指定文件/文件夹 采用find+exec组合来完成 find alipay-demo -type d -name "__pycache__" -exec rm -rf {} \; 说明: alipay-demo:为待查询的开始目录,从此目录开始搜索,包括本目录下的子目录 -type d:文件类型为目录 若目标文件是普通文件,则使用-type f -name "__pychche__":指定待删除的目录名(此处可以使用正则表达式匹配目标文件或目录) -exe...

ahuang1202的专栏 2520

linux下删除目录及其子目录下某种类型文件

Linux下,如果想要删除目录及其子目录下某种类型文件,比如说所有的txt文件,则可以使用下面的命令: find . -name "*.txt" -type f -print -exec rm -rf {} \; . : 表示在当前目录下 -name "*.txt" 表示查找所有后缀为txt的文件 -type f 表示文件类型为一般正规文件 -print

CaryaLiu的专栏 2万+

java拷贝目录及其子目录、文件,到另外一个目录

/** * 复制一个目录及其子目录、文件到另外一个目录 * @param src * @param dest * @throws IOException */ private void copyFolder(File src, File dest) throws IOException { if (src.isDirectory()) { if (!dest.exi

Happy in Code 2万+

linux命令如何删除子目录文件,Linux如何删除目录下所有文件包括子目录

Linux删除目录下所有文件包括子目录方法:rm -rf 目录名。Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。Linux是一套免费使用和自由传播的类Unix操作系统,是一个...

weixin_30854435的博客 5116

linux中强制删除目录和子目录,Linux 删除目录及子目录文件

Linux/Fedora/Ubuntu系统中,有时我们想删除将一个文件夹(主目录)和这个文件夹下子目录(子文件/子文件夹)中的文件都删除,Linux单独使用rm/rmdir都无法删除,其实方法很简单,这里告诉大家如何删除文件夹及文件夹下所有文件的方法。比如我们有一个文件夹名称为cc这个主文件夹下面有一个子文件夹cc1和一个文件file1,当然子文件夹下还可以有多个子目录和文件,这里就不列出来了。好...

weixin_29189363的博客 5565

linux删除所有子目录下的指定文件夹

linux删除所有子目录下的指定文件夹可采用find +exec组合来完成,如:       find ./ -type d -name "del_dir" -exec rm -r {} \; 说明: ./  为待查询的开始目录,从此目录开始搜索,包括本目录下的子目录 -type d 目标为文件夹 -name "del_dir"   指定待删除的目录名

lgc1990的博客 9997

linux的一个find命令rm删除某目录下所有子目录 中的某类文件

一前言 当前目录下含有许多的子目录 ,子目录 下又包含不定深度的子目录 。所有子目录 中都有一个文件test.file,需要对所有的test.file文件予以删除 二解决方案  使用find命令      将当前目录下所有test.file文件删除   find .  -name "test.file" -exec rm -rf {} \;     fin

duguduchong的专栏 2万+

批处理--删除当前目录及子目录中的空文件夹或文件

批处理–删除当前目录及子目录中的空文件夹 第一种方式 `@echo off echo. echo 正在删除当前目录及子目录中所有的空文件夹,请稍后...... echo ------------------------------------------------------------- cd. > listnull.txt for /f "delims=" %%i in ('dir /ad /b /s') do ( dir /b "%%i" | findstr .>nul || echo

_沈的博客 3174

Linux删除指定文件夹及其下面所有文件

在 Linux 中,删除指定文件夹及其下面所有文件(包括子文件夹和文件),核心命令是 rm -rf。

努力让自己发光,对的人才能迎着光而来 7万+

linux强制删除非空文件夹 、强制删除指定目录下的文件夹 、强制删除指定文件

linux删除非空文件夹 rm -rf 文件夹名字 1、强制删除指定目录下的文件夹 rm -rf /var/log/httpd/access 将删除/var/log/httpd/access目录以及其下所有文件、文件夹 2、强制删除指定文件 rm -f /var/log/httpd/access.log 将强制删除/var/log/httpd/access.log这个...

lmm0513的博客 6311
上一篇: 新浪微博:史上最大的Redis集群
下一篇: [Flink]Flink三种运行模式安装部署以及实现WordCount
With__Sunshine
博客等级 码龄9年 128粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值