Ubuntuマシンでターミナルを使用していますが、削除したいファイルがあります。ファイル名は\
(バックスラッシュのみ)です。
今は通常私はただするでしょう
rm filename
ただし、rm \
を実行すると、複数行のコマンドを記述しようとしているように見えます。
このファイルを削除するにはどうすればよいですか? GUIファイルシステムを使用できることは知っていますが、それはあまり効率的ではありません。
では、どうすれば(ターミナルで)\
というファイルを削除できますか?
rm \\
を使用します(円記号を別の円記号でエスケープします)。これは、\
という名前のディレクトリでも同様に機能します(rmdir
またはrm
と-r
フラグを使用)。
例:
> mkdir demo > cd demo > touch \\ > ls -l total 0 -rw-- ----- 1hennesユーザー07月29日20:25\ > rm \\ > ls -l 合計0
名前にぎこちない文字が含まれるファイルを手動で削除する一般的な方法は、
rm -i ./*
これにより、ディレクトリ内の各ファイルを削除するかどうかを選択するように求められます。
ファイルのiノードを参照してリンクを解除することもできます
linus ~/test $ touch \\
linus ~/test $ ls -li
total 0
15204561 -rw-r--r-- 1 pat Sudo 0 Jul 29 23:03 \
linus ~/test $ find . -inum 15204561 -exec rm -v {} \;
removed `./\\'
linus ~/test $ ls -li
total 0
linus ~/test $
最初にファイルのiノードを確認してください。 ls -li
137791 -rw-rw-r--。 1 svr svr 3663月11日15:57
"\"のiノードは "137791"であり、findコマンドを使用して、iノード番号を持つ "\"を削除します。
見つける。 -inum 137791 -exec rm -i {} \;
rm:通常のファイル `./\'を削除しますか?はい
「\」は削除されます。