在 Linux Shell 中,有很多字符是有特殊含义的,如果期望把这个字符当作普通字符来处理,需要经过 \ 的转义。

这是转义空格。如果路径中包含空格,那么使用 \ 转义可以避免路径被分割成 Shell 的两个参数。

我有另一篇描述 Linux Shell 中路径空格转义相关的博客:

如果单独使用 * 将会表示当前路径下枚举的所有文件或文件夹。如果希望保持 * 的原意,那么将其包裹在引号内,或者使用转义 \*。

在引号中,也可以直接换行。这样换行符就是字符串的一部分。

双引号的作用是避免空格将本来属于同一段参数的字符串分割成两部分。那么如果真的需要双引号的话就需要使用 \ 来转义。

因为 \ 是转义字符,所以其本身的使用也必然需要转义。

任意字符也可以使用 \ 转义,虽然没用,但也是一个特性。