Linux命令学习总结:rm命令

时间:2023-12-10 23:53:20

命令简介:

 

该命令用来删除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/

Linux命令学习总结:rm命令

 

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