Linux中rm命令是删除文件和目录的。在使用-r参数时,一定要注意,因为该目录和文件都会被删除。
1.命令格式:
rm [选项] 文件…
2.命令功能:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
3.命令参数:
-f, --force 强制的意思,忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
删除目录:rm -rf /PATH/TO/DIR
危险操作:rm -rf /*(6和7有提示,5没有)
注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录:(模拟回收站),下面第4个例子,也是一种模拟回收站的方法。
命令示例:
1.-i参数,删除前询问
1
2
3
4
5
6
7
8
|
[root@www ~]
# cd /tmp
[root@www tmp]
# rm -i bashrc
rm
: remove regular
file
`bashrc'? y 加入-i参数,删除时就会主动询问,避免删错文件
[root@www tmp]
# rm -i bashrc* 使用通配符,将tmp下以bashrc开头的文件全部删除
rm
: remove regular
file
`bashrc_hlink'? y
rm
: remove symbolic link `bashrc_slink'? y
rm
: remove regular
file
`bashrc_slink_1'? y
rm
: remove symbolic link `bashrc_slink_2'? y
|
2.-r参数,递归删除目录
1
2
3
4
|
[root@www tmp]
# rmdir /tmp/etc
rmdir
: failed to remove `
/tmp/etc
': Directory not empty 不能删除,因为目录不为空
[root@www tmp]
# rm -r /tmp/etc
rm
: descend into directory `
/tmp/etc
'? ^C 按y确认,按ctrl+c退出
|
因为身份是 root ,默认已经加入了 -i 的选项,所以你要一直按 y 才会删除!
如果不想要继续按 y ,可以按下『 [ctrl]-c 』来结束 rm 的工作。
这是一种保护的动作,如果确定要删除掉此目录而不要询问,可以这样做:
1
|
[root@www tmp]
# /rm -r /tmp/etc
|
在命令前加上反斜线,可以忽略掉 alias 的指定选项
3.-f参数,强制删除,系统不提示
1
|
[root@www tmp]
# rm -f test.log
|
4. 自定义回收站功能
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@www tmp]
# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
[root@www tmp]
# alias rm='myrm'
[root@www tmp]
# touch 1.log 2.log 3.log
[root@www tmp]
# ll
total 0
-rw-r--r-- 1 root root 0 Apr 7 14:19 1.log
-rw-r--r-- 1 root root 0 Apr 7 14:19 2.log
-rw-r--r-- 1 root root 0 Apr 7 14:19 3.log
[root@www tmp]
# rm [123].log
moved to
/tmp/20160407142017
ok
[root@www tmp]
# ls /tmp/20160407142017/
1.log 2.log 3.log
[root@www tmp]
#
|
5. 删除以-开头的文件
1
2
3
4
5
6
7
8
9
10
|
[root@www tmp]
# touch ./-bbb-
[root@www tmp]
# ls -l
total 0
-rw-r--r-- 1 root root 0 Apr 7 14:26 -bbb-
[root@www tmp]
# rm -bbb-
mv
: invalid option --
'-'
Try `
mv
--help'
for
more
information.
[root@www tmp]
# rm ./-bbb-
moved to
/tmp/20160407142651
ok
[root@www tmp]
#
|
参考:
http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html