MENU

実務で使うLinuxコマンドの要点整理(K〜O)|現場での使いどころ【2026年版】

Linuxサーバーの日常運用では、ファイル操作・ログ確認・プロセス制御・ネットワーク状態の把握といった作業が繰り返し発生します。本記事ではコマンド名のK〜O範囲に含まれる主要コマンドを中心に、個々のオプション網羅ではなく「現場でどのシナリオに使うか」という観点で整理します。また、netstat の廃止移行や文字コード変換ツールの現状など、2026年時点での現行標準との差分も合わせて確認します。

目次

ファイル操作の核心:ls・mv・mkdir を連携させる

サーバー上でアプリケーションをデプロイした直後、多くの運用者がまず実行するのが ls -la です。パーミッション・所有者・タイムスタンプを一覧で確認できるため、「ファイルは転送されたか」「実行権限は正しいか」を素早く判断できます。

ls -la /var/www/html/app/

ファイルが多いディレクトリでは ls -lt で更新日時順に並び替えると、直近の変更が先頭に来て見やすくなります。シェルスクリプト内で ls を使う場合は --color=never を明示するのが安全です。エイリアスで色制御コードが付与されると、パイプ処理の出力が意図せず汚染されることがあります。

ファイルの移動・リネームには mv を使います。デプロイ時の典型的なパターンとして、古いバイナリをバックアップしてから新しいものに差し替える手順があります。

mv /usr/local/bin/myapp /usr/local/bin/myapp.bak
mv ./myapp-v2.0 /usr/local/bin/myapp

スクリプトで自動化する場合は -f で確認を省略し、前後のバックアップ処理を明示的に書く方が意図が伝わりやすくなります。対話的な作業では -i を付けて上書き前に確認を求める設定を好む現場も多いです。

mkdir-p オプションと組み合わせることで、深い階層を一度に作成できます。途中のディレクトリが存在しない場合でもエラーにならないため、プロビジョニングスクリプトでは常用されます。

mkdir -p /srv/app/releases/20260710/logs

シンボリックリンクで「現行バージョン」を切り替える

ln -s によるシンボリックリンクは、バージョン管理とデプロイを組み合わせる現場でほぼ必須の技法です。新リリースのディレクトリを用意し、current というシンボリックリンクを貼り替えることでサービスの向き先を瞬時に切り替えるパターンは、Capistrano や Deployer といった自動デプロイツールも内部で採用しています。

ln -sfn /srv/app/releases/20260710 /srv/app/current

-f は既存のリンクを上書き、-n はリンク先がディレクトリの場合にリンク自体を操作対象にします。この2つを省くと、ディレクトリ内部に意図せずリンクが作成されてしまうケースがあるため、ディレクトリを対象とする場合は必ず指定します。

リンクの実体を確認するには ls -la-> の先を見るか、readlink -f で最終的な絶対パスを確認します。切り戻し時はリンク先を前のリリースディレクトリに貼り替えるだけで済むため、リリース判断をシンプルに保てます。

readlink -f /srv/app/current

ログ・設定ファイルの確認は less が現場の標準

ファイルの内容を確認する際、more よりも less を使うのが現在の標準です。more は一方向にしか進めませんが、less は上下スクロール・キーワード検索・ファイル内ジャンプが可能で、長大なログファイルの調査に適しています。主要な操作を押さえておくと調査効率が大きく変わります。

  • /パターン で前方検索、?パターン で後方検索
  • n で次のマッチへ、N で前のマッチへ移動
  • G でファイル末尾、g でファイル先頭へジャンプ
  • q で終了

less +F はファイルの末尾を追いかけるモードで起動します。tail -f に近い動作ですが、Ctrl+C でスクロールモードに切り替えることで過去ログを自由に検索できます。リアルタイム追尾と過去参照を交互に行う調査では特に重宝します。

less +F /var/log/nginx/error.log

-S オプションを付けると、長い行を折り返さず横スクロールで確認できます。CSVやJSON形式のログを一行単位で読みたい場合に便利です。なお、more は多くの環境でまだ動作しますが、上位互換である less に慣れておく方が運用上の選択肢が広がります。

暴走プロセスへの対処:kill・pkill と systemd の関係

プロセスが応答しなくなった際、まず試みるのはシグナル15(SIGTERM)による正常終了の要求です。多くのデーモンは SIGTERM を受け取るとクリーンアップ処理を行ってから終了します。

kill <PID>       # SIGTERM(デフォルト)
kill -15 <PID>  # 同上、明示的な指定

正常終了しない場合にのみ、シグナル9(SIGKILL)を使います。SIGKILL はカーネルが強制終了するため、デーモン自身のクリーンアップ処理が走りません。ロックファイルが残る・データが破損するといったリスクがあるため、最終手段として位置づけます。

プロセス名で操作する場合は pkill が便利です。-f オプションはプロセス名だけでなくコマンドライン全体にマッチするため、同名プロセスが複数存在する場合の絞り込みに有効です。ただし意図しないプロセスに当たるリスクもあるため、事前に pgrep -la で対象を確認する習慣が安全です。

pgrep -la gunicorn
pkill -TERM -f "gunicorn: worker"

重要な注意点として、systemd 管理下のサービスでは kill の代わりに systemctl stop <unit> を優先します。kill で直接プロセスを落とすと、systemd が即座に再起動を試みたり、依存関係の停止処理が正しく行われなかったりする問題が起きることがあります。

落とさずに負荷だけ抑えたい場合は nice / renice が有効です。nice -n 19 command で最低優先度で起動し、稼働中のプロセスには renice 19 -p <PID> で後から変更できます。ナイス値は −20(最高優先)から 19(最低優先)の範囲で、一般ユーザは正値(優先度を下げる方向)しか設定できません。夜間バッチや重い圧縮処理など、業務影響を抑えながら並行実行したい場面で活用されます。

netstat は廃止済み——2026年の標準は ss コマンド

netstat はかつてネットワーク状態の確認に広く使われていましたが、net-tools パッケージは Ubuntu・Debian・RHEL系など主要ディストリビューションのデフォルトインストールから除外されています。現在は iproute2 パッケージに含まれる ss コマンドが後継として標準化されています。

よく使う確認作業の対応を整理します。LISTENしているポートを確認する場合、旧来の netstat -tlnpss -tlnp に置き換えられます。確立済みのTCP接続は ss -tnp、UDP も含めた全ソケットは ss -anp で確認できます。

ss -tlnp          # LISTENポートとプロセス情報を一覧表示
ss -tnp           # 確立済みTCP接続を表示
ss -anp           # TCP・UDP含む全ソケットを表示

オプションの意味は -t(TCP)、-u(UDP)、-l(LISTENのみ)、-n(名前解決せず数値で表示)、-p(プロセス情報を表示)です。ss/proc/net/ を直接参照するため netstat より高速に動作します。特定ポートへの接続に絞り込む場合は ss -tnp dport = :443 のようにフィルタを組み合わせられます。

手順書や監視スクリプトに netstat が残っている場合は、この機会に ss へ書き換えておくことを推奨します。net-tools が入っていない環境ではスクリプトがコマンド不在で停止するリスクがあり、インシデント対応時に余計なトラブルを招くことがあります。

文字コード変換の実務:nkf と iconv の使い分け

nkf(Network Kanji Filter)は日本語文字コード変換の定番ツールですが、2026年時点では多くの環境でデフォルトインストールされていません。POSIX に含まれる iconv が汎用的な代替として機能します。

まず文字コードを判定するには file コマンドか、nkf が使える環境では nkf --guess を使います。

file -i config.txt        # MIME type と charset を表示
nkf --guess config.txt    # nkf がある環境での文字コード判定

Shift_JIS から UTF-8 に変換する場合の例を示します。

# iconv を使う場合(ほぼすべての環境で利用可能)
iconv -f SHIFT_JIS -t UTF-8 input.txt -o output.txt

# nkf を使う場合(インストール済みの環境で)
nkf -w input.txt > output.txt

iconv は変換できない文字があるとエラーで停止します。ログファイルのように不正な文字が混在する可能性がある場合は、エンコーディング名に //IGNORE を付加することで変換不能な文字をスキップできます。

iconv -f SHIFT_JIS -t UTF-8//IGNORE input.txt -o output.txt

Webアプリケーションのログやデータ移行では、文字コードの不一致が原因のトラブルは今も絶えません。file -i で入力ファイルの文字コードを確認してから変換し、変換後に diff や目視で内容を検証する習慣が推奨されます。また、nkf は日本語に特化した自動判別に強みがあるため、文字コードが不明なファイルの判定ステップだけ nkf --guess を使い、変換処理は iconv で行うという組み合わせも現場では見られます。パッケージ管理で nkf を追加インストールできる場合、日本語ファイルを多く扱う環境では手元に置いておく価値があります。

「コマンドは打てる。次は”現場で通用する型”を最短で身につけたい」——そんなあなたへ。

ネットの断片的なTipsをコピペするだけでは、体系的な運用スキルはなかなか積み上がりません。リナックスマスター.JPの無料メルマガ「リナマガ」では、現場で実際に使うLinuxサーバー運用の考え方を、順を追って実務目線でお届けしています。いま登録された方には、安全なサーバー構築の「型」をまとめた『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼント中です。

>> 図解60P『Linux入門マニュアル』を無料で受け取る
(メルマガ登録は10秒・いつでも解除OK)

※ 「独学の時間がもったいない」「プロから現場の技術を最短で学びたい」という本気の方には、2日で実務レベルが身につく初心者向けハンズオンセミナーもご用意しています。

PR・広告

新しいLinuxの教科書 第2版(Amazon)

コマンド操作から基本運用までを手を動かして学べる定番書。記事で触れた技術の土台固めに。

Amazonで見る

※ Amazonのアソシエイトとして、当サイトは適格販売により収入を得ています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次