Linuxで通常処理で削除できないファイルを削除する


Linuxサーバー管理者の技術を2日で学べる「初心者向けリナックスセミナー」
30日掛かって覚えるプロの技術を、たった2日間で学習できます。
リナックスマスター2日間集中セミナー【CentOS7版】
 (今すぐ↑をクリックしてください。)

ファイルを削除するにはrmコマンドを実行します。
しかし、名称がハイフン「-」で始まるファイルや、スペース、
メタキャラクタ(メタ文字)が含まれるファイルは、
シェルが正しくファイルを認識出来ないため削除できません。

このような名称のファイルは、Linuxの通常処理ではエラーになるため
作成出来ませんが、WindowsやMacOSでは、ファイルやディレクトリが
作成出来るため、ファイル共有やファイルのアップロードを行った場合、
このような名称のファイルがLinuxに存在することがあります。

この場合、名称にハイフン「-」が含まれるものであれば、
rmコマンドに「--」オプションを付けて引数にハイフンを含むファイルを
指定して削除するか、ファイル名の先頭にドットスラ「./」を付けて削除します。

スペースを含むファイルの場合、ファイル名をクォーテーション「'」または、
ダブルクォーテーション「"」で囲む事で削除できますし、スペースの前に
エスケープシーケンスを付けることで削除できます。

■Linuxで通常処理で削除できないファイルを削除する
[pakira@Tiger ~]$ ls ←ファイルを表示します。
-file.txt This is filetest.txt
[pakira@Tiger ~]$ rm -file.txt ←通常処理の削除を実行します。
rm: オプションが違います -- 'l'      ←エラーメッセージが表示され削除できません。
Try `rm ./-file.txt' to remove the file `-file.txt'.
詳しくは `rm --help' を実行して下さい.
[pakira@Tiger ~]$ rm This is filetest.txt ←通常処理の削除を実行します。
rm: cannot remove `This': そのようなファイルやディレクトリはありません
rm: cannot remove `is': そのようなファイルやディレクトリはありません
rm: cannot remove `filetest.txt': そのようなファイルやディレクトリはありません
↑エラーメッセージが表示され削除できません。
[pakira@Tiger ~]$ rm -- -file.txt ←「--」オプションを付けて削除します。
[pakira@Tiger ~]$ ls ←ファイルを表示します。
This is filetest.txt  ←「-file.txt」が削除されます。
[pakira@Tiger ~]$ rm This\ is\ filetest.txt
↑スペースの前にエスケープシーケンスを付けて削除します。
[pakira@Tiger ~]$ ls  ←ファイルを表示します。
[pakira@Tiger ~]$      ←This is filetest.txtが削除されます。

■ハイフン付きのファイルをドットスラ「./」で削除する
[pakira@Tiger ~]$ ls  ←ファイルを表示します。
-file.txt
[pakira@Tiger ~]$ rm ./-file.txt ←ドットスラ「./」を付けて削除します。
[pakira@Tiger ~]$ ls  ←ファイルを表示します。
[pakira@Tiger ~]$     ←ファイルが削除されます。

■スペースを含むファイルをダブルクォーテーション「"」で囲んで削除する
[pakira@Tiger ~]$ ls  ←ファイルを表示します。
This is filetest.txt
[pakira@Tiger ~]$ rm "This is filetest.txt"
↑ダブルクォーテーション「"」で囲んで削除します。
[pakira@Tiger ~]$ ls  ←ファイルを表示します。
[pakira@Tiger ~]$     ←ファイルが削除されます。



■CentOS7.1サーバー構築マニュアルを無料プレゼント
 「CentOS7.1」のサーバー構築手順、「VMware Player」の
 ダウンロードとインストール手順をまとめたマニュアルを
 無料でプレゼントしています。


 詳しくは↓のページで説明していますので、今すぐクリックしてダウンロードしてください。
 無料マニュアルをダウンロードする  無料マニュアルをダウンロードする