优秀的编程知识分享平台

网站首页 > 技术文章 正文

如何在 Linux 中删除 HUGE (100-200GB) 文件

nanyue 2024-09-11 05:23:31 技术文章 9 ℃

概述

通常要从 Linux 终端删除/删除文件,我们使用 rm 命令(删除文件)、shred 命令(安全删除文件)、wipe 命令(安全擦除文件)或安全删除工具包等。我们可以使用上面的程序来处理相对较小的文件。但如果我们想删除一个大约100-200GB的巨大文件/目录怎么办?大文件的删除可能没有删除小文件那样容易。

本文介绍如何在 Linux 中高效可靠地删除大文件/目录的方法。主要目的是使用一种在删除大文件时不会降低系统速度的技术,从而产生合理的 I/O。我们可以使用ionice 命令来实现这一点。

使用方法

ionice是一个有用的程序,它设置或获取另一个程序的 I/O 调度类和优先级。如果没有参数或只-p给出参数,ionice 将查询该进程的当前 I/O 调度类和优先级。

[root@192_168_209_128 ~]# ionice --help

ionice - sets or gets process io scheduling class and priority.

Usage:
  ionice [OPTION] -p PID [PID...]
  ionice [OPTION] COMMAND

Options:
  -c, --class <class>   scheduling class name or number
                           0: none, 1: realtime, 2: best-effort, 3: idle
  -n, --classdata <num> scheduling class data
                           0-7 for realtime and best-effort classes
  -p, --pid=PID         view or modify already running process
  -t, --ignore          ignore failures
  -V, --version         output version information and exit
  -h, --help            display this help and exit

使用示例

1、获取或设置调度参数的正在运行的进程的进程

# ionice -p PID

要指定要使用的调度类的名称或编号(0表示无,1表示实时,2表示尽力而为,3表示空闲),请使用以下命令。

2、使用空闲 I/O 类删除

这意味着rm将属于空闲 I/O 类,并且仅在任何其他进程不需要时才使用 I/O:

---- 在 Linux 中删除大文件 -----
# ionice -c 3 rm /var/logs/syslog
# ionice -c 3 rm -rf /var/log/apache

3、尽力删除

如果系统上没有太多空闲时间,那么我们可能想要使用尽力而为的调度类并设置一个低优先级,如下所示:

# ionice -c 2 -n 6 rm /var/logs/syslog
# ionice -c 2 -n 6 rm -rf /var/log/apache

注意:要使用安全方法删除大文件,使用前面提到的安全删除工具包中的shredwipe和各种工具,而不是rm 命令

最近发表
标签列表