请问在已root的手机上,下adb命令,rm -rf /sdcard/ 想留下2个目录内容不删除,该如何下命令呢?

新手上路,请多包涵

请问,如果我下adb命令,在已root的手机上
rm -rf /sdcard/

想留下 sdcard/ 下的两个资料夹,假设 abc 和 123 以及目录内的都保留不删除
命令该如何下呢?!
感谢

阅读 3.8k
1 个回答

首先,注意,看清命令在进行操作,数据无价


cd /sdcard/      //移动到/sdcard/目录

建议先使用
ls | grep -v "^123$\|^abc$"    //打印出要删除文件夹的列表

ls | grep -v "^123$\|^abc$" | xargs rm -rfv              //真正的删除文件夹(含文件)的命令(小心使用,可以不加最后的v,则,删除无回显log)

   如果还要添加排除文件夹 则在 "^123$\|^abc$" 添加,中间使用 \| 连接
       其中的 ^ $ 是正则表达式中的开始符和结束符,为了全文匹配。详细可参照:正则表达式的用法

思路:
1:使用ls 列出文件夹列表
2:使用grep 的排除命令,将某些文件夹排除
3:通过Xargs 传输参数给 rm 进行删除
4:其中也可以使用正则表达式。也可以使用其他方法。

推荐问题