Think-Environment "Directory Structure"

安全で効率のよいシェル操作のためのディレクトリ構造を考える。

目次

はじめに

シェルを用いた作業を行うにあたり、まずは安全で効率のよい作業場所をつくる。作業場所の候補としてユーザのホームディレクトリ直下がまず思いつくが、そこはあまり安全ではない。なぜなら、そこにはシステムが管理するディレクトリやファイルがすでにたくさんあるからだ。コマンド操作ミスによりそれらファイルを誤って削除してしまうかもしれない。(これはTAB補完を使用する場合によく起こる。) ここでは、ホームディレクトリ下に作業用ディレクトリを作成し、そこでシェル操作を行うような環境をつくる。この構造にすることで得られる便益は以下のとおり:

  1. 誤操作によるファイル破損の予防:作業用ディレクトリを作成することにより、ホームディレクトリ直下にあるシステムが管理するディレクトリやファイルをコマンド操作ミスにより破損してしまうリスクを軽減できる。
  2. 容易で分かりやすいバックアップ:データのバックアップ対象を作業ディレクトリとすることで、ホームディレクトリにある余計なシステムファイル等をバックアップの対象から外すことができる。

Key point: 安全なシェル操作のため、作業用ディレクトリを用意する。

前提条件

作業用ディレクトリの構造

以下のような作業ディレクトリ構造を考えた。まずホームディレクトリ直下にcmsというディレクトリを作成する(cmsの由来はContents Management Systemのイニシャルから)。次にそのcmsディレクトリの下にdraftsディレクトリを作成し、そこをシェル操作のための作業用ディレクトリとする。また、cmsディレクトリの下にはdraftsのほかにも、たとえばbinディレクトリやtemplatesディレクトリなどを作成し、そこにはスクリプトやテンプレートを格納する。

home
 └─cms
    ├─bin
    │  ├─pwsh-sketches   <-- cloned github repository
    │  ├─python-sketches <-- cloned github repository
    │  ├─r-sketches      <-- cloned github repository
    │  └─...
    ├─drafts    <-- working directory
    ├─templates <-- report templates
    ├─tools     <-- toolbox
    └─...

この構造の目的は主にシェルの誤操作によるファイル破損のリスク軽減である。作業用ディレクトリdraftsには、作業に必要な最小限のファイルのみを置くように運用する。また、作業用ディレクトリdraftsの一つ上の階層に普段使いのツールを配置することで、おおよそのシェル操作をdraftsディレクトリから移動することなく行えるようにする目的もある。(たとえば、draftsディレクトリからbinディレクトリに配置したスクリプトは次のようなコマンドで利用できる: ../bin/my-script.ps1

図:ホームディレクトリには(作業には)余計なファイルが多すぎる!

作業用ディレクトリの作成

以下の手順でまずホームディレクトリ直下に作業用ディレクトリcmsを作成し、次にcmsの下に作業用ディレクトリdraftsを作成する。以下、エクスプローラを用いて作業用ディレクトリを作成する方法と、PowerShellからコマンド操作で作成する方法を示す。

エクスプローラで作業用ディレクトリを作成する

  1. ホームディレクトリをエクスプローラで開く
    • WIN+R. (ドット)を入力
  2. ホームディレクトリ直下にcmsディレクトリを新規作成する
    • 右クリック → 新規作成 → フォルダ → cmsと入力 → ENTER
      図:cmsディレクトリの作成
  3. cmsディレクトリの下にdraftsディレクトリを新規作成する
    • cmsディレクトリを開く → 右クリック → 新規作成 → フォルダ → draftsと入力 → ENTER
      図:draftsディレクトリの作成

PowerShellで作業用ディレクトリを作成する

  1. PowerShellを起動する
  2. ホームディレクトリ直下にcmsディレクトリを新規作成する
    • New-Item -ItemType Directory -Path ~/cms
  3. cmsディレクトリの下にdraftsディレクトリを新規作成する
    • New-Item -ItemType Directory -Path ~/cms/drafts

作業用ディレクトリで作業をする手順

  1. PowerShellを起動する
  2. 作業用ディレクトリdraftsに移動する
    • cd ~/cms/drafts
  3. シェル操作を行う
    • たとえば、作業用ディレクトリdraftsにファイルを作成したり編集したりする

用語

ホームディレクトリ

ユーザのホームディレクトリ。WindowsではC:/Users/<ユーザ名>に位置する。エクスプローラでのアクセスは、WIN+R. (ドット)を入力。

Homeは日本語で「」(いえ)。「家」の意味は、人が生活する建物。家族の拠点や個人の居住空間として機能するシステム。日本では、伝統的な木造家屋から現代的なマンションまで多様な形式がある。また、「家」は物理的な建物だけでなく、家族や家庭、先祖代々の血統といった概念も含む。

作業用ディレクトリ

作業用のディレクトリ。どこに作成してもよいが、この記事では作業用ディレクトリはホームディレクトリ直下に作成し、シェル操作を行う際の作業場所としている。

リンク