核心命令:adb shell rm
删除文件的核心命令是 rm,它是 "remove" 的缩写,基本语法如下:

adb shell rm [选项] <文件路径>
删除单个文件
这是最简单的用法,你需要提供要删除文件的完整路径。
示例: 删除手机存储根目录下的 test.txt 文件。
adb shell rm /sdcard/test.txt
提示:
/sdcard/是安卓设备内部存储(或SD卡)的通用挂载路径,大多数情况下都有效,如果你的设备没有SD卡,它通常指向内部存储。
删除多个文件
你可以一次性删除多个文件,只需在命令中列出所有文件路径,用空格隔开。

示例: 同时删除 /sdcard/Download/ 目录下的 file1.log 和 file2.log。
adb shell rm /sdcard/Download/file1.log /sdcard/Download/file2.log
强制删除(不提示)
在某些情况下,rm 命令可能会因为文件权限或只读属性而失败,这时可以使用 -f (force) 选项来强制删除。
adb shell rm -f <文件路径>
示例: 强制删除一个只读文件 readonly_file.txt。
adb shell rm -f /sdcard/readonly_file.txt
递归删除(删除目录及其所有内容)
rm 命令本身不能直接删除一个非空目录,要删除整个目录(包括其下的所有文件和子目录),需要使用 -r (recursive) 或 -R 选项。

警告:此操作非常危险,一旦执行,目录及其内部所有内容都将被永久删除,且通常无法通过回收站恢复,请务必谨慎使用!
adb shell rm -r <目录路径>
示例:删除 my_app_cache 目录及其所有内容。
adb shell rm -r /sdcard/Android/data/com.myapp/cache/my_app_cache
强制递归删除(最危险的组合)
将 -f 和 -r 结合使用,可以强制递归删除一个目录,即使目录中的文件有只读属性或受保护。
adb shell rm -rf <目录路径>
示例:彻底清理某个应用的缓存目录(这是一个常见的用法)。
adb shell rm -rf /sdcard/Android/data/com.example.myapp/cache
实用技巧与场景
使用通配符 删除匹配的文件
如果你想删除所有符合某个模式的文件,可以使用通配符 。
示例:删除 /sdcard/DCIM/Camera/ 目录下所有扩展名为 .tmp 的文件。
adb shell rm /sdcard/DCIM/Camera/*.tmp
示例:删除 Download 目录下的所有文件(保留目录本身)。
adb shell rm /sdcard/Download/*
注意: 在
adb shell中通常需要用引号括起来,或者确保它被 shell 正确解释,在某些较新的adb版本或特定设备上,不加引号也可能工作,但加上更稳妥。
先确认,再删除(交互式删除)
rm 命令默认不会在删除前询问确认,为了安全起见,你可以使用 -i (interactive) 选项,让它在删除每个文件前都询问你是否确认。
adb shell rm -i <文件路径>
示例:交互式删除 test1.txt, test2.txt, test3.txt。
adb shell rm -i /sdcard/test*.txt # Shell 会依次询问: # rm: remove regular empty file '/sdcard/test1.txt'? y # rm: remove regular empty file '/sdcard/test2.txt'? y # rm: remove regular empty file '/sdcard/test3.txt'? n
输入 y 确认,输入 n 取消。
重要注意事项
-
文件路径必须正确:错误的路径会导致命令失败或删除了错误的文件,在执行
rm -rf之前,强烈建议先用ls命令查看路径下的内容,确认无误后再执行删除操作。# 先查看 adb shell ls /sdcard/Download/ # 确认无误后,再删除 adb shell rm -rf /sdcard/Download/
-
权限问题:
- 系统分区:尝试删除
/system、/boot等系统分区的文件通常需要root权限,普通用户没有权限修改这些区域。 - 应用私有数据:删除
/data/data/<你的包名>/下的文件也需要root权限,因为这是每个应用的私有数据空间,受到严格的系统保护。 - 外部存储:删除
/sdcard/下的文件通常不需要root权限,除非文件是由其他应用创建并设置了特定权限。
- 系统分区:尝试删除
-
rm -rf的威力:请再次强调,rm -rf是一个“毁灭性”命令,一旦输入并回车,数据就会立即消失,在不确定路径时,千万不要轻易使用。 -
安全第一:对于重要的数据,最好先通过
adb pull命令备份到电脑上,然后再进行删除操作。# 备份整个 Download 文件夹 adb pull /sdcard/Download/ C:\backup\Download
命令速查表
| 命令 | 功能 | 示例 |
|---|---|---|
adb shell rm <file> |
删除单个文件 | adb shell rm /sdcard/test.txt |
adb shell rm <file1> <file2> |
删除多个文件 | adb shell rm /sdcard/f1.log /sdcard/f2.log |
adb shell rm -f <file> |
强制删除文件(忽略不存在的文件等) | adb shell rm -f /sdcard/readonly.txt |
adb shell rm -r <dir> |
递归删除目录及其内容 | adb shell rm -r /sdcard/my_folder |
adb shell rm -rf <dir> |
强制递归删除目录(危险!) | adb shell rm -rf /sdcard/temp |
adb shell rm "*.tmp" |
使用通配符删除所有匹配的文件 | adb shell rm "/sdcard/Download/*.tmp" |
adb shell rm -i <file> |
交互式删除,删除前询问 | adb shell rm -i /sdcard/test*.txt |
希望这份详细的指南能帮助你安全、高效地使用 adb 命令删除文件!
