lsof コマンド

はじめに こんにちは!今回はlsofコマンドについて解説します。 lsofは、開いているファイルを一覧表示するコマンドです。“list open files"の略ですね。ポート競合の調査やプロセスが何のファイルを使っているか確認する場合に便利。サーバー管理やトラブルシューティングの現場で毎日使われるコマンドです。 「どのプロセスがどのファイルを開いているか調べる機」って感じです。 lsofコマンドとは lsofは、Linuxシステムで開かれているすべてのファイル、ソケット、ディレクトリを一覧表示するコマンドです。 ファイルだけでなく、ネットワークソケット、パイプ、デバイスなど、Linuxの"ファイル"として扱われるすべてのものが対象。特定のプロセスが開いているファイル、特定のポートを使用しているプロセス、削除されたが開かれたままのファイルなど、様々な調査ができます。システムの状態を把握するのに欠かせないツールですね。 基本構文 1 lsof [オプション] [条件] オプションなしで実行すると、すべての開いているファイルが表示されます。 主なオプション オプション 説明 -p PID 指定したプロセスIDで開かれているファイル -u ユーザー 指定したユーザーで開かれているファイル -c コマンド 指定したコマンドで開かれているファイル -i ネットワークファイルのみ表示 -i :ポート番号 指定したポート番号を使用しているプロセス -d FD 指定したファイルディスクリプタ +D ディレクトリ 指定したディレクトリ配下のファイル -n ホスト名を表示しない(高速化) -a 複数条件のAND(デフォルトはOR) -t PIDのみ表示 使用例 例1: すべてのオープンファイルを表示 1 lsof | head -20 実行結果: 1 2 3 4 5 6 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 1 root cwd DIR 3,2 4096 2 / systemd 1 root rtd DIR 3,2 4096 2 / systemd 1 root txt REG 3,2 1234567 456789 /lib/systemd/systemd systemd 1 root mem REG 3,2 567890 123456 /lib/x86_64-linux-gnu/libc.so.6 (...省略...) 全プロセスのオープンファイルを表示。数が多いため通常は制限します。 ...

2026年1月3日 · 3 分 · 609 文字 · 須藤権限

gpg コマンド

はじめに こんにちは!今回はgpgコマンドについて解説します。 gpgは、ファイルやテキストを暗号化・署名するコマンドです。GnuPGの略で、セキュアなファイル送受信やデータ保護に欠かせません。機密情報を扱うサーバー管理者や、セキュアな通信が必要な現場で毎日使われるコマンドですね。 「ファイルの鍵をかける機」って感じです。 gpgコマンドとは gpgは、公開鍵暗号を使ってファイルやテキストを暗号化・署名するコマンドです。“GNU Privacy Guard"の略ですね。 パスワードとは異なり、公開鍵と秘密鍵のペアを使います。公開鍵は誰にでも配布でき、秘密鍵は自分だけが持つ。これで、信頼できる人だけがファイルを復号化できたり、ファイルが改ざんされていないことを確認できたりします。情報セキュリティの基本中の基本ですね。 基本構文 1 gpg [オプション] [ファイル] 様々なオプションで暗号化、復号化、署名操作を行います。 主なオプション オプション 説明 -c 対称鍵で暗号化(パスワード暗号化) -d ファイルを復号化 --encrypt 公開鍵で暗号化 --decrypt ファイルを復号化 --sign ファイルに署名 --verify 署名を検証 -r 受信者の公開鍵を指定 --list-keys 公開鍵一覧を表示 --gen-key 鍵ペアを生成 -a ASCII形式で出力 -o 出力ファイルを指定 使用例 例1: 対称鍵で暗号化(パスワード暗号化) 1 gpg -c document.txt 実行結果: 1 2 3 Enter passphrase: (パスワード入力) Repeat passphrase: -cでパスワード暗号化。document.txt.gpgが作成される。 例2: 暗号化ファイルを復号化 1 gpg -d document.txt.gpg 実行結果: 1 2 3 4 gpg: CAST5 encryption will be used Enter passphrase: (パスワード入力) (ファイル内容が標準出力に表示) -dで復号化。パスワード入力が必要。 ...

2026年1月3日 · 2 分 · 418 文字 · 須藤権限

curl コマンド

はじめに こんにちは!今回はcurlコマンドについて解説します。 curlは、HTTPリクエストを送信してWebからデータを取得・送信するコマンドです。wgetと似ていますが、POSTリクエストやAPI呼び出しに強いのが特徴。APIテストやスクリプト自動化、データ取得の現場で毎日使われるコマンドですね。 「Webとの通信機」って感じです。 curlコマンドとは curlは、URLを指定してHTTP/HTTPS通信を行うコマンドラインツールです。“client URL"の略ですね。 wgetはダウンロード専門ですが、curlはより柔軟。GET/POST/PUT/DELETEなど複数のHTTPメソッドに対応し、ヘッダー設定、認証、JSONデータ送信など、Web API操作に必要な機能が充実しています。開発者やサーバー管理者の必須ツールです。 基本構文 1 curl [オプション] URL URLを指定するだけでGETリクエストを送信。レスポンスがSTDOUTに出力されます。 主なオプション オプション 説明 -o レスポンスをファイルに保存 -O 元のファイル名で保存 -d POSTデータを送信 -X HTTPメソッド指定(GET/POST/PUT/DELETE等) -H ヘッダーを追加 -i ヘッダーを含めて表示 -I ヘッダーのみ表示 -L リダイレクトに従う -u 認証情報(ユーザー:パスワード) -b Cookie を送信 -A User-Agent を指定 使用例 例1: 基本的なGETリクエスト 1 curl https://example.com/ 実行結果: 1 2 3 4 5 <!DOCTYPE html> <html> <head><title>Example</title></head> <body>Hello, World!</body> </html> URLにGETリクエストを送信。HTMLが出力されます。 例2: レスポンスをファイルに保存 1 curl -o index.html https://example.com/ 実行結果: ...

2026年1月3日 · 2 分 · 426 文字 · 須藤権限

zip コマンド

はじめに こんにちは!今回はzipコマンドについて解説します。 zipは、ファイルやディレクトリを圧縮してZIPファイルを作成するコマンドです。Windowsと互換性が高い圧縮形式なので、クロスプラットフォームでのファイル共有に最適。複数ファイルをまとめたり、メールで送るときに毎日使うコマンドですね。 「複数ファイルを1つの箱に詰める機」って感じです。 zipコマンドとは zipは、ファイルやディレクトリを圧縮してZIPアーカイブを作成するコマンドです。“unzip"の逆で、ファイルを圧縮して保存します。 ZIP形式は、Windows・Mac・Linux・スマートフォンなど、あらゆるプラットフォームで標準的に対応しているから、ファイル交換に最適。複数ファイルを1つにまとめたり、ファイルを小さくしたり、パスワード保護したりできます。ビジネスシーンで最も一般的な圧縮形式ですね。 基本構文 1 zip [オプション] zipファイル 圧縮対象 圧縮対象にはファイルやディレクトリを指定できます。 主なオプション オプション 説明 -r ディレクトリを再帰的に圧縮 -e パスワード保護を有効化 -q 出力を抑制(quiet) -v 詳細表示 -j ディレクトリ構造を無視してファイルのみ圧縮 -l LF(Unix)を CRLF(Windows)に変換 -d ファイルを削除 -u 更新된 ファイルのみ追加 -x 特定ファイルを除外 -m 圧縮後に元ファイルを削除 使用例 例1: 単一ファイルを圧縮 1 zip archive.zip file.txt 実行結果: 1 adding: file.txt (stored 0%) file.txtをarchive.zipに圧縮。シンプルな1ファイル圧縮。 例2: 複数ファイルを一度に圧縮 1 zip archive.zip file1.txt file2.txt file3.txt 実行結果: 1 2 3 adding: file1.txt (stored 0%) adding: file2.txt (stored 0%) adding: file3.txt (stored 0%) 複数ファイルを1つのZIPファイルに圧縮。 ...

2026年1月3日 · 2 分 · 347 文字 · 須藤権限

unzip コマンド

はじめに こんにちは!今回はunzipコマンドについて解説します。 unzipは、ZIP形式のファイルを展開(解凍)するコマンドです。Windowsと互換性が高い圧縮形式なので、クロスプラットフォームでのファイル受け渡しに最適。メールで送られてきたZIPファイルや、ダウンロードしたzipファイルを展開するときに毎日使うコマンドですね。 「ZIPファイルの開き箱」って感じです。 unzipコマンドとは unzipは、ZIP形式のアーカイブファイルを展開するコマンドです。“unzip"の名の通り、zip圧縮されたファイルを元に戻します。 ZIP形式は、Windows・Mac・Linux・スマートフォンなど、あらゆるプラットフォームで標準的に対応しているから、ファイル交換に最適なんです。gzipやtarと違い、複数ファイルの圧縮、フォルダ構造の保持、パスワード保護などの機能が豊富。ビジネスシーンで一番よく使われる圧縮形式ですね。 基本構文 1 unzip [オプション] zipファイル [展開先ディレクトリ] ZIPファイルを指定するだけで展開開始。デフォルトではカレントディレクトリに展開されます。 主なオプション オプション 説明 -l ZIPファイルの内容をリストアップ(展開しない) -v 詳細表示 -q 出力を抑制(quiet) -d 展開先ディレクトリを指定 -o 既存ファイルに上書き(確認なし) -n 既存ファイルを上書きしない -j ディレクトリ構造を無視してファイルのみ展開 -t テスト実行(展開せずにファイル整合性チェック) -P パスワードを指定 -x ファイル 特定ファイルを除外 使用例 例1: 基本的な展開 1 unzip archive.zip 実行結果: 1 2 3 4 Archive: archive.zip inflating: file1.txt inflating: file2.txt inflating: folder/file3.md archive.zipをカレントディレクトリに展開。ファイル一覧が表示されます。 例2: ZIPファイルの内容確認(展開しない) 1 unzip -l archive.zip 実行結果: ...

2026年1月3日 · 3 分 · 428 文字 · 須藤権限

wget コマンド

はじめに こんにちは!今回はwgetコマンドについて解説します。 wgetは、インターネットからファイルをダウンロードするコマンドです。ブラウザなしで、コマンドラインからURLを指定するだけでファイルが取得できます。スクリプトの自動化や、大容量ファイルのダウンロードに最適。サーバー管理やデータ収集の現場で毎日使われているコマンドですね。 「コマンドラインのダウンロード機」って感じです。 wgetコマンドとは wgetは、Webからファイルをダウンロードするためのコマンドラインツールです。“world wide web” + “get"で"wget"ですね。 ブラウザでは面倒なリモートファイルの取得も、wgetなら簡単。スクリプトに組み込めるので、自動ダウンロードやバッチ処理に向いています。大きなファイルでも、中断したら続きからダウンロード再開できるし、複数のURLを一度にダウンロードすることも可能です。 基本構文 1 wget [オプション] URL URLを指定するだけでダウンロード開始。複数のURLを指定することもできます。 主なオプション オプション 説明 -O ダウンロードファイルの保存名を指定 -o ログファイルに出力 -q 出力を抑制(quiet) -v 詳細表示(verbose) -c 中断したダウンロードを続行 -b バックグラウンドで実行 -i ファイル ファイルから複数URLを読み込み -P ディレクトリ ダウンロード先ディレクトリを指定 -r 再帰的にダウンロード(Webサイト全体など) --limit-rate ダウンロード速度を制限 -U ユーザーエージェントを指定 --timeout タイムアウト時間を指定 使用例 例1: 基本的なダウンロード 1 wget https://example.com/file.tar.gz 実行結果: 1 2 3 4 5 6 7 8 --2026-01-03 12:35:00-- https://example.com/file.tar.gz Resolving example.com... 93.184.216.34 Connecting to example.com [93.184.216.34]:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1234567 (1.2M) Saving to: 'file.tar.gz' file.tar.gz 100%[=========>] 1.20M 2.45MB/s in 0.5s URLを指定するだけで、ファイルがfile.tar.gzという名前でダウンロードされます。 ...

2026年1月3日 · 3 分 · 443 文字 · 須藤権限

rsync コマンド

はじめに こんにちは!今回はrsyncコマンドについて解説します。 rsyncは、ファイルやディレクトリを効率的に同期・バックアップするコマンドです。差分だけを転送するので、大容量のバックアップやリモートサーバーとの同期に最適。サーバー管理やバックアップ自動化の現場で毎日使われるコマンドですね。 「超スマートなファイルコピー&同期ツール」って感じです。 rsyncコマンドとは rsyncは、ローカル、またはリモートのファイルやディレクトリを同期する外部コマンドです。“remote sync"の略ですね。 cpやscp の違いは、rsyncは差分検知 が得意なところ。既に同じファイルが存在していれば、変わった部分だけを転送します。だから、大容量のデータや定期的なバックアップに最適なんです。圧縮転送、削除ファイルの同期、タイムスタンプ保持など、バックアップに必要な機能が揃っています。 基本構文 1 rsync [オプション] コピー元 コピー先 コピー元にホスト名を含める場合はリモート転送になります。host:pathの形式です。 主なオプション オプション 説明 -a アーカイブモード(-rlptgoD と同等) -v 詳細表示(verbose) -z 転送中に圧縮 -r ディレクトリを再帰的に処理 --delete コピー先に存在して、コピー元に無いファイルを削除 -e ssh SSH経由で転送 --exclude 除外パターンを指定 --progress 転送進捗を表示 -u 新しいファイルのみ転送(update) --backup 上書きファイルのバックアップを作成 使用例 例1: 基本的なローカルコピー 1 rsync -a source/ destination/ 実行結果: 1 (成功時は何も表示されない。-vで詳細表示可) source/ディレクトリの内容をdestination/にコピーします。-aでアーカイブモード(所有者、権限、タイムスタンプ保持)。 例2: 詳細表示でコピー 1 rsync -av source/ destination/ 実行結果: 1 2 3 4 5 6 7 sending incremental file list ./ file1.txt file2.txt sent 1,234 bytes received 56 bytes 2,580.00 bytes/sec total size is 5,000 speedup is 3.88 -vで転送ファイルと統計情報が表示されます。 ...

2026年1月3日 · 2 分 · 337 文字 · 須藤権限

lzcatコマンド

はじめに こんにちは!今回はlzcatコマンドについて解説します。 lzcatは.xz形式の圧縮ファイルを解凍して表示するコマンドです。gzipやbzip2より高い圧縮率で圧縮された大きなファイルを扱うときに活躍します。 圧縮ファイルをそのまま表示できるので、一時的なファイル作成が不要。サーバーの容量が限られた環境で便利です。 lzcatコマンドとは lzcatは、.xz形式(LZMA2圧縮)のファイルを解凍しながら表示する外部コマンドです。標準出力に解凍内容を出力するため、パイプと組み合わせやすいですね。 .xz形式はgzipやbzip2より高い圧縮率を実現。特に大規模データの配布やアーカイブに使われています。 基本構文 1 lzcat [ファイル名...] 標準入力からのデータも受け取れます。 主なオプション オプション 説明 -v 詳細表示 -q 警告メッセージを抑制 -k 元ファイルを保持 -t ファイルをテスト 使用例 例1: 圧縮ファイルを表示 1 lzcat archive.tar.xz 実行結果: 1 (tar圧縮ファイルの内容が表示される) 圧縮ファイルを自動的に解凍して表示。 例2: ファイルの内容を確認 1 lzcat logfile.xz | head -20 実行結果: 1 最初の20行が表示される 大きなログを解凍して先頭だけ確認。 例3: 圧縮されたテキストを検索 1 lzcat document.xz | grep "keyword" 実行結果: 1 keywordを含む行が表示される 解凍せずにファイル内を検索。 例4: 圧縮ファイルを別ファイルに解凍 1 lzcat archive.tar.xz > archive.tar 実行結果: 1 (archive.tarが作成される) 標準出力をリダイレクトして解凍。 ...

2026年1月3日 · 2 分 · 258 文字 · 須藤権限

ipコマンド

はじめに こんにちは!今回はipコマンドについて解説します。 ipはネットワークインターフェースの設定と状態を表示・変更するコマンドです。ifconfigの後継で、より強力で柔軟な機能を持っています。IPアドレスの設定、ルーティング、ネットワーク統計など、ネットワーク管理全般で活躍します。 最新のLinuxではこれが標準。ifconfigよりも詳細な情報が得られて、スクリプト化しやすいのが特徴ですね。 ipコマンドとは ipは、Linuxのネットワーク設定・管理を一元的に行う外部コマンドです。“iproute2"パッケージに含まれています。 IPアドレス、ルーティングテーブル、ネットワークデバイス、トンネルなど、ネットワークに関する多くの機能を提供。ifconfig、route、arpなどの複数のコマンドの機能を1つにまとめたものと考えるといいですね。 基本構文 1 ip [オプション] OBJECT COMMAND [引数] OBJECTにはaddr(アドレス)、link(リンク)、route(ルート)などを指定します。 主なオプション オプション 説明 addr IPアドレスを表示・設定 link ネットワークデバイスを表示・設定 route ルーティングテーブルを表示・設定 neigh ARP隣接情報を表示・設定 -s 統計情報を表示 -4 IPv4のみを対象 -6 IPv6のみを対象 show 情報を表示 add 新しい設定を追加 del 設定を削除 使用例 例1: すべてのネットワークデバイスを表示 1 ip link show 実行結果: 1 2 3 4 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 link/ether 00:0c:29:3e:12:34 brd ff:ff:ff:ff:ff:ff ネットワークデバイスの一覧と状態を表示。 ...

2026年1月3日 · 2 分 · 374 文字 · 須藤権限

lastコマンド

はじめに こんにちは!今回はlastコマンドについて解説します。 lastはシステムのログイン・ログアウト履歴を表示するコマンドです。誰がいつどのマシンからログインしたか、セッションがいつまで続いたかを確認できます。 セキュリティ監査やトラブルシューティングで超便利。不正ログインの調査にも使われます。 lastコマンドとは lastは、/var/log/wtmpファイルを読み込んで、ユーザーのログイン・ログアウト履歴を表示する外部コマンドです。 システムにアクセスしたユーザー、ログイン時刻、接続元、セッション時間などを確認できます。セキュリティ管理では必須のコマンドですね。 基本構文 1 last [オプション] [ユーザー名] 引数なしで実行すると、すべてのログイン履歴を表示します。 主なオプション オプション 説明 -n NUM 最後のNレコードのみを表示 -f FILE 指定ファイルからログインデータを読む -w IPアドレスを完全に表示 -i IPアドレスだけを表示 -d ホスト名をIPアドレスに変換 -F 日時をフルフォーマットで表示 -x システムの起動・停止情報も表示 使用例 例1: すべてのログイン履歴を表示 1 last 実行結果: 1 2 3 user1 pts/1 192.168.1.100 Fri Jan 3 14:23:45 2025 - 14:45:20 (00:21) user2 pts/0 192.168.1.200 Fri Jan 3 13:00:00 2025 - 13:30:15 (00:30) root tty1 Fri Jan 3 10:00:00 2025 still logged in 最新から順にログイン履歴を表示。 ...

2026年1月3日 · 2 分 · 359 文字 · 須藤権限