欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


设置自动清理Linux系统中n天前的文件的方法
Linux下自动清理大量文件的方案探究
Linux系统中的screen命令基本使用教程
解析Linux系统的平均负载概念
Linux系统下wget命令的使用教程
iPad Air/iPad mini2怎么下载微信?
win7开机提示ntoskrnl.exe文件丢失怎么办
太极越狱没有苹果驱动怎么办
Linux系统下配置squid代理服务器的过程详解
太极越狱和盘古越狱哪个好
在Linux系统中批量删除多个文件的方法总结
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。

  1. rsync安装,有些系统默认安装有该命令

  ubuntu系统:

  代码如下:

  sudo apt-get install rsync

  fedora 系统:

  代码如下:

  sudo yum install rsync

  其他的可以源码安装,到下面的网站下载

  http://rsync.samba.org

  2. rsync提供了一些跟删除有关的参数

  rsync --help | grep delete

  --del an alias for --delete-during

  --delete delete extraneous files from destination dirs

  --delete-before receiver deletes before transfer, not during

  --delete-during receiver deletes during transfer (default)

  --delete-delay find deletions during, delete after

  --delete-after receiver deletes after transfer, not during

  --delete-excluded also delete excluded files from destination dirs

  --ignore-errors delete even if there are I/O errors

  --max-delete=NUM don't delete more than NUM files

  其中--delete-before接收者在传输之前进行删除操作

  3. 示例

  清空目录或文件,如下:

  1、先建立一个空目录

  代码如下:

  mkdir /data/blank

  2、用rsync删除目标目录

  代码如下:

  rsync --delete-before -d -a -H -v --progress --stats /data/blank/ /var/edatacache/

  或者

  代码如下:

  rsync --delete-before -d /data/blank/ /var/edatacache/

  这样/var/edatacache目录就被快速的清空了。

  选项说明:

  –delete-before 接收者在传输之前进行删除操作

  –progress 在传输时显示传输过程

  -a 归档模式,表示以递归方式传输文件,并保持所有文件属性

  -H 保持硬连接的文件

  -v 详细输出模式

  –stats 给出某些文件的传输状态

  -d transfer directories without recursing

  删除文件夹

  如果大量小文件都集中在几个目录中,那么这个方法就有用了。

  代码如下:

  rm -f /var/log/httpd/access.log

  将会强制删除/var/log/httpd/access.log这个文件

  -r 就是向下递归,不管有多少级目录,一并删除

  -f 就是直接强行删除,不作任何提示的意思

  -i 进行交互式删除。

  提示:使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件则不会删除。

  使用这个rm -rf删除文件的时候一定要格外小心,linux没有回收站的。

  rm -r 目录名:

  将子目录及子目录中所有档案删除

  代码如下:

  [root@localhost test]# ls -l

  总计 24drwxr-xr-x 7 root root 4096 10-25 18:07 scf

  drwxr-xr-x 2 root root 4096 10-26 14:51 test1

  drwxr-xr-x 3 root root 4096 10-25 17:44 test2

  drwxrwxrwx 2 root root 4096 10-25 17:46 test3

  drwxr-xr-x 2 root root 4096 10-25 17:56 test4

  drwxr-xr-x 3 root root 4096 10-25 17:56 test5

  代码如下:

  [root@localhost test]# rm -r test1

  rm:是否进入目录 “test1”? y

  rm:是否删除 一般文件 “test1/log3.log”? y

  rm:是否删除 目录 “test1”? y

  代码如下:

  [root@localhost test]# ls -l

  总计 20drwxr-xr-x 7 root root 4096 10-25 18:07 scf

  drwxr-xr-x 3 root root 4096 10-25 17:44 test2

  drwxrwxrwx 2 root root 4096 10-25 17:46 test3

  drwxr-xr-x 2 root root 4096 10-25 17:56 test4

  drwxr-xr-x 3 root root 4096 10-25 17:56 test5

  [root@localhost test]#

  rm -rf 目录名 :

  把子目录及子目录中所有档案删除,并且不用一一确认

  代码如下:

  [root@localhost test]# rm -rf test2

  [root@localhost test]# ls -l

  总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf

  drwxrwxrwx 2 root root 4096 10-25 17:46 test3

  drwxr-xr-x 2 root root 4096 10-25 17:56 test4

  drwxr-xr-x 3 root root 4096 10-25 17:56 test5

  [root@localhost test]#

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号