rm
是很常用的命令,该命令的功能是删除目录中的一个或者多个文件或者目录。对于链接文件,只是删除了链接文件,不会删除原文件。rm
是一个很危险的命令,新生一定不能在/
根目录执行rm -rf *
,或者执行rm -rf /
,这将导致系统所有文件被删除,导致系统崩溃。所以在删除时一定要确认清楚。
rm [选项] 文件...
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
- -f,--force 不提醒直接删除 - -i,--interactive 交互式删除 - -r,-R --recursive 递归删除子目录 - -v,--verbose 详细显示进行的步骤 - --help 帮助信息 - --version 输出版本信息
rm rumenz.txt
删除文件,系统会询问如果确认要删除则输入(y/Y),不需要删除则直接回车或者输入非(y/Y)的字符文字。
>ls rumenz.txt > rm rumenz.txt > rm: remove regular empty file ‘rumenz.txt’? y
直接删除,没有返回的机会
>ls rumenz.txt > rm -r rumenz.txt
>ls 1.txt 2.txt 3.txt 4.txt 5.txt 6.log > rm -i *.txt rm -i *.txt remove 1.txt? y remove 2.txt? y remove 3.txt? y remove 4.txt? y remove 5.txt? y >ls 6.log
> tree rumenz/ rumenz/ ├── 1.txt ├── one │ └── 2.txt └── tow > rm -r rumenz
删除
rumenz
下的所有目录和文件
> rm -rf rumenz
rumenz
目录下的所有文件和目录,保留rumenz
目录> rm -rf rumenz/*
-
开头的文件> touch -- -rumenz > ls -rumenz > rm -- -rumenz
# 定义一个函数 > rrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok";} > alias rm="rrm" > rm node_exporter-1.0.1.linux-amd64.tar.gz moved to /tmp/20210130221519 ok > cd /tmp/20210130221519 > ls node_exporter-1.0.1.linux-amd64.tar.gz
删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。