0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

知っておくと便利なターミナルコマンド10選

0
Posted at

同じファイル名を毎回入力したり、エラーログを手動で確認したりする作業は面倒でした。より効率的な方法はないかと、日常的に使うターミナルで素早く結果を出せるコマンドを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つ、日常の作業で試してみてほしいと思います。小さな工夫が、ターミナル作業の効率をぐんと高めてくれます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?