快速-批量删除文件或目录

1-1.快速删除大文件夹(注意目录后的结束符‘/’)(对于含有海量文件的目录,不能直接rm -rf删除,这样效率很慢:)

rsync -a --delete blank/ test/              使用空文件夹 blank/ 覆盖原文件夹 test/

          mkdir empty_dir && rsync -a --delete empty_dir/ your_dir/ && rm -rf your_dir/ empty_dir  #得把your_dir/再删除一下,因为里边的./文件很大 

1-2.查找并删除文件

find ./ -type f -name "*.log" -mmin +120 -delete 删除当前目录下120min前的所有.log结尾文件

find ./ -type f -name "*.log"-mtime +300 -delete 删除当前目录下300天前的所有.log结尾文件

这种方式要比下边语句快2-3倍,并且当目录中文件非常多时不会出现列表过长无法删除的异常。

find ./ -name "*.log" -mmin +120 | xargs rm -f

find ./ -name "*.log" -mmin +120 -exec rm {} -f # -exec 表示后面执行命令 "{}"  -f表示不需要确认 <=>

find ./ -name "*.log" -mmin +120 -exec rm -f "{}" \; #最后的分号不可少

1-3.

delete.sh:

for i in `ls -d path/shell/shell_pipe/step*qsub`   # ls列出匹配上的目录  必须用-d 否则ls会把目录下的文件也都列出来
do
rm -r $i
done

for i in `ls path/*log`
do
rm $i
done

eg:快速删除目标文件中自己的qsub目录中的运行oe文件。

/share/app/msort/bin/msort -k rn5  file | grep 'name'|grep 'qsub'|awk '{print $8}'| while read ID    #第八列是以qsub结尾的目录全路径,一个个给到$ID
do
  for i in `ls $ID/*\.[eo]*`  #匹配filename.e.12345   filename.o.12345  文件
  do
  #echo $i
  rm $i
  done
  for i in `ls $ID/*\.log`   #匹配filename.log 文件
  do
  #echo $i
  rm $i
  done
done

参考:

[0]http://www.jb51.net/article/61943.htm

[1]https://blog.csdn.net/ydyang1126/article/details/72841308    https://blog.csdn.net/shangzwz/article/details/10304469

Linux命令行批量删除文件(目录)的更多相关文章

  1. Linux命令行批量替换多文件中的字符串【转】

    Linux命令行批量替换多文件中的字符串[转自百度文库] 一种是Mahuinan法,一种是Sumly法,一种是30T法分别如下: 一.Mahuinan法: 用sed命令可以批量替换多个文件中的字符串. ...

  2. 在Linux主机使用命令行批量删除harbor镜像

     在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合 ...

  3. svn命令行批量删除和批量添加

    svn命令行批量删除和批量添加 如果使用svn的命令行,例如在linux下的终端中使用,svn的添加命令是svn add,删除命令是svn del,但是缺乏批量的操作,如果我在资源管理器中,手动添加了 ...

  4. 【改造Linux命令之rm - 删除文件或目录-】

    用途说明 rm命令是常用的命令,用来删除文件或目录(remove files or directories).它也是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比 ...

  5. 用Linux命令行实现删除和复制指定类型的文件

    (一)Linux 删除当前目录及子目录中所有某种类型的文件 方法1 : 此方法不能处理目录中带空格的那些. rm -rf `find . -name "*.example"` Li ...

  6. Linux命令(2)-rm删除文件

    版本:centos7 Linux中使用rm(remove)命令将文件从磁盘上永久删除.使用-r参数可以删除目录及目录下的子目录.对于连接文件只是断开了连接,源文件保持不变.用户删除一个文件时需要对该文 ...

  7. Beyond Compare脚本:命令行批量比较文件并生成html格式的差异报告

    BComp.exe /silent /closescript /solo @E:\compareTest\BCbatch.txt text-report layout:side-by-side opt ...

  8. mac 命令行批量删除.svn[转]

    mac下.svn是隐藏文件,而且即使我们调成可见的,一个一个删也很麻烦.今天正好同事问起来这个命令,于是想可能有些人也需要,于是还是放到博客里吧 命令比较简单,其实就是一条linux命令,打开终端,首 ...

  9. Linux 按时间批量删除文件(删除N天前文件)

    需要根据时间删除这个目录下的文件,/home/lifeccp/dicom/studies,清理掉20天之前的无效数据. 可以使用下面一条命令去完成: -name "*.*" -ex ...

随机推荐

  1. OTA测试介绍

    OTA 测试介绍 手机的无源测试和有源测试 当前在手机射频性能测试中越来越关注整机辐射性能的测试,这种辐射性能反映了手目前主要有两种方法对手机的辐射性能进行考察:一种是从天线是目前较为传统的天线测试方 ...

  2. LVDS DP等显示器接口简介

    LVDS 产品传输速率从几百Mbps到2Gbps.它是电流驱动的,他通过在接收端放置一个负载而得到的电压,当电流正向流动,接收端输出为1,反之为0,它的摆幅250mV-450mV. lvds 即低压差 ...

  3. linux wifi热点服务脚本

    最近有关wifi热点的驱动,启动参数都调试完了,验证可以连接传输数据. 首先要在系统启动脚本中插入wifi驱动,配置wlan0的ip insmod /system/vendor/modules/818 ...

  4. linux 内核源代码情景分析——linux 内存管理的基本框架

    386 CPU中的页式存管的基本思路是:通过页面目录和页面表分两个层次实现从线性地址到物理地址的映射.这种映射模式在大多数情况下可以节省页面表所占用的空间.因为大多数进程不会用到整个虚存空间,在虚存空 ...

  5. shell 脚本二进制安装mysql

    以下脚本的手动安装连接:https://www.cnblogs.com/leihongnu/p/12581793.html [ #/bin/bash#脚本安装 mysql,上传安装包至 /rootcd ...

  6. 【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)

    问题描述 如何把开启NFS协议的Azure Blob挂载到Linux虚拟机中呢? [答案]:可以使用 NFS 3.0 协议从基于 Linux 的 Azure 虚拟机 (VM) 或在本地运行的 Linu ...

  7. leakcanary内存泄漏:此篇有加了内存泄漏的apk demo

    概括:   ·用Android studio写一个demo     ·配置leakcanary     ·加入内存泄漏代码片段     ·安装apk 验证结果     ·源码地址 一.android ...

  8. Linux ns 6. Network Namespace 详解

    文章目录 1. 简介 1.1 Docker Network 桥接模式配置 2. 代码解析 2.1 copy_net_ns() 2.2 pernet_list 2.2.1 loopback_net_op ...

  9. es date_histogram强制补零

    es补零 GET /cars/transactions/_search { "size" : 0, "aggs": { "sales": { ...

  10. 『与善仁』Appium基础 — 8、Appium自动化测试框架介绍

    目录 1.主流的移动端自动化测试框架 (1)Robotium (2)Macaca (3)Appium 2.自动化测试工具的选择 3.Appium简介 提示:我们前面说的Android环境搭建和adb命 ...