本文主要是介绍Linux 常用命令 - rm 【删除文件或目录】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
rm 命令源于英文单词 “remove”,它用于删除文件或目录。rm 是 Linux 系统中最基本的命令之一,用于删除指定的文件或目录。默认情况下,rm 不会删除目录,但可以通过递归删除选项来实现。
使用方式
rm [选项]... [文件]...
常用选项
-
-f, --force
:强制删除,忽略不存在的文件和参数,不进行提示。 -
-i
:在删除每个文件前提示用户是否确认删除。 -
-I
:在删除超过三个文件或递归删除时提示一次。相比于 -i 每个文件都要提示并需要用户操作,该选项会更简洁,同时也能避免了大部分的错误操作。 -
--interactive[=WHEN]
:根据 WHEN 来决定何时提示,可选 never、once(等同于 -I) 或 always(等同于-i),当不提供 WHEN 参数时每次都提示。 -
--one-file-system
:在递归删除目录时,跳过与命令行参数指定目录处于不同文件系统的目录。避免跨文件系统的删除操作。 -
--no-preserve-root
:不特别对待根目录 /,一般情况下系统对于根目录的操作会有保护机制,而使用该选项则会将根目录作为普通目录对待,禁用保护机制。 -
--preserve-root[=all]
:不删除根目录(这是默认行为),加了 all 参数会拒绝删除与父目录在不同设备上的命令行参数。 -
-r, -R, --recursive
:递归删除指定目录及其内容。 -
-d, --dir
:删除空目录。 -
-v, --verbose
:进行删除操作时打印出正在执行的操作。 -
--help
:显示帮助信息。 -
--version
:显示版本信息。
参考示例
1. 删除单个文件
rm a.txt
没有错误提示表明删除成功:
jay@jaylinuxlenovo:~/test$ rm a.txt
jay@jaylinuxlenovo:~/test$
若此时再次执行删除指令由于文件不存在会报错:
jay@jaylinuxlenovo:~/test$ rm a.txt
rm: cannot remove 'a.txt': No such file or directory
2. 交互式删除多个文件
rm -i a.txt b.txt c.txt
使用 -i 选项可以在每个文件即将被删除时进行确认:
jay@jaylinuxlenovo:~/test$ rm -i a.txt b.txt c.txt
rm: remove regular file 'a.txt'? y
rm: remove regular file 'b.txt'? y
rm: remove regular file 'c.txt'? y
3. 强制删除一个文件
rm -f a.txt
使用 -f 可以强制删除一个文件,并且如果文件不存在,也不会报错:
jay@jaylinuxlenovo:~/test$ rm a.txt
rm: cannot remove 'a.txt': No such file or directory
jay@jaylinuxlenovo:~/test$ rm -f a.txt
jay@jaylinuxlenovo:~/test$
4. 递归删除目录及其内部的文件
rm -r test_dir
使用 -r 选项可以递归删除名为 test_dir 的目录及目录内的子目录和文件:
jay@jaylinuxlenovo:~/test$ rm -r test_dir
jay@jaylinuxlenovo:~/test$
5. 显示具体的删除信息
rm -rv test_dir/
使用 -r 和 -v 的组合选项 -rv 删除目录 test_dir 及其内部的所有文件同时打印出详细的删除信息:
jay@jaylinuxlenovo:~/test$ rm -rv test_dir/
removed 'test_dir/sub_dir/aa.txt'
removed directory 'test_dir/sub_dir'
removed 'test_dir/c.txt'
removed 'test_dir/a.txt'
removed directory 'test_dir/'
注意事项
-
使用 rm 命令时,一旦文件被删除,系统默认情况下不会将其放入回收站,而是直接从文件系统中移除。因此,使用 rm 命令时要格外小心。
-
rm 命令删除的文件可能部分内容可以被恢复,如果需要确保文件内容不可恢复,可以考虑使用 shred 命令。
这篇关于Linux 常用命令 - rm 【删除文件或目录】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!