Quantcast
Channel: Linux –俺的備忘録 〜なんかいろいろ〜
Browsing all 743 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Python製のシンプルなレインボーテーブル生成ツール『Leprechaun』

ここのところ、ちょっとした対応のためにレインボーテーブルについて調べていたのだが、Python3製のワードリストからレインボーテーブルを生成できる『Leprechaun』なるツールを見かけたので、試しに使ってみることにする。指定したワードリストからハッシュ値を生成できるので、よく利用されるパスワードをワードリストに入れておけば、ランダムな文字列で生成したレインボーテーブルよりも効率よくパスワード解析...

View Article


Image may be NSFW.
Clik here to view.

sshの.ssh/configでホスト名と鍵を指定してる際、違う鍵を使って接続するときの注意

先日、ssh接続する際に.ssh/configで指定していた鍵ではない秘密鍵を使って接続しようとしてたところ、公開鍵を登録していない秘密鍵を指定しても接続されてしまうという事があった。 なんだこりゃと思って-vオプションを付与して見たところ、以下のような動きをしていた。 blacknon@BS-PUB-DEVELOP:~$ cat .ssh/config Host 192.168.0.119...

View Article


Image may be NSFW.
Clik here to view.

ターミナル上でヘッダ行の位置は固定して中身だけをソート・シャッフルする

ちょっとしたcsvファイルをソートする際、ヘッダーである1行目はそのままに中身だけソートする必要があったので、ちょっと調べてみた。 で、以下のようにすることで1行目の位置はそのままにソートが可能なので、備忘として残しておく。 awk 'NR==1;NR>1{print $0|"sort"}' awk 'NR==1;NR>1{print $0|"sort -1krn"}' # 例1)...

View Article

Image may be NSFW.
Clik here to view.

bashのブレース展開の区切り文字(デリミタ)を変更して出力する

bashのブレース展開を利用する際、どうしても出力の区切り文字が空白になってしまう。 これをawkのOFSのように、任意の文字にしたいといった場合どうしたらいいのかと調べたところ、サブシェルで一度リストに入れてしまって、そこでIFSを指定して出力時の区切り文字を指定するという方法がよさそうだ。 以下、実行例。ここでは、区切り文字をコロン(:)にしている。 echo $(set...

View Article

Image may be NSFW.
Clik here to view.

ブレース展開を使って特定のコマンドへパイプ越しに繰り返し処理をさせるワンライナーを、パイプを増やしやすく書く

ハッシュのストレッチングみたいなことをbashでできたら面白いかなと思って調べてたのだけど、特定のコマンドにパイプでn回値を渡す、というような処理はちょっと書くのが難しいようで、以下のようにforとか使ってやる必要があるみたいだ。 # 'Hello World!Yeah!'を3回sha256でストレッチングするという処理をしてる echo 'Hello World!Yeah!' | (read v;...

View Article


Image may be NSFW.
Clik here to view.

awkでファイルの最長行の長さを求める

awkでファイルの最長行の長さを求める必要があったので、念のため備忘で残しておく。 特に難しいこともなく、以下のようにlengthで取得してやればいい。 awk '{l=length($0);if(m<l) m=l}END{print m}' blacknon@BS-PUB-UBUNTU-01:~$ cat test3.txt 1 22 333 4444 333 22 1...

View Article

Image may be NSFW.
Clik here to view.

dmidecodeを使わずにCPUやメモリ、マザーボードのベンダーや型番といった情報を取得する

Linuxでハードウェアの情報(CPUやメモリの型番やマザーボードの型番、シリアルナンバーなど)を取得する場合、dmidecodeを使って取得する場合が多い…のだが、このdmidecodeが利用できない場合、どうやってマザーボードやCPU、メモリの情報を得ればいいだろう。というわけで、ちょっと調べてみた。 1.CPUについて...

View Article

Image may be NSFW.
Clik here to view.

ファイルディスクリプタを指定してパイプをつなげていくコマンド『pipexec』を使ってみる

ちょっとした調べ物中、指定したコマンドの出力結果を出力に応じてコマンド出力先を指定できる『pipexec』なるものを見かけたので、面白そうなのでちょっと試してみる。 1.インストール まずはインストールから。 DebianやUbuntu系であれば、aptからインストールが可能だ。 sudo apt install pipexec   CentOSやMac OS...

View Article


Image may be NSFW.
Clik here to view.

Linuxでシェル芸を使ってワードリストから簡単なレインボーテーブルを生成する

ふと、シェル芸でワードリストから簡単なレインボーテーブルを生成することができないかと思ったので、ちょっとやってみることにした。 記号系にエスケープが必要だったりするので、その辺に注意が必要かも。とりあえず、以下のようにコマンドを実行することで、「パスワード...

View Article


Image may be NSFW.
Clik here to view.

bash4.0以降で追加されたコプロセス(coprocess)を使ってみる

最近知ったのだが、bash 4.0以降ではコプロセス(coprocess)なる機能が追加されているらしい。名前付きのバックグラウンドジョブみたいなもので、コマンドを指定して起動後、値を渡したら処理した値を後から抜き出す事ができるらしい。コマンドの機能をデーモン化するようなイメージだろうか? 以下、実際に使ってみた例。視覚的にわかりやすいよう、awkで頭に文字列を追加するような処理にしている。 #...

View Article

Image may be NSFW.
Clik here to view.

sedやawk、grepをバッファさせずに動作させる

ログの監視やなんやらで、tail -Fなどと組み合わせて使用する機会の多いsedやawk、grepだが、デフォルトの動作ではバッファリングされてしまう。 これをバッファしないように実行する場合、以下のようにコマンドを実行する。 sedの場合 GNU拡張されているsedの場合、-uオプションというオプションがあるので、それを用いる。 sed -u '~' sed --unbuffered '~'...

View Article

Image may be NSFW.
Clik here to view.

ターミナル上でカウントダウン後にコマンドを実行させる

日曜の夜、ふと『コンソール上でカウントダウン後にコマンドの実行とかさせてみよう』と何故か思いついたので、ちょっとやってみた。 簡単なカウントダウンであれば、以下のようにコマンドを実行すればいい(bannerやlolcatは文字を大きく表示させるためのものなので、必要なければechoとかに書き換えればいい)。 echo {3..0} | xargs -d' ' -I@ -n1 bash -c...

View Article

Image may be NSFW.
Clik here to view.

シェル芸でブレース展開・sedを使って文字列の大文字・小文字やLeet Speak変換全ての組み合わせを取得する

諸事情で文字列の小文字・大文字全ての組合せが欲しくなり、手軽に済ませられないかなと調べてみた。 で、そもそもbashではブレース展開を用いることで、つなげた文字列の組み合わせを生成させることができる。 blacknon@BS-PUB-UBUNTU-01:~$ echo {a,b,c}{1,2,3} a1 a2 a3 b1 b2 b3 c1 c2 c3...

View Article


Image may be NSFW.
Clik here to view.

bashでパイプで受け取った値を自動エスケープして出力する

bashで、パイプで渡した値をエスケープした状態で出力させる必要があったので、備忘で残しておく。 sedやawk、printfなどでできる。 sedを使う場合 sed -e 's/[][^$.*?+!\\()&|'\''"]/\\&/g' blacknon@BS-PUB-UBUNTU-01:~$ cat test.list 'aaaa&aa#a b\bb" sx$sss!...

View Article

Image may be NSFW.
Clik here to view.

第29回シェル芸勉強会に参加してきました(復習)

第29回シェル芸勉強会に行ってきたので、その復習。 今回はちゃんと起きれた(?)ので、午前にも最初から参加することができた。 午前の部はPerlのワンライナー入門とのことで、鳥海さんが講師。使ったスライドはこちら。 便利そうな定義済の変数が結構いっぱいあるみたいなので、ちゃんと覚えないとなぁ…。次回はPerlの正規表現になるらしい。...

View Article


Image may be NSFW.
Clik here to view.

nohupで実行させたバックグラウンドジョブ終了時にメールで通知させる

ふと、nohupでバックグラウンドジョブ実行させたジョブについて、終了時にメールやSlackで通知させることができないかと思ったので、ちょっとやってみた。 で、以下のようにすることで、nohupで実行するコマンドを変数に入れて実行・通知させることができるようだ。 (cmd="echo foo{bar,baz}";nohup $cmd && (echo $cmd | mail...

View Article

Image may be NSFW.
Clik here to view.

コンソール上でLeet変換された文字列(password→P@ssw0rd)をgrepする

ちょっと前にsedとブレース展開を使ってLeet変換した文字列の一覧を羅列するという処理についてやってたのだが、ふと特定の文字列がLeet変換されている文字列をgrepする場合どうすれば良いのかなと思い調べてみたので、備忘として残しておく。...

View Article


Image may be NSFW.
Clik here to view.

sedで文字列の各キャラクタを大文字・小文字・数字・記号ごとに異なる文字列に置き換える

ちょっとした処理で、特定の大文字・小文字・数字・記号ごとに、それぞれを違う文字列(大文字=?u、小文字=?l、数字=?d、記号=?s)に置換したいことがあったので、備忘で残しておく。 以下のように、xargsで1文字づつ渡してやり、最初の記号だけ他の置換で被らない文字列(??)に置換してやり、最後にそれを?sに置換することで対応している。 echo 'StrIng$123!' | xargs -d....

View Article

Image may be NSFW.
Clik here to view.

ファイルに合わせたアイコンを付けて表示してくれる『colorls』

ぼけーっとTwitter眺めてたところ、lsにファイルの種類に応じたアイコンを付けて表示してくれる『colorls』なるプロジェクトを見かけたので、実際に入れて触ってみることにした。今回はUbuntu 16.04 LTSで確認をしている。...

View Article

Image may be NSFW.
Clik here to view.

joinコマンドで覚えておくと便利な使い方8個

先日のシェル芸勉強会のテーマがjoinコマンドだったのだが、普段あまりjoinコマンドを使ってなかった事もあって、あまりjoinコマンドで解答をできなかったので、使い方について調べなおしてまとめてみることにした。 1.基本的な使い方 joinコマンドは、2つのファイルをSQLのjoinのように結合して表示してくれるというコマンドになる。...

View Article
Browsing all 743 articles
Browse latest View live