【 mkdir 】コマンド/【 rmdir 】コマンド――ディレクトリを作成する/削除するLinux基本コマンドTips(21)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「mkdir」コマンドと「rmdir」コマンドです。

» 2016年06月07日 05時00分 公開
[西村めぐみ@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ディレクトリを作成する「mkdir」コマンドと、ディレクトリを削除する「rmdir」コマンドです。

mkdirコマンド/rmdirコマンドとは?

 「mkdir ディレクトリ名」でディレクトリを作成、「rmdir ディレクトリ名」で空のディレクトリを削除できます。


mkdirコマンド/rmdirコマンドの書式

mkdir [オプション] ディレクトリ名

rmdir [オプション] ディレクトリ名

※[ ]は省略可能な引数を示しています



mkdirコマンドの主なオプション

 mkdirコマンドの主なオプションは次の通りです。

短いオプション 長いオプション 意味
-m --mode=モード 作成するディレクトリのパーミッションを設定する
-p --parents 必要に応じて親ディレクトリも作成する(実行例1を参照)
-v --verbose 経過を表示する

rmdirコマンドの主なオプション

 rmdirコマンドの主なオプションは次の通りです。

短いオプション 長いオプション 意味
--ignore-fail-on-non-empty ディレクトリが空でない場合のエラーだけを無視する(エラーメッセージを表示しない)
-p --parents 必要に応じて親ディレクトリも削除する(実行例2を参照)
-v --verbose 経過を表示する


ディレクトリを作成する(mkdirコマンド)

 「mkdir ディレクトリ名」でディレクトリを作成できます。サブディレクトリを含めて作成したい場合は、「-p」オプションを付けて「mkdir -p dir1/dir2/dir3」のように指定します。

コマンド実行例

mkdir dir1

(「dir1」という名前のディレクトリを作成する)

mkdir -p dir1/dir2/dir3

(「dir1」「dir1/dir2」「dir1/dir2/dir3」というディレクトリを作成する。それぞれのディレクトリが既にある場合は何もせず、警告も表示されない)


$ mkdir dir1	(カレントディレクトリに「dir1」というディレクトリを作成する)
$ mkdir dir1/subdir	(「dir1」の中に「subdir」というディレクトリを作成する)
$ mkdir -p dir1/dir2/dir3	(「dir1」「dir1/dir2」「dir1/dir2/dir3」というディレクトリを作成する)
$ find	(カレントディレクトリのファイルとディレクトリを一覧表示)
.
./dir1
./dir1/subdir
./dir1/dir2
./dir1/dir2/dir3

ワンポイント

 上記実行例の4行目にある「find」は「指定したファイルやディレクトリを指定した場所から探す」というコマンドですが、ファイルを指定しないと「全てを探す」、場所を指定しないと「カレントディレクトリを探す」という意味になり、結果としてカレントディレクト下のファイルとディレクトリが全て表示されています。

 「-ls」オプションを付けて「find -ls」とすると、「ls -l」のような表示(「ls -dils」の書式)となります。lsコマンドならば「-R」オプションで再帰的な表示が可能です。「ls -RF」や「ls -Rl」だと分かりやすいでしょう。また、ディレクトリをツリー構造で表示できる「tree」コマンドが使えるのであれば、そちらの方がより直感的に把握できるでしょう。




空のディレクトリを削除する(rmdirコマンド)

 空のディレクトリは、rmdirコマンドで削除できます。ただし、ディレクトリの中にサブディレクトリやファイルがある場合は削除できません。そのような場合は、本連載第20回で紹介した「rm -r」コマンドを使用します。

 なお、サブディレクトリ以下が全て空であれば「-p」オプションを付けて「rmdir -p dir1/dir2/dir3」のように指定することで、途中のディレクトリも含めて全て削除することができます。

コマンド実行例

rmdir dir1

(「dir1」という名前のディレクトリを削除する)

rmdir -p dir1/dir2/dir3

(「dir1」「dir1/dir2」「dir1/dir2/dir3」というディレクトリを削除する(それぞれのディレクトリが空の場合のみ))


$ find	(カレントディレクトリのファイルとディレクトリを一覧表示)
.
./dir1
./dir1/subdir
./dir1/dir2
./dir1/dir2/dir3
$ rmdir dir1	(「dir1」ディレクトリを削除)
rmdir: `dir1' を削除できません: ディレクトリは空ではありません
$ rmdir dir1/subdir	(「dir1」ディレクトリの中にある「subdir」ディレクトリを削除)
$ rmdir -p dir1/dir2/dir3	(ディレクトリ「dir1」「dir1/dir2」「dir1/dir2/dir3」を削除)
$ find	(カレントディレクトリのファイルとディレクトリを一覧表示)
.
	(ディレクトリが削除できた)

筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。