如何重命名文件,如网络链接 (http://...)

如何重命名文件,如网络链接 (http://...)

我需要像链接一样重命名文件,但如果我尝试用它重命名它mv file.gif http://link/123/file.gif是行不通的。

我尝试用反斜杠 \ 转义斜杠 / ,但没有成功。

出现的错误告诉我,他没有找到目录,因为他将斜杠视为目录树的一层。

答案1

/是 Unix 文件路径中分隔组件的字符。该字符不能出现在目录条目的名称中。http://link/123/file.gif是目录file.gif内的文件123本身在link目录内本身在目录内http:,本身在当前工作目录中。

要将其重命名为该路径中的该文件,您需要首先创建目录:

mkdir -p http:/link/123 &&
  mv file.gif http://link/123/file.gif

在类似 Bourne/csh/rc 的 shell 中,要将file.gif当前目录中该文件的条目重命名为该 URL,但将/s 替换为s:\

mv file.gif 'http:\\link\123\file.gif'

fishshell 中,您仍然需要转义\内部单引号:

mv file.gif 'http:\\\\link\\123\\file.gif'

另一种选择可能是使用看起来像 (U+002F 固相线) 的字符,/例如(U+2044,分数斜线):

mv file.gif 'http:⁄⁄link⁄123⁄file.gif'

相关内容