2011年3月10日木曜日

3/10覚書

大前提:フォルダという表記は今後ディレクトリにします。

1時間目
vi新規作成から、前回の復習。

2時間目
PuTTY即ログイン
ただしwindws、OSのログインパスワード、セキュリティが確立している状態でのみ推奨。
デスクトップにputtyのショートカットを作成
ショートカットを右クリックし、プロパティをクリック
リンク先を以下のように修正し、OKをクリック
"C:\Program Files\PuTTY\putty.exe" -load 接続セッション名 -l "ユーザ名" -pw "パスワード"
そのショートカットをランチャーに設定すると、毎回ユーザ情報を入力する必要がなくなります。

それからclnchへそのショートカットドラッグ。名前は自分でわかれば何でもおk。

そんでホットキー設定。
CraftLaunch(クラフトランチ)だよ。
以下ランチャーと呼ぶよー。
入れたらクリックしてCキーを押せばConfigが出るから十字キーで選択してEnter。
ホットキー割り当て選択してEnter。
Ctrl+Shift+Spaceキー同時押ししてC-S-Spaceと画面にでたらEnter。
確認方法はランチャー以外の箇所をクリックするとランチャーに日付と時刻が出るよ。
Ctrl+Shift+Spaceキー同時押ししてランチャーが黒くなれば成功だよ。
いちいちクリックしなくていいから楽ちんなのだ。


残りの時間はviの操作の練習。
画面移動Shift+H(high)、M(middle)、L(Low)

3時間目
vi操作続き

文頭、文末の処理がちょいと面倒だね。
そんなときのためにShift+$があるんだけどねー。
ただ、endキーで慣れてるんでちょっと使いづらいねえ。
ちなみにvi側で選択=コピーのキャッシュはこっち側で貼り付け可能だよー。

上級者向けつかいいんちょから。
vi コマンドリファレンス

☆UNIXコマンド

|パイプ
【例】ls -al |wc 
wcはファイルの行数、単語数、サイズを表示
|(パイプ)でつなげて結果を表示させる。
>リダイレクション
【例】ls -al > test.txt
>はリダイレクト。コマンド情報をファイルに出力できる。
vi test.txtで開くとls -alの内容が中に記述されている。
【例】ls -al |wc > test2.txt
というふうにつなげることもできる。
wcの結果をtest2.txtに出力させるという命令。

ディレクトリ移動
cd(カレントディレクトリの意)
cd ..でひとつ上の階層へ。

/home/yamazaki
[yamazaki@localhost ~]$ cd ..(いっこ上の階層)
[yamazaki@localhost home]$ pwd(現在地表示)
/home
[yamazaki@localhost home]$ cd ..
[yamazaki@localhost /]$ pwd
/

戻り方は2通り。どちらでも同じディレクトリを開く。
[yamazaki@localhost ~]$ cd /home/yama
[yamazaki@localhost ~]$ cd ../yama
直前のディレクトリに戻るのに、cd -もできるよー。

★豆知識★
ls -alしたときに右端の文字が青かったらディレクトリを示す。
赤かったら圧縮されている。

ディレクトリ作成
mkdir ディレクトリ名

ファイルの削除
rm ファイル名

ディレクトリごと削除するにはオプション -rを付ける
rはrecursive(再帰的)の略
rm -r ディレクトリ名

ファイル(ディレクトリ)移動
mv ファイル(ディレクトリ)名 移動先
【例】mv yama1.txt /home/yamazaki/yama1/

ファイルコピー&別ディレクトリへ移動
【例】cp 0310-01.txt yama1.txt | xargs mv yama1.txt /home/yamazaki/yama1/

4時間目
catコマンド
内容表示。
【例】cat test4.txt
長いファイルの場合は|moreで1画面を出し、Enterで1行ずつ見える。
【例】cat test4.txt | more

headコマンド
ファイルの先頭内容10行を見ることができる。-nで行数指定可能。
【例】head -n 3 yama1.txt

tail -f リアルタイムにファイルの末尾内容10行を見ることができる。-nで行数指定可能。
サーバーのログファイルをチェックするときに使う。
【例】tail -f -n 3 yama1.txt

ファイルの圧縮、解凍
複数指定もこんな感じで。
【例】tar -cvzf ptest.tar.gz test2.txt test3.txt test4.txt

cronコマンド
今はコマンドの元が無いので使えませぬ。

findコマンド
検索機能。
場所も名前もわからないときは【例】find / -name ファイル名で検索すればいいのだ。
日付で出すのも有効。
今のぼくらは【例】find ./ -mtime -1で出てくるのだ。
昨日作ったばかりだからね。

5時間目
grepコマンド
検索対象の文字とファイル内容が一致するか検索
練習準備
yama1、2、3のディレクトリにtest.txt作成。
内容は
test
hello
nya
nyanya
を適当に入れる。入れる項目はすべて同じにはしません。ちょっとだけ変えます。
grep -r -l test ./
今のディレクトリすべてを対象に、testという言葉が入っているか調べて、
パターンに一致した行を含むファイル名だけを出力する。
ほかhelloやnyaでも調べる。

lnコマンド
Windowsショートカットと一緒
classや画像のインクルード時に活用。
ln -s リンク元( 実体) リンク名
【例】ln -s yama1 ya1

duコマンド(rootで入ってから操作)。
指定したディレクトリ内の全てのファイルとディレクトリサイズを確認する時に使う。
【例】du -k /var
ディレクトリ全体のサイズを確認する場合はオプション sをつける。
【例】du -s /var
ファイルサイズをわかりやすくするには-hをつける。
【例】du -s -h /var

killコマンド
プロセス強制終了。
各プロセスはtopで確認。右端のCOMMANDだよ。

wgetコマンド
直ダウンロード&サーバーうp

xargs(エックスアーグズ)コマンド
xargsは、標準入力から受け取ったものを引数として、他のコマンドを起動するコマンドです。
【例】find ./ -name "hello*" | xargs rm -f
今のディレクトリからhelloを含むものを探し、さらに削除します。
発展系
【例】find ./ -type d -name "yama" | xargs ls -la
今のディレクトリからディレクトリ名にyamaを含む項目のみリスト表示します。

6時間目
今日の復習

vi終了したーい:q!だたね; いまいち掴めん・・・。
コマンド入力中にEnterしちゃった→Ctrl+Cで抜けます。

IDManagerをメモ帳代わりにすると今後楽。
ホットキーCtrl+I+OでIDManager起動できるお。

おすすめサイト

UNIXコマンド推奨。

いまさらxargsの便利さを主張してみる
条件にヒットしたファイルを ~/backup にコピーする
Loadaverageが50以上?はてな掲示板より 例題のような感じ。
ロードアベレージが86.29 実体験の様子。