首页 > 代码库 > Linux命令学习总结:rm命令
Linux命令学习总结:rm命令
命令简介:
该命令用来删除Linux系统中的文件或目录。通常情况下rm不会删除目录,你必须通过指定参数-r或-R来删除目录。另外rm通常可以将该文件或目录恢复(注意,rm删除文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上。如果想要保证文件的内容无法复原,可以使用命令shred 。 另外一般还是要慎用rm -rf *这样的命令。
执行权限 :All User
指令所在路径:/bin/rm
命令语法:
rm [OPTION]... FILE...
命令参数:
参数 | 长参数 | 描叙 |
-f | --force | 强制删除,忽略不存在的文件,从不给出提示。 |
-i | --interactive | 交互模式删除文件,删除文件前给出提示。 |
-r | --recursive | 递归的删除目录下面文件以及子目录下文件。 |
-R | --recursive | 递归的删除目录下面文件以及子目录下文件。 |
-v | --verbose | 显示运行时详细信息 |
--help | 显示命令在线帮助 | |
--version | 显示命令版本信息 |
使用示例:
1:查看获取rm命令的帮助信息。
[root@DB-Server kerry]# man rm
RM(1) User Commands RM(1)
NAME
rm - remove files or directories
SYNOPSIS
rm [OPTION]... FILE...
DESCRIPTION
This manual page documents the GNU version of rm. rm removes each specified file. By default, it does not remove directories.
If a file is unwritable, the standard input is a tty, and the -f or --force option is not given, rm prompts the user for whether to remove the file. If
the response is not affirmative, the file is skipped.
OPTIONS
Remove (unlink) the FILE(s).
-f, --force
ignore nonexistent files, never prompt
-i, --interactive
prompt before any removal
--no-preserve-root do not treat 鈥?鈥?specially (the default)
--preserve-root
fail to operate recursively on 鈥?鈥?
-r, -R, --recursive
remove directories and their contents recursively
-v, --verbose
explain what is being done
--help display this help and exit
--version
output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or -R) option to remove each listed directory, too, along with all of its contents.
To remove a file whose name starts with a 鈥?鈥? for example 鈥?foo鈥? use one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to recover the contents of that file. If you want more assurance that the contents are
truly unrecoverable, consider using shred.
AUTHOR
Written by Paul Rubin, David MacKenzie, Richard Stallman, and Jim Meyering.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT
Copyright 漏 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There
is NO WARRANTY, to the extent permitted by law.
SEE ALSO
chattr(1), shred(1)
The full documentation for rm is maintained as a Texinfo manual. If the info and rm programs are properly installed at your site, the command
info rm
should give you access to the complete manual.
rm 5.97 June 2011 RM(1)
[root@DB-Server kerry]# rm --help
Usage: rm [OPTION]... FILE...
Remove (unlink) the FILE(s).
-f, --force ignore nonexistent files, never prompt
-i, --interactive prompt before any removal
--no-preserve-root do not treat `/‘ specially (the default)
--preserve-root fail to operate recursively on `/‘
-r, -R, --recursive remove directories and their contents recursively
-v, --verbose explain what is being done
--help display this help and exit
--version output version information and exit
By default, rm does not remove directories. Use the --recursive (-r or -R)
option to remove each listed directory, too, along with all of its contents.
To remove a file whose name starts with a `-‘, for example `-foo‘,
use one of these commands:
rm -- -foo
rm ./-foo
Note that if you use rm to remove a file, it is usually possible to recover
the contents of that file. If you want more assurance that the contents are
truly unrecoverable, consider using shred.
Report bugs to bug-coreutils@gnu.org.
2:删除指定文件
如下所示,该目录下有20个文件,删除指定文件后,只剩下19个文件了。
[oracle@DB-Server bdump]$ ls -lrt | wc -l
20
[oracle@DB-Server bdump]$ rm gsp_lgwr_7826.trc
[oracle@DB-Server bdump]$ ls -lrt | wc -l
19
3:删除文件显示运行时详细信息
[oracle@DB-Server bdump]$ rm -v gsp_lgwr_4617.trc
removed `gsp_lgwr_4617.trc‘
4:交互模式下删除文件
如下所示,输入y后就会删除文件,不想删除则数据n
[oracle@DB-Server bdump]$ rm -iv gsp_lgwr_5005.trc
rm: remove regular file `gsp_lgwr_5005.trc‘? y
removed `gsp_lgwr_5005.trc‘
[oracle@DB-Server bdump]$ rm -iv gsp_lgwr_7826.trc
rm: remove regular file `gsp_lgwr_7826.trc‘? n
5: 递归删除某个目录下文件以及子目录
如下所示,kerry目录下有test1.txt、 test2.txt 文件,以及子目录tmp, 而子目录下又有文件file1、file2.
[root@DB-Server ~]# tree kerry
kerry
|-- test1.txt
|-- test2.txt
`-- tmp
|-- file1
`-- file2
1 directory, 4 files
[root@DB-Server ~]# rm -rf kerry/
6: 删除空目录
[root@DB-Server ~]# mkdir kerry
[root@DB-Server ~]# rm -r kerry/
rm: remove directory `kerry/‘? y
7:删除目录bdump下的所有trc文件类型的文件。
[oracle@DB-Server bdump]$ ls
alert_GSP.log gsp_lgwr_20025.trc gsp_lgwr_5023.trc gsp_p000_4637.trc gsp_p000_4718.trc gsp_p000_5025.trc gsp_p001_4639.trc gsp_p001_4720.trc gsp_p001_5027.trc
gsp_lgwr_19915.trc gsp_lgwr_4719.trc gsp_lgwr_5089.trc gsp_p000_4682.trc gsp_p000_4739.trc gsp_p000_5043.trc gsp_p001_4684.trc gsp_p001_4741.trc gsp_p001_5045.trc
[oracle@DB-Server bdump]$ rm -v *.trc
removed `gsp_lgwr_19915.trc‘
removed `gsp_lgwr_20025.trc‘
removed `gsp_lgwr_4719.trc‘
removed `gsp_lgwr_5023.trc‘
removed `gsp_lgwr_5089.trc‘
removed `gsp_p000_4637.trc‘
removed `gsp_p000_4682.trc‘
removed `gsp_p000_4718.trc‘
removed `gsp_p000_4739.trc‘
removed `gsp_p000_5025.trc‘
removed `gsp_p000_5043.trc‘
removed `gsp_p001_4639.trc‘
removed `gsp_p001_4684.trc‘
removed `gsp_p001_4720.trc‘
removed `gsp_p001_4741.trc‘
removed `gsp_p001_5027.trc‘
removed `gsp_p001_5045.trc‘
参考资料:
http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html