rmでディレクトリ強制削除


●次に,ディレクトリをまるごと強制削除する方法を学習する。ディレクトリ
 の削除には,rmdirも使えるが,いちいち中身を空にしてからディレクトリを
 削除しなければならなかった。
rmコマンドを使うと,ディレクトリを強制的
 に削除することが出来る。
 

  1. 現状確認

    引き続き,~/gaironunix2 ディレクトリの中で作業を行う。現在,~/gaironunix2 ディレクトリ
    には,vehicle ディレクトリと vehicle2 ディレクトリがある(下図)。



  2. rm コマンドを使ったディレクトリの削除

    ディレクトリの削除には,rmdir を使うが,中身を空にしてからでないと実行できなかった。
    しかし,rmコマンドに -R というオプションをつけて

     % rm -R ディレクトリ名

    とすると,ディレクトリの中身を消してからディレクトリも消してくれる。では,~/gaironunix2/vehicle
    ディレクトリを rm コマンドで削除してみよう。

    ~/gaironunix2 ディレクトリにいることを確認してから,
     % rm -R vehicle
    として,vehicleディレクトリを削除してみよう(下図)。

    すると,下図のように vehicle ディレクトリの中身を消していって(各ファイルについて削除の
    可否を問われる),最後に vehicle ディレクトリ自体を消してくれる。

    現状では,~/gaironunix2/vehicle ディレクトリを削除したので,関連ファイルの位置関係は
    下図のようになっている。


    以上のように,ディレクトリの削除は,
     % rm -R ディレクトリ名
    というコマンドでも実行できた。しかし,多量にファイルがある場合には,総てのファイルに対し
    て削除の確認をするのは大変である。


  3. -f オプションによる強制削除

    そこで,便利な方法を紹介しよう。まず,準備として vehicle2 の複製として vehicle3 を作成しよう。
    実行するコマンドはもちろん
     % cp -r vehicle2 vehicle3
    である(下図)。

    現時点で,関連ファイの位置関係は下図のようになっている。



    さて,vehicle2 ディレクトリの中身を rm コマンドで削除してみよう。ここでは,
    ディレクトリ内のファイルをまるごと,削除の可否の確認も無しに強制的に削除する
    ので,慎重にことを進めよう。まず,カレントディレクトリが,~/gaironunix2 であ
    ることを再確認する。

    もし,カレントディレクトリが ~/gaironunix2 でなければ,以下のように
    ~/gaironunix2 ディレクトリに確実に移動すること。

    まず,
     % cd
    として,ホームディレクトリに確実に移動する。続いて,
     % cd gaironunix2
    として,確実に ~/gaironunix2 ディレクトリに移動する。
     % pwd
    として,カレントディレクトリが ~/gaironunix2 ディレクトリであることを確認すること。

    カレントディレクトリが,~/gaironunix2 であったなら,
     % cd vehicle2
    として,vehicle2 ディレクトリの中に入って,

     % rm -f *

    というコマンドを実行する。(下図)。

    すると,削除の可否の確認も無しに vehicle2 ディレクトリの中の全ファイルを削除してくれる(下図)。


    このあと,
     % cd ..
    として,親ディレクトリ(~/gaironunix2)に戻って,
     % rmdir vehicle2
    として,vehicle2 ディレクトリを消しておくこと。

    現状では,関連ファイルの位置関係は,下図のようになっている。



    -f オプションをつけて rm コマンドを使用すると,ファイルの削除の可否の確認をせずにファイルを
    削除した。

    実は, -f という指定は,確認無く強制的(forcibly)に削除するという指定なのである。このf指定と
    R指定を組み合わせて,

     % rm -Rf 削除したいディレクトリ名

    とすることで,強制的にディレクトリを削除してくれるのである。ただし,確認無しにディレクトリ
    ごとファイルが削除されるので,本当に削除して良いかよく確認した上で慎重に実行すること


    では,~/gaironunix2/vehicle3ディレクトリを,rmコマンドで強制削除してみよう。

    ここでは,ディレクトリをまるごと,削除の可否の確認も無しに強制的に削除するので,慎重にこと
    を進めよう。まず,カレントディレクトリが,~/gaironunix2 であることを再確認する。

    もし,カレントディレクトリが ~/gaironunix2 でなければ,以下のように
    ~/gaironunix2 ディレクトリに確実に移動すること。

    まず,
     % cd
    として,ホームディレクトリに確実に移動する。続いて,
     % cd gaironunix2
    として,確実に ~/gaironunix2 ディレクトリに移動する。
     % pwd
    として,カレントディレクトリが ~/gaironunix2 ディレクトリであることを確認すること。

    カレントディレクトリが,~/gaironunix2 であったなら,

     % rm -Rf vehicle3

    と実行する(下図)。


    すると,次のように実行され,vehicle3が確認無しに強制削除される。


    現時点での関連ファイルの位置関係は,下図のようになっており,~/gaironunix2 ディレクトリ
    の中には,何もない状態になっている。