00. 目录

文章目录

  • 00. 目录
  • 01. 命令概述
  • 02. 命令格式
  • 03. 常用选项
  • 04. 参考示例
  • 05. 附录

01. 命令概述

删除 (unlink) 文件。

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

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

02. 命令格式

rm [选项]… 文件…

03. 常用选项

删除 (unlink) 文件。-f, --force           强制删除。忽略不存在的文件,不提示确认-i                    在删除前需要确认-I                    在删除超过三个文件或者递归删除前要求确认。此选项比-i 提示内容更少,但同样可以阻止大多数错误发生--interactive[=WHEN]      根据指定的WHEN 进行确认提示:never,once (-I),或者always (-i)。如果此参数不加WHEN 则总是提示--one-file-system         递归删除一个层级时,跳过所有不符合命令行参数的文件系统上的文件--no-preserve-roo 不特殊对待"/"--preserve-root   不允许删除"/"(默认)-d, --dir 删除空目录-r, -R, --recursive   递归删除目录及其内容-v, --verbose         详细显示进行的步骤--help            显示此帮助信息并退出--version         显示版本信息并退出默认时,rm 不会删除目录。使用--recursive(-r 或-R)选项可删除每个给定
的目录,以及其下所有的内容。要删除第一个字符为"-"的文件 (例如"-foo"),请使用以下方法之一:rm -- -foorm ./-foo请注意,如果使用rm 来删除文件,通常仍可以将该文件恢复原状。如果想保证
该文件的内容无法还原,请考虑使用shred。

04. 参考示例

4.1 删除文件,不加任何选项(centos7.5)

[deng@localhost test]$ ls
c  d  dir  dir1  passwd  systemd
[deng@localhost test]$ rm c
[deng@localhost test]$ ls
d  dir  dir1  passwd  systemd
[deng@localhost test]$

4.2 同时删除多个文件 每个文件以空格分隔

[deng@localhost test]$ rm d passwd
[deng@localhost test]$ ls
dir  dir1  systemd
[deng@localhost test]$

4.3 强制删除。忽略不存在的文件,不提示确认

使用 -f 选项会强制进行删除操作。如果目标文件不能打开,可以用 -f 尝试。

[deng@localhost test]$ ls
a  dir  dir1  systemd
[deng@localhost test]$ rm -f a
[deng@localhost test]$ rm -f a
[deng@localhost test]$

4.4 详细显示进行的步骤

[deng@localhost test]$ ls
a  b  c  d  dir  dir1  systemd
[deng@localhost test]$ rm -v a b c d
已删除"a"
已删除"b"
已删除"c"
已删除"d"
[deng@localhost test]$

4.5 在删除前需要确认

使用 -i 选项,启用交互模式,会询问是否继续删除。如果确认删除,输入 y(yes);如果不想删除,输入 n(no)。

[deng@localhost test]$ ls
a  b  c  d  dir  dir1  systemd
[deng@localhost test]$ rm -i a
rm:是否删除普通空文件 "a"?y
[deng@localhost test]$

4.6 递归删除目录及其内容

要删除一个目录以及目录下所有的文件,需要添加 -r 或者 -R 选项来递归实现。

[deng@localhost test]$ mkdir -p a1/b/c/d
[deng@localhost test]$ rm a1
rm: 无法删除"a1": 是一个目录
[deng@localhost test]$ rm -r a1
[deng@localhost test]$

4.7 删除链接文件

对于删除链接文件,只是删除链接文件,而不会删除链接文件所指向的文件。

[deng@localhost test]$ ls -l a_link
lrwxrwxrwx 1 deng deng 1 7月  13 23:31 a_link -> b
[deng@localhost test]$ rm a_link
[deng@localhost test]$ ls
b  c  d  dir  dir1  systemd
[deng@localhost test]$

4.8 删除以“-”开头的文件

[deng@localhost test]$ touch -- -file
[deng@localhost test]$ ls
b  c  d  dir  dir1  -file  systemd
[deng@localhost test]$ rm -- -file
[deng@localhost test]$ ls
b  c  d  dir  dir1  systemd
[deng@localhost test]$

或者

[deng@localhost test]$ touch ./-file
[deng@localhost test]$ ls
b  c  d  dir  dir1  -file  systemd
[deng@localhost test]$ rm -file
rm:无效选项 -- l
Try 'rm ./-file' to remove the file "-file".
Try 'rm --help' for more information.
[deng@localhost test]$ rm ./-file

因为一般“-”后面接的是选项。因此,单纯地使用 rm -file,系统的命令就会误判。所以,只能用避过首字符“-”的方式(加上本目录 ./)。

4.9 自定义回收站功能

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

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

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

【Linux】一步一步学Linux——rm命令(32)相关推荐

  1. 学linux作用,linux有必要学吗?学linux有什么作用,学linux能干什么

    Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到win ...

  2. LINUX学习之路(学LINUX必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知.而现在的趋势越来越表明,作为一 个优秀的软件开发人员,或计算机IT行业从业人员,掌握Linux是一种很重要的谋生资源与手段.下来我将会结 ...

  3. linux学习需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  4. 分享--linux 学习之路(学linux必看)

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

  5. 英语不好学linux运维难吗,学Linux系统难吗?学好Linux运维需要多久

    随着近年来经济的快速发展,企业对Linux人才的需求也越来越高.许多人认为,Linux是一个非常简单的行业,然而,Linux行业是一个综合了云计算.Linux运维.Linux开发.Linux编程等多方 ...

  6. 不会linux的php难找工作,学linux系统难吗

    这是 Linux初学者经常会问的问题,其实Linux和Windows一样都属于操作系统,对于大部分人来说,对Windows操作系统十分熟悉,而对Linux操作系统没有使用过,所以觉得很难,其实,只要熟 ...

  7. linux lamp实验报告,新手学Linux--构建lamp

    本人前不久开始学习Linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾.由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记 ...

  8. Linux其实没那么难学

    互联网技术总是更新迭代的,因为2020年的一场疫情,影响着中国乃至整个世界,就在这一年,网络直播,远程办公,在线教育等等的互联网产物进入了众多人的世界,当然,这其中离不开程序员的功劳. 李开复曾经说过 ...

  9. 大学生为什么要学Linux?Linux有什么优点?

    前言 Linux是一种自由和开放源码的类UNIX操作系统.Linux有必要学吗?学Linux有什么作用,学Linux能干什么?Linux最大的作用就是提高效率.当你习惯在Linux命令行下工作,再回到 ...

最新文章

  1. Openvswitch原理与代码分析(3): openvswitch内核模块的加载
  2. 潜意识微笑,与钱无关——博客获奖有感
  3. Redhat 5 配置DHCP服务器
  4. 看oracle 的数据库位数
  5. id 的选择器为什么要这么写 li#first?
  6. Java 理论与实践: 正确使用 Volatile 变量--转
  7. MFC C++ 获取外网IP地址
  8. 微擎框架小程序 入口
  9. LinuxQuestions.org庆祝16岁生日
  10. Java和web前端,IT新人该如何选择?
  11. linux ping 命令_Linux ping命令示例
  12. 【转】处理百万级以上的数据提高查询速度的方法
  13. 如何清洁和消毒Mac笔记本电脑?
  14. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、
  15. WPF DataGrid 数据绑定
  16. openproj centos安装及其输入中文变方块乱码解决
  17. 自己写的【手机号码归属地查询软件】
  18. 校园网自动登录Python版
  19. unity-动画 Animation read-only 问题
  20. Docker原理及常见命令

热门文章

  1. C# socket编程第三篇
  2. 如何在dw上编写php_用dw制作php网站视频教程
  3. 光盘显示容量但读不出文件_软网推荐:文件夹容量属性增强显示
  4. pageaudit属性不正确_科学的基本属性
  5. 7-4 jmu-Java-06异常-04-自定义异常(综合) (15 分)
  6. matlab while 跳出,请帮忙看下这个程序为什么跳不出WHILE循环??
  7. 随机发牌_用Python制作4人扑克牌发牌游戏
  8. C语言程序练习-L1-015 跟奥巴马一起画方块 (15分)
  9. android 点击跳过,android开发里跳过的坑——button不响应点击事件
  10. Newlife.Net QA