如何访问名称中带有空格的文件/目录?

Gok*_*kul 16 command-line files

通过终端,我无法访问名称中带有空格的文件或目录。该cd命令说no such file or directory

有什么办法可以做到,还是应该用空格重命名所有文件?

g_p*_*g_p 16

要访问名称之间有空格的目录,请使用\<space>来访问它。您还可以使用Tab按钮自动完成名称。

例如 :

guru@guru-Aspire-5738:~$ cd /media/Data/My\ Data/
guru@guru-Aspire-5738:/media/Data/My Data$.
Run Code Online (Sandbox Code Playgroud)

  • 您还可以在目录名称周围使用引号,如 `cd /media/Data/"My Data"/` (7认同)

May*_*hux 5

要使用带空格的文件,您可以使用转义字符或使用双引号。

例子:

cd new\ dir/
Run Code Online (Sandbox Code Playgroud)

\ 被称为转义符,用于不扩展空间,所以现在bash读取空间作为文件名的一部分。

或者你可以使用:

cd "new dir" 
Run Code Online (Sandbox Code Playgroud)

现在要重命名文件,用空格重命名所有文件并用下划线替换空格非常容易:

cd new\ dir/
Run Code Online (Sandbox Code Playgroud)

看看这里的答案有一个脚本可以递归地重命名所有文件和目录。

脚本是:(所有权利归其所有者所有)

cd "new dir" 
Run Code Online (Sandbox Code Playgroud)