Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
mkdir / rmdir / touch
『mkdir』はディレクトリの作成、『rmdir』は空ディレクトリの削除、『touch』はファイルの作成またはタイムスタンプの更新を行うコマンドです。ファイル・ディレクトリの準備作業によく使います。
構文
mkdir [オプション] ディレクトリ名 rmdir [オプション] ディレクトリ名 touch [オプション] ファイル名
オプション一覧
| コマンド / オプション | 概要 |
|---|---|
| mkdir ディレクトリ | ディレクトリを作成します。 |
| mkdir -p パス | 中間ディレクトリも含めて再帰的に作成します。すでに存在してもエラーになりません。 |
| mkdir -m モード ディレクトリ | 作成時にパーミッションを指定します(例:mkdir -m 755 dir)。 |
| rmdir ディレクトリ | 空のディレクトリを削除します。中身があるとエラーになります。 |
| rmdir -p パス | 指定パスの空ディレクトリを再帰的に削除します。 |
| touch ファイル | ファイルが存在しなければ空ファイルを作成します。存在すれば最終更新時刻を現在時刻に更新します。 |
| touch -t 日時 ファイル | タイムスタンプを指定した日時に設定します(形式:[[CC]YY]MMDDhhmm[.ss])。 |
| touch -a ファイル | アクセス時刻のみを更新します。 |
| touch -m ファイル | 更新時刻のみを更新します。 |
サンプルコード
以下のディレクトリ構造を例に説明します。
ディレクトリを作成します。
mkdir project ls
empty_dir project
複数のディレクトリを一度に作成します。
mkdir src tests docs ls
docs empty_dir project src tests
中間ディレクトリも含めて一気に作成します。『-p』を付けると途中のディレクトリが存在しなくても自動で作られます。
mkdir -p project/src/components ls project/src/
components
空ファイルを作成します。
touch index.html style.css script.js ls
docs empty_dir index.html project script.js src style.css tests
空のディレクトリを削除します。中身があるとエラーになります。
rmdir empty_dir
rmdir project
rmdir: failed to remove 'project': Directory not empty
スクリプト内でよく使うパターンです。『mkdir -p』は既にディレクトリが存在してもエラーにならないため、冪等(べきとう)な処理として安全に使えます。
mkdir -p /var/log/myapp touch /var/log/myapp/app.log
概要
『mkdir -p』はスクリプト内で「ディレクトリがなければ作る」という処理によく使います。すでに存在していてもエラーにならないため、冪等(べきとう)な処理として安全に書けます。中身のあるディレクトリを削除したい場合は、『rmdir』ではなく『rm -r』を使います。
『touch』は主に「空のファイルを用意する」「ビルドシステムに変更を知らせるためタイムスタンプを更新する」という2つの用途で使われます。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。