by shigemk2

当面は技術的なことしか書かない

Linux

yq

YAML版 jq foo: bar: test こんな感じのYAMLから、barの値を取り出す。 cat input.yml | yq .foo.bar

cowsayで召喚できるどうぶつ一覧

dockerのイメージなどで使われてるどうぶつAA $ cowsay -f three-eyes "🍣 食いねえ" ______________________ < 食いねえ > ---------------------- \ ^___^ \ (ooo)\_______ (___)\ )\/\ ||----w | || || こいつを眺めていたら、 homebrew-core/cowsay.rb at…

man apt-get

memo man apt-get man apt-get upgrade upgrade は、現在システムにインストールされている全パッケージの最新バージョンを、/etc/apt/sources.list に列挙した取得元からインストールするのに使用します。現在インストール中のパッケージに 新しいバージョ…

datediff mac

日付の差分とかを出すアレ、homebrewでインストールできる $ datediff 2018-04-01 2018-04-20 19 www.fresse.org hroptatyr / dateutils / Downloads — Bitbucket homebrew-coreはココ。バージョンも同期している homebrew-core/dateutils.rb at master · Ho…

variable in awk

variable in awk -vでawk内でだけ使える変数を定義できる。応用技として、環境変数を突っ込むことも可能。 awk -F',' -v name="$variable" '{print name $1}' あと思ったけど、cheat awkの-vの使い方微妙に変。 https://github.com/chrisallenlane/cheat/blo…

Linux split with header

linux split with header split(gsplit)で分割したファイルにヘッダをつけたいが、シェル芸使わないと無理くさい 丁度いい感じのCLIもない

memo du -ach

memo du -ach wc -l的なことをファイルサイズでやりたい人生だった a 全ファイル表示 c トータルカウント h 表示をhuman-readableにする (ぶっちゃけhあったらcいらないんじゃないかなって思い始めていた)

gnome-system-monitor

Windowsとかのタスクマネージャーに相当するGNOMEのやつ。 3.2. GNOME および KDE システムモニタ - Red Hat Customer Portal

man resolv.conf

もうレゾルバ設定でQiitaは見たくないんじゃーーーーー man resolv.conf を実行しよう。 もしくはこちら。 Man page of RESOLV.CONF

stat

lsだとファイルが古すぎる場合正確な作成時間が分からないので、statつかったほうがいいよって感じ。 ファイルのタイムスタンプについて

ss

ss antとかanuとかのアレ $ ss -V ss utility, iproute2-ss161212 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=17.10 DISTRIB_CODENAME=artful DISTRIB_DESCRIPTION="Ubuntu 17.10" -n, --numeric Do not try to resolve service names. -r, …

How to ping a TCP or UDP port

How to ping a TCP or UDP portx nmapのインストールはひつよう TCPでping watch -n 5 "nmap -P0 -sT -p5666 somehostname.dyndns.org" UDPでping watch -n 5 "nmap -P0 -sU -p5666 somehostname.dyndns.org" -sU (UDP スキャン) インターネット上で最も広く…

port linux memo

サーバーでTCP通信するプログラムがあったときに、接続するためのローカルポート(送信用ポート)には限度がある(デフォルトでは32768 61000で28232個) tcp_tw_recycle…は廃止されたし、TCP接続がはれなくなるから使わない方がいい TCP通信を行うプログラムを…

LIBAIO

LIBAIO Linux カーネルプロジェクトの一部として開発されたライブラリーで、書き込みが、非同期で処理されるオペレーティングシステムに送信。 何を言っているのかまるで分からない。 https://access.redhat.com/documentation/ja-jp/jboss_enterprise_appli…

dateutilsで日付計算とか

日付計算にdateでシェル芸とか覚えてられないしwebサービスにアクセスするのも面倒なのでそういうちょうどいいCUIないかなって思ったらあった。 www.fresse.org Ubuntuだったらaptでdateutilsを入れたら、動く。 dateutils.ddiff 2011-11-15 2012-04-11 148

ldconfig

ldconfig http://www.infraeye.com/study/linuxz6.html 他のプログラムから利用するプログラム ライブラリ 説明 メリット デメリット 静的ライブラリ プログラム作成時にその実行ファイル内に組み込まれたライブラリ 1つのプログラムだけで動作するので別環…

memo MarkdownTableMaker

MarkdownTableMaker スプレッドシートのテーブルからマークダウンテーブルを作るアレ。 オリジナルはこれ。 ソースコードはココ。 googlescript-markdowntablefive/MarkdownTableMakerFive.gs at master · pffy/googlescript-markdowntablefive · GitHub

memo: access log time range

memo: access log time range nginxのアクセスログについて、時間帯で検索したいときは、ElasticSearchとかないなら、grepでシェル芸がんばったほうがいい。 111.111.111.111 - - [28/Dec/2017:03:00:00 +0900] "GET /test HTTP/1.1" 200 0 "-" "UA" "0.000"…

truncate

man truncate shrink or extend the size of a file to the specified size 使い方(cheatコマンドから) $ cheat truncate # To clear the contents from a file: truncate -s 0 file.txt # To truncate a file to 100 bytes: truncate -s 100 file.txt # T…

pv

pv - Pipe Viewer - is a terminal-based tool for monitoring the progress of data through a pipeline. パイプラインの進捗をモニタリングするツール。 例 $ truncate -s 10G hoge.txt $ pv hoge.txt | gzip > hoge.txt.gz 3.56GiB 0:00:22 [ 166MiB/s] […

memo bc

memo bc 久々の。これはbashだけど。 pi=$(echo "scale=10; 4*a(1)" | bc -l) fishでこんな感じで書いてみよう。 echo (grep "^aaa" test.csv | wc -l) - (grep "^bbb" test.csv | wc -l) | bc

memo lsof

memo lsof FD(ファイルディスクリプタ)の読み方と、TYPEの読み方。だいたい読んだら分かるかも。size/offは FD – stands for File descriptor and may seen some of the values as: cwd current working directory rtd root directory txt program text (cod…

memo lsof file descriptor

memo lsof file descriptor lsofで存在しない(既に消された)ファイルに対してプロセスが動いているかどうか確認できる こんなことができるのは、Linuxではファイルが使用中でもファイルを消せるから。使用中のファイルを消したら、プロセスだけが残る。 それ…

sed

sed bashでのおはなし パターン1 sed -e "s/sakura/hoge/" hoge.txt パターン2 $ echo $HOME | sed -e "s/sakura/hoge/" パターン3 DATE=$(echo $START_DATE | sed s/-//g) パターン4 DATE=`echo $START_DATE | sed s/-//g` 逆引きUNIXコマンド/sedでディレ…

advanced usage lsof

advanced usage lsof du -sh /* してみて、割り当てられているディスク容量と、各ディレクトリで実際に使われているファイルサイズの総計とが明らかに違うばあい、プロセスが生き残っていてファイルシステムから消えていない可能性がある。 lsof grepとかし…

sed error invalid reference

sed error: "invalid reference \1 on `s' command's RHS" \n対策で-zをつかていたけどそれと後方参照\1コンボは上記のエラーにより使えない。

display man document

display man document 普通manのファイルって/usr/shareとか/usr/local/shareとかにあるじゃん?man lessとかしたらマニュアル出てくるじゃん。んで、そういうのが/usr/shareじゃなくって、任意のディレクトリにあったらどうするって話。 こうする。 man /pa…

icmp

ping とは、ICMPプロトコルを使用したネットワークの診断プログラム TCPじゃない。 www.infraexpert.com

about Qt

about Qt 概要だけ Qt is a full development framework with tools designed to streamline the creation of applications and user interfaces for desktop, embedded, and mobile platforms. doxygenで使っているけれどGUIじゃない。 http://doc.qt.io/qt…

SIGUSR1

SIGUSR1 ユーザー定義シグナル。No10 https://www.xmisao.com/2013/11/10/linux-kill-signals.html