Linux

linuxでディレクトリを削除するコマンド”rmdir”の使い方を詳しく解説!【初心者向け】

こんにちは、インフラエンジニアのryuです。

今回は、linuxでディレクトリを削除するコマンドrmdirを解説します。rmdirとはremove directoryの略で、ディレクトリを削除します。rmdirコマンドの使い方と良く使うオプションを紹介したいと思います。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

linuxでディレクトリを削除するコマンド”rmdir”

では早速rmdirについて解説したいと思います。

まずは、コマンドの使い方を学びましょう。

rmdirコマンドの使い方

rmdirコマンドは以下のように使用します。

rmdir testdir
rmdir [削除するディレクトリのパス]

rmdirの後ろにディレクトリのパスを指定するだけです。簡単ですね。

ディレクトリのパスは、絶対パスでも相対パスでも問題ありません。絶対パスと相対パスが何か分からない方はこちらの記事を参考にしてください。

では、Linuxで実際にコマンドを入力して確認してみましょう。

linuxでrmdirコマンドでディレクトリを削除する

まず、削除するためのディレクトリを作成しましょう。ディレクトリを作成するコマンドはmkdirです。mkdirmakeとは、make directoryの略でディレクトリを作成するという意味です。

mkdir testdir

また、lsコマンドを使用してファイルが本当に作成されたのかを確認しましょう。

ls -la

lsコマンドを使用するとカレントディレクトリ配下に、”testdir”というディレクトリが作成されているのが分かります。

mkdir testdir

では、この作成した”testdir”ディレクトリを削除してみましょう。また、確認のためもう一度lsコマンドを入力します。

rmdir testdir
ls -la

すると、”testdir”ディレクトリが削除されているのが分かります。

rmdir testdir

ディレクトリの書き込み権限が無いと削除できない

rmコマンドを使う上で注意点があります。

それは、ディレクトリの書き込み権限が無いとディレクトリを削除できないということです。

権限は”ls -la”のコマンドを使用すると確認することができます。

rmコマンドはディレクトリの書き込み権限が無いと削除できない

“rwx rwx rwx user user”の部分です。権限については詳しくは解説しませんが、”w”の書き込み権限が付いていることが必須です。

chmodコマンドを使用して、ディレクトリの権限を変更しましょう。

chmod 777 testdir ← 777で書き込み、読み込み、実行権限全てを付与する
mkdir testdir

linuxのディレクトリ削除に使うオプションを解説

次にrmdirのオプションについて紹介します。

rmdirの主なオプションは以下の通りです。

  • -p 親ディレクトリも削除する
  • -v ディレクトリを削除した結果のメッセージを表示する

この中で、一番良く使うのは”-p”オプションです。親ディレクトリも削除します。

“-p”オプションで親ディレクトリも削除する

まず、ディレクトリを作成します。

mkdir -p testdir/testdir1
mkdir -p testdir/testdir2

“testdir”ディレクトリの配下に”testdir1”と”testdir2″ディレクトリが作成されました。

lsコマンドを使用して、本当に作成されたのか確認しましょう。

ls -la tesdir
lsコマンドでディレクトリの確認

では、”-p”のオプションを付けるのと付けないのでは、どのように動作の違いが出るのでしょうか。確認してみましょう。

rmdir testdir/testdir1
ls -la testdir

オプションを付けない場合は、”testdir1″だけが削除されるのが分かります。

rmdir testdir/testdir1

では、“-p”オプションを付けてみましょう。

rmdir -p testdir/testdir2
ls -la testdir
→ls: cannot access 'testdir': No such file or directory
ls -la 
"-p"オプションで親ディレクトリも削除する

“-p”オプションを付けると、”testdir2″の親ディレクトリである”testdir”も削除されていることが分かります。つまり、”-p”オプションで親ディレクトリも削除できるということです。

rmdirのオプション一覧

rmdirのオプション一覧は以下の通りです。

–ignore-fail-on-non-emptyディレクトリが空ではないときに出るエラーを表示しない
-p親ディレクトリも削除する
-vディレクトリを削除した結果のメッセージを表示する

詳細はこちらのドキュメントでも確認することができます。

rmdir invocation (GNU Coreutils)

linuxのディレクトリが空でない場合の削除方法

rmdirで次のようなエラーが出ることがあります。

rmdir: failed to remove ‘testdir/’: Directory not empty

これは、”testdir”ディレクトリの中に何かファイルが入っている場合に起こるエラーです。

その時は、”rm -r”コマンドを使用しましょう。

rm -r testdir

rmコマンドを使用すると、全てのファイルを削除してしまうので、注意しましょう。

詳しい使い方はこちらの記事をご覧ください。

【linux】rmコマンドの使い方解説!【ファイル削除するコマンドを使ってみよう】

linuxでディレクトリ削除まとめ

さいごにおさらいです。

rmdirコマンドでディレクトリを削除します。使い方は以下の通りです。

rmdir testdir
rmdir [削除するディレクトリのパス]

注意点は2つ

  • ディレクトリの書き込み権限が無いと削除できない
  • ディレクトリの中にファイルがあると削除できない

ということです。

以上でrmdirの解説を終わります。ありがとうございました。

Linuxのその他のコマンドはこちらの記事で解説しております!ぜひ参考にしてください。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST