サーバー保守運用やローカルPCで環境構築するときによく忘れるコマンド達メモ(Linux)

LinuxサーバーとかmacOSで、毎日使うわけではない、そこそこ使う 忘れてしまうコマンド達をメモがわりに残す。
2020.06.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

サーバーにログインしてミドルウェアをインストールする、障害時にログを調べてエラー件数を調べる、サーバーから通信できるか確認する等を保守運用の業務でやっているときに使うが、よく忘れてgoogleにお世話になるコマンドをメモとして残します。

今後の追記もあります

curl

進捗を非表示にする

curl -s https://dev.classmethod.jp/

結果をファイルに出力する

curl -o {保存するPATH} https://dev.classmethod.jp/

-Oは最後の/以降がファイル名として認識されて保存される

curl -O https://github.com/vim/vim/archive/v8.2.0935.tar.gz

リダイレクトについていく

curl -L https://developers.io/

docker

stopしているコンテナを一気に削除

docker rm `docker ps -a -q`

jq

例として、jsonは以下から取得することにする 国の情報を返してくれるAPI

{"name":"Japan","topLevelDomain":[".jp"],"alpha2Code":"JP","alpha3Code":"JPN","callingCodes":["81"],"capital":"Tokyo","altSpellings":["JP","Nippon","Nihon"],"region":"Asia","subregion":"Eastern Asia","population":126960000,"latlng":[36,138],"demonym":"Japanese","area":377930,"gini":38.1,"timezones":["UTC+09:00"],"borders":[],"nativeName":"日本","numericCode":"392","currencies":[{"code":"JPY","name":"Japanese yen","symbol":"¥"}],"languages":[{"iso639_1":"ja","iso639_2":"jpn","name":"Japanese","nativeName":"日本語 (にほんご)"}],"translations":{"de":"Japan","es":"Japón","fr":"Japon","ja":"日本","it":"Giappone","br":"Japão","pt":"Japão","nl":"Japan","hr":"Japan","fa":"ژاپن"},"flag":"https://restcountries.eu/data/jpn.svg","regionalBlocs":[],"cioc":"JPN"}

要素数が知りたい

cat japan.json | jq '.[] | length'
cat japan.json | jq '.[].translations | length'

フィルタ

cat japan.json | jq '.[] | {name: .name, languages: .languages}'
cat japan.json | jq '.[] | [.name,.flag,.currencies[].code]'

CSVとして出力

cat japan.json | jq  -r '.[] | [.name,.flag,.currencies[].code] | @csv'

tar

圧縮

あれ、どっちだっけ?

tar cvzf hoge.tar.gz ./hoge

tar {オプション} {.tar.gzのファイル名} {圧縮対象のディレクトリ}

ディレクトリを指定して展開

tar xvzf hoge.tar.gz -C /usr/local/src

zip

圧縮

あれ、どっちだっけ?

zip -r hoge.zip ./hoge

zip {オプション} {.zipのファイル名} {圧縮対象のディレクトリ}