如何输入和重命名“Human (2012)”等文件夹?

Mar*_*nta 2 command-line mv cd-command

我正在通过命令行使用 FTP,但遇到两个问题。我无法重命名或输入以下文件夹:

dir /home/folder1/Human (2012)
Run Code Online (Sandbox Code Playgroud)

我试过:

cd ~/folder1/Human\ (2012)
Run Code Online (Sandbox Code Playgroud)

在这里,我收到一条消息the folder does not exist

mv ~/folder1/Human\ (2012)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我收到一条消息,内容为:

syntaxfailure at (
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

sno*_*oop 11

你可以双引号你的路径:

cd ~/"folder1/Human (2012)"
Run Code Online (Sandbox Code Playgroud)

或者您应该为(,)(空格)提供转义序列(因为这些是特殊字符):

cd ~/folder1/Human\ \(2012\)
Run Code Online (Sandbox Code Playgroud)

mv ~/"folder1/Human (2012)"
Run Code Online (Sandbox Code Playgroud)

使用转义序列:

mv ~/folder1/Human\ \(2012\)
Run Code Online (Sandbox Code Playgroud)


Wil*_*ard 8

你对\前面的空间有正确的想法。这适用于所有特殊字符——包括括号。在打开括号之前放置一个反斜杠,在关闭括号之前放置另一个反斜杠,它会起作用。

在这些情况下,制表符补全很有帮助……如果您开始键入文件名然后按Tab,它将自动补全文件名的其余部分,并在必要时插入反斜杠。(如果您没有输入足够多的文件名以明确您的意思是哪个文件,bash 仍会自动完成尽可能多的文件名。按两次 Tab 键将显示文件名的可能完成列表。)

  • +1 用于提及选项卡完成。并且不要忘记您可以多次点击“Tab”当我有一个文件名为“神秘博士 - S20E03 (125) - Mawdryn Undead - Parts 1-4 (The Guardian Trilogy 1)”时,它会键入该文件名所需的所有反斜杠真的很乏味。但是我点击了`Tab`,然后得到了“Doctor\ Who\ -\ S”。然后我输入“20E03”,再次点击“Tab”,然后获取文件名的其余部分,全部正确转义反斜杠。 (2认同)