为什么ls -Q如果文件名为'Z \ 1'则输出为“Z \\ 1”?

问题描述 投票:0回答:1
$ touch "z\1"
$ ls -Q
"z\\1"

如果文件名为'"z\\1"',为什么“ls -Q”将输出作为z\1

输出在'z'和'1'之间出现双斜线。

linux ls
1个回答
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之一

© www.soinside.com 2019 - 2024. All rights reserved.