$ touch "z\1"
$ ls -Q
"z\\1"
如果文件名为'"z\\1"
',为什么“ls -Q”将输出作为z\1
?
输出在'z'和'1'之间出现双斜线。
-Q
-Switch(也是--quote-names
)将引用这些名字。如何完成此引用由--quoting-style
-Switch定义。
来自man page的片段:
--quoting式= WORD 对条目名称使用引用样式WORD:literal,locale,shell,shell-always,c,escape
这将导致以下结果:
ls --quoting-style=literal "z\1"
=> z\1
ls --quoting-style=locale "z\1"
=> ‘z\\1’
ls --quoting-style=shell "z\1"
=> 'z\1'
ls --quoting-style=shell-always "z\1"
=> 'z\1'
ls --quoting-style=c "z\1"
=> "z\\1"
ls --quoting-style=escape "z\1"
=> z\\1
我不能告诉你默认是什么。但它必须是这些locale, c, escape
之一