そこで、aMule から音楽アルバムをダウンロードし、.aMule/Incoming
ディレクトリに保存しました。次のコマンドで移動しようとしました:
mv albumName.rar ~
~
チルダがホーム ディレクトリ用に予約されているため、名前を変更できないファイルが残ってしまいました.aMule/Incoming
。隠しファイルを表示することで、Nautilus 経由でアクセスできることはわかっています。ターミナルでそれを取り出すにはどうすればよいですか?
アップデート 今はこんな感じです
manuzhang@manuzhang-R458-R457:~/.aMule/Incoming$ ls -l
total 328
-rw-r--r-- 1 manuzhang manuzhang 297266 2012-03-19 12:07 ~
-rw-r--r-- 1 manuzhang manuzhang 34479 2011-10-11 19:51 [kat.ph]friends.season.1.with.english.subtitles.torrent
答え1
mv \~ ~/albumName.rar
mv '~' ~/albumName.rar
mv ./~ ~/albumName.rar
シェル内で特別な意味を持つ文字は、その前にバックスラッシュを置くことでいつでも保護できます。
シーケンスを一重引用符で囲むことで、シェルにシーケンスを文字どおりに解釈するように指示することができます。このようなリテラル文字列内に入れることができない唯一の文字は、一重引用符自体です。これはリテラル文字列の終わりを示すためです。'\''
代わりに を使用できます。これは「リテラルの終わり、文字'
、リテラルの始まり」を意味しますが、一重引用符で囲まれたリテラル文字列内に一重引用符を入れる奇妙な方法だと考えることができます。
文字は~
パスの先頭でのみ特別なので、ディレクトリを示す場合は、~
このディレクトリ内のファイル名になります。
ファイル名が で始まる場合-
、これら 3 つの方法のうち最後の方法のみが機能することに注意してください。これは、 が-
シェルに対して特別なものではなく、コマンドに対して特別な意味を持つためです。つまり、 はオプションを示します。-
この特別な意味を回避する別の方法は、 の前に特別なオプションを置くことです--
。--
コマンド ラインでは はオプションの終わりを示し、その後にファイル名 (またはその他のオプション以外の引数) のみが続くことができます。
~
また、表示したコマンドは、文字がシェルによって解釈されるはずなので、ファイルをホーム ディレクトリにコピーするはずであることにも注意してください。 を誤って入力して、 という名前ではないファイルを作成した可能性があります。または を~
実行して、ファイル名に印刷できない文字が含まれているかどうかを確認します。 それでも視覚的な表示がない場合は、 を試してください。これにより、ファイル名の各バイトの 8 進コードが表示されます。 ksh、bash、または zsh では、コマンド ラインで を使用して、文字を 8 進コードで指定できます。 または、ファイルに一致するパターンを見つけることができる場合があります。 たとえば、ファイル名の長さが 3 であり、長さが 2 である他のファイルが と のみであると判断された場合、でファイルを移動できます。ls -q
ls -Q
ls | od -t o1
$'\123'
foo
bar
mv ./[^bf]?? ~/albumName.rar
マウスを使用する場合、名前が入力方法がわからない印刷可能な文字で構成されている場合は、 の出力からファイル名をコピーして貼り付けますls
。
答え2
ファイルへのパスを指定します。
cat ./~
答え3
貼り付けられた更新は、単純なチルダではなく、高ASCIIまたはUnicode文字であることを示しています...mc
または別のファイルマネージャーを使用できますか?すべてを移動するのはどうですか?それ以外そのディレクトリから出て、タブ補完を使用しますか?