介绍
rm(remove)删除文件或目录
使用 rm 命令要谨慎操作。一旦删除无法恢复
常用选项:
-d, --dir
只删除目录,如果指定的目录不为空,则 rm -d
不会删除该目录,而是会显示一个错误消息 若参数为符号连接,则删除该连接指向的目录而非符号连接本身。 -f, --force 强制删除文件或目录,不给出任何提示或警告。 -i 交互式操作,删除前会提示用户确认。
-f
和 -i
是互斥的,因为 -f
会强制执行操作而不需要确认,而 -i
则需要用户进行确认。 -r, -R, --recursive 递归处理,将指定目录下的所有文件与子目录一并删除 -v 显示详细的操作信息。
➜ linuxtest ls -R d1 d2 d3 d4 ./d1: d1child test.txt ./d1/d1child: ./d2: ./d3: ./d4: test.txt # 尝试删除一个目录 ➜ linuxtest rm d2 rm: d2: is a directory # 添加参数 -d 删除成功 ➜ linuxtest rm -d d2 ➜ linuxtest ls -R d1 d3 d4 ./d1: d1child test.txt ./d1/d1child: ./d3: ./d4: test.txt # 强制删除一个目录 ➜ linuxtest rm -f d3 rm: d3: is a directory # 提示目录 增加 -r 递归处理 成功删除 ➜ linuxtest rm -rf d3 ➜ linuxtest ls -R d1 d4 ./d1: d1child test.txt ./d1/d1child: ./d4: test.txt # 交互删除信息 ➜ linuxtest rm -ri d4 # 输入 y确认 n取消 examine files in directory d4? y remove d4/test.txt? y remove d4? y # 删除成功后的目录结构 仅剩d1极其子目录文件 ➜ linuxtest ls -R d1 ./d1: d1child test.txt ./d1/d1child: # 显示删除信息 ➜ linuxtest rm -rv d1 d1/d1child d1/test.txt d1 ➜ linuxtest ls -R # 最终全部删除 ➜
文章评论