CUI (Character User Interface) とは?
テキストベースのコマンド入力によって,ファイルやフォルダを操作し,コンピュータを操作するためのインターフェース.マウス操作によるインターフェースはGUI (Graphical User Interface) と呼ばれる.CUIはCLI (Command Line Interface) とほぼ同義である.
主要なOSに付属するCLIのためのアプリケーション
- Windows: コマンドプロンプト,PowerShell,Windows Terminal (Microsoft Storeからインストール可能)
- macOS: terminal.app
- Linux: 端末 (terminal),Konsole など
Windowsのコマンド体系は独特なので,以下では扱わない.(一部使用可能なものもある.)
ファイルシステムとパス
コンピュータのディスクに格納されるファイルやフォルダはファイルシステムによって管理されている.WindowsではNTFS,macOSではAPFS,Linuxではext4がよく用いられる.
パス (path) とは,ファイルやフォルダのディスク内における場所を表すものである.(pathは,「道筋」という意味の英単語.)
道筋を示すためには,起点となる場所が必要である.これをルート(root)という.ルートの名称はWindowsではC:\(Cドライブの場合),macOSやLinuxでは単に/を用いる.
あらゆるファイルやフォルダはルートから一意の道筋で到達することができる.これを絶対パスという.例えば,WindowsにおけるあるユーザAliceのドキュメントフォルダは,C:\Users\Alice\Documentsが絶対パスである.
絶対パスに対して,今現在の場所からの道筋を示したのが相対パスである.相対パスでは,.が現在のフォルダ(カレント),..がひとつ上位のフォルダ(ペアレント)を指す記号として使われる.Windowsにおいて,ユーザAliceのドキュメントから見たユーザBobのピクチャフォルダは,..\..\Bob\Picuresと表される.
主なファイル/フォルダ操作コマンドとよく使うオプション
pwd: カレントフォルダのパスを表示ls: フォルダ内のファイル/サブフォルダの一覧表示ls -l: リスト表示にするls -a: 隠しファイルも表示する
cp コピー元 コピー先: ファイル/フォルダのコピーcp -r: フォルダのコピー
mv 移動元 移動先: ファイル/フォルダの移動rm ターゲット: ターゲットとなるファイル/フォルダの削除rm -r: フォルダの削除
ファイル名やフォルダにはワイルドカードとして?(任意の一文字),および*(任意の文字列)を使うことができる.macOSやLinuxでは,これをさらに拡張した正規表現が使用可能である.正規表現を用いると,例えば
先頭がaから始まり,拡張子を含まないファイル名が2桁の数字,拡張子がjpgであるファイル
といった柔軟かつ複雑な条件指定が可能である.