ターミナルの基本
ターミナル(黒い画面[Macデフォルト白い画面])とは
「ターミナル (Terminal) は、アップルのOS Xに標準で付属しているUNIX端末エミュレータ。ターミナルを起動すると、UNIXとしてのOS Xの標準CLIシェルであるbashが起動し、UNIXコマンドを打ち込むことができる。」(Wikipediaから引用)
「bash (バッシュ)は UNIX で使用するシェルのひとつ。bash の名前はBourne-Again Shellの頭字語。」(Wikipediaから引用)
シェル(Shell):OSの内部(カーネル)の外側にある殻。各種サービスを行っているユーザインターフェース。
基本事項
ターミナルの仕組み、本質がすごくわかりやすく以下に書かれています。
Webデザイナーの為の「本当は怖くない」”黒い画面”入門 Part.01 « FJORD, LLC
以下は、エッセンスだけ、頭の整理、備忘として引用させていただき、書き留めます。
コマンド
”黒い画面”ではファイル名を入力することでプログラムを実行する。(”黒い画面”は所詮はプログラムのファイル名を打ち込んでいるだけ)
PATH
PATHは”黒い画面”に設定されている項目の一つで、ここにディレクトリ名を設定しておくと、そこの中にあるプログラムはディレクトリ名を省略してファイル名だけで実行できる。PATHのお陰で見た目上コンピューターに正にCommand(指令)を送っているように見える。
コマンド ls 「一覧(list)を表示せよ!」
$ ls
Applications Documents Library Music Public
Desktop Downloads Movies Pictures
実体は、/bin/ls ファイル名を打ち込んでいる。
引数とオプション
引数はコマンドに渡す文字列。コマンドの後にスペースを一個いれて文字を打ち込む。引数はスペースで区切って複数渡すことができる。引数をどう処理してくれるのかはコマンドによって異なる。
引数の中で特に-(ハイフン)から始まっているものをオプションという。
作業の自動化
“黒い画面”での作業は文字を打ち込むだけの単純で厳密な手順なので簡単に自動化できる。(黒い画面で打つコマンドをそのままファイルに書くだけで自動化が可能。)
例:以下を自動化
$ mkdir bar
$ cp file1 bar/file1
- 黒い画面で打つコマンドをそのままファイルに書く。mycopyファイルの中身
mkdir bar
cp file1 bar/file1 - そのファイルを実行するにはshコマンドに渡す。$ sh mycopy
謎のおまじない”シバン”
“黒い画面”にはスクリプトを単体で実行するためにshebang(シバン:sharp bang)という機能あり。(「”黒い画面”で実行しようとしたファイルの1行目の最初の二文字が#!だったら、その後に書いてあるコマンドに2行目以降の全てを渡す」)
例:mycopyにシバン追記(1行目の#!)
#!/bin/sh
mkdir bar
cp file1 bar/file1
mycopyのファイル権限を変更し、$ mycopy で実行
shebangを利用すれば様々なスクリプトを単体で実行できる独自のコマンドにすることが可能。