(最終更新月:2023年4月)
✔当記事はこのような方に向けて書かれています
「mkdirってどうやって使うの?」
「mkdirの詳しい使い方が知りたい」
「mkdirでできることって何があるのだろうか?」
✔当記事の主な内容は以下のとおり
- mkdirとは?
- mkdirの使い方
- mkdirで発生するエラーとその解決方法
当記事では、mkdirコマンドの基本についてはもちろん、実例付きで応用した使い方までを初心者にもわかりやすく丁寧に解説しています。
ぜひ最後までご覧ください。
mkdirコマンドについての基礎知識
mkdirコマンドについての基礎知識を見ていきましょう。
普段よく使うものでも、今一度見てみると、意外と知らないものもあるはずです。
- mkdirコマンドとは
- mkdirコマンドの構文
- mkdirコマンドが使われる場面
mkdirコマンドとは
mkdirコマンドとは、ディレクトリ(フォルダ)を作成するためのコマンドです。
このコマンドを使えば、ターミナル(端末)から、好きな場所に新しいディレクトリを作成できます。
例えば以下のようにターミナルに入力することで、「itcdir」という名前のディレクトリが作れます。
mkdir ~/itcdir
わざわざ対象のディレクトリまでいき、右クリックして、新しいフォルダを作成、などとしなくて良いです。
mkdirコマンドの構文
mkdirコマンドの基本的な構文は以下のとおりです。
mkdir [オプション] ディレクトリ名
例えば、-mオプションで、パーミッションを設定しつつ、ディレクトリを作成する方法はこちら。
mkdir -m 700 ~/Desktop/itcdir
mkdirコマンドが使われる場面
mkdirコマンドが使われる場面をまとめると以下のとおりになります。
- 新しいプロジェクトのためにディレクトリを作成する
- スクリプトがファイルを格納するためのディレクトリを作成する
- 他のプログラムが使用するディレクトリを作成する
- インストールされたアプリケーションのためのディレクトリを作成する
- ファイルシステムの階層を整理するために、階層的なディレクトリ構造を作成する
さまざまな場面で使えるので、とても便利なコマンドといえるでしょう。
mkdirコマンドの基本的な使い方
mkdirコマンドの基本的な使い方を見ていきます。
場面によって、オプションなどを使うと効率が良いです。
- ディレクトリの作成方法
- 複数のディレクトリを一度に作成する方法
- 既に存在するディレクトリを作成しようとした場合の対処法
複数階層のディレクトリの作成方法
複数階層のディレクトリを作成する場合は、-pオプションを使います。
例えばデスクトップに「itcdir1」という名前のディレクトリを作成し、その中に「itcdir2」というディレクトリを作成するにはこちら。
mkdir -p ~/Desktop/itcdir1/itcdir2
親・子ディレクトリが同時に作成されます。
複数のディレクトリを一度に作成する方法
mkdirコマンドで、複数のディレクトリを一度に作成する方法は、以下のとおり。
mkdir dir1 dir2 dir3
このコマンドにより、ディレクトリ「dir1」「dir2」「dir3」の3つが同時に作成されます。
mkdirコマンドのあとに、ディレクトリ名を複数書き、間をスペースで区切りましょう。
既に存在するディレクトリを作成しようとした場合の対処法
mkdirでは、既存のファイル名で実行すると以下のようにエラーメッセージがでます。
$ mkdir itcdir
mkdir: ディレクトリ `itcdir' を作成できません: ファイルが存在します
できる対処法としては以下のどちらかが使えます。
- -pオプションで作成する:ディレクトリが存在する場合は何もしません
- lsコマンドで事前に調べる
オプションを利用したmkdirコマンドの高度な使い方
mkdirコマンドの高度な使い方を見ていきましょう。
オプションを使うことで、よりできることの幅が広がるのです。
- -pオプションによる階層的なディレクトリ作成方法
- -mオプションによるパーミッションの指定方法
- -vオプションによる作成されたディレクトリ名の表示方法
-pオプションによる階層的なディレクトリ作成方法
-pオプションを使えば、複数階層のディレクトリを一度に作成できます。
通常では、ディレクトリは、1つずつ作られますが、-pオプションを使用することで、指定したパスにないディレクトリを自動的に作成できるのです。
mkdir -p itcdir/childdir1/chiddir2
-mオプションによるパーミッションの指定方法
-mオプションでは、ディレクトリの作成と同時に権限が指定できます。
構文としては以下のとおり。
mkdir -m パーミッション番号 ディレクトリ名
具体例を見てみましょう。
mkdir -m 500 itctestdir
パーミッションの数字は、所有者(User)、グループ(Group)、その他のユーザー(Other)に与える権限を表します。
- 4:読み取り権限
- 2:書き込み権限
- 1:実行権限
詳しくは以下の記事でもご紹介しています。
-vオプションによる作成されたディレクトリ名の表示方法
-vオプションでは、実行内容や作成したディレクトリ名を表示してくれます。
$ mkdir -v itcdirectory
mkdir: ディレクトリ 'itcdirectory' を作成しました
実行の確認がしたいときに、使いましょう。
ディレクトリ作成についての注意点
ディレクトリ作成時の注意点を見ていきます。
mkdirコマンドでも当然、できないことがあるのです。
- ファイル名・ディレクトリ名に使えない文字について
- ディレクトリの権限について
ファイル名・ディレクトリ名に使えない文字について
ファイル名やディレクトリ名に使えない文字がソンザイシます。
ディレクトリ名を決めるために事前に把握しておきましょう。
- \ (バックスラッシュ)
- / (スラッシュ)
- : (コロン)
- * (アスタリスク)
- ? (クエスチョンマーク)
- “” (ダブルクォーテーション)
- < (山括弧)
- > (山括弧)
- | (パイプ)
基本的にはハイフン・アンダースコア・ドットが使えると覚えておきましょう。
ディレクトリの権限について
OS上のファイルやディレクトリにはその所有者やグループへのさまざまな権限が存在します。
権限を付与することで、不用意に書き換えられたり、削除されたりすることを防ぐのが目的です。
具体的には以下の権限が存在します。
- 読み
- 書き
- 実行
何をおこなうかということについて、その実行ユーザーが権限を有しているかはとても大切といえるでしょう。
-mコマンドもしくはchmodコマンドなどで、権限を付与・変更することが必要になります。
ディレクトリ作成・削除について応用した使い方
最後にディレクトリの作成や削除について、応用した使い方を見ていきましょう。
具体的にどのようなことができるかを、イメージしていただければと思います。
- mkdirコマンドとcronを使ったバックアップの自動化方法
- ディレクトリの削除方法
mkdirコマンドとcronを使ったバックアップの自動化方法
mkdirコマンドとcronを組み合わせると、LinuxOS上で、バックアップを自動化できます。
以下の手順でおこないます。
- バックアップ用のディレクトリを作成
- バックアップスクリプトを作成
- cronに登録する
バックアップ用のディレクトリを作成する
mkdirコマンドにより、バックアップ用のディレクトリを作成します。
例えば、/home/yulikepython/backupディレクトリを、以下のコマンドで作ります。
$ mkdir /home/user/backup
バックアップスクリプトを作成する
次に、バックアップスクリプトを作成します。
例えば、以下のようなスクリプトです。
#!/bin/bash
# 変数を定義する
BACKUP_DIR=/home/yulikepython/backup
DATE=`date +%Y%m%d`
# バックアップを作成する
tar -cvzf $BACKUP_DIR/backup_$DATE.tar.gz /var/www/html
このスクリプトでは、/var/www/htmlディレクトリをバックアップし、/home/yulikepython/backupディレクトリにbackup_日付.tar.gzという名前で保存します。
cronに登録する
最後に、cronにバックアップスクリプトを登録します。
例えば、毎日午前2時にバックアップを作成する場合、以下のようにcrontabを編集します。
$ crontab -e
以下の行を追加します。
0 2 * * * /path/to/backup_script.sh
これで、毎日午前2時にバックアップスクリプトが実行されます。
結果として、/home/yulikepython/backupディレクトリにバックアップファイルが保存されるのです。
ディレクトリの削除方法
ディレクトリの削除方法についても知っておきましょう。
mkdirコマンドで、不要なディレクトリを作ってしまうこともあるからです。
以下のようにして、削除を実行します。
rm -r ディレクトリ名
ただし注意点として、エラーメッセージなども出てこないことが挙げられます。
-vオプションを使いながら、きちんと確認し、慎重に削除するのがおすすめです。
$ rm -rv itctest
rm: 書き込み保護されたファイル ディレクトリ 'itctest' を削除しますか? y
removed directory 'itctest'
まとめ:mkdirコマンドで素早く必要なディレクトリを作ろう
当記事の内容をまとめます。
- mkdirコマンドで、素早くディレクトリが作成できる
- オプションを使えば、権限付与なども可能
- 使えない文字や削除時などの扱いに注意しよう
mkdirコマンドはLinuxコマンドの中でも、頻繁に使われるコマンドです。
ただ実は権限も付与できたり、親・子ディレクトリを一括で作れたりする優れもの。
上手く活用しつつ、mkdirコマンドを使いこなしましょう。