コマンド紹介
業務で頻繁に使用しているLinuxコマンドなどを紹介したいと思います。 MacまたはLinuxOSを使用している人が対象になります。
ファイル検索
find <ディレクトリ> -name <パターンマッチ>
例:hoge.txtの所在が全く分からないとき
sudo find / -name *hoge.txt*
sudo権限があるという前提ではありますが、ルートディレクトリ/
を指定しつつパターンマッチにワイルドカードを使うことで全ディレクトリを対象に検索することができます。
テキスト処理
結果のフィルタ
catやlsコマンドなど、結果から特定の文字列を含むものを抽出したいときに便利です。
cat <ファイル> | grep <文字列> ls <ファイル> | grep <文字列>
-v
オプションをつけることで特定の文字列を含まないようにすることもできます。
cat <ファイル> | grep -v <文字列>
特定のデバッグログを抽出したいときに便利です。
JSONを整形して見やすくする
JSON(JavaScript Object Notation)とはJavaScriptのオブジェクト記法によるデータフォーマットです。 メジャーなデータフォーマットでバックエンドのAPIなどでよく使われています。 下記はJSONによるデータフォーマットの例ですが、データ量が増えると当然複雑になりやすいです。
{"hoge":{"huga": "test"}, "hogehuga": ["test", "example"]}
ターミナル上でファイルやcurlの結果などからJSONを読み込む際に上記の様な一列だと見づらいのでpython -m json.tool
コマンドをパイプラインで繋げることで見やすくすることができます。
このコマンドの利点としてはMac、Linuxに標準でpython2がインストールされているためすぐに使えるという点です。
cat <JSONファイル> | python -m json.tool curl -X GET http://example.com/example.json | python -m json.tool
{ "hoge": { "huga": "test" }, "hogehuga": [ "test", "example" ] }
logファイルをリアルタイムで見る
動作確認などでlogファイルの出力をリアルタイムに確認したい場合lessコマンドを使うと便利です。 Ctrl+cを押すと通常のlessコマンドと同様のモードに戻ることができ、大文字Fを入力すると再度入力待ち状態にすることができます。
less +F <ログファイル>