「mvファイル」、現在は欠落しています


32

ターミナルウィンドウで、次のように入力しました。

mv filename ..\..      [Note the wrong slash.]

今、私はそれを見つけることができません。消えた。いくつかの検索を実行し、回復可能な削除済みファイルを調べました。なし。失礼。直前にWindowsマシンを使用するのにぴったりです。

誰がどこに行ったのか知っていますか?


find / -iname thefilename -print 多分 ?
セルギーコロディアズニー

@Serg thefilenameファイルの元の名前では、このfindコマンドは新しい名前でそれを見つけません。
エリアケイガン

私はコメントを投稿した直後にそれを実現しました。ファイルが欠落している場合は私の最初の反応は、findを使用することですが、私は実現しなかったものをそのOPではなく、それを移動するファイルの名前を変更している
Sergiy Kolodyazhnyy

回答:


70

どこにも行かず、現在のディレクトリにあります。....(4つのドット)という名前に変更されました。

.前にあるファイル名は隠しファイルとして扱われるため、非表示になりました。だから、もしあなたlsがそれを見つけられないでしょう。いつものように、隠しファイルを表示する(または表示する)-a(または-A)オプションが必要です。lsls -als -A

分解してみましょうmv filename ..\..、最初の2つのドットは親ディレクトリを意味し../ますが、..\シェルを示すバックスラッシュを使用して次の文字をエスケープしましたが、ドット.はシェルにとって特別な意味を持ちません。したがって、それはリテラルとして処理され.、最後.に追加されるので....、ファイル名として4つのドットを取得します。

以前の(元の)名前に戻すには、を実行しmv .... filenameます。


2
ハハハ...私には決して起こらなかった。そこにそれがある: "...."。ありがとう!私はそれが最初のドットを.hidemeドットとして解釈したと思います。
ジョン

2
la -A(大文字のAを使って)お勧めします。と同じですが、とls -aは除外さ...ます。
水田ランダウ

13

実行mv .... filenameして名前を変更します。(mv ..\.. filenameこれも機能しますが、これ\は余分です-元のコマンドと同じです。)

  • ファイルは削除されていないため、回復可能な削除済みファイルを検索しても見つかりませんでした。
  • Windowsのように、 ...エントリはすべてのディレクトリに存在し、それぞれ「現在」および「親」ディレクトリを参照します。ただし、Windowsとは異なり、3つ以上のドットのシーケンスには特別な意味はありません。珍しいことですが、少なくとも3ドットの長さであれば、通常のファイルに完全にドットのみで構成される名前を付けることは完全に自由です。
  • Windowsとは異なり、Ubuntuではシェルは\エスケープ文字として使用し、シェルが特別な意味を与えるのではなく、文字どおりに次の文字を処理するようにします。この.文字は、シェルでは特別な意味を持ちません(特に、シェルは.および..エントリを機能させる役割を果たしません)。したがって、コマンドで\.は、と同等でした.
  • 以下のようheemaylは言う、デフォルトではほとんどのユーティリティは、名前で始まるファイルやディレクトリは表示されません.。で....始まるため、or フラグなし.で実行しても表示されませんでした。ls-A-a

1
それがまさに私が見つけた方法です。私はなぜ「\」がエスケープとして機能しなかったのかと思っていましたが、そう、エスケープするものは何もありませんでした。理にかなっています。
ジョン

5

これはまだ同じディレクトリにあり、「隠しファイル」になっています。「mv .... filename」で回復できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.