• rm 命令详解


      

    基础命令学习目录首页

    原文链接:https://www.jb51.net/article/78368.htm

    昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

    rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf)。所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

    1.命令格式:

    rm [选项] 文件…

    2.命令功能:

    删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

    3.命令参数:

    -f, --force 忽略不存在的文件,从不给出提示。
    -i, --interactive 进行交互式删除
    -r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
    -v, --verbose 详细显示进行的步骤
    --help 显示此帮助信息并退出
    --version 输出版本信息并退出

    4.命令实例:

    实例一:删除文件file,系统会先询问是否删除。

    命令:

    rm 文件名

    输出:

    复制代码 代码如下:

    [root@localhost test1]# ll

    总计 4

    复制代码 代码如下:

    -rw-r--r-- 1 root root 56 10-26 14:31 log.log
    root@localhost test1]# rm log.log

    rm:是否删除 一般文件 “log.log”? y

    复制代码 代码如下:

    root@localhost test1]# ll

    总计 0[root@localhost test1]#

    说明:

    输入rm log.log命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则数据n。

    实例二:强行删除file,系统不再提示。

    命令:

    复制代码 代码如下:

    rm -f log1.log

    输出:

    复制代码 代码如下:

    [root@localhost test1]# ll

    总计 4

    复制代码 代码如下:

    -rw-r--r-- 1 root root 23 10-26 14:40 log1.log
    [root@localhost test1]# rm -f log1.log
    [root@localhost test1]# ll

    总计 0[root@localhost test1]#

    实例三:删除任何.log文件;删除前逐一询问确认

    命令:

    rm -i *.log

    输出:

    复制代码 代码如下:

    [root@localhost test1]# ll

    总计 8

    复制代码 代码如下:

    -rw-r--r-- 1 root root 11 10-26 14:45 log1.log
    -rw-r--r-- 1 root root 24 10-26 14:45 log2.log
    [root@localhost test1]# rm -i *.log

    rm:是否删除 一般文件 “log1.log”? y

    rm:是否删除 一般文件 “log2.log”? y

    [root@localhost test1]# ll

    总计 0[root@localhost test1]#

    实例四:将 test1子目录及子目录中所有档案删除

    命令:

    复制代码 代码如下:

    rm -r test1

    输出:

    复制代码 代码如下:

    [root@localhost test]# ll

    总计 24drwxr-xr-x 7 root root 4096 10-25 18:07 scf

    复制代码 代码如下:

    drwxr-xr-x 2 root root 4096 10-26 14:51 test1
    drwxr-xr-x 3 root root 4096 10-25 17:44 test2
    drwxrwxrwx 2 root root 4096 10-25 17:46 test3
    drwxr-xr-x 2 root root 4096 10-25 17:56 test4
    drwxr-xr-x 3 root root 4096 10-25 17:56 test5
    [root@localhost test]# rm -r test1

    rm:是否进入目录 “test1”? y

    rm:是否删除 一般文件 “test1/log3.log”? y

    rm:是否删除 目录 “test1”? y

    复制代码 代码如下:

    [root@localhost test]# ll

    总计 20drwxr-xr-x 7 root root 4096 10-25 18:07 scf

    复制代码 代码如下:

    drwxr-xr-x 3 root root 4096 10-25 17:44 test2
    drwxrwxrwx 2 root root 4096 10-25 17:46 test3
    drwxr-xr-x 2 root root 4096 10-25 17:56 test4
    drwxr-xr-x 3 root root 4096 10-25 17:56 test5
    [root@localhost test]#

    实例五:rm -rf test2命令会将 test2 子目录及子目录中所有档案删除,并且不用一一确认

    命令:

    复制代码 代码如下:

    rm -rf test2

    输出:

    复制代码 代码如下:

    [root@localhost test]# rm -rf test2
    [root@localhost test]# ll

    总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf

    复制代码 代码如下:

    drwxrwxrwx 2 root root 4096 10-25 17:46 test3
    drwxr-xr-x 2 root root 4096 10-25 17:56 test4
    drwxr-xr-x 3 root root 4096 10-25 17:56 test5
    [root@localhost test]#

    实例六:删除以 -f 开头的文件

    命令:

    rm -- -f

    输出:

    复制代码 代码如下:

    [root@localhost test]# touch -- -f
    [root@localhost test]# ls -- -f
    -f[root@localhost test]# rm -- -f

    rm:是否删除 一般空文件 “-f”? y

    复制代码 代码如下:

    [root@localhost test]# ls -- -f

    ls: -f: 没有那个文件或目录

    复制代码 代码如下:

    [root@localhost test]#

    也可以使用下面的操作步骤:

    复制代码 代码如下:

    [root@localhost test]# touch ./-f
    [root@localhost test]# ls ./-f
    ./-f[root@localhost test]# rm ./-f

    rm:是否删除 一般空文件 “./-f”? y

    复制代码 代码如下:

    [root@localhost test]#

    实例七:自定义回收站功能

    命令:

    复制代码 代码如下:

    myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }

    输出:

    复制代码 代码如下:

    [root@localhost test]# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
    [root@localhost test]# alias rm='myrm'
    [root@localhost test]# touch .log .log .log
    [root@localhost test]# ll
    总计
    -rw-r--r-- root root - : .log
    -rw-r--r-- root root - : .log
    -rw-r--r-- root root - : .log
    drwxr-xr-x root root - : scf
    drwxrwxrwx root root - : test
    drwxr-xr-x root root - : test
    drwxr-xr-x root root - : test
    [root@localhost test]# rm [].log
    moved to /tmp/ ok
    [root@localhost test]# ll
    总计 drwxr-xr-x root root - : scf
    drwxrwxrwx root root - : test
    drwxr-xr-x root root - : test
    drwxr-xr-x root root - : test
    [root@localhost test]# ls /tmp//
    .log .log .log
    [root@localhost test]#

    说明:

    上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还可以恢复过来。

    下面再给大家详细介绍下名称:rm命令

    使用权限:任何使用者

    使用方式:rm [options] name...

    说明:删除档案及目录。

    参数:�

    -i 删除前逐一询问确认。
    -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
    -r 将目录及以下之档案亦逐一删除。

    范例:

    删除任何C语言程式档;删除前逐一询问确认 :

    rm -i *.c

    将 Finished 子目录及子目录中任何档案删除 :

    rm -r Finished

    功能说明:删除文档或目录。

    语  法:rm [-dfirv][--help][--version][文档或目录...]

    补充说明:执行rm指令可删除文档或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文档。

    参  数:

     -d或--directory  直接把欲删除的目录的硬连接数据删成0,删除该目录。

     -f或--force  强制删除文档或目录。

     -i或--interactive  删除既有文档或目录之前先询问用户。

     -r或-R或--recursive  递归处理,将指定目录下的任何文档及子目录一并处理。

     -v或--verbose  显示指令执行过程。

     --help  在线帮助。

     --version  显示版本信息

  • 相关阅读:
    ActiveSync合作关系对话框的配置
    WINCE对象存储区(object store)
    Wince 隐藏TASKBAR的方法
    Wince输入法换肤换语言机制
    poj 3080 Blue Jeans 解题报告
    codeforces A. Vasily the Bear and Triangle 解题报告
    hdu 1050 Moving Tables 解题报告
    hdu 1113 Word Amalgamation 解题报告
    codeforces A. IQ Test 解题报告
    poj 1007 DNA Sorting 解题报告
  • 原文地址:https://www.cnblogs.com/machangwei-8/p/9568168.html
Copyright © 2020-2023  润新知