InfraAcademy

InfraAcademy Blog

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

| #Linux #コマンド #Linux入門
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

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

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

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

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

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

rmdirコマンドの使い方

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

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

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

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

/blog/what-relative-absolute-path

では、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の解説を終わります。ありがとうございました。

/blog/linux-cp

/blog/linux-reference-book

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

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る