1.概述

删除 (unlink) 文件。

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

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

2.语法

rm [选项] 文件目录

3.选项与参数

  • -f:就是force的意思,忽略不存在的文件,不会出现警告信息;
  • -i:互动模式,在删除前会询问使用者是否执行;
  • -r: 递归删除,常用在目录的删除,此操作属于高危险操作,必须要要谨慎,不建议你来做。

演示:

删除 (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

4.案例

4.1删除文件

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

4.2 同时删除多个文件,每个文件用空格分开。

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

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

使用 -f 选项会强制进行删除操作。

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

4.4显示详细的操作的步骤

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

4.5 再删除前进行确认。

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

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

4.6 递归删除目录及其内容。

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

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

4.7 删除链接文件。

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

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

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

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

或者

[root@localhost test]$ touch ./-file
[root@localhost test]$ ls
b  c  d  dir  dir1  -file  systemd
[root@localhost test]$ rm -file
rm:无效选项 -- l
Try 'rm ./-file' to remove the file "-file".
Try 'rm --help' for more information.
[root@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"; }

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

linux—rm命令详解(一天一个命令)相关推荐

  1. IP命令详解(强大的命令)

    IP命令详解(强大的命令) 简介 语法结构 OPTIONS选项 OBJECT对象 COMMAND命令 ARGUMENTS IP address ip link 语法 ip route 用法 显示路由信 ...

  2. 批处理for命令详解(转) 批处理for命令详解

    批处理for命令详解(转) 批处理for命令详解 2008-03-07 11:00 FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直 ...

  3. Tracert命令详解,路由跟踪命令tracert命令怎么用?网络管理员的法宝,新睿云给您详解

    Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP数据包访问目标所采取的路径.Tracert命令使用用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机 ...

  4. mmc命令 uboot_uboot mmc命令详解Nand flash uboot 命令详解

    uboot mmc命令详解 一:mmc的命令如下: 1:对mmc读操作 mmc read addr blk# cnt 2:对mmc写操作 mmc write addr blk# cnt 3:对mmc擦 ...

  5. Linux命令详解:[7]获得命令帮助

    在维护和使用Linux系统时,常常会忘记命令的使用方法,如果旁边又没有相应的资料,那怎么办呢?不用担心,系统本身提供了详细的手册供使用者查询,下面小编就以CentOS6.4系统为例演示如何获得命令帮助 ...

  6. Linux ssh命令详解,连ssh命令都不了解就别说自己会用Linux了

    前言 ssh相当于windows上的远程桌面连接,但没有桌面,只有文字终端.ssh是许多Linux使用者入门时必学的一个命令.借助ssh,开发人员可以很方便地连接远程或是局域网的其他电脑,直接在上面进 ...

  7. linux中ping命令详解,全面解析Ping命令

    Ping是每个人学习都必须接触到的命令,可是Ping在多少人手中只是检测对方是否在线的工具,却并不知道ping的许多其他用途.Ping是电脑系统自带的一个可执行命令,可以用来检测网络是否通畅和网速的快 ...

  8. linux 安装nginx 详解教程 nginx基础命令

    目录 一.nginx 安装 二.nginx 配置 三.nginx 基础命令 1.帮助命令 2.nginx启动命令 3.查看nginx启动进程 ​4.nginx停止 5.nginx重启 ​ 6.重新加载 ...

  9. linux lspci信息 详解_Linux硬件管理命令--lspci命令详解

    命令说明: lspci 是一个用来显示系统中所有PCI总线设备或连接到该总线上的所有设备的工具 参数: -v 使得 lspci 以冗余模式显示所有设备的详细信息. -vv 使得 lspci 以过冗余模 ...

  10. linux中groupadd命令详解,adduser和addgroup命令讲解

    在Alpine Linux下创建用户和组命令分别是adduser和addgroup,本文主要介绍这两个命令相关参数及使用. adduser adduser [OPTIONS] USER [GROUP] ...

最新文章

  1. 算力不是王道,强化学习之父Rich Sutton的六点错误
  2. PHPTree——快速生成无限多级分类
  3. 5G研发大幕开启 终端硝烟已燃
  4. python图例位置_Python | 图例位置
  5. python运维开发之第八天(socket)
  6. alpine登陆mysql_如何构建一个php7-alpine的docker镜像
  7. 0 full gc时cpu idle_Go语言中如何观察GC
  8. Spring @Async配置4. 基于@Async无返回值调用 使用的方式非常简单,一个标注即可解决所有的问题: 1 @Async //标注使用 2 public void asyncMe
  9. Uva(10305)
  10. linux centos7 利用keepalived 搭建高可用nginx集群
  11. 计算机组成原理——系统总线
  12. 合并两个有序链表-递归
  13. 小米note3如何打开usb调试
  14. 取石子问题--威佐夫博弈(Wythoff‘s game)
  15. idea创建三种应用程序的方法:springboot,控制台程序,windows服务程序
  16. 人工智能入门学习-人工智能岗位超吃香
  17. Git 的一些使用细枝末节
  18. vue3+ts+amap/amap-jsapi-loader实现高德地图搜索选取地点
  19. 各厂家rtsp地址格式如下:
  20. [fielddata] Data too large, data for [_id] would be [13181907968/12.2gb]

热门文章

  1. python如何模拟键盘输入_Python模拟键盘输入和鼠标操作
  2. 对List的数据进行分组
  3. 张志华 统计机器学习
  4. 怼人神器(Windows)
  5. 特殊的数独身数,:水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗七星数, 八仙数, 九九重阳数 ,十全十美数...
  6. 电脑如何恢复数据?电脑文件清空了如何恢复数据?
  7. 【机器学习】生成模型与判别模型详解
  8. FPGA入门学习记录(1)----自动售货机(VM_FSM)
  9. 社保证照片怎么做?一招教你get既专业又好看的证件照!
  10. vue axios常用写法