びぶろく

主に技術系なことをつらつらと。

個人的にとりあえず導入しておきたいbashの設定(for CentOSとか)

全然更新していなかったので、あらためて備忘録を再開したいと思いつつ。

クラウド環境でCentOSとかを使うと、個人的にはzshがお好みですがなんだかんだでbashを使う必要性が多いので、あると便利なbashの設定のまとめ。思い出し書きなので後で追加するかもしれません。

設定ファイルの場所ですが、システム全体に影響を及ぼしちゃうのでとりあえずrootアカウントのルートの.bashrcとかに追加します。

# 
# alias
#
alias cd='cdls'

#
# 前方(後方)一致検索
#
bind "\C-p":history-search-backward
bind "\C-n":history-search-forward

#
# cdコマンドの後自動でlsコマンドを実行
#
cdls ()
{
    \cd "$@" && ls
}

設定ファイルへの記述が終わったら、変更を適用させるために設定ファイルが置いてある場所で

$ source .bashrc

もしくは

$ .  .bashrc

とやってもらうと、特にターミナルを再起動せずに設定を反映できます。もちろん再起動しても反映できます。

さらっとしか見てないけど、はてなスーパーpre記法ってbashに対応してない・・・?

TCP/UDPのポート番号

ネットワークの設定とかをやると、たまに「あのプロトコルのポート番号なんだっけ?」ってことに直面したりします。また、今は気にしたことないけれど、UDPのポート番号について聞かれると即答できないのが正直なところです。

ちなみにいわゆるウェルノウンポート番号は0〜1023ですが、正直自分にとってほとんどウェルノウン(well known)ではありません(笑)。sshとかtelnetとかhttpとか、本当によく使うやつしか即答できないのが現状かと思います。ちなにみちなみに、ウェルノウンポートに限り、TCPUDPも同じ番号が同じプロトコルに割り当てられているみたいです。

そんな時は
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
ここにアクセスすることで、世に出回っているだいたいのプロトコルのポート番号を照会することが出来ると思います。英語のページですが、プロトコル自体普通英語表記なのであんまり煩わしくありません。気になるプロトコル名やポート番号があれば検索してもらえれば一発で出てきます。

意外と便利です、このページ!

数が多いのでもちろん全部は見きれないと思いますが、暇な時にでもちょっと見てみると意外な発見があるかもしれません!意外なプロトコルが意外なポート番号で、近くにも意外な奴があったりと連鎖的な発見があったりしてちょっとおすすめです!

Splunkの日本語化について(設定方法)

最近巷で有名なSplunkを使う機会があり、とりあえず自分のPCのログを解析してみようと思いいれてみたのはいいものの、全部英語でコマッタ・・・。そんなに英語が達者ではないのでできれば日本語にしたいと思い、とりあえず設定画面を探したけれどどこにもLanguage的な項目はなく、色々と調べたところ解決方法をゲットしました。なんとURLから変更するらしいです。

多分デフォルトだと
http://localhost:8000/en-US/app/launcher/home
こちらのURLになっており、バリバリの英語になっております。そこで
http://localhost:8000/ja-JP/app/launcher/home
このようにen-USをja-JPに変更することで日本語表記になります。

しかし!全部が全部日本語に鳴るわけではなく、見出しだけなどといった制限付き。今後の改善が期待されます。

個人的にとりあえず導入しておきたいzshの設定(for Mac)

個人的に必須なzshの設定のまとめ。

題名に(for Mac)とさせていただいたのは後々記述するlsのGオプションが環境によってはうまく動作しないらしいためです。欲を言えばもっと細かい設定があるけれども、とりあえず汎用的なものをピックアップして記載させていただきます。

その前に前提条件として、zshシェルを採用させてもらいます。デフォルトだとbashの場合があると思うので、

$ echo $SHELL
(1) /bin/zsh
(2) /bin/bash

とやってもらって(1)が出てきた場合はそのまま設定へ、(2)が出てきた場合は

$ chsh -s /bin/zsh

とやったあとターミナルを「再起動後に」シェルがzshに変わります。

続いて本題の設定について。自分のルートに.zshrcを作成してもらい、以下の設定をコピー&参考に必要な箇所を取り入れてください。

#
# シェル上の色などの初期設定(おまじない)
#
autoload -U colors
colors
setopt prompt_subst

#
# 前方(後方)一致検索
#
bindkey '^P' history-beginning-search-backward
bindkey '^N' history-beginning-search-forward

#
# cdコマンドの後自動でlsコマンドを実行
#
function cd() { builtin cd $@ && ls; }

#
# lsコマンドのエイリアス設定など
#
alias ls="ls -G"
alias la="ls -aG"
alias ll="ls -lG"
export LSCOLORS=gxfxcxdxbxegedabagacad

#
# 左右プロンプトの表示
#
PROMPT='%{${fg[green]}%}%m[%~]%1(v|%F{yellow}%1v%f|) %{${fg[green]}%}%# %{${reset_color}%}'
RPROMPT="%{${fg[green]}%} %D %*[%h]%{${reset_color}%}"

ここで注意していただきたいのが前述したlsコマンドの色に関するGオプション。これはMacOSX(Darwin系)に使うオプションなので、この設定では逆に他の環境ではうまく動作してくれない模様(他の環境では--colorオプションを使うらしい)。

.zshrcへの記述が終わったら、変更を適用させるために

$ source .zshrc

とやってもらうと、特にターミナルを再起動せずに設定を反映できます。もちろん再起動しても反映できます。

とまぁこんな感じに書かせていただきましたが、シェルの設定は人それぞれだと思うのであくまで参考までに。特に色やプロンプト表示の設定とかは完全に個人の好みだと思うので、色々とためしてみることをオススメします!

TCP/IPプロトコルのRFC

TCP/IPプロトコルIETF(Internet Engineering Task Force)で議論されて標準化される。そして標準化しようとするプロトコルRFC(Request For Comments)として公開される。その入手先の紹介。

ftp://ftp.isi.edu/in-notes/

ここにあるrfc-index.txtにRFCの一覧が記載されている。例えばIPv4はRFC791なので、探してみると確かにIPv4について細かく標準化についての記載が見られる。ただ、もちろん英語なのであんまり読む気が出てこない・・・。

今をときめくIPv6(RFC2460)とか暇な時にでも呼んでみると有意義かもしれないと思いつつ。(多分読まない)

目的のファイル以外を削除するコマンド

プログラミングとかでゴリゴリやってる際に、例えば「main.c以外いらんわ!」とか思ったりするときに

% ls
aaa.c bbb.c ccc.c main.c
% mv main.c main.c_
% rm *.c
% mv main.c_ main.c
% ls
main.c

とかやってたりしたことがあって、その時に色々調べたら

% ls | grep -v "main.c" | xargs rm

ってやると現階層のmain.c以外のファイルを削除してくれる。このコマンドを見つけた時に結構感動したりもしたけど、結局入力がめんどくさくて使ってなかったり・・・(笑)。.zshrcとかに関数として組み込んだりすればいいのかと思ったけども、やり方がよくわからなかったし、なんだかんだでそこまで困っているわけではなかったので結局そのまま放置してしまいましたとさ。

Mission Controlがバグった際の解消方法

私は現在メインPCでMacBook Pro (Retina, 13-inch, Late 2012, SSD:256GB)を使用中。大学院生のときに価格.comを毎日のように監視して、ここだっ!って思った時に秋葉原まで買いに行った。確かその時で13万円しないくらい。

そんな愛用のMacbookですが、たまーにMission Controllでバグる時がある。その時の解消法ですが適当なターミナルにて(ちなみに愛用してるのはiTerm2)

% killall Dock

これを入力することでMission Controlの再起動がかかるので問題解消。

それにしてももう購入してから2年半くらい経つから結構くたびれてきているのかも・・・とか思いつつ。