我想知道反斜杠在路径中使用时的含义是什么,例如:
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'