名前がスペースでのみ構成されているディレクトリを移動するには?
ls -lah
drwx------ 4 user1 user1 8.0K Mar 13 14:16 .
drwxr-xr-x 3 root root 60 Mar 13 13:48 ..
drwx------ 18 user1 user1 4.0K Mar 13 11:18
これはウイルスの仕事なので元に戻したいです。
修正する:そのキャラが何なのかよく分からない。宇宙のように動かそうとしないでください。
$mv ' ' test
mv: cannot stat ` ': No such file or directory
修正する:これは重複ではありません名前のないファイルの削除、この場合、ディレクトリとファイルは非常に似て動作します。
ベストアンサー1
1つの可能なアプローチは、ディレクトリのinode番号を見つけてmv
そのディレクトリに使用することです。どのプラットフォームを使用しているか教えてくれなかったので、利用可能なツールに合わせてこれらの提案を変更する必要があるかもしれません(私はFreeBSDを使用しています)。
ユーティリティを使用してls
inode番号を取得します。-i
スイッチはFreeBSDでこれを行います。
$ ls -i
106739 test
(test
このソリューションを説明するために作成したばかりの空のディレクトリです。)
これで、このfind
ユーティリティを使用して、inode番号を持つディレクトリを見つけることができます。
$ find . -inum 106739
./test
そして問題のあるディレクトリに移動します。
$ find . -inum 106739 -exec mv {} fixed \;
find: ./test: No such file or directory
エラーメッセージを心配しないでください。これは、コマンドの実行中にディレクトリインデックスが変更されたために発生するため、find
ディレクトリ名が次のように変更され、やや混乱しますfixed
。
$ find . -inum 106739
./fixed
前述のように、正しいスイッチを入手するにはローカルのマニュアルを参照する必要があるかもしれませんが、このアプローチは効果的です。