less -Sで右側を見る

表題では伝わりづらいが…以前のエントリでも書いた”-S“オプションで、画面から切れる分は別に見えなくても問題なしとしていたのだが、見たい時には再度”-S“で戻していたりした。それをしなくても画面を右にずらす方法があるようだ。

■ 環境

  • less
  • Linux
  • Mac OSX El Capitan

■ chop long line

最初のログを以前のエントリのところから取得してきた。

XXX.XX.XX.XX - - [19/Jun/2017:02:09:14 +0900] "GET /services
_detail_BK/id=201 HTTP/1.1" 200 223 "-" "Mozilla/5.0 (compat
ible; bingbot/2.0; +http://www.bing.com/bingbot.htm)";
XXX.XX.XX.XX - - [19/Jun/2017:02:20:16 +0900] "GET /topics/de
tail/id=1436 HTTP/1.1" 200 219 "-" "Mozilla/5.0 (compatible
; bingbot/2.0; +http://www.bing.com/bingbot.htm)"

-S“で画面に表示可能な箇所だけ。

XXX.XX.XX.XX - - [19/Jun/2017:02:09:14 +0900] "GET /services
XXX.XX.XX.XX - - [19/Jun/2017:02:20:16 +0900] "GET /topics/de

カーソル移動の”“もしくは”Esc + )“でウィンドウ(?)を右にずらすことができる。ちょうど開いているウィンドウサイズの半分を右にずらしてくれるようだ。

02:09:14 +0900] "GET /services_detail_BK/id=201 HTTP/1.1" 20
02:20:16 +0900] "GET /topics/detail/id=1436 HTTP/1.1" 200 219

戻るのはカーソル移動の”左”もしくは”Esc + (“で戻れる。

以上。

■ 関連

less –chop-long-line

BASH_VERSION

表題の通り、”bash“の”version“について。

■ 環境

  • Mac OSX El Capitan
  • Ubuntu 16.04

■ BASH_VERSION

`bash`のversionを得る為には変数として入っているらしい。

Macで実行。

$ echo ${BASH_VERSION}
3.2.57(1)-release
$

Ubuntu 14.04で実行。

$ echo ${BASH_VERSION}
4.3.48(1)-release
$

他にもショートカットキー(?)があるようだ。

control + X
control + V

Macで実行。

$
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)
$

Ubuntu 16.04で実行。

$
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
$

以上。

VIPの数が一致しない

keepalived“を使っていて設定を変更した際に、表題を意味するような警告メッセージが出力されていた。

■ 環境

  • Keepalived 1.2.13
  • CentOS 6.9

■ keepalived.con

keepalived“で冗長構成を取っている2台で、Virtual IPを複数つけている。そのうちのひとつが不要になったので”BACKUP STATE“の”keepalived.conf“にある”virtual_ipaddresses“からIPを外し`service keepalived reload`たところ、”/var/log/messages“に下記のようなメッセージが出力されていた。

Oct 20 19:03:44 host002 Keepalived_vrrp[3379]: receive an invalid ip number count associated with VRID!
Oct 20 19:03:44 host002 Keepalived_vrrp[3379]: bogus VRRP packet received on eth0 !!!
Oct 20 19:03:44 host002 Keepalived_vrrp[3379]: VRRP_Instance(V_EXT) ignoring received advertisment...

どうやら”virtual_ipaddress“の個数が違うのが原因のようである。現状”MASTER STATE“となっているホスト側でも同じ処理をしたところメッセージ出力は止まった。次からは同時にやってしまうことにする。

以上。

readlink -f

表題を忘れやすいのでメモ。

■ 環境

  • Amazon Linux

■ readlink

ファイルやディレクトリの絶対パスが取得したい時がある。シンボリックリンクだったり、スクリプト中の実行ディレクトリの場所だったり。そんな時に使ってる。

$ readlink -f .
/home/ec2-user
$

上記の使い方であると`pwd`と一緒なので特に意味がない。下記のような場合に本領を発揮する。

$ pwd
/etc/rc5.d
$ ls -l S99local
lrwxrwxrwx 1 root root 11 Oct  1 08:54 S99local -> ../rc.local
$ readlink -f S99local
/etc/rc.d/rc.local
$

以上。

colordiff

先日表題のコマンドを知ったので試してみた。

■ 環境

  • colordiff 2.8.1
  • Mac OSX El Capitan

■ colordiff

インストール。

$ brew update
$ brew install colordiff

インストールされたものを確認する。

$ brew ls colordiff
/usr/local/Cellar/colordiff/1.0.18/.bottle/etc/colordiffrc
/usr/local/Cellar/colordiff/1.0.18/bin/cdiff
/usr/local/Cellar/colordiff/1.0.18/bin/colordiff
/usr/local/Cellar/colordiff/1.0.18/share/man/ (2 files)
$

これを見て`cdiff`コマンドは、`colordiff`コマンドのaliasかと思ったのだがどうやら違った。使い方が少々違う。下記のようなファイルで試してみた。

$ cat test1
aaa
bbb
ccc
ddd
eee
fff
ggg
$ cat test2
aaa
bbb
ccc
ddd
ddd
eee
fff
ggg
$

通常の`diff`コマンドで試す。

$ diff test1 test2
4a5
> ddd
$ diff -u test1 test2
--- test1    2017-10-17 11:18:51.000000000 +0900
+++ test2    2017-10-17 11:18:59.000000000 +0900
@@ -2,6 +2,7 @@
 bbb
 ccc
 ddd
+ddd
 eee
 fff
 ggg
$

`colordiff`コマンドでは上記がカラー表示された。満足である。`cdiff`でも同じことができるのかと思いきや、、下記のようになってしまった。

$ cdiff test1 test2
aaa
bbb
ccc
ddd
eee
fff
ggg
aaa
bbb
ccc
ddd
ddd
eee
fff
ggg
$

単純に`cat`で連結されただけのように見える。どうやら使い方が違うようである。

$ diff -u test1 test2 | cdiff

これで同じ結果が得られた。

以上。