シェル（shell）上でのファイルの操作
どうやってファイルを作ったり、見たり、コピーしたり、名前を変えたり、プリントアウトしたりするのか？について。

ターミナルを起動してみよう。
ターミナルをツールバーメニューの中から選択する。
 ターミナルの中にシェル（shell, デフォルトではbash）と言うプログラムが起動されている。
 シェルはユーザーが入力したコマンドをUnixのカーネル（中枢部分となるプログラム）に伝えて、他のアプリケーションプログラムの起動や制御を行うプログラムである。
 中枢部分を取り巻く殻（から）みたいだからシェル（shell 殻）と名づけられたらしい。
カレンダーを見てみよう。
ターミナルの中で、ある特定の月のカレンダーを次のコマンドで表示させてみる。
cal 4 2008

1年分のカレンダーを見るには、
cal 2008

リダイレクト（redirection）を利用して新しいファイルを作ってみる
ほとんどのコマンドは出力をターミナルの画面の中に返してくる。
 その出力を自分の好きな所（ファイル）へ変えてやることができる。これをリダイレクト(redirect)と呼ぶ。
cal 2008 > 2008_no_calendar

ls
リスト（list）の意味｡
 カレントディレクトリーの中にあるファイルの名前を表示する。
 オプション（option、あるいはフラッグFlagとも言う）の種類:
-a: 隠しファイルも含めて全てのファイルを表示
 -F: ディレクトリーの後に / 、実行ファイルの後に *、 リ
ンクファイルの後に @ をつけて表示 -l: 長い詳しいファイル情報の表示
 -R: 子ディレクトリー（sub-directory）の内容も表示
 -s: ファイルの大きさを表示cat
ファイルの中身、内容を見るには

cat コマンドを使う
cat [ファイル名]
 cat 2008_no_calendar

more コマンドを使う
more [ファイル名]
 more 2008_no_calendar

less コマンドを使う

複数のファイルを1つのファイルにまとめる


cat コマンドを使うと複数のファイルを続けて見ることができる。
まず、5カ月分のカレンダーをファイルに入れる。
 cal 4 2008 > 4gatsu
 cal 5 2008 > 5gatsu
 cal 6 2008 > 6gatsu
 cal 7 2008 > 7gatsu
 cal 8 2008 > 8gatsu
 そして、cat 4gatsu 5gatsu 6gatsu 7gatsu 8gatsu

この出力を別のファイルに書き込む。
cat 4gatsu 5gatsu 6gatsu 7gatsu 8gatsu > 2008zenki

ファイルの最後に付け足す
１つのファイルの最後に（上書きをせずに）他の情報を付け足すことができる。
 これを付けたし（appending）と呼ぶ。これは、 >> を使うとできる。


cal 9 2008 >> 2008zenki

cp
コピー（copy）の意味。
 ファイルの内容を別のファイルにコピーする。


cp [コピー元のファイル名] [新しいファイル名]

フラッグ （オプション、とかスイッチとかとも言う）-r: ディレクトリーとその中身の全てをコピーする。
 このフラッグを付けずにディレクトリーをコピーしようとするとエラーメッセージが出るはず。
mv
移動（move）
 名前の変更（rename）コマンドと呼んでも良い。
 ファイルの名前を別の名前に変更する。


mv [元のファイル名] [新しいファイル名][新しいファイル名] をディレクトリーの名前にすると、 [元のファイル名] のファイルは同じ名前のまで、指定したディレクトリーの中へ移動する。

rm
削除（リムーブ、remove、取り除く）という意味。
 指定した1つ又は複数のファイルを消す。
 ファイルは破壊されます。
 ほんとになくなっちゃいます。
 元に戻せなくなります!!!
rm [ファイル名]

デフォルトではディレクトリーは消せない。
 最近はエイリアス（alias）で rm –i のフラッグが付いていて、いつでも消す前に確認するようにしてあることが多い。
ディレクトリーの操作
ディレクトリーとは単に、「他のファイルが中に入っているファイル」のことである。ここでは、ディレクトリーを作る、ディレクトリー間でファイルを移動させる、ファイルの名前を変更、あるいは削除する方法を学ぶ。

mkdir

ディレクトリーを作る（make directoryの意）
mkdir [新しいディレクトリーの名前] 例） mkdir calendarディレクトリー間でファイルの移動をする。
ディレクトリーを新しく作ると、その中には何もファイルは入っていない。
 mv コマンドを使ってファイルをそのディレクトリーの中に入れてやる。


mv 2008zenki calendarパス名の使い方

ディレクトリーの中に子ディレクトリー（subdirectory） を作ってやることもできる.


mkdir calendar/months

相対パスを指定することで、子ディレクトリーの中にファイルを移動させることもできる。
mv 4gatsu calendar/months
 他のファイル，5gatsu … 9gatsu, も移動させてみよ。


他のコマンドも同様にパス名を利用できる。
ls calendar/months
 ls /cdディレクトリー変更（change directory）の意味。
 カレントディレクトリーを指定したディレクトリーに変更する。
cd [ディレクトリー名]
 cd calendar

ディレクトリー名を指定せずに単に cd とやると、自分のホームディレクトリーに移動する。

pwd
ワーキングディレクトリーを表示せよ（printworking directory）の意味。
 自分が今いるカレントディレクトリーのフルパス名（絶対パス名）が表示される。
rmdir
ディレクトリーを削除（remove directory）の意味。
 ディレクトリーを削除する。（rm との違いに注意）。
 消したいディレクトリーは空になっていなくてはならない。中に何か他のファイルが入ったままだとエラーがでる。
プリンターを使う
プリントアウトする（印刷する，つまりコンピューターからプリンターを操作する）時の基本的なコマンドlpr
プリント（印刷）コマンド (ラインプリンター “lineprinter”の意味)
 指定したファイルを指定したプリンターにプリントアウト（印刷）する。


lpr [フラッグ] [印刷するファイル名]

フラッグ:-P: プリンターを指定。
 -w[1-n]: 1ページ当たりに印刷するページ数の指定。
lpq
プリンターのキュー（queue、行列、ジョブの待ち行列のこと）を見る。 (“line printer query” ラインプリンターに質問する、の意。)
 ファイルをプリントする際には、ファイルのデータはプリンターのキュー（印刷待ちのジョブの行列）に送られる。
 lpq はプリントキューで印刷待ちをしているファイルの名前を表示する。
 lpr コマンド同様 -P フラッグを付けてキューを見たいプリンターを指定する。
lprm
ラインプリンターリムーブ。line printer remove
 プリントキューから自分の印刷街をしているファイルを削除するのに使う。
 まず lpq で自分のファイルを確認し、そしてlprm [ジョブ番号] で指定したジョブを削除する。
 自分がプリンターに送ったジョブ以外は削除できない。
 ‘-’ フラッグを使うと自分がプリンターに送ったジョブを全て削除できる。