realpathコマンド

はじめに こんにちは!今回はrealpathコマンドについて解説します。 realpathは、ファイルやディレクトリの絶対パスを取得するコマンドです。シンボリックリンクを解決したり、相対パスを絶対パスに変換したりできます。 パスの処理をする時には超便利ですよ。 realpathコマンドとは realpathは、ファイルパスの絶対パス(フルパス)を返す外部コマンドです。 主な機能: シンボリックリンク解決 - シンボリックリンクの実体を追跡 相対パス変換 - 相対パスを絶対パスに変換 パス正規化 - ../や./を解決 存在確認 - ファイルが存在するか確認 複数ファイル対応 - 複数ファイルのパスを一度に処理 スクリプトでパス処理する時にはほぼ必須です。 基本構文 1 realpath [オプション] ファイル... ファイルの絶対パスを返します。 主なオプション オプション 説明 -e, --canonicalize-existing ファイルが存在することを確認 -L, --logical シンボリックリンクを解決しない -m, --canonicalize-missing ファイルが存在しなくても処理 -s, --strip 末尾のスラッシュを削除 -z, --zero NUL文字で区切る --relative-to=BASE BASEからの相対パスで出力 -q, --quiet エラー出力を抑制 使用例 例1: 基本的なパス取得 1 realpath myfile.txt 実行結果: 1 /home/user/myfile.txt 相対パスを絶対パスに変換します。 例2: シンボリックリンクを解決 1 2 ln -s /usr/bin mylink realpath mylink 実行結果: ...

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

mktempコマンド

はじめに こんにちは!今回はmktempコマンドについて解説します。 mktempは、一時ファイルやディレクトリを安全に作成するコマンドです。ファイル名の衝突を避けたり、セキュリティリスクを回避したりできます。 シェルスクリプトで一時ファイルを使う時には、ほぼ必須のコマンドですよ。 mktempコマンドとは mktempは、予測不可能な名前の一時ファイルまたはディレクトリを作成する外部コマンドです。 主な特徴: ユニークな名前生成 - 衝突しない名前を自動生成 セキュリティ - 予測不可能な名前により、セキュリティ脆弱性を回避 ファイル/ディレクトリ対応 - 両方作成可能 テンプレート指定 - 名前パターンをカスタマイズ可能 自動削除オプション - スクリプト終了時に自動削除可能 /tmp下に安全な一時ファイルを作成できます。 基本構文 1 mktemp [オプション] [テンプレート] テンプレートにXXXXXXを含めると、そこにランダム文字が入ります。 主なオプション オプション 説明 -d ファイルではなくディレクトリを作成 -p ディレクトリ 指定したディレクトリに作成 -t テンプレートの最後にXXXXXXを自動追加 -u ファイルを作成しない(名前だけ返す) --suffix=末尾 ファイル名の末尾に文字列を追加 --dry-run 実際には作成せず、名前を表示 --tmpdir=ディレクトリ 作成先ディレクトリ指定 使用例 例1: 一時ファイルを作成 1 2 3 4 temp_file=$(mktemp) echo $temp_file cat $temp_file rm $temp_file 実行結果: 1 /tmp/tmp.XXXXXXXXXX ランダムな名前の一時ファイルを作成します。 例2: 一時ディレクトリを作成 1 2 3 4 temp_dir=$(mktemp -d) echo $temp_dir ls -la $temp_dir rmdir $temp_dir 実行結果: ...

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

tputコマンド

はじめに こんにちは!今回はtputコマンドについて解説します。 tputは、ターミナルの属性や機能を制御するコマンドです。色の変更、カーソル位置の移動、テキストの装飾など、ターミナルを自由に操作できます。 シェルスクリプトで見栄えのいい出力を作りたい時に、めっちゃ活躍しますよ。 tputコマンドとは tputは、terminfoデータベースを参照してターミナル制御シーケンスを実行する外部コマンドです。 主な機能: 色の制御 - 前景色・背景色の設定 テキスト装飾 - 太字、下線、反転表示など カーソル制御 - カーソル位置の移動、行の消去 ターミナル情報取得 - 画面サイズ、色数の確認 ビープ音 - アラート音の出力 スクリプトで色付きの出力をするには必須のコマンドです。 基本構文 1 tput [オプション] [capname] [パラメータ...] capnameはターミナルの機能名(capabilities)です。 主なオプション オプション 説明 bold 太字 underline 下線 blink 点滅 reverse 反転表示(背景と文字の色を反転) smul 下線開始 rmul 下線終了 setaf [1-7] 前景色設定(1:赤、2:緑、3:黄、4:青、5:紫、6:シアン、7:白) setab [1-7] 背景色設定 cup X Y カーソルを(X,Y)に移動 home カーソルをホーム位置(左上)に移動 clear 画面をクリア el 行末まで消去 cols 画面幅を取得 lines 画面高さを取得 colors 色数を取得 bel ビープ音を出す reset ターミナルをリセット 使用例 例1: テキストを赤色で表示 1 2 3 tput setaf 1 echo "これは赤色のテキストです" tput sgr0 実行結果: ...

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

nohupコマンド

はじめに こんにちは!今回はnohupコマンドについて解説します。 nohupは、ターミナルを閉じた後もプロセスを実行し続けるコマンドです。長時間かかる処理をバックグラウンドで実行する時に便利ですね。 SSH接続を切った後も、サーバーでのタスク実行を続けたい時には欠かせませんよ! nohupコマンドとは nohupは、“no hang up"の略で、SIGHUPシグナルを無視して、プロセスを実行し続ける外部コマンドです。 通常、ターミナルを閉じるとそのターミナルで実行していたプロセスも終了してしまいます。しかし、nohupでコマンドを実行すると、ターミナルを閉じてもプロセスは実行を継続します。 バックアップやデータ処理など、時間のかかるタスクをサーバーで実行する時に重宝します。 基本構文 1 nohup コマンド [引数] 実行結果はnohup.outファイルに保存されます。 主なオプション オプション 説明 なし 実行結果をnohup.outに保存 > ファイル 実行結果を指定ファイルに保存 2>&1 標準エラーも標準出力にリダイレクト & バックグラウンド実行 使用例 例1: 基本的な使い方 1 nohup sleep 100 & 実行結果: 1 2 nohup: ignoring input and appending output to 'nohup.out' [1] 12345 プロセスをバックグラウンドで実行し、HUPシグナルを無視します。 例2: 出力をファイルに保存 1 nohup ./backup.sh > backup.log 2>&1 & 実行結果: 1 [1] 12346 スクリプトの実行結果をbackup.logに保存します。 例3: 長時間処理を実行 1 nohup tar czf large_backup.tar.gz /var/www & 実行結果: ...

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

htopコマンド

はじめに こんにちは!今回はhtopコマンドについて解説します。 htopは、システムのプロセスとリソース使用状況をリアルタイムで表示するコマンドです。topコマンドと似ていますが、使いやすくていろいろ便利な機能があります。 カラフルで見やすく、キーボード操作で直感的にプロセスを管理できるので、サーバーの監視には欠かせませんね! htopコマンドとは htopは、システムのプロセスとリソース使用状況をインタラクティブに表示する外部コマンドです。 CPUやメモリの使用状況、実行中のプロセス一覧をリアルタイムで確認できます。topよりも機能が充実していて、プロセスの強制終了や優先度の変更も簡単にできます。 オープンソースのツールで、システム管理者の間で愛用されています。 基本構文 1 htop [オプション] オプションなしでそのまま実行すると、インタラクティブな画面が表示されます。 主なオプション オプション 説明 -u ユーザー名 特定ユーザーのプロセスのみ表示 -p PID 特定のプロセスID(複数指定可) -s カラム 指定したカラムでソート -H スレッドを別々に表示 -C CPUアフィニティを表示 -M メモリ使用量でソート 使用例 例1: htopを起動 1 htop 実行結果: 1 2 3 4 5 6 7 8 1 [████████████████████ ] Tasks: 125, 2 thr, 45 running 2 [████████████ ] Load average: 2.34 1.98 1.76 Mem[████████████████░░░░░] 7856M/15932M Swp[░░░░░░░░░░░░░░░░░░░░] 0K/2048M PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 1234 root 20 0 456M 234M 123M S 5.0 1.5 45:23 /usr/bin/python 1235 user1 20 0 234M 156M 89M S 3.2 1.0 23:45 chrome インタラクティブ画面でプロセス情報が表示されます。 ...

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

watchコマンド

はじめに こんにちは!今回はwatchコマンドについて解説します。 watchはコマンドの実行結果を定期的に表示し、その変化を監視するコマンドです。ログファイルの更新を見守ったり、システムのリソース使用状況をリアルタイムで確認したりするのに便利ですね。 topコマンドみたいに、指定したコマンドを繰り返し実行して、変化を視覚的に見せてくれる感じです。めっちゃ便利! watchコマンドとは watchは、指定したコマンドを定期的に実行し、その出力結果を画面に表示し続ける外部コマンドです。 デフォルトでは2秒ごとに実行結果を更新して表示します。ファイルの更新を監視したり、ディスク容量の変化をリアルタイムで見たり、ログファイルの最新の行を常に表示したりできます。 スクリーン全体がクリアされて、新しい実行結果が表示されるので、変化をすぐに見つけることができます。 基本構文 1 watch [オプション] コマンド コマンド: 繰り返し実行するコマンド デフォルト実行間隔: 2秒 主なオプション オプション 説明 -n 実行間隔を秒で指定(デフォルト2秒) -d 前回との差分をハイライト表示 -t タイトル行を非表示 -p スクリーンをクリアしない -c 色付け出力を有効化 -e キープレスで終了(デフォルト) -x 出力幅を指定 -y 出力高さを指定 使用例 例1: ディスク容量を監視 1 watch df -h 実行結果: 1 2 3 4 5 6 Every 2.0s: df -h Fri Jan 03 12:00:00 2026 Filesystem Size Used Avail Use% Mounted on /dev/sda1 50G 30G 20G 60% / tmpfs 3.9G 0 3.9G 0% /dev/shm /dev/sda2 100G 50G 50G 50% /home ディスク使用量を2秒ごとに表示します。 ...

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

iptablesコマンド

はじめに こんにちは!今回はiptablesコマンドについて解説します。 iptablesはLinuxのファイアウォール設定を行うコマンドです。ネットワークトラフィックをフィルタリングしたり、ポート転送したりするのに使います。 セキュリティの要ですね。サーバーを守るための重要なコマンドです。ちょっと複雑ですが、基本を理解するとめっちゃ便利ですよ! iptablesコマンドとは iptablesは、LinuxカーネルのNetfilterフレームワークを操作して、ファイアウォールルールを設定する外部コマンドです。 通信を許可したり拒否したり、ポート転送をしたり、NAT(ネットワークアドレス変換)を設定したりできます。インターネットに接続されたサーバーではほぼ必須のコマンドですね。 iptablesはテーブル→チェーン→ルールという階層構造で動作します。 基本構文 1 iptables [テーブル] [コマンド] [チェーン] [条件] [アクション] テーブル: filter(デフォルト), nat, mangle, raw など コマンド: -A(追加), -D(削除), -L(表示)など チェーン: INPUT, OUTPUT, FORWARD など 条件: -s(送信元), -d(宛先), -p(プロトコル)など アクション: ACCEPT(許可), DROP(破棄), REJECT(拒否)など 主なオプション コマンド 説明 -A ルールをチェーンの末尾に追加(Append) -D チェーンからルールを削除(Delete) -I ルールをチェーンの先頭に挿入(Insert) -L チェーンのルール一覧を表示(List) -F チェーンのすべてのルールを削除(Flush) -P チェーンのデフォルトポリシーを設定(Policy) -n IPアドレスをホスト名に変換しない -v 詳細表示(verbose) -i 入力インターフェース(-i eth0 など) -o 出力インターフェース(-o eth0 など) -s 送信元IPアドレス -d 宛先IPアドレス -p プロトコル(tcp, udp, icmp など) --dport 宛先ポート --sport 送信元ポート -j ターゲット(ACCEPT, DROP, REJECT など) 使用例 例1: 現在のファイアウォールルールを表示 1 iptables -L 実行結果: ...

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

getentコマンド

はじめに こんにちは!今回はgetentコマンドについて解説します。 getentはシステムのデータベースから情報を取得するコマンドです。ユーザー情報、グループ情報、ホスト名などを調べるのに使います。 /etc/passwdや/etc/groupなどのファイルを直接読むのではなく、システムが実際に使用しているデータベースから情報を取得できるので、LDAP等の認証システムを使っている環境でも正確な情報が得られます。便利ですね! getentコマンドとは getentは、“get entries"の略で、システムのデータベースエントリを取得する外部コマンドです。 Unix/Linuxシステムでは、ユーザー情報やグループ情報がローカルファイルだけでなく、LDAP、NIS、その他の認証システムから取得されることもあります。getentはそのすべてのデータベースから統一した方法で情報を取得できます。 NSS(Name Service Switch)という仕組みを通じて、/etc/nsswitch.confの設定に従ってデータを検索します。 基本構文 1 getent [オプション] database [key] database: 検索対象のデータベース(passwd, group, hosts, servicesなど) key: 検索キー(オプション、指定しなければ全エントリを表示) 主なオプション オプション 説明 -s service 特定のサービスのみを検索 主なデータベース: passwd: ユーザー情報 group: グループ情報 hosts: ホスト情報 services: サービス情報 protocols: プロトコル情報 ethers: イーサネットアドレス情報 networks: ネットワーク情報 rpc: RPC情報 使用例 例1: 全ユーザー情報を表示 1 getent passwd 実行結果: 1 2 3 4 5 6 7 root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin ... システムの全ユーザー情報を表示します。/etc/passwdと同じ形式です。 ...

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

ftpコマンド

はじめに こんにちは!今回はftpコマンドについて解説します。 ftpはFile Transfer Protocolを使用してファイルを転送するコマンドです。リモートサーバーとの間でファイルをアップロード・ダウンロードする時に使う、昔ながらの通信プロトコルですね。 SSHやSCPが登場する前からあって、今でも使われているんです。セキュリティ的にはSSHの方が優れていますが、シンプルなファイル転送にはまだまだ活躍しています。 ftpコマンドとは ftpは、FTP(File Transfer Protocol)を使用してリモートサーバーとファイルをやり取りする外部コマンドです。“file transfer protocol"の略ですね。 インタラクティブ形式で、ユーザーがコマンドを入力しながらサーバーに接続し、ファイルのアップロード・ダウンロード・削除などの操作ができます。ログインして、ファイルを選んで転送するという対話的なインターフェースが特徴です。 基本構文 1 ftp [オプション] [ホスト名またはIPアドレス] ホスト名を指定した場合、そのサーバーへの接続を試みます。指定しない場合は、openコマンドで後から接続先を指定できます。 主なオプション オプション 説明 -v 詳細表示(verbose) -n 自動ログインを使用しない -i インタラクティブプロンプトを無効化 -d デバッグモード -g グローバルファイル名展開を無効化 使用例 例1: サーバーに接続 1 ftp ftp.example.com 実行結果: 1 2 3 Connected to ftp.example.com. 220 Welcome to FTP Server Name (ftp.example.com:user): ftp.example.comに接続します。ユーザー名の入力を求められます。 例2: ユーザー名とパスワードでログイン 1 2 3 4 ftp> user myusername 331 Please specify the password. Password: 230 Login successful. ユーザー名を入力してログインします。パスワードは表示されません。 ...

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

seqコマンド

はじめに こんにちは!今回はseqコマンドについて解説します。 seqは連続した数字を出力するコマンドです。スクリプトでループを使う時とか、連番ファイルを作る時とか、めっちゃ便利ですよ。 「シーケンス」の略で、「1から100まで出力してほしい」みたいな数字の列を簡単に作れます。 seqコマンドとは seqは、指定された範囲の数字を順番に出力する外部コマンドです。 シンプルですが、シェルスクリプトでのループや、テスト用のデータ生成に活躍します。開始値、終了値、増分を指定できるので、柔軟に数字の列を作れるんです。 基本構文 1 seq [オプション] [開始値] [増分] [終了値] 開始値と増分は省略できます。省略した場合は開始値が1、増分が1になります。 主なオプション オプション 説明 -f FORMAT 出力形式を指定(printf形式) -s SEP 区切り文字を指定(デフォルトは改行) -w 桁数を揃える(ゼロパディング) 使用例 例1: 1から10までを出力 1 seq 10 実行結果: 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 最もシンプルな使い方。終了値だけを指定すると、1から指定値まで出力されます。 例2: 指定範囲を出力 1 seq 5 15 実行結果: 1 2 3 4 5 6 7 8 9 10 11 5 6 7 8 9 10 11 12 13 14 15 開始値と終了値を両方指定できます。この場合は5から15までが出力されます。 ...

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