Linuxコマンドはエンジニアの基礎体力です

サーバー管理・クラウド開発・コンテナ操作……エンジニアが仕事をしていると、必ずLinuxのコマンドラインを操作する場面が訪れます。

この記事では、エンジニアが日常的に使う基本コマンド30選を用途別にまとめました。


ファイル・ディレクトリ操作

# 現在のディレクトリを表示
pwd

# ディレクトリの内容を一覧表示
ls
ls -la  # 隠しファイル含め詳細表示

# ディレクトリを移動
cd /path/to/dir
cd ..     # 1つ上へ
cd ~      # ホームディレクトリへ

# ディレクトリを作成
mkdir my-folder
mkdir -p parent/child/grandchild  # 中間ディレクトリも作成

# ファイルをコピー・移動・削除
cp file.txt copy.txt
cp -r dir/ new-dir/   # ディレクトリごとコピー
mv old.txt new.txt    # 移動・リネーム
rm file.txt
rm -rf dir/           # ディレクトリごと削除(危険!確認してから実行)

# ファイルの内容を表示
cat file.txt
less file.txt    # ページ送りで表示
head -n 20 file  # 先頭20行
tail -n 20 file  # 末尾20行
tail -f log.txt  # リアルタイムで末尾を追跡(ログ監視に便利)

ファイル検索・テキスト処理

# ファイルを検索
find . -name "*.py"           # .pyファイルを全て検索
find . -type f -newer file.txt  # 指定ファイルより新しいファイル

# テキストを検索(grep)
grep "error" log.txt           # ファイル内でerrorを検索
grep -r "TODO" ./src           # ディレクトリ内を再帰検索
grep -n "pattern" file.txt     # 行番号付きで表示

# テキスト処理
sort file.txt                  # 行をソート
uniq file.txt                  # 重複行を削除
wc -l file.txt                 # 行数を表示
cut -d',' -f1 data.csv         # CSV の1列目を取り出す

プロセス・システム管理

# プロセス一覧
ps aux
top         # リアルタイムのプロセス監視
htop        # topの見やすい版(別途インストール)

# プロセスを終了
kill PID          # プロセスIDで終了
kill -9 PID       # 強制終了
pkill python      # プロセス名で終了

# ディスク使用量
df -h             # ディスク空き容量
du -sh ./         # カレントディレクトリのサイズ

# メモリ使用量
free -h

ネットワーク・ファイル転送

# ファイルをダウンロード
curl -O https://example.com/file.zip
wget https://example.com/file.zip

# リモートサーバーにSSH接続
ssh user@192.168.1.1

# ファイルをリモートにコピー(SCP)
scp file.txt user@server:/home/user/

# ポートが開いているか確認
nc -zv server 80

まとめ

Linuxコマンドは使えば使うほど体に馴染みます。まずはlscdcatgrepfindの5コマンドを毎日使い、徐々に範囲を広げていきましょう。

Linuxコマンドの基本概念を深く理解する

Linuxコマンドを実務で使いこなすには、表面的な使い方だけでなく、その背後にある設計思想や仕組みを理解することが重要です。なぜそのように設計されているのかを知ることで、問題が発生したときに原因を素早く特定し、適切な解決策を選択できるようになります。

学習を進める際は、公式ドキュメントを最初の情報源にすることを強くおすすめします。Stack OverflowやQiita・Zennなどのコミュニティも有用ですが、バージョンが古い情報が混在しているため、公式ドキュメントで裏付けを取る習慣をつけましょう。また、実際にコードを書いて動かしてみることが理解の近道です。読むだけではなく、手を動かすことが上達への最短ルートです。

Linuxコマンドの実践的な活用例

実務でのLinuxコマンド活用シーンをいくつか紹介します。個人開発プロジェクトから始め、徐々に規模を拡大することで実践的なスキルが身につきます。最初は小さなCLIツールやWebアプリを作ることから始め、コードレビューを受けながらベストプラクティスを学ぶのが効果的です。

GitHubにコードを公開することも重要です。オープンソースプロジェクトへのコントリビューションは、技術力のアピールになるだけでなく、他のエンジニアのコードから学ぶ絶好の機会です。また、技術ブログやQiitaで自分の学習記録を発信することで、アウトプットを通じた深い理解が得られます。企業の採用担当者も技術ブログをチェックしており、転職や副業案件の獲得にもつながります。

Linuxコマンドでよくあるエラーと解決法

Linuxコマンドを使っていると必ず壁にぶつかる場面が来ます。よくあるエラーパターンを事前に把握しておくことで、詰まる時間を大幅に短縮できます。エラーメッセージは必ず全文を読み、英語のメッセージもGoogle翻訳や DeepLを使って理解しましょう。

解決策を探す際は「エラーメッセージ + バージョン番号 + site:stackoverflow.com」のような検索クエリが効果的です。同じエラーで詰まった先人の解決策を見つけやすくなります。それでも解決しない場合は、ChatGPTやClaudeにエラーメッセージとコードを貼り付けて相談する方法も有効です。AIは膨大な技術ドキュメントを学習しているため、的確なヒントを与えてくれることが多いです。

Linuxコマンドの学習ロードマップ

Linuxコマンドのスキルを体系的に習得するためのロードマップを紹介します。まず「基礎(1〜2ヶ月)」として、公式チュートリアルや入門書で基本操作と概念を習得します。次に「応用(2〜4ヶ月)」として、実際のプロジェクトにLinuxコマンドを組み込んで実践的なスキルを磨きます。

「発展(4ヶ月以降)」の段階では、パフォーマンス最適化・セキュリティ・設計パターンなど高度なトピックに踏み込みます。おすすめの学習リソースとしては、Udemy(英語・日本語の動画講座)、公式ドキュメント、GitHub上のサンプルプロジェクトがあります。仲間と学ぶ場としては、connpassで技術勉強会を探したり、オンラインコミュニティに参加するのも効果的です。

Linuxコマンドを使った副業・フリーランス案件の探し方

Linuxコマンドのスキルを身につけたら、それを収入に変える方法を考えましょう。エンジニアリング系のスキルはフリーランス市場での需要が高く、クラウドソーシングや人材マーケットで多数の案件が見つかります。

案件を探す際は、ランサーズ・クラウドワークス・レバテックフリーランスなどのプラットフォームを活用しましょう。Linuxコマンド関連の案件は時給2,000〜5,000円以上のものも多く、週10〜20時間の副業で月5〜15万円の収入が見込めます。案件獲得のポイントは「ポートフォリオの充実」です。GitHubに実際に動くコードを公開し、どんな問題をどう解決したかを説明する文章を添えることで、採用率が上がります。技術ブログやQiitaで知識を発信することも、案件獲得の大きな武器になります。