Apps

単一のコマンドでネストされたディレクトリ構造とすべてのサブフォルダを再帰的に作成する

単一のコマンドでネストされたディレクトリ構造とすべてのサブフォルダを再帰的に作成する

mkdirコマンドでネストされたディレクトリ構造を作成するコマンドラインを使えば、複数のディレクトリをネストして瞬時に作成できます。これにより、フォルダの中にサブフォルダ、さらにサブフォルダという複雑なディレクトリ構造を、瞬時に再帰的に作成できます。各ディレクトリに手動で移動して新しいディレクトリを作成し、そのサブディレクトリに再度移動してさらに別のディレクトリを作成するといった作業は不要です。コマンドラインのトリックを使えば、中間ディレクトリのパス全体を一挙に作成できます。

ネストされたディレクトリ構造を簡単に構築するには、おなじみのmkdirコマンドを使用する必要があります。このコマンドは、通常、単一の新しいフォルダを作成するために使用されますが、-pフラグを使用して作成先のフルパスを指定します。実際に試してみたい場合は、/Applications/Utilities/フォルダにあるターミナルアプリを起動し、mkdir -pを使用して、指定されたパスを使用して単一のコマンドラインで一連のディレクトリを作成する方法を確認してください。

パスを指定してディレクトリ構造を再帰的に作成する

最も単純な形式では、次のように mkdir にパスを指定するだけです。

mkdir -p /path/to/make/

-p フラグは、すべてのサブフォルダーが再帰的に適切な場所に作成されることを保証します。

例えば、作成したいネストされたディレクトリパスが「/Create/These/Folders/Within/Each/Other/」で、これらのフォルダやサブフォルダが現在存在しないとします。これらをすべて即座に作成するには、次のコマンド文字列を使用します。

mkdir -p ~/Create/These/Folders/Within/Each/Other/

これにより、「Create」フォルダーが親ディレクトリとして作成され、その後に「/These/Folders/Within/Each/Other/」の完全な一連のフォルダーが適切にネストされた子ディレクトリとして作成されます。

ビルドしたいパスの長さを指定すると、親ディレクトリとすべての中間子ディレクトリが即座に作成されます。

ディレクトリとすべてのサブフォルダが作成されたことを確認する

すべてのディレクトリが構築され、すべてが意図したとおりに動作したことを素早く再確認するには、次のように 'find' コマンドを使用します。

find (parent directory) -type d -print

上記の例をもう一度使用すると、find コマンドは次のようになります。

find ~/Create/ -type d -print

このコマンドの出力は次のようになり、親ディレクトリからすべての子フォルダまで再帰的にリストされます。

$ find ~/Create -type d -print
/Create
/Create/These
/Create/These/Folders
/Create/These/Folders/Within
/Create/These/Folders/Within/Each
/Create/These/Folders/Within/Each/Other

もちろん、Finder を使用して、複雑なフォルダー構造が構築されていることを確認することもできます。おそらく、最も簡単に確認するには、「リスト」ビューから表示し、三角形を使用して各サブディレクトリを再帰的に開き、その内容を表示します。次のようになります。

コマンドラインから作成されたネストされたフォルダパスのFinderビュー

(すべての隠しファイルが表示されるため、.DS_Store ファイルが表示されることに注意してください)

これは、少し前にいくつかの便利なコマンドライン トリックの一部として取り上げた非常に便利なヒントですが、利便性を考慮すると、単独で取り上げる価値は十分にあります。

はい、Mac Finder特有の同様のトリックはないので、ターミナルを使うのが断然一番早い方法です。ただし、必要であれば、OS XのAutomatorアプリを使ってネストされたディレクトリの作成を理論的に自動化することも可能です。ちなみに、mkdirコマンドはMac OS XとLinuxの両方で同じように動作するので、必要に応じて複数のプラットフォームで使用できます。もっとコマンドラインのトリックを知りたいですか?私たちがお手伝いします。