ネットワークドライブ(ファイルシステム:CIFS)にコロンを含むディレクトリ(Ubuntuを使用)を削除することはできません。 このディレクトリをどのように削除できますか?(rootアクセス権はありませんが、読み取り/書き込みアクセス権)
rmdir ':5N0A210'/
出力rmdir ':5N0A210'
:
rmdir: failed to remove ':5N0A210': No such file or directory
出力ls -li
:
123011781 drwxr-sr-x 2 username domain users 0 May 31 10:00 :5N0A210
出力ls -1b
:
:5N0A210
出力find . -inum 123011781 -delete
:
find: cannot delete ‘./:5N0A210’: No such file or directory
出力rename 's|:|-|g' *
:
Can't rename :5N0A210 -5N0A210: No such file or directory
「:test」ディレクトリを作成し、エラーなしで削除できることに気づきました。
':5N0A210'を作成して削除することもできますが、GUIを更新するとすぐに表示されます。ls -li
以前と同じ inode 番号が表示されます。
また、「:4N0A210」(「5」を「4」に変更)を作成し、エラーなしで削除することもできます。
すべてのテストは「:5N0A210」と同じディレクトリで行われます。
答え1
ディレクトリから:5N0A210
:
rm -rf ./\:5N0A210
rm -rf ':5N0A210'
rm -rf ./:5N0A210
rm -rf :5N0A210
これらはすべて私の環境で動作します。
修正する
上記のコマンドを使用してサーバー側から削除することもできます。サーバーにアクセスできない場合は、そのアクセス権を持つユーザーにサーバーを削除するよう依頼してください。
答え2
Windowsファイル名にはある範囲の予約文字は使用できません\ / : * ? " < > |
。 CIFSはこの規則に従います。つまり、ファイル名にこれらの文字を使用することはできません。
これらの文字を視覚的に類似した代替文字に変換するようにSAMBAを構成できますが、vfs catia
これはデフォルトではないため、インスタンスで構成されていない可能性があります。 (そうであれば、単純なシェル文字のワイルドカード?
だけでもコロンと一致することができます。rmdir ?5N0A210
つまり、.しかしすでに試しましたが失敗しました。)
唯一の他の解決策は、ファイルシステムをホストしているサーバーからディレクトリを直接削除することです。これがWindowsの場合、ファイルシステムのチェックによりディレクトリ名が強制的に変更されます。 SAMBAを使用するUnix / Linuxであれば、単純なrmdir
(またはrm -rf
)で十分です。