web-dev-qa-db-ja.com

「\」というファイルまたはディレクトリを削除するにはどうすればよいですか?

Ubuntuマシンでターミナルを使用していますが、削除したいファイルがあります。ファイル名は\(バックスラッシュのみ)です。

今は通常私はただするでしょう

rm filename

ただし、rm \を実行すると、複数行のコマンドを記述しようとしているように見えます。

このファイルを削除するにはどうすればよいですか? GUIファイルシステムを使用できることは知っていますが、それはあまり効率的ではありません。

では、どうすれば(ターミナルで)\というファイルを削除できますか?

20
Nosrettap

rm \\を使用します(円記号を別の円記号でエスケープします)。これは、\という名前のディレクトリでも同様に機能します(rmdirまたはrm-rフラグを使用)。

例:

> mkdir demo 
> cd demo 
> touch \\ 
> ls -l 
 total 0 
-rw-- ----- 1hennesユーザー07月29日20:25\
> rm \\ 
> ls -l 
合計0 
48
Hennes

名前にぎこちない文字が含まれるファイルを手動で削除する一般的な方法は、

rm -i ./*

これにより、ディレクトリ内の各ファイルを削除するかどうかを選択するように求められます。

15
zwol

ファイルの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 $ 
12
joshbaptiste

最初にファイルのiノードを確認してください。 ls -li

137791 -rw-rw-r--。 1 svr svr 3663月11日15:57

"\"のiノードは "137791"であり、findコマンドを使用して、iノード番号を持つ "\"を削除します。

見つける。 -inum 137791 -exec rm -i {} \;

rm:通常のファイル `./\'を削除しますか?はい

「\」は削除されます。

0
BALVINDER SINGH