`
jolestar
  • 浏览: 197214 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下文件名特殊符号导致的一个诡异问题

阅读更多

 

写了个bash脚本递归循环遍历文件夹。本地测试的好好的,结果传到服务器上就不行,一直死循环。以为是linux的版本问题,折腾了半天,才发现只有遍历特定那个文件夹的时候才会出现问题。

最后发现竟然有个文件夹的名字叫 \

当遍历到\文件夹的时候,路径就成为 /home/image/\

而\符号在bash里是转义符号,必须用/home/image/\\才行, /home/image/\表示的还是 /home/image/。所以导致死循环了。

然后又实验了一下,linux下的文件夹没有限制字符,所有的可答应字符都可以作文件夹名。比方 *,\,|,<,>等在windows下是不允许做文件夹名的,但linux下就可以。但这样的文件名确实会给用户造成迷惑。比方一个叫 *的文件夹,用户如果删除的时候忘记转义,输出成  rm -rf *,那就惨了。

 

不知道linux的设计者为什么没考虑到这个问题?或者说考虑到了,但觉得这样的问题应该让用户自己掌控?

 

分享到:
评论

相关推荐

    Linux下中文文件名乱码问题的详解 - CSDN博客1

    文章中提到,作者在项目中遇到了生成的压缩包文件(可能是通过tar或gzip命令创建的)在Linux下显示中文文件名时出现乱码的问题。他们发现,Windows系统默认使用GBK编码,而Linux默认使用UTF-8编码,因此在处理文件名...

    linux shell 文件名置换

    linux shell 文件名置换

    linux下的文件名乱码,转为正常

    下面将详细介绍如何在Linux下处理文件名乱码问题。 1. **字符编码基础** - **Unicode**:Unicode 是一种统一的字符编码标准,包含了世界上大部分文字系统,以数字的形式表示每个字符。 - **UTF-8**:UTF-8是...

    关于附件上传文件名包含特殊字符的问题解决办法

    然而,在实际操作过程中,可能会遇到一个常见问题:当用户上传的文件名中包含了特殊字符时,系统在下载这些附件时会出现错误或者无法正常下载的情况。本文将详细介绍如何解决这个问题,并提供两种不同的解决方案。 ...

    linux 修改文件名.docx

    Linux 文件名修改和删除方法 在 Linux 系统中,文件名的修改和删除是非常常见的操作。今天,我们将讨论如何在 ...在 Linux 中修改文件名需要注意特殊字符的处理,使用点号(.)或长选项符号(--)可以解决这些问题。

    易语言Unicode特殊符号转换复制源码模块例子

    易语言是一种专为中国人设计的编程语言,它以简体...通过深入理解和使用这个"易语言Unicode特殊符号转换复制源码模块例子",开发者和用户都能提升在易语言环境下处理复杂文本数据的能力,提高程序的兼容性和功能性。

    部署到linux服务器文件名乱码问题

    在项目部署过程中,特别是在门户系统APP升级时,遇到了一个常见的问题:文件名乱码。具体表现为,在将文件从Linux服务器下载到Windows系统后再上传到另一台Linux服务器时,原本正常的中文文件名变成了乱码。这一问题...

    linux 常见特殊符号

    Linux 常见特殊符号 Linux 操作系统中有许多特殊符号,它们在命令行中起着重要的作用。这些符号可以帮助用户更方便地管理文件、重定向输入输出、执行命令、处理错误信息等。 1. &gt; 重定向输出符号 用法:命令 &gt; ...

    Linux下查看文件编码,文件编码格式转换和文件名编码.doc

    文件名编码转换是指将文件名从一种编码格式转换成另一种编码格式,以解决 Linux 和 Windows 之间的文件名乱码问题。可以使用 convmv 工具来实现文件名编码转换,例如,将一个 UTF-8 编码的文件名转换成 GBK 编码可以...

    linux 特殊符号含义

    Linux 特殊符号含义详解 在 Linux 中,有许多特殊符号和变量,它们具有特定的含义和用途。了解这些符号和变量的含义可以帮助我们更好地使用 Linux 系统和编写 Shell 脚本。 1. 变量说明 在 Linux 中,有许多特殊...

    linux根目录下各文件名的含义.docx

    Linux 根目录下各文件名的含义 Linux 操作系统的根目录(/)是整个文件系统的起点,包含了许多重要的子目录和文件,每个子目录和文件都具有其特殊的含义和用途。了解 Linux 根目录下的文件名的含义是学习 Linux 的...

    linux脚本批量更新文件名和映射的引用文件名

    本文将详细介绍如何创建一个Linux脚本来批量更新文件名以及相应引用文件中的映射。 首先,我们需要理解这个脚本的基本工作流程: 1. **获取文件列表**:首先,脚本需要获取待处理文件的列表。这可以通过`find`命令...

    linux特殊符号大全

    在Linux环境下,掌握各种特殊符号的应用对于提高命令行操作效率至关重要。本文档旨在系统性地介绍Linux中常见的特殊符号及其用途,帮助用户更加熟练地进行Shell编程与命令行操作。 #### 二、特殊符号详解 ##### 1....

    修改linux文件名颜色 PDF 高清

    通过这个PDF文件"linux改文件配色.pdf",你应该能够详细了解到整个过程,并根据自己的喜好定制Linux文件名颜色,提升工作效率和终端的美观性。确保仔细阅读文档,并根据指南逐步操作,以获得最佳效果。

    删除大批文件名中符号的程序

    文件放在文件内,用编辑打开,调整@= ,=前为要替换的符号,后为替换的内容(可替换空格)

    linux 批量改文件名方法.docx

    Linux 中批量改文件名需要注意特殊字符的处理、文件删除方法、文件名转义字符、批量改文件名方法和文件权限管理等多个方面。正确掌握这些知识点可以帮助用户更好地管理和维护 Linux 系统中的文件。

    linux脚本例子(批量更新文件名和对应的引用名)

    批量更新文件名和对应的引用名,这是一个很好用的批量修改文件名和文件引用的例子。

    linux修改文件名的三种方法

    在Linux操作系统中,修改文件名是一项常见的操作,无论是日常维护还是开发工作中,都需要熟练掌握这一技能。本篇文章将详细介绍Linux下三种修改文件名的方法:mv命令、cp命令以及rename命令。 1. **mv命令修改...

    linux-UNixizeFilename替换文件名中恼人的反unix字符

    在处理跨平台文件传输或者从非Unix系统(如Windows)导入文件时,可能会遇到包含这些“反Unix”字符的文件名,这可能导致各种问题,如文件无法正确访问、移动或复制。在这种情况下,"UNixize Filename"工具或方法就...

    批量修改文件名,替换指定目录下的文件名

    以下是一个简单的示例,将目录下所有文件名中的"old"替换为"new": ```batch @echo off for /f "delims=" %%i in ('dir /b /a-d') do ( set "newname=%%~ni" setlocal enabledelayedexpansion set "newname=!...

Global site tag (gtag.js) - Google Analytics