rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

    (1)用法:

   用法:rm [选项]... 文件...

    (2)功能:

   删除 (unlink) 文件。

    (3)选项参数:

1) -f, --force                            强制删除。忽略不存在的文件,不提示确认

2) -i                                        在删除前需要确认

3) -I                                       在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生

4) --interactive[=WHEN]          根据指定的WHEN 进行确认提示:never,once (-I), 或者always (-i)。如果此参数不加WHEN 则总是提示

5) --one-file-system                 递归删除一个层级时,跳过所有不符合命令行参 数的文件系统上的文件

6) --no-preserve-roo                不特殊对待"/" --preserve-root 不允许删除"/"(默认)

7) -r, -R, --recursive                递归删除目录及其内容

8) -v, --verbose                       详细显示进行的步骤 --help 显示此帮助信息并退出 --version 显示版本信息并退出

9) -d                                      直接把欲删除的目录的硬连接数据删除成0,删除该目录

    (4)实例:

1)[root@localhost Document]# rm -i touch_test_file               等同于rm touch_test_file,交互式删除,y键确认删除,n键不删除

[root@localhost Document]# rm -i touch_test_file
rm:是否删除普通空文件 "touch_test_file"?n
[root@localhost Document]# rm -i {touch_test_file,touch_test_file2}
rm:是否删除普通空文件 "touch_test_file"?y
rm:是否删除普通空文件 "touch_test_file2"?y

2)[root@localhost Document]# rm -f test   强制删除文件不做交互提醒

[root@localhost Document]# ll
总用量
-rw-r--r--. root root 5月 : days ago
drwxrwxr-x. sunjimeng sunjimeng 5月 : bin
drwxrwxr-x. sunjimeng sunjimeng 5月 : Father
-rw-r--r--. root root 5月 : test
[root@localhost Document]# rm -f test
[root@localhost Document]# ll
总用量
-rw-r--r--. root root 5月 : days ago
drwxrwxr-x. sunjimeng sunjimeng 5月 : bin
drwxrwxr-x. sunjimeng sunjimeng 5月 : Father

3)[root@localhost Document]# rm -r *                  删除当前目录下除隐含文件外的所有文件和子目录

[root@localhost Document]# ll
总用量
-rw-r--r--. root root 5月 : days ago
drwxrwxr-x. sunjimeng sunjimeng 5月 : bin
drwxrwxr-x. sunjimeng sunjimeng 5月 : Father
[root@localhost Document]# rm -r *
rm:是否删除普通空文件 "10 days ago"?y
rm:是否进入目录"bin"? y
rm:是否删除目录 "bin/os_1"?y
rm:是否删除目录 "bin"?y
rm:是否进入目录"Father"? y
rm:是否删除目录 "Father/Child"?y
rm:是否删除目录 "Father"?y
[root@localhost Document]# ll
总用量

4)[root@localhost Document]# rm -v test1    显示删除的详细步骤

[root@localhost Document]# touch {test1,test2}
[root@localhost Document]# rm -v test1
rm:是否删除普通空文件 "test1"?y
已删除"test1"
[root@localhost Document]# ll
总用量
-rw-r--r--. root root 5月 : test2
[root@localhost Document]#

5)[root@localhost Document]# rm f* 与[root@localhost Document]# rm ./t*  删除以某个或某些字符结尾或开头的文件

[root@localhost Document]# touch {file1,file2,test1,test2}
[root@localhost Document]# ll
总用量
-rw-r--r--. root root 5月 : file1
-rw-r--r--. root root 5月 : file2
-rw-r--r--. root root 5月 : test1
-rw-r--r--. root root 5月 : test2
[root@localhost Document]# rm f*
rm:是否删除普通空文件 "file1"?y
rm:是否删除普通空文件 "file2"?y
[root@localhost Document]# rm ./t*
rm:是否删除普通空文件 "./test1"?y
rm:是否删除普通空文件 "./test2"?y
[root@localhost Document]# ll
总用量

6)[root@localhost Document]# touch -- -test与[root@localhost Document]# rm -- -test      删除以-字符开头的文件,另外ls -- -test可以列出此-开头的文件

[root@localhost Document]# touch -test
touch: 日期格式"est" 无效
[root@localhost Document]# touch -- -test
[root@localhost Document]# ll
总用量
-rw-r--r--. root root 5月 : -test
[root@localhost Document]# rm -test
rm:无效选项 -- t
Try 'rm ./-test' to remove the file "-test".
Try 'rm --help' for more information.
[root@localhost Document]# rm -- -test
rm:是否删除普通空文件 "-test"?y

7)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 - : test3
drwxr-xr-x root root - : test4
drwxr-xr-x root root - : test5
[root@localhost test]# rm [].log
moved to /tmp/ ok
[root@localhost test]# ll
总计 16drwxr-xr-x root root - : scf
drwxrwxrwx root root - : test3
drwxr-xr-x root root - : test4
drwxr-xr-x root root - : test5
[root@localhost test]# ls /tmp//
.log .log .log
[root@localhost test]#  

说明:

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

8)

[root@localhost Document]# rm --help
用法:rm [选项]... 文件...
Remove (unlink) the FILE(s). -f, --force ignore nonexistent files and arguments, never prompt
-i prompt before every removal
-I prompt once before removing more than three files, or
when removing recursively; less intrusive than -i,
while still giving protection against most mistakes
--interactive[=WHEN] prompt according to WHEN: never, once (-I), or
always (-i); without WHEN, prompt always
--one-file-system 递归删除一个层级时,跳过所有不符合命令行参
数的文件系统上的文件
--no-preserve-root do not treat '/' specially
--preserve-root do not remove '/' (default)
-r, -R, --recursive remove directories and their contents recursively
-d, --dir remove empty directories
-v, --verbose explain what is being done
--help 显示此帮助信息并退出
--version 显示版本信息并退出 默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定
的目录,以及其下所有的内容。 To remove a file whose name starts with a '-', for example '-foo',
use one of these commands:
rm -- -foo rm ./-foo 请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证
该文件的内容无法还原,请考虑使用shred。 GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告rm 的翻译错误
要获取完整文档,请运行:info coreutils 'rm invocation'

9)[root@localhost Document]# rm --version 版本信息

[root@localhost Document]# rm --version
rm (GNU coreutils) 8.22
Copyright (C) Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本软件是自由软件:您可以自由修改和重新发布它。
在法律范围内没有其他保证。 由Paul Rubin、David MacKenzie、Richard M. Stallman 和
Jim Meyering 编写。

每天一个Linux命令(5)rm命令的更多相关文章

  1. 将linux下的rm命令改造成移动文件至回收站【转】

    转自:http://blog.csdn.net/a3470194/article/details/16863803 [-] 将linux下的rm命令改造成移动文件至回收站 将AIX下的rm命令改造成移 ...

  2. linux下修改rm命令防止误删除

    前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. ...

  3. linux常用命令:rm 命令

    昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所 ...

  4. linux命令:rm 命令

    昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所 ...

  5. 将linux下的rm命令改造成移动文件至回收站

    将linux下的rm命令改造成移动文件至回收站 rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有 ...

  6. 全网最详细的Linux命令系列-rm命令

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

  7. 将linux下的rm命令改造成mv到指定的目录下

    rm是Linux下文件删除的命令,它是Linux下非常强大却又非常危险的一条命令,特别是rm -rf有时候强大到让你欲哭无泪,当你想清除当前目录下的所有文件和目录时,很简单#rm -rf ./*这没什 ...

  8. linux中使用rm命令将文件移到回收站的方法

    今天在终端下,看到我的用户目录下有个-的文件夹(maven生成),相要删除收回点空间,习惯性的用命令 rm -rf ~ ,一回车,猛然想起的时候已经来不及了,世界一下子清静了,想死的心都有了! 没错, ...

  9. Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数

    一.查看jdk安装目录 [root@node001 ~]# whereis java java: /usr/bin/java /usr/local/java #java执行路径 [root@node0 ...

  10. linux常用命令(4)rm命令

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

随机推荐

  1. 【Excle数据透视表】如何在数据透视表中使用合并单元格标志

    先有数据透视表如下: 现在看着这个格式不舒服,我们希望调整成如下这种样式 步骤 单击数据透视表任意单元格→右键→数据透视表选项→布局和格式→合并且居中排列带标签的单元格 注意:如果数据透视表报表布局不 ...

  2. (四)Thymeleaf标准表达式之——[3->6] 操作符(文本、算术、布尔、比较及相等)

    2.3 文本操作符 模板名称:text.html 连接符: +   可以是任意字符和表达式等 文本替换符:|    不能表达出条件表达式(官网:只能是变量表达式) e.g. 1.<span th ...

  3. Delphi Math里的基本函数,以及浮点数比较函数

    Delphi里的好东西太多,多到让人觉得烦.这种感觉就是当年打游戏<英雄无敌3>,改了钱以后,有钱了每天都要造建筑,明明是好事,可是让人觉得烦. 先记录下来,以后再回来加强对Math单元的 ...

  4. thread.join() 方法存在的必要性是什么?

    好久远的问题,为什么关注这个问题的人这么少? 或许是用到这个功能的情形比较少吧. 1.等待处理结果 为什么要用join()方法在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算 ...

  5. Atitit.常见的4gl 第四代编程语言  与 dsl

    Atitit.常见的4gl 第四代编程语言  与 dsl 1. 4gl dsl发展历史1 2. 4gl dsl的特点1 3. 常见的4gl 第四代编程语言 dsl2 4. 未来趋势与标准2 4.1.1 ...

  6. spark 的一些常用函数 filter,map,flatMap,lookup ,reduce,groupByKey

    定义不带参数也不带返回值的函数(def :定义函数的关键字  printz:方法名称) scala> def printz = print("scala hello")   ...

  7. Apache + Tomcat集群 + 负载均衡

    Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html  http://blog ...

  8. Redis源码阅读-Dict哈希字典

    Dict和Java中的HashMap很相似,都是数组开链法解决冲突. 但是Redis为了高性能, 有很多比较微妙的方法,例如 数组的大小总是2的倍数,初始大小是4. rehash并不是一次就执行完,而 ...

  9. 史上最全的CSS hack方式一览(转)

    做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道 ...

  10. Android Studio SDK Manager 解决无法更新问题

    一.首先要保证你可以FQ上google等网站. 这个..如何越过GFW就要靠自己了..网上也有很多教程.. 二.更改android sdk manager的option设置 选择Tools→Opini ...