Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
- トップページ
- UNIX(Linux)入門編 - ファイルとディレクトリの削除(rm)について
TechAcademy(テックアカデミー)
当サイト著者の桜舞春人もメンター(先生)としてちょろりと参加しているTechAcademyさんです。爆速で技術を習得して結果を出したいと考える方に超絶おすすめです。
紹介記事はこちらへどうぞ。
運営及び開発費用ご支援のお願い
当サイト(wp-p.info)の情報はお役に立ちましたでしょうか。当サイトでは運営及び開発費用ご支援の募集をさせて頂いております。よろしければご支援についてご検討頂けませんでしょうか。何卒宜しくお願い致します。
ファイルとディレクトリの削除(rm)について
みなさまどうもおはこんばんちわわでございます。
続きましてファイルとかディレクトリの削除方法についてやっていきましょう。
ファイルとかディレクトリを削除するには『rm』コマンドくんを使用します。では使い方について色々とやっていきましょう。
まずファイルの削除方法からですが適当にtest.txtってファイルを『touch』コマンドくんで作ってみます。
[root@localhost ~]# touch test.txt [root@localhost ~]# ls test.txt
そしたら『rm test.txt』って入力します。
[root@localhost ~]# rm test.txt
この状態でエンターキーを叩くと以下のように
[root@localhost ~]# rm test.txt rm: remove regular empty file `test.txt'?
「ファイル削除していいの?」って聞かれますので「y」か「Y」と入力してエンターキーを押してあげて下さい。
[root@localhost ~]# rm test.txt rm: remove regular empty file `test.txt'? y
そうすると通常のプロンプトが表示され入力待ち状態になります。これでちゃんと削除は出来てます。『ls』コマンドで確認してみると
[root@localhost ~]# rm test.txt rm: remove regular empty file `test.txt'? y [root@localhost ~]# ls
ちゃんと『test.txt』は消えてますね。基本的な使い方はこんな感じになります。
んで「ファイル削除していいの?」っていう返答についてなんですがこれが若干OSによって違いがあったりします。CentOSの場合は「最初の文字が「y」または「Y」だった場合に「yes」と判定する」って感じになるので以下のように
[root@localhost ~]# touch test.txt [root@localhost ~]# rm test.txt rm: remove regular empty file `test.txt'? y初音ミク! [root@localhost ~]# ls
「y初音ミク!」なんてへんてこりんな記述をしてもOKだったりします。
逆に「削除したくないぜー」なんてときには最初の文字が「y」または「Y」以外にしてしまえばOKです。なので何も入力しない状態でエンターキーを押してしまうのが楽ちんかもですね。
続いてファイルではなくディレクトリの削除方法についてです。まず『mkdir』くんで適当に『test』ディレクトリを作ってあげて
[root@localhost ~]# mkdir test
それを『rm』コマンドで削除しようとするとこうなります。
[root@localhost ~]# rm test rm: cannot remove `test': is a directory
「testはディレクトリで削除できないよー」って怒られちゃいましたね。こんな感じで何もオプションを付けない『rm』コマンドだとディスプレイの削除をすることは出来ません。じゃあどうするのかというと『-r』オプションを付けてあげます。こんな感じですね。
[root@localhost ~]# rm -r test
そうすると先程のフォルダ削除時と同じように「削除していいっすかー?」って聞かれるので「y」とかを入力してあげればOKです。
[root@localhost ~]# rm -r test rm: remove directory `test'? y
こんな感じですね。『rm』コマンドの使い方はそれほど難しくないかと思います。
続いてちょいと便利なオプションをいくつか紹介しておきます。まず削除するときって「削除していいっすかー?」ってご丁寧に確認してくれるわけなんですがその確認が邪魔っていうちょっと切ない気分になっちゃうこともあるかと思います。
例えばディスプレイを適当に作って更にその中にファイルを適当に3つくらい作って
[root@localhost ~]# mkdir test [root@localhost ~]# touch test/test1.txt [root@localhost ~]# touch test/test2.txt [root@localhost ~]# touch test/test3.txt
削除しようとするとこうなります。
[root@localhost ~]# mkdir test [root@localhost ~]# touch test/test1.txt [root@localhost ~]# touch test/test2.txt [root@localhost ~]# touch test/test3.txt [root@localhost ~]# rm -r test/ rm: descend into directory `test'? y rm: remove regular empty file `test/test3.txt'? y rm: remove regular empty file `test/test1.txt'? y rm: remove regular empty file `test/test2.txt'? y rm: remove directory `test'? y
毎回確認されちゃうのでちょっと大変ですね。ファイルが100000個とかあったらそれだけで1日が終わってしまいますしファイルが10000000000000000000個とかあったらおじいさんおばあさんになってしまいますね。
そんな時には『-f』オプションを付けてみましょう。そうするとこんな感じで
[root@localhost ~]# mkdir test [root@localhost ~]# touch test/test1.txt [root@localhost ~]# touch test/test2.txt [root@localhost ~]# touch test/test3.txt [root@localhost ~]# rm -rf test/ [root@localhost ~]# ls
確認されずにそのままさくっと削除してくれますのでとっても便利です。
続いて削除した内容をどっかに保存しておきたい、という場合です。その場合は『-v』を付けてあげましょう。そうするとこんな感じで
[root@localhost ~]# mkdir test [root@localhost ~]# touch test/test1.txt [root@localhost ~]# touch test/test2.txt [root@localhost ~]# touch test/test3.txt [root@localhost ~]# rm -rfv test removed `test/test3.txt' removed `test/test1.txt' removed `test/test2.txt' removed directory: `test'
削除したファイルとかディレクトリを標準出力で教えてくれます。
そしてお察しの良い方はもう予想がついてるとは思いますが「出力先は標準出力」って事なので前回使用した『>』とかを使えば削除した情報をそのままテキストとしてファイル保存する事が可能です。こんな感じですね。
[root@localhost ~]# mkdir test [root@localhost ~]# touch test/test1.txt [root@localhost ~]# touch test/test2.txt [root@localhost ~]# touch test/test3.txt [root@localhost ~]# rm -rfv test > remove_list.txt [root@localhost ~]# cat remove_list.txt removed `test/test3.txt' removed `test/test1.txt' removed `test/test2.txt' removed directory: `test'
これもかなり便利なのでぜひ使ってみて下さい。
そして超重要な注意点なのですが『rm』コマンドくんで削除したファイルは完全に闇に葬られるため復旧することは出来ません。
WindowOSとかMacOSだとファイルを削除したとしても実質ゴミ箱に移動するだけでゴミ箱から復旧させる事ができますよね。『rm』コマンドくんだとそうはいかないのでここ間違えないよう注意です。もし重要なファイルだった場合は『cp』コマンドくんとかでバックアップを作って置くと良いかもです。『cp』コマンドくんについては次の記事で解説しますね。
前にも解説しましたがディレクトリを削除するコマンドで『rmdir』という子が居ます。
この子もディレクトリを削除できるコマンドなのですが「空のディレクトリしか削除出来ない」という制約があるのであまり使い物になりません。多分覚えなくてOKかなと思います。
というわけで以上になりますね。続いての記事ではファイルとディレクトリのコピーについてやっていきましょう。
ではでは失礼致します。
この記事は桜舞が執筆致しました。
![]() 著者が愛する小型哺乳類 |
桜舞 春人 Sakurama HarutoISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。 |
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。
TechAcademy(テックアカデミー)
当サイト著者の桜舞春人もメンター(先生)としてちょろりと参加しているTechAcademyさんです。爆速で技術を習得して結果を出したいと考える方に超絶おすすめです。
紹介記事はこちらへどうぞ。
Introduction
当サイトでは有料会員様の募集をしております。現在約431本の記事を公開中です。
有料会員になるとこれら全ての記事が読み放題となります。
お申込み頂ける際はログインまたはアカウント作成後、有料会員件をご購入下されば幸いです。有料会員権はまとめ買いがお得です。
現在の有料会員権一覧sale中!!
30日分980円
月額約980円、日額約32円
90日分通常2940円のところ1980円 (960円OFF)
月額約660円、日額約22円
180日分通常5880円のところ2980円 (2900円OFF)
月額約496円、日額約16円
360日分通常11760円のところ4980円 (6780円OFF)
月額約415円、日額約13円