unixコマンド基本知識

 

 10926387_821636701209076_7205389735340241033_n

本日は「Linuxエンジニア養成読本・カーネルの仕組み」という本のUNIXコマンド基本知識について勉強しました。

以外に逃していたコマンドが多かったのでとても勉強になりました。

 

リダイレクト「<」

リダイレクトは標準出力機能である「>」「>>」ばっかり使っていたのが、標準入力をする「<」というのもあった

使い方:

コマンド名 < ファイル名

使用例:

grep ‘Jan’ < /var/log/messages

/var/log/messagesの結果からJanというキーワードだけ特定

logresolve < /etc/httpd/logs/access_log > /data/shellscript_kim/hehe

/etc/httpd/logs/access_logにあるIPをlogresolveコマンドを利用して名前解決して/data/shellscript_kim/heheファイルに格納する

※logresolveコマンドはIPを名前解決してくれる

logresolveコマンドを実行するとIP→「Kittagetic.BFCE.com」へ名前解決されることがわかる

Kittagetic.BFCE.com - - [17/Jan/2015:11:19:23 +0900] "POST /xmlrpc.php HTTP/1.0" 200 370 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)" 

 

コマンドの履歴

 

本には出てなかった内容だけど、 以前打ったコマンドの履歴を確認する方法があった(今までは↑カーソルだけで、、済ませた)

ctrl + P 直前打ったコマンドを表示
ctrl + N 直前打ったコマンドの先こコマンドを表示
ctrl + R 使えそう

ctrl + Rしてaと打つと自分が打ったaから始まるコマンドを表示

https://kldp.org/node/26831

 

標準入出力
標準出力 0
標準出力 1
標準エラー出力 2

 

 

taaaa 2>>error

taaaというコマンドは存在しないため標準エラー出力としてerrorファイルにエラーを返す

 

ls /etc/ >> haha 2>&1

エラーが出ても正常な結果が出ても結果を返す

 

teeコマンド

リダイレクトを用いる時、画面にも表示してくれる

普通リダイレクト使うと画面に表示してくれなくて不安だったけど、teeコマンドを使えばリダイレクトと同時に画面にも表示してくれるのか!

使用例

ls /etc | tee kaeo

/etc下をlsした結果を kaeoにリダイレクト・そして画面にも表示

 

 

&&

直前のコマンドが正常に実行できた場合にのみ次のコマンドを実行する

使用例:

cd /etc && ls –la

/etcに正常に移動した場合のみ ls -laコマンドを実行する

 

||

直前のコマンドが正常に実行できなかった場合のみ次のコマンドを実行する

&&と逆である

 

locateコマンド

本には出てなかったけど、勉強会中話題になったのでメモっておく


locateコマンドとはファイルを高速に検索するコマンド

ファイルを高速に検索できる。あらかじめ作成したデータベースを使って検索するため,findコマンドより高速に検索が行える

http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230813/

 

findコマンドオプション

 

find /var/log –type –f –mmin –120

120分以内に更新されたファイル検索

 

 

grepコマンド

-s エラーメッセージを表示しない

-n 行番号表示する

-i 大文字・小文字を区別しない

-E 拡張表現を使用する <<このオプションを使うかegrepコマンドを使うか同様

 

vim活用
ファイル名指定

vimだけ開いて以下のようにファイル名を指定して保存することが可能

:w text.txt

vim終了

ZZ するとVIMが終了する

こっちのほうがかっこいいよ、、(笑)

 

カーソル移動・入力した内容取り消し

0  最初の行にカーソルが移動

$  行末にカーソル移動

u  入力した内容取り消し(windowsのctrl + zと同様)

 

ColorFullな表示機能off

:syntax off vimの色分け設定を無効

:syntax on vimの色わけ設定を有効にする

目が痛いとき使えるかもね、、

 

vim固定オプション

homeディレクトリの.viminfoファイルにオプションを指定しておくと固定的に使える

~/.viminfo

 

検索結果のカーソル移動

次の検索結果に移動するとき

n 次の検索結果に移動

N  前の検索結果に移動

 

強調表示off

vimで検索をした結果を見ると、強調表示になる

それがまぶしいときは以下のoff設定を使う

:nohlsearch

 

VISUAL LINE

これがびっくりした。。こんな機能があったか

 

大文字Vを押すと、VISUAL LINEといってドラッグできる環境になる

esc 二回押すと 取り消し

gg 一番上に移動

G一番下に移動

 

これを応用するとアクセスログの画面からV→Gをするとすべての行をコピーすることができる!(今までマウスでドラッグしたんだけど、、)

 

 

ドラッグした状態で ~を押すと大文字から小文字へ変換ができた

 

VISUAL LINEでコマンド実行するためには「!コマンド」する

 

!sort –k 6 

ドラッグした状態だとその部分だけソートができる!

 

!!を使うと外部で実行したコマンドの結果を入れることも可能

     !! ls

するとカーソルがある部分にlsした結果で入る。

 

 

split

二つの設定を比較するとき使えそうだね

 

:split

:split xx.txt

 

すると二つvim画面が上下に出る

ctrl + WW を押すと上下カーソルの変換ができる

:5 split   << にすると5行だけで絞って表示する

 

 

システム管理コマンド

useradd –s /bin/bash hoge << shell指定してユーザー作成

userdel –r hoge  << ホームディレクトリまで削除してくれる

useradd –g staff –G [option grouo] hoge 複数のグループ指定するとき-Gオプションを使う

使用例:

useradd –g staff –G hehe,hehe hoge

 

uptime << 起動した時間

who << 現在接続した人

date –s 13:0500  <<時間設定

shutdown –h  + 10 < 10分後再起動

shutdown –c  << 取り消し

ps aux <<実行中のプロセス表示(プロセス名が長いと切れる)

ps auxw   << プロセス名の文字が切れなく見れる

pstree <<プロセスの親子関係を表示

pstree –p  <<プロセスIDも見せる

kill –1  xx  プロセス再起動させる

kill –9 xx   強制的にプロセスを殺す

jobs << 実行中のプロセス表示

fg 1  << backgroundにあるプロセスに戻る(実行させる)

at 13:30 Jan 17

at> shutdown –h now

1/17 13:30分にshutdownするという意味

予約ができるatコマンド

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です