linux如何删除文件夹:rm命令实操要点

linux如何删除文件夹,主流方式是使用rm命令搭配-r递归参数,空文件夹也可选用rmdir命令,该操作由GNUCoreutils工具集提供支持,适用绝大多数Debian、CentOS、Ubuntu等发行版;普通用户仅能删除自身拥有读写执行权限的目录,系统根目录、/etc、/usr这类系统目录需要root权限才可执行删除,误加通配符会连带删除目标路径下其他文件,执行前建议先用ls确认目录内容。rm-rf属于强制递归删除,不会弹出二次确认,适合已经确认不再需要的目录,rmdir仅能删除空目录,目录内部残留文件时会直接报错,无法完成删除动作。

linux如何删除文件夹基础命令写法

你打开终端,切换到目标目录的上级路径,执行rm-r文件夹名称,命令运行后终端会逐个提示是否确认删除目录内文件,输入y确认、n取消,适合需要逐项核对文件的场景。如果不想接收逐条确认提示,追加-f参数,写成rm-rf文件夹名称,-f代表force强制,会跳过权限与确认提示直接删除。删除绝对路径下的文件夹时,完整写法为rm-rf/home/user/testdir,路径写错会指向其他目录,这是高频错误,曾出现把rm-rf/误输入,直接清空系统根分区所有文件,系统无法正常启动。

空文件夹单独删除时,输入rmdirtestdir,这条命令不会递归处理子文件,只要目录里面还有任意文件或者子文件夹,终端就会提示Directorynotempty,删除失败。rmdir不需要-r参数,本身设计目标就是清理空目录,相比rm-r,它不会误删目录内已有数据,适合清理初始化后没有写入内容的临时空目录。

linux如何删除文件夹多方案对比

命令是否递归适用场景特点
rm-r是含文件、子目录的文件夹逐条弹出删除确认
rm-rf是确认无用的非空文件夹无确认提示,执行速度快
rmdir否纯空文件夹目录非空时报错终止

权限不足时,在命令前面加sudo,例如sudorm-rf/opt/oldapp,sudo会临时获取root权限,该机制是Linux发行版默认的权限管控设计,执行sudo会要求输入当前账号密码,密码输入过程终端不会显示字符,属于正常现象。如果目录挂载在NFS网络存储,服务器端权限策略可能覆盖本地sudo权限,即便本地是root,依然会返回Permissiondenied,需要到存储服务端调整导出权限。

批量删除多个文件夹,可以在rm-rf后面连续填写多个目录名称,用空格分隔,示例rm-rfdir1dir2dir3。也可以搭配通配符,rm-rftest*,这条命令会匹配当前路径下所有以test开头的文件夹与文件,不区分文件和目录,执行前必须先用lstest*预览匹配结果,避免匹配到不想删除的目录。

linux如何删除文件夹的边界与恢复限制

删除不可逆。

rm命令删除文件是修改文件系统inode与目录项,不会像回收站那样保留副本,ext4、xfs常见文件系统下,删除之后如果磁盘继续写入新数据,原有数据块会被覆盖,恢复难度明显上升。如果是误删,不要继续写入磁盘,可尝试extundelete、testdisk这类数据恢复工具,恢复成功率受覆盖程度影响,无法保证全部文件找回。

部分发行版会给rm设置别名,输入alias可以查看,很多默认配置把rm映射成rm-i,也就是默认开启交互确认,即使你写rm-rf,别名依然可能生效,此时可以使用\rm-rf文件夹名称,反斜杠会临时绕过shell别名,直接调用原始rm程序。Bash与Zsh两种shell,别名加载逻辑存在差异,Zsh的别名定义写在.zshrc,Bash写在.bashrc,切换终端环境时要核对别名配置。

删除挂载点文件夹要格外谨慎,如果目录本身是挂载点,执行rm-rf不会自动卸载挂载设备,删除的是挂载点内部文件,挂载设备本身的数据依然保留;如果你需要彻底清理挂载盘,要先执行umount卸载,再删除挂载点目录,否则容易出现文件句柄占用,删除操作报错deviceorresourcebusy。遇到该报错,先用lsof|grep目录路径,查询仍在占用目录的进程,结束对应进程之后,再执行删除命令。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于linux如何删除文件夹的文章欢迎访问:百科