<code id='t30o7'><strong id='t30o7'></strong></code>
    <acronym id='t30o7'><em id='t30o7'></em><td id='t30o7'><div id='t30o7'></div></td></acronym><address id='t30o7'><big id='t30o7'><big id='t30o7'></big><legend id='t30o7'></legend></big></address>
    <dl id='t30o7'></dl>
    <i id='t30o7'></i>
  • <i id='t30o7'><div id='t30o7'><ins id='t30o7'></ins></div></i>

      1. <span id='t30o7'></span>

        <ins id='t30o7'></ins>
        1. <tr id='t30o7'><strong id='t30o7'></strong><small id='t30o7'></small><button id='t30o7'></button><li id='t30o7'><noscript id='t30o7'><big id='t30o7'></big><dt id='t30o7'></dt></noscript></li></tr><ol id='t30o7'><table id='t30o7'><blockquote id='t30o7'><tbody id='t30o7'></tbody></blockquote></table></ol><u id='t30o7'></u><kbd id='t30o7'><kbd id='t30o7'></kbd></kbd>

          <fieldset id='t30o7'></fieldset>

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

            • 时间:
            • 浏览:9
            • 来源: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]#