更新时间:2025-09-12 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
如何在Linux系统中删除大量文件或文件夹
当文件数量过多时,您可以使用以下常用方式删除大量文件或文件夹,提高删除速度和预防文件系统卡顿。
rm命令
删除当前目录下所有文件:“*”代表当前目录下所有文件。
rm -f *
find命令
- 批量删除空文件夹:“-type d”用于指定过滤文件类型为direcory的条目,“-empty”参数用于过滤出空文件夹。
    
find . -type d -empty -delete
 - 批量删除文件:“*”用于指定文件名。
    
find . -name *.log -type f -delete
 - 批量强制删除非空文件夹:“*”为文件夹名称。
    
find . -type d -name * -exec rm -fr "{}" \; - 批量删除多个非空文件夹:“*”、“?”为不同文件夹名称,删除多个非空文件夹时,文件夹名称和“-name”之间使用“-o”分隔。
    
find . \( -name * -o -name ? \) -type d -exec rm -fr "{}" \; 
rsync
- 安装rsync工具:
    
- 在Ubuntu/Debian系统上执行以下命令安装rsync。
      
sudo apt install rsync
 - 在CentOS/RHEL/Fedora系统上执行以下命令安装rsync。
      
# Centos 7/RHEL 7 或更早版本 sudo yum install rsync # Centos 8/RHEL 8 或 Fedora sudo dnf install rsync
 
 - 在Ubuntu/Debian系统上执行以下命令安装rsync。
      
 - 首先建立空文件夹dst_test,执行以下命令删除大量文件,该命令通常用于快速清空origin_test整个文件夹而不是单独删文件。
    
rsync -a --delete dst_test/ origin_test/
 
Python SDK
以下代码示例用于删除文件夹下所有文件,“test”为文件夹名:
        1 2 3 4 5 6 7 8 9 10  | 
       
        # test.py import os import time stime=time.time() for pathname,dirnames, filenames in os.walk('/home/username/test'): for filename in filenames: file=os.path. join(pathname, filename) os.remove(file) ftime=time.time() print ftime-stime  | 
      
执行脚本:
python test.py
   父主题: SFS Turbo删除类问题