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

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. Vue 报错Error in render: “TypeError: Cannot read properties of null (reading ‘xxx’)” found in

    前端vue报错 [Vue warn]: Error in render: "TypeError: Cannot read properties of null (reading 'name' ...

  2. PHP笔记1__基础知识

    客户端: 美妙的网页组成(都是由浏览器解释): 1.HTML 2.CSS--给HTML化妆 3.客户端脚本编程语言(JavaScript等)--特效  服务器端: 1.Web服务器Apache/Ngi ...

  3. linux 内核源代码情景分析——用户堆栈的扩展

    上一节中,我们浏览了一次因越界访问而造成映射失败从而引起进程流产的过程,不过有时候,越界访问时正常的.现在我们就来看看当用户堆栈过小,但是因越界访问而"因祸得福"得以伸展的情景. ...

  4. zabbix部署文档

    环境:zabbix server centos 7 1611最小化安装 172.16.103.2 zabbix client Centos 7 1611 最小化安装 172.16.103.3 1,配置 ...

  5. java 三大特性_继承、封装、多态_day005

    一.继承: java的三大特性之一.两个类之间通过extends关键字来描述父子关系,子类便可拥有父类的公共方法和公共属性.子类可以继承父类的方法和属性,子类也可以自己定义没有的方法或者通过覆盖父类的 ...

  6. docker容器命令(一)

    容器命令 创建容器:docker run 参数: -it 交互 -d 后台 –name 容器名 -p 主机端口:容器端口 (主机端口映射到docker端口) docker run --name cen ...

  7. Linux usb 2. 协议分析

    文章目录 0. 背景 1. USB 协议传输格式 1.1 Packet 1.1.1 Token Packet 1.1.2 Data Packet 1.1.3 Handshake Packet 1.1. ...

  8. mysql批量修改某一列的值为另外的值

    sql语句 UPDATE tb_info SET org_id = 2170 WHERE org_id = 815

  9. Go语言核心36讲(Go语言实战与应用六)--学习笔记

    28 | 条件变量sync.Cond (下) 问题 1:条件变量的Wait方法做了什么? 在了解了条件变量的使用方式之后,你可能会有这么几个疑问. 1.为什么先要锁定条件变量基于的互斥锁,才能调用它的 ...

  10. 菜鸡的Java笔记 第三十六 - java 函数式编程

    StudyLambda    Lambda 指的是函数式编程,现在最为流行的编程模式为面向对象,很多的开发者并不认可面向对象,所以很多的开发者宁愿继续使用 C 语言进行开发,也不愿意使用java,c+ ...