A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-bash/zsh: rm: command not found #Debian apt-get install coreutils #Ubuntu apt-get install coreutils #Alpine apk add coreutils #Arch Linux pacman -S coreutils #Kali Linux apt-get install coreutils #CentOS yum install coreutils #Fedora dnf install coreutils #OS X brew install coreutils #Raspbian apt-get install coreutils #Docker docker run cmd.cat/rm rm
rm 命令删除过程取消链接文件系统中的文件名与其关联数据,并将存储设备上的空间标记为将来写入时可用。 换句话说,当您删除文件时,文件中的数据不会更改,但它不再与文件名关联。数据本身没有被破坏,但在与 rm 取消链接后,它变得无法访问。 明智地删除你的文件!
rm 命令可以用 -i
选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入 y 并按 Enter 键,才能删除文件。如果仅按 Enter 键或其他字符,文件不会被删除。
如果您想要完全擦除磁盘上的数据,请改用 shred 命令。 shred 将覆盖文件的内容,以便以后无法重建。
rm [-f | --force] {[-i | --interactive[=always]] | [-I | --interactive=once] | [--interactive=never]} [--one-file-system] [--no-preserve-root | --preserve-root] [-r | -R | --recursive] [-d | --dir] [-v | --verbose] FILE...
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; -f:强制删除文件或目录; -i:删除已有文件或目录之前先询问用户; -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理; --preserve-root:不对根目录进行递归操作; -v:显示指令的详细执行过程。
文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。
#交互式删除当前目录下的文件test和example rm -i test example Remove test ?n(不删除文件test) Remove example ?y(删除文件example) #删除当前目录下除隐含文件外的所有文件和子目录 #应注意,这样做是非常危险的! rm -r *
# rm 命令删除文件 # rm 文件1 文件2 ... rm testfile.txt #rm 命令删除目录 rm -r [目录名称] -r 表示递归地删除目录下的所有文件和目录。 -f 表示强制删除 rm -rf testdir rm -r testdir #删除操作前有确认提示 rm -i [文件/目录] rm -r -i testdir #选项 -I,可保证在删除超过 3 个文件时或递归删除时(LCTT 译注: 如删除目录)仅提示一次确认。 rm -I file1 file2 file3 # rm 显示当前删除操作的详情 rm -v [文件/目录]
当然,删除根目录(/)是 Linux 用户最不想要的操作,这也就是为什么默认 rm 命令不支持在根目录上执行递归删除操作。 然而,如果你非得完成这个操作,你需要使用 --no-preserve-root 选项。当提供此选项,rm 就不会特殊处理根目录(/)了。
要删除名称以短划线(“ - ”)开头的文件,可以在文件名之前单独指定双短划线(“ - ”)。 这个额外的破折号是必要的,这样rm不会误解文件名作为选项。
例如,如果当前目录中有一个名为 “-file.txt
” 的文件,则可以使用该命令将其删除。
rm -- -file.txt
或者,您可以通过使用路径名引用它来删除它。 例如,如果文件 “-file.txt” 位于 “ /home/hope” 目录中,则可以使用以下命令将其删除:
rm /home/hope/-file.txt
...或者,如果 /home/hope
目前是您的工作目录,像下面这样执行,也会奏效。
rm ./-file.txt