ちくわ

ちくわにきゅうりを入れるとうまい

Linux

YAPC 2014 でメモりまくった

YAPC 2014 http://yapcasia.org/2014/ YAPC は BLOG にするまでが YAPC です。と言っていたので、記念に手元のメモを投稿します。 とにかく写経のつもりで目耳に入った事を無心でテキストにしたので、typo や意図が分かりずらい箇所あると思いますが、まぁ!…

Vim の Syntactics 導入してハマった話し

syntax check をしてくれる vim プラグイン https://github.com/scrooloose/syntastic これを wktk しながら導入した話です。 Puppet の manifest ファイルを SyntasticCheck しようとするも一向に出来ず… SyntasticInfo で確認すると、そもそも Puppet ファ…

awk の if 評価でハマった話し

あるスクリプトで意図しない出力結果となり、原因を追っていったら awk 周りだった。 awk の if で数値評価をしていたとき、意図せず評価対象に文字列が紛れ込んでいた。 どうも文字列を数値と比較評価すると true になるらしい。 心情的には成立してほしく…

Nagios のログの Unixtime 部分を変換したい

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 の結果で複数の grep を使用する

tail -f をするとファイルへの追記状況をリアルタイムに見ることが出来ます。例えばログファイルの監視に向いてます。 # tail -f /var/log/messages この結果を更にパイプで繋げて grep で表示結果を精査することが出来ます。 # tail -f /var/log/messages |…

コマンドラインの FTP で複数ファイル削除

コマンドラインの FTP でファイルを大量に削除する事がありました。 通常ファイルを削除するコマンドは「del」ですが、アスタリスク等を使って複数のファイルを一度に選択する場合は「mdel」を使用します。 実行してみると ftp> mdel *.txt mdel sample1.txt…

はてなスターを WordPress につけた話

WordPress に「はてなスター」を実装したけど全部のページに表示してくれなくて、 どうにかして表示させた備忘録です。 いつかテンプレートを変える日の自分の為に... まずはプラグインを使ってみる hatena star でプラグインを検索すると以下がヒットしまし…

mv , cp で上書きしたときのタイムスタンプがどうなるか

なんか整理したくて調べてみた。 タイムスタンプには mtime, atime, ctime とあるけど、ファイル上書きした際にそれぞれがどうなるか。 環境 % cat /etc/redhat-releaseCentOS release 6.3 (Final) コマンド mv -f src_file dst_file cp -f src_file dst_fil…

【bash ネタ】 変数パラメータ展開

${#value} 文字数が返る ${value#word} 先頭から最短マッチ部分を削除して返す ${value##word} 先頭から最長マッチ部分を削除して返す ${parameter%word} 末尾から最短マッチ部分を削除して返す ${parameter%%word} 末尾から最長マッチ部分を削除して返す 使…

【bash ネタ】コロンを使用した参照

${name:-value} name が未セット → value が返る ${name:+value} name がセット済み → value が返る ${name:=value} name が未セット → value が値セットされる(name=value と同義) ${name:?value} name が未セット → valueを「標準エラー出力」に出力し、…

【bash ネタ】連想配列

※ 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")

Apache にてシンボリックリンク先のファイル(画像)が見れずにハマった

ちょっと特殊な状況ですが、 ある領域を cifs にてマウントしていて Apache による Web 公開領域にて、↑の領域をシンボリックリンクにして アクセスしている ここで、シンボリック先のファイル(mount 先のファイル) が見れずに悩む。 調査すると以下の様な…

expcet + scp + cron で、日本語を判定するときに失敗して困った件

先日 「expect + scp でメタ文字(* : アスタリスク)を使用した際に失敗した時のメモ」 という記事を投稿しましたが、その続きの話です。 以下の様な expect を使用したスクリプトを用意しました。 接続先が Solaris で、SSH/SCP 接続時のプロンプトが「パ…

OSS-DB 資格取得の勉強 (特徴と運用管理)

資格勉強をするときはマインドマップにまとめるやり方が自分には合ってます。 今回も OSS-DB silver を勉強するにあたりマインドマップに纏めてみました。 何かの参考になれば、ということでアップ。 ※自己学習なので、この繋がりはおかしくね!?ってところ…

expect + scp でメタ文字(* : アスタリスク)を使用した際に失敗した時のメモ

以下の様に、expect を使用して、SSH や SCP を使用したときのパスワード入力を 自動化するシェルスクリプトを用意。 ローカルの /var/tmp/test_from/*.txt をごそっと SCP する動作期待しました。 $ cat test.sh #!/bin/bash # expect の function func_exp…

OSS-DB 資格取得の勉強 (postgres を yum でインストール)

この資格勉強のためのメモです。アウトプットすると覚えるので、、、 LPI-JAPAN OSS-DB http://www.oss-db.jp/index.shtml さて、まずはともあれ自分の検証環境( CentOS release 6.3)に postgresql をインストールしようと試みました。 # yum install post…

linux コンソール周りのメモ tty とか pts とか

tty とか pts とは どちらも端末(ターミナル)の事 tty と pts の違い tty → コンソールターミナル(物理的に直接サーバへ繋げている状態) pts → 仮想ターミナル(telnet や SSH 等のターミナルソフトで繋げている状態) 自分が使っているターミナルを調べ…

history コマンドについて挙動を調べてみた

一つの共有アカウントを使用した場合、history がどのように残るかずっとモヤモヤしていたので、調査してみました。 共有アカウントでだけでなく、同一ユーザから複数のシェルを起動した時も同じ疑問が残るかと。

history コマンドをいろいろ調べてて初めて知ったものをメモ

history 結果に日時を入れる ・HISTTIMEFORMAT でフォーマットを入れる。 ・最後にブランクがあったほうが見やすい。 ・恒久的に設定したい場合は、.bash_profile などに export HISTTIMEFORMAT='%y/%m/%d %H:%M:%S ' を追記する ・見た目はこんな感じになり…

read -p について

シェルスクリプトで入力待ちをする際に、実行者に向けてコメントを出すパターンがあるけど [hoge@server scripts]$ ./samplescript.sh yes か no を入力 [ yes | no ] : yes yes が入力 今までは echo -n を使ってこうやって書いてた。 #!/usr/bin/sh echo -…

hbstudy#38 勉強会の復習

2012/10/27 に行ったシェルスクリプト勉強会を自分なりに解析してみました。 正直 3 問目から手が止まりました。 awk とかさっぱりですよ→解析してちょっと学びました。 パイプ毎に動作を確認すると勉強になります。今回、コマンドの流れに沿ってどういった…

実行後のコマンド結果を diff する

これを知った時感動して震えたのでメモ shell(bash) の機能を使ってこんな事ができる sort した結果同士を一発で diff する ローカルファイルと ssh 先のファイルをコマンド一発で diff する 書式 diff <(hogehoge) <(fugafuga) 例 sort した結果同士を一発…

Linux 触っててへーって思った事。 .bash_logout について

ユーザを su とかして作業した後に logout すると、画面がいったんクリアされる。これってユーザのホームディレクトリにある「.bash_logout」の中に書かれてる clear コマンドの仕業だったんだね!いやぁびっくり! 【Cent OS 5.4 の中身より】 [hoge@localh…

作業前に打つコマンド

サーバに入ってこれから作業するぞって時に打つコマンド(@独断と偏見)。 - date ・・・ 作業時間をログに出力。あとサーバの時間が合っているか(どれだけずれているか - id ・・・ 自分が誰か。(whoami でもいいけどこれ短い - hostname ・・・ 入ってる…

LPIC 勉強メモ CD-R の作り方と注意点

iso イメージ作成 mkisofs (make iso filesystem かなぁ?) または、派生版の genisoimage (generate iso image かなぁ?) コマンドを使用する。基本は、 # mkisofs -o <イメージファイル> このとき引数に注意 Windows で使う → -J オプション(Joliet フォ…

LPIC 勉強のたしに /etc/*tab まとめ

まとめてみた(まとめ中) ファイルシステム なかみ そのた /etc/inittab init が行うべき処理を定義しているもの init プロセスがまず起動し、inittab に基づきいろいろ起動していく。 だから init の PID は 1 となる /etc/fstab システムで利用出来るファ…

LPIC 勉強しててへーって思った事。mingetty について。

mingetty とは コンソールでログインプロンプトを表示するプログラム である。 ログアウトした際にプロンプトが表示されるしくみ /etc/inittab を見てみると、 # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin…

Solaris の ps コマンド

2 種類ある ・/usr/ucb/ps … バークレイ版(※ ・/usr/bin/ps … System V 版 ※ BSD のこと、Berkeley Software Distribution だからバークレイ BSD って言ってもいいけどバークレイ版っていうとそれっぽく聞こえるから不思議。 とりあえず /usr/ucb/ps -augx…

Emacs カーソルから行頭までを削除する方法

というのを調べてみた。 意外と無くて驚いた、使用頻度が低いから? キーバインドは、 Meta - C-k → Meta キーを押しながら - (ハイフン) を押し、C-k らしい。 なんか面倒だなぁ。。。 しかも一つ上の行まで一緒に削除される。。。 # 環境は CarbonEmacs