<code id='qztbw'><strong id='qztbw'></strong></code>
  1. <ins id='qztbw'></ins>
      <dl id='qztbw'></dl>

    1. <fieldset id='qztbw'></fieldset>
    2. <tr id='qztbw'><strong id='qztbw'></strong><small id='qztbw'></small><button id='qztbw'></button><li id='qztbw'><noscript id='qztbw'><big id='qztbw'></big><dt id='qztbw'></dt></noscript></li></tr><ol id='qztbw'><table id='qztbw'><blockquote id='qztbw'><tbody id='qztbw'></tbody></blockquote></table></ol><u id='qztbw'></u><kbd id='qztbw'><kbd id='qztbw'></kbd></kbd>
    3. <span id='qztbw'></span>

      <acronym id='qztbw'><em id='qztbw'></em><td id='qztbw'><div id='qztbw'></div></td></acronym><address id='qztbw'><big id='qztbw'><big id='qztbw'></big><legend id='qztbw'></legend></big></address>

          <i id='qztbw'><div id='qztbw'><ins id='qztbw'></ins></div></i>

          <i id='qztbw'></i>

          在Linux系统中批量删除多个文件的方法总结

          • 时间:
          • 浏览:4
          • 来源:124软件资讯网

              当我们在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]#