• 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/

    clip_image001

     

    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

     

  • 相关阅读:
    ASP.NET MVC应用程序更新相关数据
    HTML5 教程
    Nginx+Tomcat+Keepalived+Memcache 负载均衡动静分离技术
    Bootstrap 模态框
    Routing(路由) & Multiple Views(多个视图) step 7
    构建日均千万PV Web站点1
    基础模块
    Visual Studio 换颜色
    动手实现Expression翻译器1
    ASP.NET SignalR 2.0入门指南
  • 原文地址:https://www.cnblogs.com/kerrycode/p/3869911.html
Copyright © 2020-2023  润新知