路径中的反斜杠

路径中的反斜杠

我想知道反斜杠在路径中使用时的含义是什么,例如:

ll /opt/deployment/release175/war-files\ files/

输出,例如:

accounting-module.war

finance-module.war

谢谢。

答案1

反斜杠是逃脱特点告诉 shell 不要解释某些特殊字符。在你的情况下,它转义了空格字符。

在 shell 中,空格通常用于分割参数。如果没有反斜杠,您的 shell 会像平常一样解释空格。您的调用将有 2 个参数ll,这可能会导致“找不到文件或目录”错误。

或者,您可以用引号将您的论点括起来:

ll /opt/deployment/release175/war-files\ files/
ll "/opt/deployment/release175/war-files files/"
ll '/opt/deployment/release175/war-files files/'

反斜杠还用于转义其他特殊字符:

\(
\$
\{
\*
\#
\\

答案2

在 Unix/Linux(或 POSIX)中,反斜杠是转义字符。

在这种特殊情况下,反斜杠会逃避空格。如果它不存在,那么该ll命令将尝试操作:

/opt/deployment/release175/war-files\

files/

您还可以使用双引号或单引号

ll "opt/deployment/release175/war-files files/"

ll 'opt/deployment/release175/war-files files/'

反斜杠还可以用于通过其他命令转义其他特殊字符:

rpm -qa | postgre\*

grep \.regex file

sed 's/\/this\/path/\/that/\/path/g'

相关内容