当前位置: 首页 > news >正文

Linux 常用命令 - rm 【删除文件或目录】

简介

rm 命令源于英文单词 “remove”,它用于删除文件或目录。rm 是 Linux 系统中最基本的命令之一,用于删除指定的文件或目录。默认情况下,rm 不会删除目录,但可以通过递归删除选项来实现。

使用方式

rm [选项]... [文件]...

常用选项

  • -f, --force:强制删除,忽略不存在的文件和参数,不进行提示。

  • -i:在删除每个文件前提示用户是否确认删除。

  • -I:在删除超过三个文件或递归删除时提示一次。相比于 -i 每个文件都要提示并需要用户操作,该选项会更简洁,同时也能避免了大部分的错误操作。

  • --interactive[=WHEN]:根据 WHEN 来决定何时提示,可选 never、once(等同于 -I) 或 always(等同于-i),当不提供 WHEN 参数时每次都提示。

  • --one-file-system:在递归删除目录时,跳过与命令行参数指定目录处于不同文件系统的目录。避免跨文件系统的删除操作。

  • --no-preserve-root:不特别对待根目录 /,一般情况下系统对于根目录的操作会有保护机制,而使用该选项则会将根目录作为普通目录对待,禁用保护机制。

  • --preserve-root[=all]:不删除根目录(这是默认行为),加了 all 参数会拒绝删除与父目录在不同设备上的命令行参数。

  • -r, -R, --recursive:递归删除指定目录及其内容。

  • -d, --dir:删除空目录。

  • -v, --verbose:进行删除操作时打印出正在执行的操作。

  • --help:显示帮助信息。

  • --version:显示版本信息。

参考示例

1. 删除单个文件

rm a.txt

没有错误提示表明删除成功:

jay@jaylinuxlenovo:~/test$ rm a.txt
jay@jaylinuxlenovo:~/test$ 

若此时再次执行删除指令由于文件不存在会报错:

jay@jaylinuxlenovo:~/test$ rm a.txt
rm: cannot remove 'a.txt': No such file or directory

2. 交互式删除多个文件

rm -i a.txt b.txt c.txt

使用 -i 选项可以在每个文件即将被删除时进行确认:

jay@jaylinuxlenovo:~/test$ rm -i a.txt b.txt c.txt 
rm: remove regular file 'a.txt'? y
rm: remove regular file 'b.txt'? y
rm: remove regular file 'c.txt'? y

3. 强制删除一个文件

rm -f a.txt

使用 -f 可以强制删除一个文件,并且如果文件不存在,也不会报错:

jay@jaylinuxlenovo:~/test$ rm a.txt
rm: cannot remove 'a.txt': No such file or directory
jay@jaylinuxlenovo:~/test$ rm -f a.txt
jay@jaylinuxlenovo:~/test$ 

4. 递归删除目录及其内部的文件

rm -r test_dir

使用 -r 选项可以递归删除名为 test_dir 的目录及目录内的子目录和文件:

jay@jaylinuxlenovo:~/test$ rm -r test_dir
jay@jaylinuxlenovo:~/test$ 

5. 显示具体的删除信息

rm -rv test_dir/

使用 -r 和 -v 的组合选项 -rv 删除目录 test_dir 及其内部的所有文件同时打印出详细的删除信息:

jay@jaylinuxlenovo:~/test$ rm -rv test_dir/
removed 'test_dir/sub_dir/aa.txt'
removed directory 'test_dir/sub_dir'
removed 'test_dir/c.txt'
removed 'test_dir/a.txt'
removed directory 'test_dir/'

注意事项

  • 使用 rm 命令时,一旦文件被删除,系统默认情况下不会将其放入回收站,而是直接从文件系统中移除。因此,使用 rm 命令时要格外小心。

  • rm 命令删除的文件可能部分内容可以被恢复,如果需要确保文件内容不可恢复,可以考虑使用 shred 命令。

相关文章:

Linux 常用命令 - rm 【删除文件或目录】

简介 rm 命令源于英文单词 “remove”,它用于删除文件或目录。rm 是 Linux 系统中最基本的命令之一,用于删除指定的文件或目录。默认情况下,rm 不会删除目录,但可以通过递归删除选项来实现。 使用方式 rm [选项]... [文件]...常…...

一血c++

题目描述 每一个竞赛选手都无法拒绝拿一血 "一血"其实就是同学们在榜单上看到的深绿色的标记,代表着某道题目,他是第一个通过的。 叶苡朋老师是一名资深信奥选手,在大学多次获奖,也是一个资深抢一血爱好者&#xff0…...

无问芯穹Qllm-Eval:制作多模型、多参数、多维度的量化方案

前言 近年来,大语言模型(Large Models, LLMs)受到学术界和工业界的广泛关注,得益于其在各种语言生成任务上的出色表现,大语言模型推动了各种人工智能应用(例如ChatGPT、Copilot等)的发展。然而…...

2024-05-31T08:36:09.000+00:00 转换 YYYY-MM-DD HH-MM-SS

function formatDate(date) {// 处理ISO 8601字符串if (typeof date string) {date new Date(date);}// 处理时间戳else if (typeof date number) {date new Date(date * 1000); // 假设后端时间戳为秒,需要乘以1000转换为毫秒}// 自定义格式化,例如…...

reason: the Java file contained parse errors

今天用Maven打包项目时发生一个错误: file: D:\workspace\echoo2.0-xxx-xxx-portal\src\main\java\com\echoo\service\impl\DecDataServiceImpl.java; reason: the Java file contained parse errors 打包报错显示这个类解析错误 在IDEA中没有任何错误提示 问题所…...

使用密钥对登录服务器

目录 1、使用密钥文件登录服务器 2、登录成功画面: 3、如若出现以下状况,则说明密钥文件登录失败 1、使用密钥文件登录服务器 首先需要上传pem文件 2、登录成功画面: 3、如若出现以下状况,则说明密钥文件登录失败 解决方法&…...

面试_多线程

线程池 线程池的参数有哪些 线程池七大参数分别是corePoolSize、maximumPoolSize、keepAliveTime、unit、workQueue、threadFactory、handler corePoolSize:线程池中常驻核心线程数maximumPoolSize:线程池能够容纳同时执行的最大线程数keepAliveTime&…...

跨境电商必备?揭秘原生IP的作用

一、什么是原生IP? 原生IP(Native IP)是指由互联网服务提供商(ISP)或服务器提供商直接分配给用户的IP地址,这种IP地址直接与用户设备或网络相连,也就是指这个IP的注册地址和服务器机房所在的国…...

mysql竖表变横表不含聚合

文章目录 前言一、vertical_table二、转换1.要将其转换为横表形式,例如:2.sql 总结 前言 在MySQL中将竖表转换为横表(也称为行转列操作),不涉及聚合函数,通常可以通过使用条件判断和自连接来实现。假设有一…...

application/x-www-form-urlencoded和json的区别

application/x-www-form-urlencoded 和 application/json 是两种不同的数据格式,常用于HTTP请求中传递数据。 它们各自的特点和使用场景如下: 1. application/x-www-form-urlencoded •特点:这是一种传统的表单提交时采用的编码类型&#x…...

oracle数据库日常保养或巡检语句实践整理汇总

目录 1.目的 2.操作工具 3.实践说明 1.检查Oracle实例状态 2.检查Oracle在线日志状态 3.检查Oracle表空间状态 4.检查Oracle所有数据文件状态 5.检查Oracle数据库连接情况 6.检查Oracle表容量占用大小 7.检查Oracle备份 8.检查数据库表空间的使用情况 4.总结 1.目的 …...

Elasticsearch 第一期:基础的基础概念

前言 Elasticsearch(弹性搜索) ,简称为ES, 它是一个开源的高扩展的分布式全文检索引擎,它提供的功能主要分为:实时存储,实时分析搜索;本身扩展性很好,可以扩展到上百台服…...

MySQL数据库笔记(二)

第一章 单行函数 1.1 什么是函数 函数的作用是把我们经常使用的代码封装起来,需要的时候直接调用即可。这样既提高了代码效率,又提高了可维护性。在SQL中使用函数,极大地提高了用户对数据库的管理效率。 1.2 定义 操作数据对象。 接受参数返回一个结果。 只对一行进行…...

谷歌邮箱:2024年最全使用指南及技巧

注册谷歌邮箱时遇到麻烦了吗?收件箱乱得让人头疼,找不到提升效率的方法?或者是在处理多个谷歌邮箱账户时感到手忙脚乱? 掌握Gmail邮箱的使用技巧是每个外贸人员都必须学会的,本文将提供一个实用的谷歌邮箱注册和使用指…...

工业设计初学者手册——第四部分:制造工艺

工业设计初学者手册 文章目录 工业设计初学者手册第四部分:制造工艺7. 常见制造工艺介绍7.1 传统制造工艺7.2 现代制造工艺 8. 材料选择与应用8.1 材料的基本分类与特性8.2 材料选择的原则8.3 环保材料的应用 总结 第四部分:制造工艺 7. 常见制造工艺介…...

Scala语言:大数据开发的未来之星 - 零基础到精通入门指南

前言 随着大数据时代的到来,数据量的急剧增长为软件开发带来了新的挑战和机遇。Scala语言因其函数式编程和面向对象的特性,以及与Apache Spark的完美协作,在大数据开发领域迅速崛起,成为该领域的新兴宠儿。本篇将从零基础开始&…...

Springboot整合Zookeeper分布式组件实例

一、Zookeeper概述 1.1 Zookeeper的定义 Zookeeper是一个开源的分布式协调服务,主要用于分布式应用程序中的协调管理。它由Apache软件基金会维护,是Hadoop生态系统中的重要成员。Zookeeper提供了一个高效且可靠的分布式锁服务,以及群集管理…...

Python | 使用Matplotlib生成子图的示例

数据可视化在分析和解释数据的过程中起着举足轻重的作用。Python中的Matplotlib库提供了一个强大的工具包,用于制作各种图表和图表。一个突出的功能是它能够在单个图中生成子图,为以组织良好和结构化的方式呈现数据提供了有价值的工具。使用子图可以同时…...

云原生巡检监控报告

一、巡检概述 本次云原生巡检工作主要围绕云原生平台的稳定性、安全性以及性能进行,通过对平台资源的监控、日志分析以及安全扫描,发现了一些潜在的问题和隐患。巡检工作采用了自动化工具和人工分析相结合的方式,确保了巡检结果的准确性和全…...

Linux系统编程——部分内容补充

回顾 进程 内核相关数据结构 代码和数据,一个可执行程序加载到内存变成进程,不仅仅是把代码和数据加载进去就完事了,得“先描述,再组织”,每个进程都有内核数据结构,地址空间,进程相关页表&a…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...

【题解-洛谷】P10480 可达性统计

题目:P10480 可达性统计 题目描述 给定一张 N N N 个点 M M M 条边的有向无环图,分别统计从每个点出发能够到达的点的数量。 输入格式 第一行两个整数 N , M N,M N,M,接下来 M M M 行每行两个整数 x , y x,y x,y,表示从 …...

AT模式下的全局锁冲突如何解决?

一、全局锁冲突解决方案 1. 业务层重试机制(推荐方案) Service public class OrderService {GlobalTransactionalRetryable(maxAttempts 3, backoff Backoff(delay 100))public void createOrder(OrderDTO order) {// 库存扣减(自动加全…...