awkで区切った列をさらに別の文字列で区切る(列を二重に区切る)
awkで、「-F」などで一度特定の文字で区切ったあと、特定の列だけ更に別の文字で区切りたい時がある。 そういった場合、以下のように「split」で対象の列を区切って値を配列に入れてやれば良い。 例)一度目は「,」で、二度目は「|」で文字列を区切る場合 awk -F ',' '{split($2, arr, "|); print $1 arr[2]}' sample.txt...
View ArticleFirewallに特化したOS「Untangle」をインストールする
今回は、「Untangle」というLinuxベースのファイアウォール用OSをインストールしてみる。 比較的軽量、かつWebコンソール経由での管理・運用ができるのが特徴らしい。こちらにデモもあるので、最初に触ってみると良いだろう。 なお、実際にファイアウォールのポリシー等を設定する場合、Untangle.comへのアカウント登録(無料)が必要になる。 1.インストール...
View ArticleWebベースのネットワーク機器の設定管理ツール「rConfig」を使ってみる
Webベースのネットワーク機器管理ツール「rConfig」なるものを見かけたので、試しにインストールして見ることにした。 なお、インストール先はCentOS 7には対応していないため、CentOS 6を用いる。 1.前提パッケージのインストール・設定 まずはrConfigの動作に前提となるパッケージをインストールする。 以下のコマンドを実行する。 yum -y install wget...
View Articleターミナルの操作内容をgifファイルにする「ttystudio」
時折、ターミナルの操作内容を動画やgifファイルにして共有したい時というものがある。 そんなときに使えるのが、今回紹介するターミナルの操作内容をgifにしてくれる「ttystudio」というコマンドだ。...
View Articleターミナル上でメモリの占有率をプロセスごとにわかりやすく可視化する「pagemon」
メモリの占有率を、プロセス別に見た目にもわかりやすく表示させたいことがあるが、そんなときに使えそうなのがこの「pagemon」だ。 Canonical製のツールらしく、主にUbuntuで利用することが想定されているプログラムなのだが、どのプロセスがどのメモリ空間を専有しているのか、バイナリエディタのようにターミナル上に表示してくれるツールだ。 今回は、実際にUbuntu Server 16.04...
View ArticleアプリケーションサーバとMaxscaleを同居させる場合はローカルのTCPソケットポートの食いつぶしに注意しよう
Maxscaleとアプリケーションサーバが同居したサーバで負荷テストを行ったところ、どうも途中でDBとの通信が失敗したりする部分があった。 で、なんでなんだろと調べていく際にssコマンドを実行したところ… [root@test-server01 ~]# ss -nap | grep ':3306' | wc -l 24299 …えっΣ(゚д゚ )...
View ArticleObserviumからフォークしたモニタリングツール「LibreNMS」をインストールする
以前にObserviumというモニタリングツールを紹介したことがあったが、そこからフォークした「LibreNMS」というツールがあるようなので、今回はそれをインストールして簡単に触ってみることにする。 インストール先は前回同様、CentOS 7とする。...
View Articleawkで特定の列を除外して出力する
awkで特定の列を除外して出力させる場合は、以下のように対象となる列を空白にしてやることで対応できる。 ●例:2列目を除外して出力させる場合 awk '{$2="";print}' 対象ファイル [root@BS-PUB-CENT7-01 ~]# cat /tmp/test1.txt id name prefecture value 1 aaa 1 123 2 bbb 2 544 3 ccc 1...
View ArticleBashでTCP/UDP通信を行う
時折、ポートなどの疎通確認のため、相手先のポートがちゃんと開いているかを確認したい時がある。 そんな時は、基本的にポートの疎通確認用のコマンドを利用するのだが、地味にBashからでも疎通確認を行うことができる。 exec 3<> /dev/tcp/相手先ホスト名/ポート番号 # TCP通信の場合 exec 3<> /dev/udp/相手先ホスト名/ポート番号 #...
View ArticleLinuxでpasswdコマンドによるパスワード管理
Linuxでパスワード管理する際に利用するコマンドといえば、passwdコマンドだ。 会社の手順書なんかでこのコマンドが出てくる際、だいたいはパスワードを設定したりする際にばかり登場するが、結構いろいろな使い方がある。 1.パスワードの設定をする 必ず一度は実行したことがあるであろう、パスワードの設定。 この使い方は知らない人はいないのではなかろうか。 passwd #...
View ArticleLinuxコンソール上でランダムなUUIDを生成する
LinuxコンソールでランダムなUUIDを生成する場合、以下の方法がある。 1.uuidgenコマンドを用いる uuidgenコマンドを用いることで、ランダムなUUIDを生成することができる。 uuidgen [root@BS-PUB-CENT7-01 ~]# uuidgen 908e641e-f696-4cac-b457-09d3af31e088 [root@BS-PUB-CENT7-01 ~]#...
View Articlehtopコマンドで覚えておきたい使い方11個
topコマンドをより見やすくしたhtopコマンド。 普通に使うだけでも便利なコマンドではあるが、いろいろな使い方を覚えることで更に便利に利用できる。 1.基本の使い方 基本的には、以下のようにオプション無しでコマンドを実行すればいい。 htop 各ステータスの見方はtopコマンドよりもわかりやすいだろう。 ●左上 上から順にCPU使用率、メモリ使用率、Swap使用率をバー表示させる。 ●右上...
View Articleipmitoolコマンドで覚えておきたい使い方8個
物理サーバを管理・運用する際、ベンダーによって呼称は異なると思うが、マネジメントポート(管理ポートとか)は便利に使うことも多いだろう。 ただ、台数が多いといちいちWebコンソールからアクセスしてるのは面倒臭い。コマンドでできる内容ならそちらから作業したほうがいいだろう。...
View ArticleLinuxコンソール上で特定の文字数で行を区切る
テスト用にランダムなデータを作る際、行を特定の文字数で区切りたいことがあったので検索用の備忘として残しておく。 といっても大した処理ではなく、sedで以下のように置換すればよいだけだ。(「.(ピリオド)」は行を区切る文字数分入力すること。) sed 's/.../& /g' [root@BS-PUB-CENT7-01 ~]# cat /dev/urandom | tr -dc 'a-c' |...
View ArticleLinuxコンソール上でファイル内の特定のキーワードの数を数える
Linuxコンソール上で特定のキーワード数を数える必要があったので一応備忘として残しておく。 (単純に、grepとwcで数えるだけなんだけど。。。) 単純な話、以下のようなファイルから、キーワード「abc」を数えたいとする。 ●/tmp/test4.txt [root@BS-PUB-CENT7-01 ~]# cat /tmp/test4.txt bbc cca ccb cca cbc aaa cab...
View Articleawkで他のコマンドの実行結果に一行ごとにタイムスタンプを付与する
個人的によく利用するので、備忘として残しておく。 pingやvmstatなどでコマンドを定期実行した際に、いつ・どのような結果になったのか残しておきたいのに、タイムスタンプを残す機能がコマンドに備わってない場合に有効だ。 やり方は簡単で、以下のように対象のコマンドとawkをパイプでつなぐだけだ。 コマンド | awk '{print strftime("%F %T ") $0}'...
View Articleawkで重複行を排除してユニークな行をもとめる
awkだけで、「sort | uniq」をせずに重複した行をまとめることができるので、備忘として残しておく。 awkでは、以下のようにコマンドを実行することで、重複行を表示させないことが可能だ。 コマンド | awk '!a[$1]++' [centos@test-centos7 ~]$ cat /tmp/test2.txt | sort | uniq aaa aab aac aba abb abc...
View ArticleGNU datamashを使ってLinuxコンソール上でテキストデータの加工・集計を行う
すこし調べ物をしていたところ、GNU Datamashという非常に便利そうなコマンドを見つけたので少し使ってみることにした。 簡単に説明すると、テキストの加工や統計情報を取得するコマンドで、様々なサブコマンドを使ってそれらの機能を使い分けていくタイプのコマンドだ。 行列の入れ替えや列の反転、統計情報の計算など、コンソール上で何かやるには結構便利な機能が用意されている。 1.インストール...
View ArticleLinuxコンソール上でファイルの行と列を入れ替える
Linuxコンソール上で、Excelのように行と列を入れ替えたい時がある。 そんなときは、以下のようにawkなどを使うことで実現可能だ。 1.awkを使う まずはawkを使う場合。 以下のようにすることで、行と列の入れ替えが可能だ。 awk ' { for (i=1; i<=NF; i++) { a[NR,i] = $i } } NF>p { p = NF } END {...
View Article