ふとした思いつきで、bashやzshのhistoryファイル(通常は環境変数のHISTFILEで指定したファイル)以外のファイルに、任意のフォーマットで実行したコマンドや実行時間、カレントディレクトリといった情報を記録できないだろうかと思ったので、試してみることにした。
今回はファイルに出力しているが、中の処理を書き換えれば実行履歴をDBに記録することもできると思うので、もし利用する場合は使い方に応じて適宜書き換えて貰えればいいだろう。
なお、この方法は単純にシェルの設定で対処しているだけの方法なので、ログの記録を強制できるというものではない(回避することは可能なはず)。
もし実行コマンド...
ごくごくたまにではあるのだが、GoogleやらBingの検索結果を一覧で取得することがあったのでそういうスクリプトをこさえて対応していた。
で、その実行結果で特定のドメインの検索結果からPATHごとにどのようなGETパラメータが使われているか集計したいということがあった。
具体的に言うと、例えば自分がよくお世話になっている上田先生のブログ(https://b.ueda.tech/)で検索かけて、その結果となるURLの一覧を抽出したとする(上田先生勝手にスミマセン…)。
その場合、以下のようなURLの一覧が取得されるのだが、そのPATHごとにどのようなGETパラメータをのパラメー...
bashやzshで、historyに任意のコマンド…というか文字列を実行せずに追記したい場合。
それぞれ、以下のコマンドで行うことができるようだ。
history -s string # bashの場合
print -S string # zshの場合
CentOSやUbuntuといったLinuxをコンソールで使っていれば、必ず使ったことがあるであろうbashのhistory機能。
この機能、結構いろいろなことができるので、今回はそれらを紹介していく。
1.基本的な使い方
ただhistoryコマンドを実行して今までの履歴を確認する、といった使い方。
一度は使ったことがあるだろう。
[test@BS-PUB-CENT7-01 ~]$ history
1 cd
2 passwd
3 clear
4 exit
5 passwd
6 clear
7 pwgen...
以前に、いろいろとLinuxでコマンドの実行履歴をログに記録する方法について書いてたので、まとめてみることにした。
1.シェルのhistoryを利用する
まぁ、基本といえば基本。
シェルのhistory機能を使って記録しておくというもの。
ただ、デフォルトだとファイルへの書き出しがセッションクローズ後で、タイムスタンプもついてないので、そのままでは使いにくい。
また、コマンドの実行ユーザが権限を持っているので、ファイルを直接編集できるのもよくないかも。
bash 4.1以降だと、実行したコマンドをsyslogで記録させることができるように...
LinuxやUNIXでbashを利用しているならば、historyコマンドにお世話になっている人も多いだろう。
そんなhistoryコマンド、デフォルトでは基本的にコマンドの実行時間は記録されない。
test@ubuntu-server:~$ history | tail -10
368 screen
369 vim .screenrc
370 screen
371 ls -la
372 screen
373 vim .screenrc
374 screen
375 history | tail -10
376 clear
3...
リモートマシンに接続する際に利用されるTelnet、今ではあまり使われる事が無くなったが、今でも、いや今だからこそ?そんなTelnetで利用出来るサービスがまだ残っているようだ。
今回は、そんなサービスを4つほど紹介する。
1.TelnetでみるStarWars
以前こちらでも取り上げたものだが、telnetで接続すると同時にアスキーアートで作成されたStarWars Epsode IVが再生されるというもの。
telnetコマンドで、以下のように接続する。
telnet towel.blinkenlights.nl 23
telnetコマンドがない場合、こちらの...