同じファイル名を毎回入力したり、エラーログを手動で確認したりする作業は面倒でした。より効率的な方法はないかと、日常的に使うターミナルで素早く結果を出せるコマンドを10個選びました。今日から使える簡単な使い方と、実際の効果を紹介します。
grep でテキストを一発検索
複数のログファイルからエラーラインを探すのに、毎回 grep -R "error" . を実行していました。コマンドは同じでも、手入力でタイピングミスが発生し、見落としもありました。grep -n "error" *.log を使うと、対象ファイル内の行番号付きで即座に抽出できます。エラーの特定時間が半分以下に短縮され、タイピングの手間も省けました。
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
最新ツール・トレンド情報をずんだもん×めたんが解説するYouTubeチャンネルを運営しています!
いいね、チャンネル登録してもらえると嬉しいです🙇♂️
ハジメル.dev: https://hajimeru-dev.vercel.app/
「ひとりで続けるのは難しい」「何から学べばいいか分からない」という方向けに、
プログラミングのマンツーマンレッスンサービス「ハジメル.dev」も運営しています。
未経験OK・オンライン完結・月額制/違約金なしなので、気軽に無料相談してみてください🙇♂️
海外テックニュースを追いたいけど、英語や情報量の多さで大変…という方向けに、
Hacker News の話題を日本語でサクッと追える「HackerNews 日本語まとめ & AI要約」
を個人開発しました!
技術トレンド収集に使ってもらえると嬉しいです🔥🙇♂️
→ HackerNews 日本語まとめ & AI要約: https://hn-matome-2ht.pages.dev/
「ニャンパイアサバイバー」というヴァンパイアサバイバーリスペクトのゲームを作成しました!
もしよろしければ遊んで頂けると嬉しいです😭
習い事教室の先生向けに、SNS 投稿・生徒募集・保護者通知の文章を AI で生成する Web サービス「おしらせAI」を個人開発しました。Next.js + Supabase + LLM で構成しており、無料で月 10 回まで試用できます。よければ触ってみてください。
→ おしらせAI: https://oshirase-ai.vercel.app/
言いたいことがうまく伝わらない…という方向けに、会話の言い方を添削する「伝え方ラボ」を開発中です。
場面を選んで自分の言葉で返すと、何が伝わっていないかの指摘と、そのまま使える言い換えが返ってきます。
ChatGPT に相談すると褒めから入って直すべきところが残りがちなので、指摘側に振り切りました。
現在は公開時にお知らせするメール登録のみ受付中です🙇♂️
→ 伝え方ラボ: https://tsutaekata-lab.pages.dev/
✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
sed によるインプレース編集
CSVファイルの余分なカンマを削除する際に、毎回エディタを開いて修正していました。ファイルを開いて確認し、置換して保存という作業を繰り返すのは非効率的でした。sed -i 's/,$//' data.csv を実行するだけで、余分な末尾のカンマを自動的に削除できます。手作業が不要になり、バッチ処理も一発で完了するようになりました。
awk で数値計算
ログの1行あたりの処理時間を合計する際に、Excelで集計していました。コマンドラインで計算できる方法を探していたところ、awk '{sum+=$3} END {print sum}' times.log に出会いました。数値列の3列目を合計し、結果を即座に表示します。手作業での集計と比べ、誤りもなく数秒で完了します。
curl でAPIを呼び出す
外部APIのレスポンスをテストする際、Postmanを立ち上げるのが面倒でした。curl -s "https://api.example.com/data" | jq '.' を使うと、JSONレスポンスを直接ターミナルで確認できます。GUIツールの起動不要で、迅速な検証が可能になりました。ネットワーク遅延も気になりません。
jq でJSONを抽出
APIレスポンス内の特定のフィールドを抽出するのに、Pythonスクリプトを書いていました。jq -r '.items[].name' data.json を使うと、必要なフィールドだけを出力できます。スクリプト作成の手間が省け、簡単なパイプ処理で済むようになりました。JSONパースの速度も格段に上がります。
git diff --stat で変更を素早く確認
コミット前の変更内容を確認する際、git diff を実行して全ファイルを表示していました。git diff --stat を使うと、変更ファイル数と追加・削除行数が1行で表示されます。確認作業が数秒で完了し、必要な詳細だけを確認できます。視覚的な混乱も軽減されました。
docker ps -a でコンテナを一覧表示
開発環境の全コンテナを確認する際、WebUIを開いていました。docker ps -a を使うと、実行中・停止中・構築中のコンテナを一覧表示できます。CLI上で即座に確認でき、UIの起動待ち時間も不要です。コンテナの再起動も一発で操作可能です。
ssh でリモートサーバーに接続
毎回 ssh user@host -p 2222 とポート指定していました。~/.ssh/config に Host prod を設定し、ssh prod だけで接続できるようにしました。Host prod\n HostName example.com\n Port 2222\n User user を記述することで、入力手順が大幅に簡略化されました。接続作業が快適になりました。
rsync でディレクトリを同期
ローカルとリモートのディレクトリを同期する際、コピー&ペーストでスクリプトを作成していました。rsync -avz --delete source/ remote:/path/ を使うと、差分のみを転送し、削除も自動実行されます。手動スクリプト作成が不要になり、エラーの発生も減りました。
watch でコマンドを自動実行
システムの負荷を監視するため、1分ごとに top -n 1 を実行していました。watch -n 60 'top -n 1 | head -5' を使うと、指定間隔でコマンドを自動実行できます。監視作業が楽になり、連続実行の手間も省けました。
まとめ
10個のコマンドを紹介しました。まずは1つ、日常の作業で試してみてほしいと思います。小さな工夫が、ターミナル作業の効率をぐんと高めてくれます。