リンクのようにファイル名を変更する必要がありますが、名前を変更しようとするとmv file.gif http://link/123/file.gif
機能しません。
バックスラッシュ\を使用してスラッシュ/をエスケープしようとしましたが、成功しませんでした。
表示されるエラーは、彼がディレクトリツリーの1つのレベルの上にスラッシュを扱うので、ディレクトリが見つからなかったことを伝えます。
答え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 などのシェルの現在のディレクトリにfile.gif
あるファイルエントリの名前をその URL に変更しますが、s を s/
に変更するには:\
mv file.gif 'http:\\link\123\file.gif'
fish
シェルでは、\
内部一重引用符をエスケープする必要があります。
mv file.gif 'http:\\\\link\\123\\file.gif'
別のオプションは、(U + 002F solidus)などの文字を使用することです(/
例:⁄
(U + 2044、噴水スラッシュ):
mv file.gif 'http:⁄⁄link⁄123⁄file.gif'