linux下特殊字符转义
来源:互联网 发布:深圳行知小学的由来 编辑:程序博客网 时间:2024/05/17 01:02
文件名包含下划线 (_)
这个非常普遍,不需要特殊对待。当作普通文件随意处理。
$ touch _12.txt
文件名包含等号 (=)
用单引号括起来或使用反斜杠转义。(LCTT 译注:此处原文有误,已修改)
$ touch '=12.txt'
处理反斜杠 ()
反斜杠会告诉 shell 忽略后面字符的特殊含义。你必须将文件名用单引号括起来,就像处理分号那样。其他的就没什么了。
$ touch '\12.txt'
包含斜杠的特殊情形
除非你的文件系统有问题,否则你不能创建名字包含斜杠的文件。没办法转义斜杠。
所以如果你能创建类似 ‘/12.txt’ 或者 ‘b/c.txt’ 这样的文件,那要么你的文件系统有问题,或者支持 Unicode,这样你可以创建包含斜杠的文件。只是这样并不是真的斜杠,而是一个看起来像斜杠的 Unicode 字符。
文件名包含问号 (?)
用单引号括起来或使用反斜杠转义。(LCTT 译注:此处原文有误,已修改)
$ touch '?12.txt'
文件名包含点 (.)
在 Linux 里以点 (.)
开头的文件非常特别,被称为点文件。它们通常是隐藏的配置文件或系统文件。你需要使用 ls 命令的 ‘-a‘ 或 ‘-A‘ 开关来查看这种文件。
创建,编辑,重命名和删除这种文件很直接。
$ touch .12.txt
注意:在 Linux 里你可能碰到名字包含许多点 (.)
的文件。不像其他操作系统,文件名里的点并不意味着分隔名字和扩展后缀。你可以创建名字包含多个点的文件:
$ touch 1.2.3.4.5.6.7.8.9.10.txt
检查一下:
$ ls -l
total 0
-rw-r--r-- 1 avi avi 0 Jun 8 14:32 1.2.3.4.5.6.7.8.9.10.txt
文件名包含逗号 (,)
你可以在文件名中使用逗号,可以有任意多个而不用特殊对待。就像平时普通名字文件那样处理。
$ touch ,12.txt
或者
$ touch ,12,.txt
文件名包含冒号 (:)
用单引号括起来或使用反斜杠转义。(LCTT 译注:此处原文有误,已修改)
$ touch ':12.txt'
或者
$ touch ':12:.txt'
文件名包含引号(单引号和双引号)
要在文件名里使用引号,我们需要使用交替规则。例如,如果你需要在文件名里使用单引号,那就用双引号把文件名括起来。而如果你需要在文件名里使用双引号,那就用单引号把文件名括起来。(LCTT 译注:或者如果单引号和双引号混杂的情况,你也可以用反斜杠转义。)
$ touch "15'.txt"
以及
$ touch '15".txt'
文件名包含波浪号 (~)
Linux 下一些像 emacs 这样的文本编辑器在编辑文件的时候会创建备份文件。这个备份文件的名字是在原文件名后面附加一个波浪号。你可以在文件名任意位置使用波浪号,例如:
$ touch ~1a.txt
或者
$touch 2b~.txt
文件名包含空格
创建名字的字符/单词之间包含空格的文件,比如 “hi my name is avishek.txt”。
最好不要在文件名里使用空格,如果你必须要分隔可读的名字,可以使用下划线或横杠。不过,你还是需要创建这样的文件的话,你可以用反斜杠来转义下一个字符。要创建上面名字的文件可以这样做。
$ touch hi\ my\ name\ is\ avishek.txt
hi my name is avishek.txt
我已经尝试覆盖你可能碰到的所有情况。上面大多数测试都在 BASH Shell 里完成,可能在其他 shell 下会有差异。
如果你觉得我遗漏了什么(这很正常也符合人性),请把你的建议发表到下面的评论里。保持联系,多评论。不要走开!求点赞求分享求扩散!
- linux下特殊字符转义
- Linux Shell 通配符、转义字符、元字符、特殊字符
- Linux Shell 通配符、转义字符、元字符、特殊字符
- Java 特殊字符转义
- 特殊字符要转义
- oracle 特殊字符 转义
- xml 转义特殊字符
- html 特殊转义字符
- 特殊字符转义
- Android 特殊字符转义
- oracle 特殊字符转义
- 特殊字符的转义
- Android 特殊字符转义
- 特殊字符转义
- oracle 特殊字符 转义
- URL特殊字符转义
- 特殊字符转义
- 特殊字符转义
- 【操作系统】HRT任务和SRT任务(实时系统中的硬实时系统和软实时系统)
- iOS开发系列--无限循环的图片浏览器
- Coloring Tree
- Java加密解密算法-AES加密解密
- ireport的边框问题
- linux下特殊字符转义
- 结构体字节对齐(感谢 @海子)
- eclipse不提示js怎么办
- 【iKBC poker2】使用说明书(简体中文版)
- eclipse和Myeclipse常用的快捷键
- sql server中如果有boolean值字段应该怎么表示
- 线性表之顺序存储结构和链式存储结构
- codeforces-121E Lucky Array(树状数组)
- 19.被span包着的文字定义了属性的话,它不会受到父级定义属性的影响!