Linuxサーバでファイルが削除できない時はないでしょうか?
そういった時の対処法を、現役エンジニアの筆者が教えます。
わかりやすいように実例で図を用いて説明します。Linuxサーバでファイルが削除できない人はこの記事を読んでください。
筆者はWindowsサーバーやLinuxサーバーの運用構築を11年間以上おこなってきました。その経験を元に知識を公開していきます!
LinuxサーバのCentOSでファイル削除ができない時の原因
Linuxサーバーでファイルを削除するコマンドは「rm」コマンドです。
以下のコマンドでLinuxのファイルを削除してみます
rm -file1.txt
エラーが出て削除できません。
この時のLinuxサーバのCentOSでファイル削除ができない時の原因はファイル名の先頭の「-」でオプションと勘違いされているからです。
LinuxサーバのCentOSでファイル削除ができない時の解決法
このようにファイル名の先頭に「-」が入っているものを削除する方法は以下の2つです。
- 「–」を使用してファイル名を認識させる
- 「./」を使用してファイル名の先頭を変更する
「–」を使用してファイル名を認識させる
LinuxサーバのCentOSで「–」は以降でオプションは来ないという意味になります。
その為に「-file1.txt」がファイルと認識してくれて削除ができます。
では実際に下のコマンドを使用してファイルを削除して見ます。
rm -- -file1.txt
削除ができなかったファイルが削除できました。
「./」を使用してファイル名の先頭を変更する
LinuxサーバのCentOSでファイル削除ができない時の原因はファイル名の先頭の「-」でオプションと勘違いされているからでした。
つまりはファイル名の先頭を「-」にしなければよいのです。
「./」は現階層という意味なのでこれをつけてやってみましょう!
では実際に下のコマンドを使用してファイルを削除して見ます。
rm ./-file1.txt
先程と同様に、削除ができなかったファイルが削除できました。
Linuxでその他のエラー回避策の記事について
Linuxでサービスをインストールできない時の対処法について
Linuxでコマンドを実行しても出来ない時の対処法について
Linuxでインターネット接続出来ない時の対処法について
まとめ:LinuxサーバのCentOSでファイル削除ができない時の原因と対処法
LinuxサーバのCentOSでファイル削除ができない時の原因は、ファイル名の先頭の「-」でオプションと勘違いされているからです。
対処法としては以下の2つがあります。
- 「–」を使用してファイル名を認識させる
- 「./」を使用してファイル名の先頭を変更する
実際のコマンド例は以下です。
rm -- -file1.txt
rm ./-file1.txt