2017-10-04 73 views
-2

ご存じの通り、-は、Linuxのさまざまなコマンドと組み合わせて使用​​方法が異なります。たとえば、in combination with cd commandの場合は、を意味します。ディレクトリを前の場所に変更します。in combination mv or cat commandstdinまたはstdoutを意味します。ubuntuの "mv file - "コマンドを取り消す方法

残念ながら私は間違ってmvコマンドでこの文字を使用しました。変更ディレクトリの前の場所にファイルを移動したいのですが、代わりにstdinに移動しました。

ファイルを回復する方法はありますか?

私は、このコマンドを実行します。

# mv myfile - 
+1

あなたがリンクした投稿に 'mv'への参照はありません。 '-'は' cat'によって 'stdin'と解釈されますが、' mv'は特別な方法で '-'を処理しません。 – axiac

+0

あなたは正しいです。私は '-'と' mv'について間違っていた – Abraham

+1

Stack Overflowはプログラミングと開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[Super User](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

3

私が代わりに標準入力にそれを移動しました。

いいえ、あなたは(あなたがすなわちfile descriptor 0、stdinを参照するために/dev/stdinまたは/proc/self/fd/0を使用します)文字通りダッシュで指定されたファイルに移動しました。

あなたは

mv -i ./- myfile 

に、これは通常の練習(./で奇妙なパスをプレフィックスに)ですたいです。 -iは、対話形式で確認を求めます。

奇妙なファイル(たとえば、改行文字が1つのファイル名)のパスを入力することは、時には簡単ではありません。 globbing(約shell expansionと読む)を使用できます。 mv -i ./? file

は良い習慣は、ファイルパスに奇妙な文字を避けるためですmv(1)path_resolution(7)glob(7)proc(5)

を参照してください。

+0

誰かが '/ dev/stdin'について説明しているmanページを知っていますか?私はそれを見つけることができません! –

関連する問題