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即可。 立即下载

相关推荐

在 Zemax 非序列模式下建立干涉仪模型

Zemax 利用其相干检测功能,将到达探测器的射线的能量相干地组合起来,同时考虑每条检测到的射线的幅度和相位。从对这些干涉条纹的定量评估来看,光学干涉仪具有广泛的应用,包括在天文学中用于测量天体的大小,在计量学中用于精确测量距离,在显微镜中用于提高分辨率,以及在物理和工程的各个领域中用于检测条件的微小变化。在光学干涉仪中,使用的是光波。非相干和相干相加的总功率是守恒的,但相干光束的峰值辐照度应该是非相干光束总和的 2 倍,这是理所当然的。请注意,条纹的缺失是显而易见的,因为不再从相干的角度观察探测器。

jkh920184196的博客 2382

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

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

hikin 1189

科普:Frenet坐标

理想情况下,描述这种常见驾驶行为在数学上应该很容易。一种方法是使用新的坐标系。现在,而不是放下一个正常的笛卡尔网格,我们做一些事情,就像你看到下面…Frenet Coordinates是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式。如果我们想要方程式来描述这个动作,那就不容易了!想象一下像下面这样一条弯曲的道路,笛卡尔坐标系就位于它的上面…使用这些笛卡尔坐标,我们可以尝试描述车辆通常在路上行驶的路径…那么在Frenet坐标系下呈现的典型轨迹是什么样的?在这里,我们定义了一个新的坐标系统。

OceanStar的博客 1万+

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

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

Just do it! 4536

Python实战:5分钟搞定抖音无水印视频下载(附完整代码)

本文系统介绍了抖音无水印视频下载的多种技术方案,重点解析了抖音视频的获取逻辑与去水印原理。文章提供了从零代码的浏览器插件到可编程的Python脚本的完整实现路径,并附带了详细的代码示例,帮助用户快速构建自己的抖音视频下载工具箱。

weixin_29089057的博客 849

上位机介绍:C# 开发者的必知基础

上位机是指在工业控制系统中,位于上层、负责人机交互和数据管理的计算机/软件,与“下位机”(PLC、传感器、变频器、单片机等硬件设备)相对应,核心是“向下通信控制设备,向上展示交互数据”。下位机:一线干活的“工人”(执行采集、控制指令);上位机:指挥管理的“办公室人员”(发指令、看数据、做报表)。C#开发者掌握上位机开发的核心是“通信+UI+稳定性基础层:搞懂WinForms/WPF基础、串口/Modbus通信,能实现核心功能;进阶层:掌握分层设计、异步编程、工业级容错(断线重连、数据校验);

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

Linux常用命令

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

IT成长笔记 2996

nvidia jetson orin调试 MAX96712 serdes相机(SG2-AR0233C-GMSL2)

背景:想了解一下关于nvidia orin camera相关的模块,基于Drive Orin demo板的话,没有合适的相机,用 nvsipl框架点亮 GMSL相机不知如何下手,那么基于nvidia Jetson orin的话,目前国内有对应的转接板以及GMSL相机可以参考,基于此,那么本文详细记录一下关于nvidia orin的相关踩坑记录;需要Nvidia Jetson Orin开发板一个,MIPI转接板一个,MIPI转GMSL转接板一个,GMSL线束(fakra单线束),GMSL摄像头一个。

qq_30025621的博客 4447

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

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

小勇博客 1736

标题:Stata17安装后遇到Java安装问题解决方法

设置JAVA_HOME环境变量:在Windows上,您需要设置JAVA_HOME环境变量以告诉Stata Java的安装路径。d. 输入变量名为JAVA_HOME,变量值为Java安装路径。注意:请确保您的Java版本与Stata兼容,并使用正确的Java安装路径。设置Stata的Java安装路径:现在,您需要告诉Stata Java的安装路径。如果您看到Java版本信息,则表示Java已成功安装。如果没有安装,请先下载并安装Java。确认Java已安装:首先,请确保您的计算机上已经正确安装了Java。

CyberSparkZ的博客 2867

等保测评-达梦数据库

一般适用于等保测评

m0_54146694的博客 1298

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

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

春天的波菜 2551

zemax---光学设计基础概念篇(持续更新中)

光学设计相关知识概念

u011699626的博客 1146

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

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

weixin_39959615的博客 3990

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

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

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

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

weixin_42313980的博客 2028

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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、付费专栏及课程。

余额充值