Linux
YAPC 2014 http://yapcasia.org/2014/ YAPC は BLOG にするまでが YAPC です。と言っていたので、記念に手元のメモを投稿します。 とにかく写経のつもりで目耳に入った事を無心でテキストにしたので、typo や意図が分かりずらい箇所あると思いますが、まぁ!…
syntax check をしてくれる vim プラグイン https://github.com/scrooloose/syntastic これを wktk しながら導入した話です。 Puppet の manifest ファイルを SyntasticCheck しようとするも一向に出来ず… SyntasticInfo で確認すると、そもそも Puppet ファ…
あるスクリプトで意図しない出力結果となり、原因を追っていったら awk 周りだった。 awk の if で数値評価をしていたとき、意図せず評価対象に文字列が紛れ込んでいた。 どうも文字列を数値と比較評価すると true になるらしい。 心情的には成立してほしく…
Nagios のログは unixtime で記載されてます。 ぱっと見わかりづらいですね! [1279232257] Nagios 3.2.1 starting... (PID=1234) こんな感じで時間変換しました。 cat nagios.log | sed -r "s/^\[([0-9]+)\]/\1/g" | awk '{$1 = strftime("%c", $1); print}’
シェルスクリプトを作成してるとよくあるパターン。 最初はこんな感じに書いていたけど、#!/bin/sh TARGET_DIR="./result" if [ ! -d ${TARGET_DIR} ]; then mkdir -p ${TARGET_DIR} fi以下の様に if を使わずかけるんですね、なるほどと思いました。#!/bin/…
tail -f をするとファイルへの追記状況をリアルタイムに見ることが出来ます。例えばログファイルの監視に向いてます。 # tail -f /var/log/messages この結果を更にパイプで繋げて grep で表示結果を精査することが出来ます。 # tail -f /var/log/messages |…
コマンドラインの FTP でファイルを大量に削除する事がありました。 通常ファイルを削除するコマンドは「del」ですが、アスタリスク等を使って複数のファイルを一度に選択する場合は「mdel」を使用します。 実行してみると ftp> mdel *.txt mdel sample1.txt…
WordPress に「はてなスター」を実装したけど全部のページに表示してくれなくて、 どうにかして表示させた備忘録です。 いつかテンプレートを変える日の自分の為に... まずはプラグインを使ってみる hatena star でプラグインを検索すると以下がヒットしまし…
なんか整理したくて調べてみた。 タイムスタンプには mtime, atime, ctime とあるけど、ファイル上書きした際にそれぞれがどうなるか。 環境 % cat /etc/redhat-releaseCentOS release 6.3 (Final) コマンド mv -f src_file dst_file cp -f src_file dst_fil…
${#value} 文字数が返る ${value#word} 先頭から最短マッチ部分を削除して返す ${value##word} 先頭から最長マッチ部分を削除して返す ${parameter%word} 末尾から最短マッチ部分を削除して返す ${parameter%%word} 末尾から最長マッチ部分を削除して返す 使…
${name:-value} name が未セット → value が返る ${name:+value} name がセット済み → value が返る ${name:=value} name が未セット → value が値セットされる(name=value と同義) ${name:?value} name が未セット → valueを「標準エラー出力」に出力し、…
※ bash4.* 以降の機能 set 方法 declare -A HUSH # 変数 HUSH に対して宣言 HUSH["cat"]="neko" HUSH["dog"]="inu" HUSH["bird"]="tori" or declare -A HUSH HUSH=(["cat"]="neko" ["dog"]="inu" ["bird"]="tori")
ちょっと特殊な状況ですが、 ある領域を cifs にてマウントしていて Apache による Web 公開領域にて、↑の領域をシンボリックリンクにして アクセスしている ここで、シンボリック先のファイル(mount 先のファイル) が見れずに悩む。 調査すると以下の様な…
先日 「expect + scp でメタ文字(* : アスタリスク)を使用した際に失敗した時のメモ」 という記事を投稿しましたが、その続きの話です。 以下の様な expect を使用したスクリプトを用意しました。 接続先が Solaris で、SSH/SCP 接続時のプロンプトが「パ…
資格勉強をするときはマインドマップにまとめるやり方が自分には合ってます。 今回も OSS-DB silver を勉強するにあたりマインドマップに纏めてみました。 何かの参考になれば、ということでアップ。 ※自己学習なので、この繋がりはおかしくね!?ってところ…
以下の様に、expect を使用して、SSH や SCP を使用したときのパスワード入力を 自動化するシェルスクリプトを用意。 ローカルの /var/tmp/test_from/*.txt をごそっと SCP する動作期待しました。 $ cat test.sh #!/bin/bash # expect の function func_exp…
この資格勉強のためのメモです。アウトプットすると覚えるので、、、 LPI-JAPAN OSS-DB http://www.oss-db.jp/index.shtml さて、まずはともあれ自分の検証環境( CentOS release 6.3)に postgresql をインストールしようと試みました。 # yum install post…
tty とか pts とは どちらも端末(ターミナル)の事 tty と pts の違い tty → コンソールターミナル(物理的に直接サーバへ繋げている状態) pts → 仮想ターミナル(telnet や SSH 等のターミナルソフトで繋げている状態) 自分が使っているターミナルを調べ…
一つの共有アカウントを使用した場合、history がどのように残るかずっとモヤモヤしていたので、調査してみました。 共有アカウントでだけでなく、同一ユーザから複数のシェルを起動した時も同じ疑問が残るかと。
history 結果に日時を入れる ・HISTTIMEFORMAT でフォーマットを入れる。 ・最後にブランクがあったほうが見やすい。 ・恒久的に設定したい場合は、.bash_profile などに export HISTTIMEFORMAT='%y/%m/%d %H:%M:%S ' を追記する ・見た目はこんな感じになり…
シェルスクリプトで入力待ちをする際に、実行者に向けてコメントを出すパターンがあるけど [hoge@server scripts]$ ./samplescript.sh yes か no を入力 [ yes | no ] : yes yes が入力 今までは echo -n を使ってこうやって書いてた。 #!/usr/bin/sh echo -…
2012/10/27 に行ったシェルスクリプト勉強会を自分なりに解析してみました。 正直 3 問目から手が止まりました。 awk とかさっぱりですよ→解析してちょっと学びました。 パイプ毎に動作を確認すると勉強になります。今回、コマンドの流れに沿ってどういった…
これを知った時感動して震えたのでメモ shell(bash) の機能を使ってこんな事ができる sort した結果同士を一発で diff する ローカルファイルと ssh 先のファイルをコマンド一発で diff する 書式 diff <(hogehoge) <(fugafuga) 例 sort した結果同士を一発…
ユーザを su とかして作業した後に logout すると、画面がいったんクリアされる。これってユーザのホームディレクトリにある「.bash_logout」の中に書かれてる clear コマンドの仕業だったんだね!いやぁびっくり! 【Cent OS 5.4 の中身より】 [hoge@localh…
サーバに入ってこれから作業するぞって時に打つコマンド(@独断と偏見)。 - date ・・・ 作業時間をログに出力。あとサーバの時間が合っているか(どれだけずれているか - id ・・・ 自分が誰か。(whoami でもいいけどこれ短い - hostname ・・・ 入ってる…
iso イメージ作成 mkisofs (make iso filesystem かなぁ?) または、派生版の genisoimage (generate iso image かなぁ?) コマンドを使用する。基本は、 # mkisofs -o <イメージファイル> このとき引数に注意 Windows で使う → -J オプション(Joliet フォ…
まとめてみた(まとめ中) ファイルシステム なかみ そのた /etc/inittab init が行うべき処理を定義しているもの init プロセスがまず起動し、inittab に基づきいろいろ起動していく。 だから init の PID は 1 となる /etc/fstab システムで利用出来るファ…
mingetty とは コンソールでログインプロンプトを表示するプログラム である。 ログアウトした際にプロンプトが表示されるしくみ /etc/inittab を見てみると、 # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin…
2 種類ある ・/usr/ucb/ps … バークレイ版(※ ・/usr/bin/ps … System V 版 ※ BSD のこと、Berkeley Software Distribution だからバークレイ BSD って言ってもいいけどバークレイ版っていうとそれっぽく聞こえるから不思議。 とりあえず /usr/ucb/ps -augx…
というのを調べてみた。 意外と無くて驚いた、使用頻度が低いから? キーバインドは、 Meta - C-k → Meta キーを押しながら - (ハイフン) を押し、C-k らしい。 なんか面倒だなぁ。。。 しかも一つ上の行まで一緒に削除される。。。 # 環境は CarbonEmacs