02この広告は、90日以上更新していないブログに表示しています。02お世話になった本この連載ブログを書くにあたり、お世話になった本がこちら。LPICと被っているところもありますが、実務での使い方なんかも扱っており、良書だと思います。系cshtcsh全てのシェルに共通する機能ユーザの入力を受け取り、コマンドを実行し、結果を表示する。(この一連の動作をRead-Evaluate-Printの頭文字を取ってREPループと呼ぶことがある)。ユーザが、操作している端末を制御する。押した時に、プロセスに停止シグナルを送る処理などがこれに含まれる。シェルは変数を持ち、コマンド実行や結果表示の方法などをカスタマイズできる。いう機能で、操作をマクロ化出来る。Shell(/bin/sh)で書かれている。そのため、これだけでも読めるようになる方が良い。シェルが持っているのは、シェル変数のみ。環境変数はプロセスごとに割り当てられた変数空間にある。環境変数には、設定情報やプログラムの挙動を指定する値を代入する。プログラムを実行すると、実行元の環境変数のコピーが渡される。環境変数は自分自身と自分の子供にしか影響を与えない。シェル変数は、シェルの中だけで使える変数。これらは標準入力から読込、標準出力に出力している。エラーの場合は、標準エラー出力に書き込まれる。パイプと呼ばれる入出力機構を用いると、あるコマンドの標準出力を別のコマンドの標準入力に渡せる。$6}'標準出力の内容をファイルに書き出す事を、リダイレクトという。2>&1パイプは複数連結できる。途中で値を出力しつつ、次のコマンドの標準入力にそのまま値は渡したいという時に使えるのが、teeコマンド。名前の由来があるらしい。データの流れと、「T」という文字の形を重ねあわせると想像できる。file.txt上記のように使用する。UNIXのファイルシステムUNIXの基本がファイル操作。ほとんどのシステム資源をファイルとしてアクセスできる。可能なものはすべてファイルシステムノードで表す(名前空間)。データ形式を強要せずバイトストリームとして扱う。コマンドは標準入力から読んで標準出力に書き、複数のコマンドの入出力を連携したパイプが更生できる。パイプはファイル入出力と同様に扱える。Standard)いわゆる階層構造。Linuxのディレクトリ構造(一覧)を理解するUNIXのファイルシステムは木構造。節となる箇所がディレクトリ、その先の末端がノード。ファイルはノードの一種。通常ファイルディレクトリデバイスファイル名前付きパイプシンボリックリンクソケットノードは、ファイルシステム内で「iノード」というデータ構造で表現される。ファイルシステムの管理領域に配列として格納される。配列へのインデックスがつけられる。これを「iノード番号」という。ハードリンク異なるファイル名が同じiノード番号を指す。同じパーティション内で異なるファイル名を付与できる。ディレクトリへのハードリンクは作成できない。シンボリックリンク特殊なファイルにリンク先へのパスが記録されている。パーティションをまたいだリンクも作成することができる。参照時ディスクアクセスが一回増えることになる。read/write/execute必要な主要コマンドchmodファイルのアクセス権(パーミッション)を変更するchownファイルのオーナーを変更するchgrpファイルの所有グループを変更するumaskファイル作成時のパーミッションに適用されるマスク値を保存するパーミッションの特殊な例ディレクトリに対するパーミッションの注意事項ディレクトリに対する実行権はディレクトリをたどれる権限となる。アクセスすることはできる。ビットそれぞれファイルに対して設定した場合とディレクトリに設定した場合で異なる意味を持つ。コマンドのtフラグで設定する。ビットが設定されている場合メモリに読み込まれた実行ファイルの内容が実行終了後もメモリに保持されたままになる。ハードウェアの進化により、この動作をしないものも増えているらしい。ビットが設定されている場合そのディレクトリ配下のファイルの削除や名前変更は、ファイルの所有者、ディレクトリの所有者、rootしかできなくなる。/tmpなどで用いられるらしい。/tmpはすべてのユーザへの書き込み権限がついているため、作成したものを他者が削除できる。これを回避するために、一般ユーザが他者のユーザのファイルを削除できないようにしている。コマンドのsフラグで設定する。