Linuxサーバーでディレクトリ(フォルダ)を作成するコマンドをお伝えします。
複数のディレクトリ(フォルダ)を一括で作成する方法や階層のディレクトリ(フォルダ)もまとめて作成する方法などもお伝えします。
mkdirコマンドのオプションなども、実例を用いて現役エンジニアの筆者がまとめます。
筆者はWindowsサーバーやLinuxサーバーの運用構築を11年以上おこなってきました。その経験を元に知識を公開していきます!
この記事を読む事で、ディレクトリ(フォルダ)を作成する基本から効率化できる作成の仕方まで習得する事が可能になります。
Linuxのmkdirコマンドでディレクトリを作成する方法
Linuxサーバーでディレクトリ(フォルダ)を作成するコマンドはmkdirです。
mkdir ディレクトリ(フォルダ)名
ではカレントディレクトリに「testdir」ディレクトリ(フォルダ)を作成してみます。
まずはカレントディレクトリの状態をlsコマンドで確認します。
[root@localhost ~]# ls -l
合計 80
-rw-------. 1 root root 1257 1月 7 2023 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 4月 25 2023 backup
-rw-r--r-- 1 root root 42 4月 25 23:01 file1.txt
drwxr-xr-x. 2 root root 4096 4月 24 2023 workspace
カレントディレクトリに「testdir」という名前のディレクトリ(フォルダ)があるか確認します。
[root@localhost ~]# find . -name testdir -type d
[root@localhost ~]#
「testdir」というディレクトリ(フォルダ)は現状ありません。
mkdir testdir
mkdirコマンドでディレクトリ(フォルダ)を作成しました。
また先程のfindコマンドで確認します。
[root@localhost ~]# find . -name testdir -type d
./testdir
「testdir」というディレクトリ(フォルダ)が作成されています。
mkdirコマンドで複数のディレクトリを作成する方法
mkdirコマンドでディレクトリ(フォルダ)を複数作成する方法は以下の通りです。
mkdir ディレクトリ(フォルダ)1 ディレクトリ(フォルダ)2 ...
半角スペースを区切り文字として複数指定すれば可能です。
[root@localhost ~]# mkdir testdir1 testdir2
「testdir1」「testdir2」という複数のディレクトリ(フォルダ)を一括で作成しました。
[root@localhost ~]# ls -l
合計 80
drwxr-xr-x 2 root root 6 5月 11 21:43 testdir1
drwxr-xr-x 2 root root 6 5月 11 21:43 testdir2
mkdirコマンドのオプションについて
Linuxサーバーで、ディレクトリ(フォルダ)を作成するmkdirコマンドのオプションについてまとめます。
mkdirコマンドのオプション | 効果 |
---|---|
-m | アクセス権を設定して作成 |
-p | 中間のディレクトリ(フォルダ)も作成 |
-v | 経過を表示 |
アクセス権を設定してディレクトリ(フォルダ)作成
アクセス権を設定してディレクトリ(フォルダ)作成します。
mkdir -m アクセス権
デフォルトのディレクトリ(フォルダ)と、全権限を付けたディレクトリ(フォルダ)を作成してみます。
mkdir testdir1
mkdir -m 777 testdir2
結果を「ls -l | grep testdir」コマンドで確認してみます。
[root@localhost ~]# ls -l | grep testdir
drwxr-xr-x 2 root root 6 5月 11 22:05 testdir1
drwxrwxrwx 2 root root 6 5月 11 22:06 testdir2
「testdir2」ディレクトリ(フォルダ)のみ、全権限が付与されて作成されています。
中間のディレクトリ(フォルダ)も作成
パスを指定してディレクトリ(フォルダ)を作成するとエラーになります。
mkdir ./testdir3/testsub
上のコマンドを実行した結果です。
[root@localhost ~]# mkdir ./testdir3/testsub
mkdir: ディレクトリ `./testdir3/testsub' を作成できません: そのようなファイルやディレクトリはありません
エラーとなりディレクトリ(フォルダ)作成できません。
mkdirコマンドのpオプションを付けて実行します。
[root@localhost ~]# mkdir -p ./testdir3/testsub
結果を「ls -Rl | grep testdir」コマンドで確認してみます。
[root@localhost ~]# ls -Rl | grep testdir
drwxr-xr-x 2 root root 6 5月 11 22:05 testdir1
drwxrwxrwx 2 root root 6 5月 11 22:06 testdir2
drwxr-xr-x 3 root root 21 5月 11 22:14 testdir3
./testdir1:
./testdir2:
./testdir3:
./testdir3/testsub:
「testdir3」ディレクトリ(フォルダ)と「testdir3」配下に「testsub」ディレクトリ(フォルダ)が作成されています。
経過を表示してディレクトリ(フォルダ)作成
ディレクトリ(フォルダ)を作成した時に経過を表示したい場合はないでしょうか?
デフォルトのmkdirコマンドでは、ディレクトリ(フォルダ)を作成しても何も表示されません。
そういった時にはmkdirコマンドのvオプションを使用します。
mkdir -v 作成ディレクトリ(フォルダ)名
デフォルトと経過を表示したディレクトリ(フォルダ)作成を行います。
mkdir testdir4
mkdir -v testdir5
結果を確認してみます。
[root@localhost ~]# mkdir testdir4
[root@localhost ~]#
[root@localhost ~]# mkdir -v testdir5
mkdir: ディレクトリ `testdir5' を作成しました
「testdir5」のみ経過が表示されています。
mkdirコマンドでディレクトリ(フォルダ)が作成できない時
mkdirコマンドで既にディレクトリ(フォルダ)がある場合は作成できません。
[root@localhost ~]# mkdir testdir1
mkdir: ディレクトリ `testdir1' を作成できません: ファイルが存在します
まとめ:Linuxのmkdirコマンドでディレクトリを作成する方法
Linuxサーバーでディレクトリ(フォルダ)を作成するコマンドはmkdirです。
mkdir ディレクトリ(フォルダ)名
mkdirコマンドでディレクトリ(フォルダ)を複数作成する方法は以下の通りです。
mkdir ディレクトリ(フォルダ)1 ディレクトリ(フォルダ)2 ...
半角スペースを区切り文字として複数指定すれば可能です。
mkdirコマンドのオプションについてまとめます。
mkdirコマンドのオプション | 効果 |
---|---|
-m | アクセス権を設定して作成 |
-p | 中間のディレクトリ(フォルダ)も作成 |
-v | 経過を表示 |
mkdirコマンドで既にディレクトリ(フォルダ)がある場合は作成できません。