入門

パート 2

ファイルとディレクトリを怖がらない

安全なリズムは、確認 変更 もう一度確認、です。

ウィンドウではなくツリーで考える

プロジェクトはディレクトリとファイルのツリーです。md はディレクトリ、mf はファイルを作り、dir はツリーを見せます。project/notes/ideas.txt のような明確なパスは数か月後にも読みやすいままです。

小さなプロジェクトを作る

アセット、設定、メモ用の場所を分けて作り、その直後に dir で確認します。出力を「意図した構造と実際の構造が一致しているか」の確認に使います。

cd lil-playground
md project | md project/assets | md project/config | md project/notes
mf project/notes/ideas.txt | mf project/config/app.ini
dir 3 project -G -a

変更する前に調べる

stat は一つのパスを詳しく見せ、dir は周囲の構造を見せます。移動先などが重要な操作では、この二つの視点で文脈を確認します。

stat project/notes/ideas.txt
dir 2 project -G -a

コピー・移動・名前変更は別の意図

copy は元を残し、mov は場所を変え、ren は名前を変えます。各操作の後にツリーを確認し、実行する前に結果を想像できる状態を目指します。

copy project/notes/ideas.txt project/notes/ideas.copy.txt
ren project/notes/ideas.copy.txt ideas-archive.txt
md project/archive
mov project/notes/ideas-archive.txt project/archive

フォルダを順番に開く代わりに検索する

find は指定した範囲で名前、ファイル、ディレクトリ、本文を探せます。まず小さな project 内で絞った検索を試し、同じ考え方を大きなコードベースへ広げます。

find ideas -f -p project
find app -f -e ini -p project/config
find archive -F -p project

削除には専用の手順を持つ

捨ててもよい project/tmp を作り、中身を確認してから再帰削除します。破壊的な操作では数秒の速さより、対象を自分で明示的に確認することが重要です。

md project/tmp | mf project/tmp/throw-away.txt
dir 2 project/tmp -G -a
del project/tmp -r

プロジェクトの骨格はすでに自動化

毎回同じフォルダを作るなら、確認済みの手順を .lil に残します。後から設定、アーカイブ、アップロード、検査を足して育てられます。

スクリプトとして残す

project-skeleton.lil として保存します。小さく予測可能な構造を作り、次のプロジェクトでは本当に違う部分だけ調整できます。

#lil
@install md mf dir stat copy ren mov find
cd lil-playground
md project
md project/assets
md project/config
md project/notes
mf project/notes/ideas.txt
dir 3 project -G -a