在 Linux 中删除文件和文件夹

news2024/11/13 10:39:36

图片

目录

⛳️推荐

前言

删除文件

🏋️练习文件删除

小心删除

删除目录

🏋️练习文件夹删除

测试你的知识


⛳️推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

前言

你已经学会了创建文件和目录。现在是时候学习如何在命令行中删除文件和文件夹了。

在终端基础系列的前几章中,你学习了 创建新文件 和 目录(文件夹)。

现在让我们看看如何在 Linux 终端中删除文件和文件夹。

删除文件

要删除文件,你可以按以下方式使用 rm 命令:

rm filename_or_path

如果文件已成功删除,你将看不到任何输出。

这是一个示例,其中我删除了一个名为 new_file 的文件。当我列出目录内容时,你可以看到 new_file 不再存在。

图片

你还可以在同一命令中删除多个文件:

rm file1 file2 file3

让我展示一个在单条命令中删除两个文件的示例。

图片

🏋️练习文件删除

让我们练习一下刚刚学到的东西。创建一个名为 practice_delete 的目录并切换到该目录:

mkdir practice_delete && cd practice_delete

现在创建一些空文件:

touch file1 file2 file3

删除 file3:

rm file3

现在,让我们做一些额外的事情。运行此命令并更改 file2 的权限:

chmod u-w file1 file2

现在尝试删除 file2

rm file2

你是否看到消息 “remove write protected file”?那是因为你从这个文件中删除了写权限(用于修改)。

你可以按 Y 或回车键确认删除或按 N 拒绝删除。

如果你不想看到这条消息并仍然删除它,你可以使用强制删除选项 -f。通过删除 file1 试试:

rm -f file1

🚧 Linux 命令行中没有垃圾桶。一旦文件被删除,你就无法像在图形文件管理器中那样撤消将其从垃圾箱中取回的操作。因此,删除文件时要格外小心。

小心删除

缺少垃圾桶使删除成为一种永久性的工作。这就是为什么你应该注意要删除的文件的原因。

有一个带 -i 选项的交互模式。有了这个,你会被要求确认删除。

rm -i filename

当你根据特定模式删除多个文件时,这很有用。

这是一个示例,其中我以交互方式删除名称中匹配 file_ 模式的所有文件。我删除了一些并在交互模式下保留了一些。

💡 我建议切换到文件所在的目录,然后删除它们。这有助于减少由文件路径中的拼写错误引起的任何可能性。

删除目录

在 Linux 中有专门的 rmdir 命令来删除目录。

rmdir dir_name

但是,它只能删除空目录。如果目录中有任何文件或子目录,rmdir 命令将抛出错误。

$ rmdir dir2

rmdir: failed to remove 'dir2': Directory not empty

这使得它在大多数情况下用处不大。

那么,如何删除非空文件夹呢?好吧,使用与之前删除文件相同的 rm 命令。

是的,相同的 rm 命令,但带有递归选项 -r

rm -r dir_name

🏋️练习文件夹删除

让我们练习你学到的东西。

如果你还没有,请切换到 practice_delete 文件夹。现在,创建两个目录 dir1 和 dir2

mkdir dir1 dir2

在 dir2 中创建一个文件:

touch dir2/file

现在尝试使用 rmdir 命令删除目录:

rmdir dir1
rmdir dir2

由于 dir2 不为空,rmdir 命令将失败。相反,使用带有递归选项的 rm 命令:

rm -r dir2

💡 交互式删除模式在使用 rm 命令的递归选项删除目录时更有帮助:

rm-ri dir_name

因此,你学会了使用 Linux 命令删除文件和文件夹。是时候多练习了。

测试你的知识

准备一个如下所示的目录树:

.

├── dir1

│ ├── file1

│ ├── file2

│ └── file3

├── dir2

├── dir3

└── file

基本上,你在当前目录(practice_delete)中创建一个名为 file 的文件和三个目录 dir1dir2 和 dir3。然后在 dir1 中创建文件 file1file2 和 file3

现在执行以下操作:

◈ 删除 file2

◈ 切换到 dir3 并强制删除上层目录中名为 file 的文件。

◈ 删除 dir1 的所有内容,但不删除目录本身。

◈ 列出 dir 的内容。

一切进展顺利。你已经学习了一些基本知识,例如切换目录、检查目录内容、创建和删除文件和目录。在下一章中,你将学习如何在终端中复制文件和文件夹。敬请关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1612100.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

setmapAVL树红黑树

目录 关联式容器树形结构的关联式容器setset的模板参数列表set的构造函数set的迭代器set的容量操作set其他操作 multisetmap键值对map的模板参数列表map的迭代器map中元素的修改map的容量与元素访问 multimap底层结构avl树avl树概念AVL树结点的定义AVL树的插入AVL树的旋转AVL树…

(助力国赛)美赛O奖数学建模可视化!!!含代码3(误差限图、冰柱图、树图)

众所周知,数学建模的过程中,将复杂的数据和模型结果通过可视化图形呈现出来,不仅能够帮助我们更深入地理解问题,还能够有效地向评委展示我们的研究成果。   今天,承接《可视化代码2》,作者将与大家分享《…

我用ADAU1467加5个ADAU1772,做20进10出的音频处理板(一):硬件设计思路和原理图

作者的话 ADAU1467是现阶段ADI支持最多通道的ADAU音频DSP,他配合外部的AD/DA,可以实现最多32路音频通道,接了一个小项目,我拿它做了一块20进10出的板,10个MIC/LINE输入,10个LINE IN输入,10个HPOUT&#xf…

Redis(二) 单线程架构

redis 的单线程架构 我们都知道 redis 作为缓存,读取速度是非常快的,但是大家知道 redis 的线程架构是怎样的呢?也就是说,redis 是多线程架构还是单线程架构呢? 我们通过一个例子来了解: 首先在 redis 服…

基于Web的宠物医院信息管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本宠物医院信息管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据…

【C++】explicit关键字详解(explicit关键字是什么? 为什么需要explicit关键字? 如何使用explicit 关键字)

目录 一、前言 二、explicit关键字是什么? 三、构造函数还具有类型转换的作用 🍎单参构造函数 ✨引出 explicit 关键字 🍍多参构造函数 ✨为什么需要explicit关键字? ✨怎么使用explicit关键字? 四、总结 五…

MariaDB InnoDB 空洞清理

1、背景 数据库占用服务器内存越来越高,除了bin-log文件之外,还发现了一些带有text或者longtext数据类型字段的表,这种表也会占用很高的服务器磁盘空间 数据库版本: 表引擎: InnoDB 数据量:清理之前1500万…

python安装的详细步骤

下载 1.打开Python官网.我们建议工具类的测试软件还是官网下载比较靠谱. https://www.python.org/getit/ 2.在下图界面中选择需要的方式进行点击 3.直接点击下载.可以进入保存界面,进行保存即可下载,后续安装 4.鼠标放在Downloads显示平台和版本选择界面,点击Windows,进入wi…

【备战算法岗】—— 控制模块复习(持续更新!!!)

1 控制理论基础 1.1 控制模块概述 输入:轨迹线Reference、地图信息、定位信息、车辆反馈信息 输出:刹车、油门、转向 CANBUS:车辆底盘交互协议 参考博客:Apollo CANBUS模块解析 apollo:canbus模块(1&…

【超萌二次元动漫个人主页HTML源码】

效果图 部分代码 index.htnl <!DOCTYPE HTML> <html> <head> <title>个人主页介绍页</title> <meta name"keywords" content"孤客个人主页介绍页"> <meta name"description" content"孤客个…

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion

曲线救国|基于函数计算FC3.0部署AI数字绘画stable-diffusion 基于函数计算FC2.0部署AI数字绘画stable-diffusion基于函数计算FC3.0部署AI数字绘画stable-diffusion总结 在经过了上一次曲线救国失败经历之后&#xff0c;失败经历参考博文&#xff1a;https://developer.aliyun.c…

PF滤波?

粒子滤波 本文是对于原文的学习与部分的转载 https://blog.csdn.net/weixin_44044161/article/details/125445579 粒子滤波是在目标跟踪中常用的一种方法 非线性条件下&#xff0c;贝叶斯滤波面临一个重要的问题是状态分布的表达与积分式的求解 由前面章节中的分析可以得知…

Jupyter的下载与安装

1.下载&#xff1a; 在anaconda的指定环境中 conda install nb_conda_kernels 2.打开 在anaconda指定环境中使用命令&#xff1a; jupyter notebook 3.输入指令后&#xff0c;会显示如下&#xff0c;根据显示地址打开 3. 在右边的new按钮处&#xff0c;选择相应环境&…

C++参考手册使用说明

C参考手册使用说明 文章目录 C参考手册使用说明1 为什么要使用C参考手册2 网站3 C参考手册离线格式4 C参考手册使用说明1.1 离线C参考手册下载1.2 html离线C参考手册1.3 chm离线C参考手册1.4 linux安装包C参考手册&#xff08;只有英文版本&#xff09;1.5 qch离线C参考手册 更…

oracle操作系统OS认证和密码文件认证

1 说明 1.1 常见认证方式 Oracle登录认证方式主要涉及到如何验证用户身份以访问数据库。Oracle数据库提供了多种认证机制来确保数据的安全性和访问控制&#xff0c;每种方式都有其特定的使用场景和安全性考虑。以下是Oracle中常见的登录认证方式&#xff1a; 1、基于操作系统…

【从浅学到熟知Linux】基础IO第一弹=>C语言文件操作接口、文件系统调用、文件描述符概念及分配规则

&#x1f3e0;关于专栏&#xff1a;Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 C语言文件接口回顾系统文件概念与接口文件基本概念系统接口openreadwritecloselseek 什么是当前路径 文件描…

CTFHUB RCE作业

题目地址&#xff1a;CTFHub 完成情况如图&#xff1a; 知识点&#xff1a; preg_match_all 函数 正则匹配函数 int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags PREG_PATTERN_ORDER [, int $offset 0 ]]] )搜索 subject 中…

Navicat Premium 16最新版激活 mac/win

Navicat Premium 16 for Mac是一款专业的多连接数据库管理工具。它支持连接多种类型的数据库&#xff0c;包括MySQL、MongoDB、Oracle、SQLite、SQL Server、PostgreSQL等&#xff0c;可以同时连接多种数据库&#xff0c;帮助用户轻松地管理和迁移数据。 Navicat Premium 16 fo…

如何在在wordpress安装百度统计

前言 看过我的往期文章的都知道&#xff0c;我又建了一个网站&#xff0c;这次是来真的了。于是&#xff0c;最近在查阅资料时发现&#xff0c;有一款免费的软件可以帮我吗分析网站数据。&#xff08;虽然我的破烂网站压根没人访问&#xff0c;但是能装上的都得上&#xff0c;…

【离散数学】关系

一、序偶和笛卡尔积 序偶&#xff1a;两个元素按照一定的次序组成的二元组&#xff0c;记为<x,y>&#xff0c;x为第一元素&#xff0c;y为第二元素 序偶的相等条件&#xff1a;<a,b><c,d>当且仅当ac,bd n重有序组&#xff1a;n个元素按照一定次序组成的n元…