linux删除文件_Linux中删除特殊名称文件的多种方式

今日分享:我们在肉体的疾病方面花了不少钱,精神的病害方面却没有花什么,现在已经到了时候,我们应该有不平凡的学校。--《瓦尔登湖》

前言

我们都知道,在linux删除一个文件可以使用rm命令,但是有一些特殊名称的文件使用普通的rm方式却没法删除,本文介绍linux中删除特殊名称文件的多种方式。

linux文件命名规则

在介绍之前,简单说明一下linux中文件命名规则。文件或目录名由除“/”和空字符“\0”之外的任意ASCII字符序列组成。当然很多操作系统允许更多类型的字符组成文件名。但对于我们来说,不建议使用一些特殊字符来命名文件。不幸的是,我们可能无意中创建了一些特殊名称的文件,或者由程序意外的创建了一些由特殊字符组成的文件,这个时候,要删除它们,似乎没有想象中的那么简单。

删除时带上路径

假设有一个名为-static文件,我们使用普通方式将它删除:

$

非常可惜,这种方式提示出错,并不能成功地删除-static文件。这是为什么?我们知道在linux中,通常以-开头,后面跟一些字符,作为一个命令的选项,而不巧的,-static就被rm命令认为是一个参数选项,更不幸的是,实际上并没有该选项,因此最终提示invalid option -- 's',导致-static文件无法删除。

那么有没有什么办法删除呢?我们注意到,除了提示非法选项外,还让我们尝试rm ./-static,是否可以呢?我们试一下:

$

最终发现,我们将-static文件成功删除了。因此得到我们的第一种方式,删除文件时带上路径

删除时使用 --

前面除了提示让我们使用rm ./-static之外,还让我们使用rm --help获取更多信息,那么我们就看一下:

$

内容较多,但是可以注意到上面的内容,对于以-开头的文件,提供了两种删除方式,第二种是前面提到的,而第二种,是在删除的文件前面再加--:

$

我们发现这种方式也是可以删除以-开头的文件。

删除时用引号引起来

对于特殊字符,如<>!*等组成的文件如何删除呢?例如:

$

对于这种类型的文件,我们需要用引号将文件名包含起来:

$

这样就可以删除掉了,但是这种方式并不能针对所有该类型的文件,例如,文件名为!*的文件就不能通过这样的方式删除,因为!*是有其他含义的,具体可参看《linux中"!"的惊叹用法,你知道吗?》

增加转义字符删除文件

既然!*无法通过加引号的方式删除,那还有什么办法吗?有!删除时,增加转义字符:

$

这样便可以删除。在linux中,很多字符有着特殊的含义,因此当你需要把它当普通字符使用时,就需要在前面加上\转义字符,这和C语言中的转义有点类似。再举个例子,要删除以空格开头的abc文件,可以使用下面的方式:

$

即可成功删除。

按照i节点号删除

很多时候,文件名压根没法输入,因为它们都是一堆乱码。因此也完全无法通过前面介绍的方法进行删除,那还有办法吗?有!通过查找文件的i节点,按照i节点进行删除。
例如:

$

关于find命令用法,可参考《find命令高级用法》。这种通过i节点号进行删除的方式适用于前面所提到的任何类型文件。

这里扩展说几句。在操作系统中,它是如何识别一个文件的呢?它并不是通过文件名,而是通过一个iNode号,即i节点号来识别不同的文件,文件名不过是这个文件其中的一个属性而已。

使用通配符删除

不多解释:

$ rm *.pdf

但是这种方式可能存在误删,因为只要文件名结尾为.pdf就会被删除,因此根据实际情况慎重使用。

总结

删除特殊文件名称的方法有很多,总结如下:

  • 删除时带上路径

  • 删除时使用 --

  • 删除时用引号引起来

  • 使用转义字符辅助删除

  • 按照i节点号删除

  • 使用通配符删除

不同类型文件可选择使用上面所提较方便的方式进行删除。

b256d99a6307249ac246707608cdb67d.png

相关精彩推荐

6f0adcc3716f773c14deb0bc9b5d0000.png

GDB调试指南-启动调试

linux中"!"的惊叹用法,你知道吗?

find命令高级用法

Linux中的文件查找技巧

20fe56238f68317c9c201eb44cd78c80.png

关注公众号【编程珠玑】,第一时间获取更多原创技术文章

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

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

相关文章

Python中的lambda和apply结合使用

1、 lambda lambda原型为&#xff1a;lambda 参数:操作(参数) lambda函数也叫匿名函数&#xff0c;即没有具体名称的函数&#xff0c;它允许快速定义单行函数&#xff0c;可以用在任何需要函数的地方。这区别于def定义的函数。 lambda与def的区别&#xff1a; 1&#xff09;…

软件开发报价模板_定制开发小程序和行业通用(模板)小程序的利弊分析

最近很多掌客多客户来咨询&#xff0c;纠结到底是定制开发小程序还是买个模板通用小程序好&#xff0c;其实在回答这个问题之前&#xff0c;我们先要搞明白什么是定制开发小程序&#xff0c;什么是模板通用小程序&#xff0c;最后再问问自己的搞小程序的目的是什么&#xff1f;…

BatchNorm中forward未被调用原因

1.nn.Module类理解 pytorch里面一切自定义操作基本上都是继承nn.Module类来实现的 方法预览&#xff1a; class Module(object):def __init__(self):def forward(self, *input):def add_module(self, name, module):def cuda(self, deviceNone):def cpu(self):def __call__(…

git上传分支的原理_GIT分支,创建分支与合并分支的工作原理与教程

开发一个版本&#xff0c;采用的发布流程&#xff1a;(1).从master的最新代码拉取一个开发分支&#xff0c;在上面进行开发(2).在开发分支上不断地进行提交版本&#xff0c;期间&#xff0c;master也会有因为其他版本上线而不停有版本合并(3).要发布的时候&#xff0c;把分支重…

有十五个数按由大到小顺序存放在一个数组中_「图形化编程」前导知识-数组(一)...

今天我们来学习一个新的概念-数组。这节课将通过一个小程序讲解数组的基本概念-数组的长度和下标定义数组指的是有序元素的集合&#xff0c;数组中的每个元素具有相同的类型&#xff0c;按照顺序排列的形式组织在一起。我们可以把数组想象为一个抽屉柜&#xff0c;每个抽屉只能…

octave错误-error: ‘squareThisNumber‘ undefined near line 1 column 1

.m文件名称也应为大写&#xff1a;squareThisNumber.m 问题2&#xff1a; parse error near line 1 of file C:\Users\asus\squareThisNumber.m syntax error >>> {\rtf1\ansi\ansicpg936\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset134 \cb\ce\cc\e5;}} 解决方案…

工业机器人几个自由度_工业机器人有多少个运动自由度呢?

2008-09-11psp有什么好游戏?自由度很高的自由的高的游戏&#xff0c;如果不限定位动作游戏的话还是有一些的。首先就是楼主所说的GTA&#xff0c;自由度高的典范。然后楼上MM说的《怪物猎人》&#xff0c;同样超高自由度的动作游戏&#xff0c;推荐。《魔界战记》&#xff0c;…

python矩阵中找满足条件的元素_Python 找到列表中满足某些条件的元素方法

Python 找到列表中满足某些条件的元素方法 更新时间&#xff1a;2018年06月26日 11:20:17 作者&#xff1a;CS_network 今天小编就为大家分享一篇Python 找到列表中满足某些条件的元素方法&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。一起跟随小编过来看看…

计算机启动过程-阮一峰

从打开电源到开始操作&#xff0c;计算机的启动是一个非常复杂的过程。 我一直搞不清楚&#xff0c;这个过程到底是怎么回事&#xff0c;只看见屏幕快速滚动各种提示...... 这几天&#xff0c;我查了一些资料&#xff0c;试图搞懂它。下面就是我整理的笔记。 零、boot的含义 …

python全局名称空间_python名称空间,命名空间

全局名称空间&#xff1a;在python解释器开始执行之后, 就会在内存中开辟一个空间, 每当遇到一个变量的时候, 就把变量名和值之间的关系记录下来, 但是当遇到函数定义的时候, 解释器只是把函数名读入内存, 表示这个函数存在了, 至于函数内部的变量和逻辑, 解释器是不关心的. 也…

10分钟带你了解python_ComeOn!10分钟带你了解Python的变量和数据类型

对任何语言来说&#xff0c;变量和数据类型都是非常重要和基础的内容。这篇文章就带你用10分钟的时间&#xff0c;学会Python的变量和数据类型这个知识点。一、知识点python 关键字变量的定义与赋值input() 函数字符串的格式化二、实验步骤每一种编程语言都有它们自己的语法规则…

python神经网络实例_Python编程实现的简单神经网络算法示例

本文实例讲述了Python编程实现的简单神经网络算法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; python实现二层神经网络 包括输入层和输出层 # -*- coding:utf-8 -*- #! python2 import numpy as np #sigmoid function def nonlin(x, deriv False): if(deriv Tru…

由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。

问题描述&#xff1a; 由于被认为是客户端对错误&#xff08;例如&#xff1a;畸形的请求语法、无效的请求信息帧或者虚拟的请求路由&#xff09;&#xff0c;服务器无法或不会处理当前请求。 在实现向数据库中添加记录时&#xff0c;请求发送无效&#xff0c;参数也未传递到控…

为什么服务器要选择 Linux,这里总结了 10 大理由

从最近的统计数据可以看到&#xff0c;全球大量数据中心的服务器已经开始向基于 Linux Server 平台转移。相较 Windows Server 而言&#xff0c;Linux Server 提供了更多优势。包括 Google、Twitter、Facebook 和 Amazon 在内的诸多国际互联网巨头&#xff0c;都在基于 Linux S…

华南x79主板u盘装系统教程_华南x79怎么用u盘重装系统

现如今电脑已经走进千家万户&#xff0c;大家生活和工作基本上都离不开电脑&#xff0c;接下来介绍一下华南x79主板的电脑怎么用U盘重装系统&#xff0c;以重装win7为例&#xff0c;分享一下华南x79主板的电脑u盘重装系统的方法步骤。华南x79主板电脑用u盘重装系统步骤阅读1、插…

怎么通过id渲染页面_完全理解Vue的渲染watcher、computed和user watcher

作者&#xff1a;Naicehttps://segmentfault.com/a/1190000023196603这篇文章将带大家全面理解vue的watcher、computed和user watcher&#xff0c;其实computed和user watcher都是基于Watcher来实现的&#xff0c;我们通过一个一个功能点去敲代码&#xff0c;让大家全面理解其中…

VS2015启动调试程序变慢

问题描述## 标题 vs2015编译速度很快&#xff0c;运行时不停显示加载xxx.dll动态库&#xff0c;加载很慢 解决方案## 标题 打开vs2015,依次点击工具-》选项-》调试-》符号&#xff0c;点击勾选去掉Microsoft符号服务器&#xff0c;清空符号缓存完毕 转载自VS2015启动调试程序变…

广联达深思6代锁_广联达|新版加密锁驱动使用文档

查看已购如何“查看已购”&#xff1f;老版的以下功能&#xff1a;1. 查看已购产品程序2. 产品密码注册程序3. 加密锁设置程序4. 授权服务控制程序新版中我们对这些功能做了整理和重设计&#xff1a;5. 新版的“广联达新驱动”包含以上所有功能“查看已购”入口去哪了&#xff…

根可达算法的根_我的JVM(六):GC的基础概念以及GC算法

一、概述垃圾收集Garbage Collection通常被称为GC&#xff0c;但是GC一般也指Garbage Collecting(垃圾回收这个动作)或Garbage Collector(垃圾回收器)&#xff0c;这些都是是JVM知识体系中非常重要的知识&#xff0c;也是程序员必须要掌握的技能&#xff0c;本文将详细讲述Java…

docker开放的端口_docker-5-解决宿主机没有开放81端口却可以直接访问docker启动的81端口nginx容器的问题...

我以为经过前面四篇博文的学习&#xff0c;自己对docker的了解最起码入门了&#xff0c;但是当我用docker启动一个81端口的nginx后(宿主机:容器/81:80)&#xff0c;在宿主机的firwall防火墙没有添加81端口的情况下&#xff0c;竟然可以直接访问成功&#xff0c;然后试下docker运…