在 Ubuntu 或其他 Linux 系统中,删除文件和文件夹通常使用以下命令:


📁 1. 删除文件

使用 rm 命令删除单个文件或多个文件:

1
rm 文件名

示例:

1
2
3
rm example.txt               # 删除单个文件
rm file1.txt file2.txt # 删除多个文件
rm *.log # 删除当前目录下所有 .log 文件(慎用!)

⚠️ 警告rm 命令默认不会提示确认,删除后文件不会进入回收站,而是直接永久删除。


📁 2. 删除空文件夹

使用 rmdir 命令删除 空文件夹

1
rmdir 文件夹名

示例:

1
rmdir empty_folder

⚠️ 注意:如果文件夹内有文件或其他子文件夹,rmdir 会报错并拒绝删除。


📁 3. 递归删除文件夹(含内容)

要删除非空文件夹及其所有内容(包括子文件夹和文件),使用 rm -r 命令:

1
rm -r 文件夹名

示例:

1
rm -r my_folder

⚠️ 警告-r 表示递归删除,删除后不可恢复,务必谨慎操作。


🔐 4. 强制删除(忽略提示)

如果删除只读文件或系统文件,使用 rm -f 强制删除:

1
rm -f 文件名

示例:

1
2
rm -f important.txt          # 强制删除只读文件
rm -rf my_folder # 强制递归删除文件夹(极其危险!)

⚠️ 极度警告rm -rf / 是毁灭性命令,绝对不要执行


📋 5. 删除前提示确认

如果希望删除文件或文件夹时进行确认,使用 -i 选项:

1
rm -i 文件名

示例:

1
2
rm -i test.txt
# 会提示:rm: remove regular file 'test.txt'? 输入 y 回车确认删除

🗂️ 6. 删除符合特定条件的文件

使用 find 命令配合 rm 删除符合特定规则的文件。

示例 1:删除指定路径下所有 .tmp 文件

1
find /path/to/dir -type f -name "*.tmp" -exec rm {} \;

示例 2:删除 7 天前的文件

1
find /path/to/dir -type f -mtime +7 -exec rm {} \;

🧹 7. 删除文件后释放空间

删除文件后,可以使用 df -h 查看磁盘空间是否释放:

1
df -h

如果文件正在被某个进程占用(如日志文件),即使删除了也可能不会释放空间。此时可使用:

1
lsof | grep deleted

查看哪些进程占用了已删除的文件,然后重启相关服务或进程。


🧺 8. 安全删除(防止恢复)

如果你希望彻底删除文件且无法恢复,可以使用 shred 命令:

1
shred -u 文件名

示例:

1
shred -u sensitive_data.txt

⚠️ 注意:shred 不适用于 SSD 或某些文件系统(如 Btrfs、RAID、加密文件系统等)。


✅ 总结:常用删除命令对比

操作 命令 说明
删除单个文件 rm file.txt 快速删除
删除多个文件 rm file1.txt file2.txt 支持通配符 *
删除空文件夹 rmdir folder 仅限空文件夹
删除非空文件夹 rm -r folder 递归删除所有内容
强制删除 rm -f file.txt 忽略提示和只读属性
强制递归删除 rm -rf folder 危险操作,慎用!
删除前确认 rm -i file.txt 安全操作,适合新手
查找并删除 find . -name "*.tmp" -exec rm {} \; 精准删除

💡 小贴士

  • 删除前务必确认路径正确,特别是使用 rm -rf

  • 可以使用 lsfind 先查看目标文件或文件夹:

    1
    2
    ls -l folder
    find /path/to/dir -name "pattern"
  • 如果误删文件,可尝试使用文件恢复工具(如 extundelete)恢复,但成功率取决于文件系统和覆盖情况。