某所で話題になってた『内閣府の「国民の祝日」CSV』をシェル芸で加工して見やすくする
なんか、某所で見にくい・加工しにくいと話題になってた『内閣府の「国民の祝日」CSV』について、シェル芸を使って加工して少し見やすくしたので備忘として残しておく(使うことはないだろうけど)。...
View Article『.ssh/authorized_keys』をログインユーザが編集できないようにする(rootのみ編集可能な状態にする)
sshの鍵認証で、特定のカギのみをrootで許可してやり、一般ユーザに勝手に追加させないようにしたいなぁ…という話があり、やり方を考えてみた。...
View Articledateコマンド(+Faketime)で今年のプレミアムフライデー(各月の最終金曜日)を求める
先日、2017年02月24日よりプレミアムフライデーなるモノが始まった。これは、毎月の最終金曜日は15時退社にして余暇を作ることで個人消費を増やし、景気促進を促すという経産省主導の消費喚起のプログラムなのだが、あいにくと導入している企業は0.1%前後とかで、今の時点だとプレミアムな企業にしか適用されてないようだ(プレミアムな企業だったら給料も高いので、消費喚起という意味ではまぁ間違ってない…のか?景...
View Articlebashの標準出力・標準エラー出力リダイレクトの省略記述
よくbashやzshでシェル芸(ワンライナー)を書いてたりすると、標準エラー出力だけを/dev/nullに出力させたりといった処理を行う。 で、毎回いちいち/dev/nullとか指定するのもあれなんで、省略記述方法ないかなと思って調べてみたところ、Bash4以降だと結構記述方法が増えたようだ。個人的によく利用する記述の省略形だけピックアップして記述しておく。 2> /dev/null...
View Articlebash/zshでhistoryに任意の文字列を追加する
bashやzshで、historyに任意のコマンド…というか文字列を実行せずに追記したい場合。 それぞれ、以下のコマンドで行うことができるようだ。 history -s string # bashの場合 print -S string # zshの場合 blacknon@BS-PUB-UBUNTU-01:~$ history | tail 1628 rm -rf ./* 1629 clear...
View Articleclocコマンドで指定したディレクトリ配下のソースコードの種類とステップ数・カウント数や空行の数などを求める
特定のディレクトリ配下にあるファイルの行数とかを再帰的に取得する場合、wcコマンドが利用される場合が多いだろう。 wc -l $(find /PATH -type f) blacknon@BS-PUB-UBUNTU-01:~/test_dir$ ls -la 合計 152 drwxrwxr-x 12 blacknon blacknon 4096 2月 25 16:42 . drwxr-xr-x 15...
View Articleコンソールでコマンドの結果を複数のファイルに結果をリダイレクトしたい場合
コンソール上で、コマンドの結果を複数のファイルに出力したいことがある。 そういった場合、残念ながらbashの場合、リダイレクトだと複数のファイルへ同時に書き込むといったことは難しい。じゃ、どうすればいいのかというと、teeコマンドであれば複数ファイルを指定できるので、それで対応する。 コマンド | tee ファイル1 ファイル2 ファイル3 ... >& /dev/null #...
View ArticleApacheのログをsyslog(rsyslog)で管理する
Apacheのアクセスログやエラーログだが、デフォルトではSyslogは経由しない。 これらをSyslogを使って管理する場合、httpd.confに設定の追加が必要になる。 設定自体は簡単で、CustomLog/ErrorLogの設定に対して、パイプで繋げてloggerでSyslogに流すだけだ。...
View ArticleNginxのログをsyslog(rsyslog)で管理する
Nginxのログをsyslogで管理する場合、Niginx 1.7.1以降であればaccess_logおよびerror_logがSyslogをサポートするようになっている。 2017年3月現在、aptや(Epel経由にはなるが)yumでインストールできるNginxは1.7.1以降になるので、その前提で進めていく。...
View Articlersyslogで特定のファシリティのログ(localファシリティとか)が/var/log/messagesに出力されないようにする
CentOSやUbuntuといった主要ディストリだと、Syslogにはrsyslogが使われている(ので、rsyslogがよく使われていると思う)。...
View Articlebashでコマンドをアスキーコードで記述して実行させる
Twitterでそういうのを試みてる人がいて、できるみたいだったので備忘。 bash/zshだと、『$’AsciiCode’』で記述してやるとアスキーコードをその場で直接展開してくれるらしい(知らなかった…)。 [root@BS-PUB-CENT7-01 ~]# echo $'\x6c\x6f\x67\x67\x65\x72\x20\x27\x48\x65\x6c\x6c\x6f\x27'...
View Articlesed/awkで各文字列をシングルクォーテーション・ダブルクォーテーションで囲む
コンソール上でスペース区切りになっている各文字列をシングルクォーテーション・ダブルクォーテーションで囲みたいことがあったので、その対応について備忘。 以下のようにコマンドを実行することで、スペース区切りの各単語を囲むことができる。 sedの場合 sedで各単語を囲む場合、以下のようにコマンドを実行する。 sed 's/[^ ]\+/"&"/g' # ダブルクォーテーションの場合 sed...
View Article『響け!ユーフォニアム』のシェル芸を床屋のアレみたいに動かしてみる
まぁ、なんとなく。 ちょっと前にはやってた、『響け!ユーフォミアム』の文字列をループで1文字づつずらしてくシェル芸なのだが、なんかこう…床屋の前にあるくるくる回ってるポールみたいな奴(サインポールっていうらしい)のようにアニメーションさせられないかなと思いついたので、とりあえずやってみた。わかりやすいよう、「響」だけgrepで色つけてる。 echo 響け!ユーフォニアム|gsed...
View Article自身のローカルネットワークアドレスをCIDR形式で取得する
会社で同僚と会話中、こういった話題になったので”そういや、どうやって取るんだろ”と思って調べてみた。 結果、専用のコマンドでどうにかするってのは厳しそうだったので、ipcalcおよびsipcalcを使って計算、取得させてみた。 ipcalc $(ip addr show en0 | awk '$1=="inet"{print $2}') | awk 'NR==5{print $2}' sipcalc...
View ArticleApache GuacamoleでsshやRDP接続時の操作を記録する(テキストor動画)
以前にも触れたことのある、HTML5の踏み台サーバであるApache Guacamole。ssh接続時のターミナル操作のログを記録することもできるため、今回はそれを行う。取得できるログは2種類で、「Typescript(テキストベース)」および「Screen Recording(動画で取得)」のパターン。当たり前ではあるのだが、テキストベースはsshやtelnetでしか取れない。...
View ArticleYahoo!PipeやIFTTTのように使える自動化ツール『Huginn』をUbuntu Server 16.04 LTSにインストールする
まえにStackStorm(St2)という、イベントドリブンな自動化ツール(特定のイベントが発生したら、指定された処理を自動で行ってくれるツール)を触ったことがあったのだが、それと同じように利用できそうな『Huggin』というツールを見かけた。Yahoo!PipeやIFTTTのような利用ができるらしい。 今回は、この『Huggin』をUbuntu Server 16.04...
View Articleターミナル上でURLをブックマークする『Buku』
wgetやcurlなどで、よく利用するURLと言うのはあると思う。で、毎回historyから取ってくるのも面倒だなぁと思って調べてみたところ、コンソール上でよく使うURLをブックマークできるツール『Buku』というコマンドを見かけたので、ちょっと試してみた。 1.インストール Python3で書かれているらしいので、事前に必要となるパッケージをインストールをしておく。 sudo apt...
View Articleawkでn回目にmutchした行のみを対象に処理を行う
awkで、n回目に条件にマッチした行のみに処理を行わせたいことがあったので、備忘として残しておく。 ちなみに、1回目ならこれでOK。 cat test1.txt | awk '/abc/{print $1;exit}' blacknon@BS-PUB-UBUNTU-01:~$ cat test1.txt 1 abc 2 bbb 3 ccc 4 ddd 5 eee 6 fff 7 ggg 8 abc...
View Articlewhoisコマンドでドメインの有効期限のみを取得する
諸事情により、ドメインの有効期限についてスクリプトで取得する必要が出てきたので、取得方法について残しておく。LinuxやMac OS Xの場合、whoisコマンドでドメインのwhois情報が得られるので、そこからドメイン有効期限を取得する。ドメインの種類によってwhoisの出力内容は異なり、有効期限の表示方法も変わってくる。...
View Articleaproposコマンドで指定したキーワードを含むmanを検索する
今まで知らなかったのだが、『apropos』というコマンドで指定したキーワードを含むマニュアルをmanから検索することができるようだ。 というわけで、早速検索してみよう。 apropos キーワード 例えば、「find」というキーワードで検索した場合は以下。 [root@BS-PUB-CENT7-01 ~]# apropos find BIO_find_type (3ssl) - BIO...
View Article