シェルの紹介


ファイルとディレクトリのナビゲーション


図の1

ファイルシステムは、bin、data、users、tmpといったサブディレクトリを含むルートディレクトリで構成されています

図の2

/Usersの下に、"/Users/imhotep"、"/Users/larry"、"/Users/nelle"のようなサブディレクトリとして、ホームディレクトリが存在します

図の3

Usersディレクトリ以下のディレクトリツリー。"/Users"には"backup"と"thing"ディレクトリがあり、"/Users/backup"には"original"、"pnas_final"、"pnas_sub"が含まれ、"/Users/thing"には"backup"があり、"/Users/thing/backup"には"2012-12-01"、"2013-01-08"、"2013-01-27"が含まれる

図の4

Usersディレクトリ以下のディレクトリツリー。"/Users"には"backup"と"thing"ディレクトリがあり、"/Users/backup"には"original"、"pnas_final"、"pnas_sub"が含まれ、"/Users/thing"には"backup"があり、"/Users/thing/backup"には"2012-12-01"、"2013-01-08"、"2013-01-27"が含まれる

図の5

シェルコマンドの一般的な構文

ファイルとディレクトリの操作


図の1

nanoテキストエディタの動作中のスクリーンショット。テキストは「It's not publish or perish any more, it's share and thrive」

パイプとフィルタ


図の1

リダイレクトとパイプの例。"wc -l *.pdb"はシェルに出力を送る。"wc -l *.pdb > lengths"は出力をファイル"lengths"に送る。"wc -l *.pdb | sort -n | head -n 1"はパイプラインを構築し、"wc"コマンドの出力を"sort"コマンドの入力とし、"sort"コマンドの出力を"head"コマンドの入力とし、最終的に"head"コマンドの出力をシェルに送る

ループ


図の1

ループ "for filename in .dat; do echo cp $filename original-$filename;done" は、現在のディレクトリ内のすべての".dat"ファイルの名前を$filename変数に代入し、それぞれのファイルについてechoコマンドを実行します。"basilisk.dat"、"minotaur.dat"、"unicorn.dat" の場合、それぞれ "cp basilisk.dat original-basilisk.dat"、"cp minotaur.dat original-minotaur.dat"、"cp unicorn.dat original-unicorn.dat" と表示されます。

シェルスクリプト


ファイルを見つける