ボクココ

個人開発に関するテックブログ

Linux/UNIX操作のまとめ(4/4) & 読み終えての感想

予定通り連休中に読み終えた!今年のGWは本読みとフットサルだけで終わりました。 この本の後半はメールやプリンタの使い方とかだったから飛ばした部分もあったけど、ある程度基本的なことは理解できたな。
感想としてはわかりやすかったと言えると思う。実際に実行をしてみてどういう結果になるかというサンプルが多くて助かる!そのサンプルの多さがこの本の厚さを物語っている気がした。てことで厚いからと言って内容が濃いわけでもなく、まさしく入門者向けの本って感じでしたね。
どの本かわからない人はもう一度リンク貼っておきます。

んじゃその最後のまとめ、行ってみよう

シェルプログラミング
コマンドラインに入力していることを記述できる。
実行すると、そこに記述された命令を一気に実行してくれる。
シェルスクリプトの実行
source スクリプト名 現在の環境でスクリプトを実行
. スクリプト名 同上
bash スクリプト名 新しいbashを起動してスクリプトを実行する
#はコメント
スクリプトをbashで実行する時、通常はエコー表示されないのでデバッグしにくい。
bash -v スクリプト名 全文エコー表示
bash -x スクリプト名 実行分をエコー表示
そのスクリプト名だけで実行したい時があるだろう ruby
その時はchmod +x filename のように実行許可ファイルに設定する。
さらにフルパスを入力すれば実行できる。
パスを指定すれば、そのコマンド名だけで実行できる。
PATH=$PATH:$HOME/mybin
起動シェルを指定したい場合がある。
例えば、Aシェルは動くがBシェルは動かない
スクリプトだけはプログラミング機能が充実したシェルBを実行したい
このテキストはシェルスクリプトではなくPerlスクリプトである
などがある。その時に、#! /bin/bash,sh,ksh などを指定する。
シェルに引数を渡す
$@ 全ての引数を空白でつないだ文字列
$1 $2 .. 最初の引数、2番目の引数・・
$# 引数の数
clear 画面をクリアする シェルプログラムで見栄えを良くする
if 条件
then
elif
then
else
fi
ここの条件が少し特殊
if test 条件  if [ 条件 ] という2パターン[]の中には空白
-d file fileがディレクトリであれば真
-e file fileが存在すれば真
-f file fileが通常のファイルなら真
-L file fileがシンボリックリンクなら真
-r file fileが読取可能なら真
-x file fileが実行可能なら真
-w file fileが書き込み可能なら真
-z str strがNULLなら真
str1=str2 文字列が等しければ真
arg1 -eq arg2 arg1とarg2が等しければ真
etc..
for 変数 in リスト
do

done
whileも似ている
シェルスクリプト内の数値計算はexpr を先頭につける
ヌルコマンド(:)何も実行しないで真を返す
スクリプト内で会話処理
read 変数名で指定した変数に文字入力させたものを代入できる。
ヒアドキュメント
シェルプログラム実行のために必要なドキュメント(データ)を、
シェルプログラム自身の中に埋め込む
これによってtxtでデータを分けなくてもいいようになる。
記法 grep $1 << END ~~~ END
最初の引数で~~間を検索し、一致したものを表示
その他の機能
break continue exit return などプログラミングでお馴染み

パッケージのインストール
rpm -ivh pachage_name
基本的にパッケージのインストール・削除等全てrpmコマンドで実行

システム情報を表示する
last user_name ログイン履歴を表示
uptime システムの稼働時間を表示
uname システム情報を表示
w ログインユーザの状態を表示
free 空き盛情報を表示
top CPYの負荷情報を表示
dmesg カーネルログ情報を表示
この出力をUNIXの達人に送って診断してもらう用途がある

UNIXの楽しい世界
bc 電卓を使う
cal カレンダを表示する
factor 因数分解をする
od ファイルをダンプする
様々なオプションで何バイト区切りの何進数かを決められる
fold テキストを折りたたむ
expand タブをスペースに展開する
cut テキストから文字列を抜き出す
wc ファイルのバイト数単語数行数を表示
awk awkを使う
awkとはテキスト形式で記述されたデータを処理するお気軽なプログラミング言語
インタプリタ型の言語でパターン処理言語といわれる
indent インデントを調整する
strings 表示可能な文字列を表示
sleep 処理を待ち合わせる
nroff 文書を整形する
清書プログラム
gimp 画像処理ソフトGIMPを使う

この本の他に実は夜寝る前に違う本を読んでました。まだこれは読み終えてないんだけど、興味がありまくりのところだから面白いね。でも結構難しい!
って検索してみたら無かった! JavaScriptマスターブックってやつです。ここで高度なテーマとして高階関数とクロージャについて取り扱っていた。
これについては本を読み終えたらまとめって感じでまたブログに書こっかな〜