用的到的linux-删除文件-Day3

前言:

        上一节,我们讲到了怎么去移动文件,其中使用到两大类的脚本命令即cp和mv。各两种命令都可以完成移动,但是cp是复制粘贴的方式,可以选择原封不动的复制粘贴过来,即不修改文件及文件夹的创建时间等,1:1的镜像复制。也有mv命令来达到剪切复制的目的,相对于cp命令,mv命令还可以重命名文件或文件夹。

        需要注意的是,我们cp移动时,对应的源路径中间不要出现空格,不然会导致复制了错误的文件过来,类似cp -a /data/  test/csdn  /tmp/这样的话,就会将整个data目录复制了过去~。那接下来我们用一节的篇幅来重点讲讲删除文件和文件夹的操作。

一、删除文件

        1、创建测试文件

        为了误删正式文件,我们需养成好的习惯,在tmp目录下创建test文件来进行删除操作的熟悉。如下图所示我们在tmp目录,新建一个happy_new_year的文件,在这里提前祝大家新年快乐~

        2、语法介绍-知其然知其所以然

        如上图所示,我们用钱买学到的touch命令在test/delete文件夹下面新建了一个happy_new_year.txt文件,下面我们来进行删除操作。

        在学习删除之前,我们来学习删除命令rm。rm命令是remove 的缩写,即去掉、抹去的意思。rm 删除有几种模式:

        1、默认是删除提示,即删除前需确认(-i)

        2、有提示删除,当然也有强制删除(-f)

        3、当然也有批量删除及递归删除(-r)

二、实践案例

        1、删除happy_new_year.txt

        上面我们讲到了三种删除模式,下面我们来实践比较下这三种方式的区别。

        默认删除

rm happy_new_year.txt #默认删除,需确认

        如下图所示,我们使用rm将文件名会提示是否删除对应文件,输入N会取消,输入Y会完成删除操作~ 

         2、批次删除文件

    rm *.txt #批量删除txt结尾的文件,其他类似如批量删除doc文件,rm *.doc

        如下图所示,我们使用touch命令来批量生成了3个文件,第一次,我们采用直接删除文件夹的方式,因为采用是默认模式,默认模式是只支持删除文件的,因此提示失败,第二次我们使用rm *.txt提示删除的方式完成批量文件的删除,这时会发现,当我们删除文件多的时候,一个个手工确认确实有点麻烦,因此下面我们来学习批量删除,但删除需谨慎,删除后的文件是很难再恢复的~ 

        3、强制删除文件

rm -f happy_new_year01.txt #强制删除对应文件

        如下图所示,我们批量创建了三个文件,我们采用强制删除模式删除第一个创建的文件,这时我们的删除是不会出现任何提示的。 

        接下来我们来看,强制批量删除 

rm -f *.txt #强制批量删除对应文件

        为了有更好的对比效果,我们又批量创建了三个doc的文件,再执行强制批量删除txt结尾的文件,我们发现刚创建的三个doc结尾的文件还存在。 

         4、删除目录

        上面我们学习的都是怎么去删除文件,如果我们想删除目录,这时候我们就可以采用递归删除方式去删除对应目录及文件。

rm -r /tmp/test/delete #递归删除对应目录及目录中所有文件
rm -rf /tmp/test/delete #批量递归删除对应目录及目录中所有文件,且不提示

        如下图所示我们递归删除对应delete目录及文件,有趣的是,当我们在提示删除的时候保留了其中一个文件,这样我们的文件夹和其中的一个文件就不会被删除,其实这也可以用来批量删除部分文件的场景。

           同样的我们加上f命令时,我们就批量无提示完成对应目录和下面文件的删除操作~ 

 三、总结

        rm命令可以用于删除目录和文件,在模式i模式下只支持删除文件,如果我们想批量删除某一类文件,比如txt结尾的文件时,可以采用rm *.txt。当我们确定要删除的文件很多时,可以加-f命令来强制执行删除操作。

        当我们删除文件夹时,这时候我们需采用-r命令,有趣的是当我们在删除时,有一个删除操作选择了N会保留对应的文件和文件夹,但确定的文件会批量被删除,因此这也是批量删除文件的变相的一个操作命令了~。

        恭喜你,基本的文件创建、复制粘贴、剪切、删除命令都学会了,接下来我们一起来学习去快速查找我们需要的文件和目录及系统的一些配置、进程等等~

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目 高并发内存池

目录 项目背景 项目介绍 定长内存池 定长内存池整体架构 New 方法 Delete 方法 线程缓存 TLS 线程缓存整体结构 FreeList 设计 线程缓存模型 Allocate 申请内存 计算对齐大小 计算映射位置 申请内存流程 申请内存时创建线程缓存 中心缓存 中心缓存模型 中心…

从零开始手写mmo游戏从框架到爆炸(一)— 开发环境

一、创建项目 1、首先创建一个maven项目&#xff0c;pom文件如下&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…

LeetCode 热题 100 | 链表(中下)

目录 1 19. 删除链表的倒数第 N 个节点 2 24. 两两交换链表中的节点 3 25. K 个一组翻转链表 4 138. 随机链表的复制 菜鸟做题第三周&#xff0c;语言是 C 1 19. 删除链表的倒数第 N 个节点 到底是节点还是结点。。。 解题思路&#xff1a; 设置双指针 left 和 ri…

Vue代理模式和Nginx反向代理(Vue代理部署不生效)

在使用axios时&#xff0c;经常会遇到跨域问题。为了解决跨域问题&#xff0c;可以在 vue.config.js 文件中配置代理&#xff1a; const { defineConfig } require(vue/cli-service) module.exports defineConfig({transpileDependencies: true,devServer: {port: 7070,prox…

Unity3D实现项目限制功能(使用次数限制和时间限制)

系列文章目录 unity工具 文章目录 系列文章目录前言一、时间限制1-1、代码如下&#xff1a; 二、次数限制2-1、 在Unity项目中需要对注册表进行操作&#xff0c;还需要设置一下API兼容级别设置成 .NET Framework2-2、设置如下图 Player里面2-3、代码如下&#xff1a; 三、同时…

python学习21

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

EasyX图形库学习(三、用easyX控制图形界面中的小球、图片-加载、输出)

目录 小球视频 图像输出函数 loadimage用于从文件中读取图片 putimage在当前设备上绘制指定图像。 initgraph 函数 图片输出 代码详解&#xff1a; 1. 初始化图形界面 2. 设置背景颜色并清除屏幕 3. 加载并显示图片 4. 等待用户输入并退出程序 图形界面中的小球 1…

docer compose部署simple-docker

简介 一个看似简陋但是功能足够用的docker管理工具 安装 创建目录 mkdir -p /opt/simple-docker cd /opt/simple-docker 创建并启动容器 编写docker-compose.yml文件,内容如下 version: 3 services: redis: image: redis:latest restart: always web: image: registry.cn-…

Linux线程库封装

一 MyThread.hpp #pragma once #include<pthread.h> #include<iostream> #include<unistd.h> #include<string> #include<ctime>typedef void (*callback_t)(); static int num 1; //任务和线程绑定 class Thread {static void* Routine(void …

解决hive表新增的字段查询为空null问题

Hive分区表新增字段&#xff0c;查询时数据为NULL的解决方案 由于业务拓展&#xff0c;需要往hive分区表新增新的字段&#xff0c;hive版本为2点多。 于是利用 alter table table_name add columns (col_name string )新增字段&#xff0c;然后向已存在分区中插入数据&#x…

MySQL学习记录——사 表结构的操作

文章目录 1、创建表2、查看表结构3、改变表结构4、删除表5、总结 1、创建表 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 例子 create table users ( id int, name varchar(20) c…

Linux Shell系列--realpath 返回给定路径的规范化绝对路径名

一、目的 在linux系统中有绝对路径、相对路径&#xff0c;还有符号链接&#xff0c;我们在shell脚本中获取一个文件或者路径的绝对路径名称&#xff0c;这个时候就需要realpath命令。 本篇主要介绍realpath命令的相关内容。 二、介绍 realpath命令主要功能是解析给定的路径&am…

游戏服务器租用多少钱一年?看完再买不吃亏!

2024年更新腾讯云游戏联机服务器配置价格表&#xff0c;可用于搭建幻兽帕鲁、雾锁王国等游戏服务器&#xff0c;游戏服务器配置可选4核16G12M、8核32G22M、4核32G10M、16核64G35M、4核16G14M等配置&#xff0c;可以选择轻量应用服务器和云服务器CVM内存型MA3或标准型SA2实例&am…

GC垃圾回收

文章目录 GC垃圾回收一、垃圾回收概述1、什么是垃圾&#xff1f;2、什么是垃圾回收&#xff1f;3、为什么需要垃圾回收&#xff1f;4、Java垃圾回收机制5、Java垃圾回收区域 二、对象存活判断1、引用计数算法&#xff08;Python&#xff09;1&#xff09;基本思路2&#xff09;…

C语言——联合体类型

&#x1f4dd;前言&#xff1a; 在前面两篇文章&#xff1a;C语言——结构体类型&#xff08;一&#xff09;和C语言——结构体&#xff08;二&#xff09;中&#xff0c;我们讲述了C语言中重要的数据类型之一&#xff1a;结构体类型&#xff0c;今天我们来介绍一下C语言中的另…

初识C语言·编译与链接

1 翻译环境和运行环境 C语言标准ANSI C 实现C语言代码的时候 一般需要经过两种环境&#xff0c;一是翻译环境&#xff0c;二是运行环境&#xff0c;计算机能识别的是二进制的指令&#xff0c;人写完代码后通过翻译环境&#xff0c;使代码变成计算机能读懂的可执行的机器指令&a…

Mac上软件闪退(意外退出)的解决方法

mac苹果电脑上运行软件会意外退出&#xff0c;怎么办&#xff0c;可以试试下面的方法&#xff0c;亲测可行&#xff01; 第一种方法&#xff1a; 1、打开访达&#xff0c;进入应用程序目录&#xff0c;找到闪退的软件图标&#xff0c;在软件图标上右键选择“显示简介”&#…

华为OD机试真题C卷-篇3

文章目录 查找一个有向网络的头节点和尾节点幼儿园篮球游戏 查找一个有向网络的头节点和尾节点 在一个有向图中&#xff0c;有向边用两个整数表示&#xff0c;第一个整数表示起始节点&#xff0c;第二个整数表示终止节点&#xff1b;图中只有一个头节点&#xff0c;一个或者多…

配备Apple T2 安全芯片的 Mac 机型及T2芯片mac电脑U盘装系统教程

T2 芯片为 Mac 提供了一系列功能&#xff0c;例如加密储存和安全启动功能、增强的图像信号处理功能&#xff0c;以及适用于触控 ID 数据的安全保护功能。哪些电脑配备了 T2 安全芯片呢&#xff0c;T2芯片mac电脑又如何重装系统呢&#xff1f;跟随小编一起来看看吧&#xff01; …

Dell服务器iDRAC9忘记密码, 通过RACADM工具不重启 重置密码

系列文章目录 文章目录 系列文章目录前言一、RACADM工具二、linux环境1.解压安装RACADM工具测试RACADM工具重置iDRAC密码 Windows环境 前言 一、RACADM工具 RACADM工具 官网参考信息 https://www.dell.com/support/kbdoc/zh-cn/000126703/%E5%A6%82%E4%BD%95-%E9%87%8D%E7%BD…