Think-Environment "Directory Structure"
安全で効率のよいシェル操作のためのディレクトリ構造を考える。
はじめに
シェルを用いた作業を行うにあたり、まずは安全で効率のよい作業場所をつくる。作業場所の候補としてユーザのホームディレクトリ直下がまず思いつくが、そこはあまり安全ではない。なぜなら、そこにはシステムが管理するディレクトリやファイルがすでにたくさんあるからだ。コマンド操作ミスによりそれらファイルを誤って削除してしまうかもしれない。(これはTAB補完を使用する場合によく起こる。) ここでは、ホームディレクトリ下に作業用ディレクトリを作成し、そこでシェル操作を行うような環境をつくる。この構造にすることで得られる便益は以下のとおり:
- 誤操作によるファイル破損の予防:作業用ディレクトリを作成することにより、ホームディレクトリ直下にあるシステムが管理するディレクトリやファイルをコマンド操作ミスにより破損してしまうリスクを軽減できる。
- 容易で分かりやすいバックアップ:データのバックアップ対象を作業ディレクトリとすることで、ホームディレクトリにある余計なシステムファイル等をバックアップの対象から外すことができる。
Key point: 安全なシェル操作のため、作業用ディレクトリを用意する。
前提条件
- ✓ PowerShellのインストール
- ✓ (Optional) Windows Terminalのインストール
- ✓ 検証した環境はこちら
作業用ディレクトリの構造
以下のような作業ディレクトリ構造を考えた。まずホームディレクトリ直下に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からコマンド操作で作成する方法を示す。
エクスプローラで作業用ディレクトリを作成する
- ホームディレクトリをエクスプローラで開く
- WIN+R →
.(ドット)を入力
- WIN+R →
- ホームディレクトリ直下に
cmsディレクトリを新規作成する cmsディレクトリの下にdraftsディレクトリを新規作成する
PowerShellで作業用ディレクトリを作成する
- PowerShellを起動する
- ホームディレクトリ直下に
cmsディレクトリを新規作成するNew-Item -ItemType Directory -Path ~/cms
cmsディレクトリの下にdraftsディレクトリを新規作成するNew-Item -ItemType Directory -Path ~/cms/drafts
作業用ディレクトリで作業をする手順
- PowerShellを起動する
- 作業用ディレクトリ
draftsに移動するcd ~/cms/drafts
- シェル操作を行う
- たとえば、作業用ディレクトリ
draftsにファイルを作成したり編集したりする
- たとえば、作業用ディレクトリ
用語
- ホームディレクトリ
-
ユーザのホームディレクトリ。Windowsでは
C:/Users/<ユーザ名>に位置する。エクスプローラでのアクセスは、WIN+R →.(ドット)を入力。 -
Homeは日本語で「家」(いえ)。「家」の意味は、人が生活する建物。家族の拠点や個人の居住空間として機能するシステム。日本では、伝統的な木造家屋から現代的なマンションまで多様な形式がある。また、「家」は物理的な建物だけでなく、家族や家庭、先祖代々の血統といった概念も含む。
- 作業用ディレクトリ
-
作業用のディレクトリ。どこに作成してもよいが、この記事では作業用ディレクトリはホームディレクトリ直下に作成し、シェル操作を行う際の作業場所としている。