メインコンテンツへスキップ
初級5分で読める

mkdirでディレクトリ構造を作る

Linuxのmkdirコマンドを使って、ディレクトリを作成する方法を図解を交えて詳しく解説します。

基礎編mkdirディレクトリファイル操作初心者向け

🎯 この記事で学べること

  • 1
    `mkdir`コマンドの基本的な使い方をマスターできます
  • 2
    複数のディレクトリを一度に作成する方法がわかります
  • 3
    `-p`オプションで階層構造を効率的に作る方法を習得できます
  • 4
    エラーへの対処法と権限の扱い方を理解できます
  • 5
    プロジェクト構造の効率的な作成方法が身につきます

読了時間: 約5

mkdirコマンドとは

こんにちは!今回は、新しいディレクトリ(フォルダ)を作成するmkdirコマンドについて学んでいきましょう。

mkdirは「make directory」の略で、まるで新しい部屋を作るように、ファイルを整理するための新しい「箱」を作るコマンドです。デスクトップで右クリックして「新しいフォルダ」を作るのと同じことを、コマンドラインで行うんですね!

基本的な使い方

まずは一番シンプルな使い方から始めましょう。作りたいディレクトリの名前を指定するだけです!

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

mkdirの後にスペースを入れて、作りたいディレクトリ名を書くだけ!簡単ですね。

複数のディレクトリを一度に作成

実は、複数のディレクトリを同時に作ることもできるんです。スペースで区切って並べるだけ!

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

これで4つのディレクトリが一度に作成されました。整理整頓が捗りますね!

よく使うオプション

-p オプション(親ディレクトリも一緒に作成)

ここからがmkdirの真骨頂です!-pオプションを使うと、深い階層のディレクトリ構造を一度に作れるんです。

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

-pは「parent」の頭文字。親ディレクトリがなくても、必要な階層をすべて作ってくれる魔法のオプションです!

実際のプロジェクト構造を作ってみよう

Webプロジェクトでよく使う構造を作ってみましょう:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

波括弧{}を使うと、同じ階層に複数のディレクトリを効率的に作成できます!

🎮 理解度チェック

ここまでの内容を理解できているか、確認してみましょう!

Q1: 新しいディレクトリ「work」を作成するコマンドは?

新しいディレクトリ「work」を作成するコマンドは?

Q2: projects/2025/januaryという階層構造を一度に作成するには?

projects/2025/januaryという階層構造を一度に作成するには?

エラーとその対処法

ディレクトリが既に存在する場合

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

エラーが出ましたね!でも大丈夫、-pオプションを使えば解決できます:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

スペースを含む名前の扱い方

ディレクトリ名にスペースを含む場合は、引用符で囲むか、バックスラッシュでエスケープします:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

スペースを含む名前は扱いが面倒なので、代わりにハイフン(-)やアンダースコア(_)を使うことをおすすめします!

実践的な使用例

日付入りのディレクトリを作成

バックアップや作業記録に便利な、日付入りディレクトリの作り方:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

プロジェクトテンプレートを作成

よく使うプロジェクト構造をコマンド一つで作成:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

🎮 応用問題

Q3: 以下の構造を一つのコマンドで作成するには?

blog/
├── posts/
│   ├── 2025/
│   └── drafts/
└── images/
上記の構造を一つのコマンドで作成する最も効率的な方法は?

ディレクトリ作成のベストプラクティス

1. わかりやすい名前を使う

# 良い例:意味が明確
mkdir user-profiles
mkdir backup-2025-01

# 避けたい例:意味不明な名前
mkdir stuff
mkdir tmp123

2. 一貫性のある命名規則

# ケバブケース(推奨)
mkdir user-data
mkdir file-uploads

# または、アンダースコア
mkdir user_data
mkdir file_uploads

3. 権限を考慮する

重要なディレクトリは作成後に権限を設定:

# プライベートなディレクトリ
mkdir private-files
chmod 700 private-files  # 所有者のみアクセス可能

便利なテクニック

エイリアスを作成

よく使うディレクトリ構造をエイリアスに登録:

# ~/.bashrcに追加
alias mkproject='mkdir -p $1/{src,tests,docs,public}'

作成と移動を同時に

ディレクトリを作成して、すぐに移動:

CommandAcademy Terminal
Welcome to CommandAcademy Terminal!
Type "help" to see available commands.
user@cmdac:~$

ファイルツリー

/
etc
hosts35B
passwd76B
home
user
tmp
usr
bin
share
var
log

📝 まとめ

今回はmkdirコマンドについて学びました!

  • mkdirは新しいディレクトリを作成するコマンド
  • 複数のディレクトリを一度に作成できる
  • -pオプションで階層構造を効率的に作成
  • 波括弧{}で複雑な構造も簡単に作成
  • エラーを避けるには-pオプションが便利

ディレクトリ構造をきちんと整理することは、プロジェクトを効率的に管理する第一歩です。mkdirコマンドを使いこなして、整理整頓されたファイルシステムを作りましょう!

次はtouchコマンドでファイルを作成する方法を学びましょう!

上のPlaygroundで色々なディレクトリ構造を作ってみてください。-pオプションと波括弧を組み合わせれば、複雑な構造も簡単に作れますよ!