LinuxコマンドA-E
LinuxコマンドA-E:記事リスト
LinuxコマンドA-Eのカテゴリーには以下の記事がリストされています。
yum・dnfコマンドでパッケージを管理する方法|インストールからリポジトリ設定まで
「リポジトリのエラーが出て、パッケージのインストールが進まない」
Red Hat系Linux(RHEL、CentOS、AlmaLinux、Rocky Linux等)では、パッケージ管理にyumまたはdnfコマンドを使います。RHEL8以降ではdnfが標準ですが、yumコマンドもそのまま使えます。
この記事では、yum/dnfの基本操作からリポジトリ管理、トラブル対処まで、現場で必要な知識をまとめて解説します。
curlコマンドの使い方|APIリクエストやファイルダウンロードの実践例
「POSTでJSONデータを送信する方法を知りたい」
curlはURLを指定してデータを取得・送信できるコマンドです。Web APIの動作確認、ファイルのダウンロード、HTTPヘッダの確認など、サーバー管理や開発の現場で幅広く使います。
この記事では、curlの基本的な使い方から、POST/PUT/DELETEリクエスト、ヘッダ操作、認証、ファイルダウンロードまで実務で必要な操作を網羅します。
dig
digコマンドとは
digコマンドは、DNSサーバーにドメイン名を元にIPアドレスを問い合わせる(正引き)コマンドになります。
CentOS6系まではnslookupが使用されていましたが、
CentOS7からはdigコマンドの使用が推奨されています。
digコマンドの書式
dig<オプション><@DNSサーバ>ドメイン名<クエリタイプ><クエリクラス>※<>の物は省略可
| 書式項目 | 意味 |
| オプション | digコマンドのオプション |
| @DNSサーバー | 名前解決の問い合わせを行うDNSサーバーを指定します。 省略時は/etc/resolve.confに設定されている DNSサーバーを使用します。 |
| クエリタイプ | どのタイプ(レコード)の名前解決を行いたいか設定します。省略時は「a」(正引き)となる |
| クエリクラス | クエリタイプを指定しない場合、 「in」のインターネットクラスドメインになります。 |
| クエリオプション | 表示結果の指定や問い合わせ方法を細かく指定できます。 |
chkconfigコマンドでサービスの自動起動を設定する方法|CentOS6以前とsystemctlとの対比
ddコマンドでディスクコピー・バックアップする方法|ISOイメージ作成やディスク消去も
「ddコマンドは危険と聞いたけど、具体的に何に気をつければいいのか分からない」
Linuxサーバーの運用では、ディスクのバックアップやブートメディアの作成など、ブロックデバイスを直接操作する場面が出てきます。
この記事では、Linuxの
dd コマンドの基本から実務で使う場面まで解説します。ISOイメージの作成、USBブートメディアの書き込み、ディスクの完全消去、MBR・GPTバックアップなど、現場で必要になる操作を網羅しました。
※
dd は書き込み先を間違えるとデータを破壊します。実行前のデバイス確認を必ず行ってください。chsh
ログインシェルを変更する
■-- 文法 --■
chfn▲(オプション) ▲ユーザ名
例)
chsh▲(オプション) ▲(ユーザ名)
ログインシェルを変更する
※▲はスペースを表してます。
■ 説明
hshはログインした時に使用するログインシェルを変更します。
オプション「-s」で指定するシェルは/etc/shellsにシェルが記述されていなければなりません。シェルを変更する前に確認してください。
また、このコマンドは、一般ユーザでも実行できますが、変更できるシェルは自分のログインシェルのみになります。
実行方法としては、自分のログインシェルを実行する場合には、ユーザ名の指定は必要ありませんが、スーパーユーザで一般ユーザのログインシェルを変更する場合にはユーザ名の指定が必要です。
chfn
ユーザの氏名や情報を変更する
■-- 文法 --■
chfn▲(オプション) ▲ユーザ名
例)
chfn▲(オプション) ▲ユーザ名
ユーザの氏名や情報を変更する
※▲はスペースを表してます。
■ 説明
chfnコマンドは、/etc/passwdに登録されているユーザ情報を変更します。ここで変更された情報はfingerコマンドなどで利用されます。
Chfnコマンドでは以下の項目を設定することができます。
・ユーザのフルネーム
・会社名、部屋番号
・オフィス番号
・自宅電話番号
・その他
一般ユーザは自分の情報のみ変更することができ、rootはすべてのユーザ情報を変更することができます。
duコマンドでディスク使用量を確認する方法|ディレクトリごとの容量や容量順ソートも
「du コマンドを実行したら大量の出力が流れて、結局どこが問題なのか把握できなかった」
Linuxサーバーの運用で、こうした場面に遭遇したことはないでしょうか。
df コマンドでディスク全体の使用率は分かっても、「原因となっているディレクトリ」を特定するには du コマンドが必要です。この記事では、
du コマンドの基本オプションから、ディレクトリごとの容量確認、容量順ソート、特定ディレクトリの除外、ログディレクトリの容量監視まで、現場で必要な使い方を網羅的に解説します。dmesgコマンドでカーネルメッセージを確認する方法|-Tや-lの使い方とエラー対処も
「サーバーが突然不安定になったけど、原因の手がかりをどこから探せばいいのか」
Linuxサーバーの運用で、ハードウェアやカーネルレベルの問題を調査する場面は必ず訪れます。
この記事では、Linuxの
dmesg コマンドの基本的な使い方から、-T による人間が読めるタイムスタンプ表示、-l によるログレベル指定、--follow によるリアルタイム監視、さらに journalctl -k との使い分けや、ディスク障害・OOM Killer・NIC認識の実務での調査方法まで解説します。aliasコマンドでエイリアスを設定する方法|永続化や実務で使える設定例も
「よく使うオプション付きコマンドを、もっと短く呼び出せないだろうか」
Linuxでの作業効率を上げるなら、エイリアス(alias)を使わない手はありません。
この記事では、
alias コマンドによるエイリアスの設定方法を基本から解説します。一時的な登録・削除(
unalias)はもちろん、.bashrc での永続化、実務で使える定番エイリアス、sudo でエイリアスが効かない問題の対策まで網羅しました。crontabコマンドの設定と書き方|動かない時のログ確認まで
「夜中にバックアップを取りたいけど、書き方が合っているか不安」
Linuxサーバーの自動化において、避けては通れないのがこの
crontab(クーロンタブ)です。この記事では、定期的にコマンドを自動実行する crontab の設定方法を解説します。基本的な書き方はもちろん、現場で必ずハマる「環境変数の罠」や「ログの確認方法」まで、実務で困らないための鉄則をまとめました。
1. crontabの基本コマンド(編集・表示・削除)
crontabの設定は、専用のコマンドを使って行います。直接ファイル(/var/spool/cron/など)を編集するのはご法度です。設定を編集する: -e
# crontab -e
bc
計算をする
■-- 文法 --■
例)
bc▲(オプション)
計算をする
※▲はスペースを表してます。
■ 説明
bcコマンドは、コマンドライン上で計算をするためのコマンドです。
オプションを指定することで、正弦(sin)や余弦(cos)などの計算も行うことができます。
expand
タブをスペースに変換にする
■-- 文法 --■
expand▲(オプション) ▲ファイル名
例)
expand▲-1▲tab.txt
タブをスペースに変換にする
※▲はスペースを表してます。
■ 説明
expandコマンドはタブを指定した数のスペースに置き換えるコマンドです。
オプションなしで実行した場合、タブをスペース7個として置き換えますが、
]オプションで数を設定することにより、スペースを好きな数の分だけ指定することができます。
逆に、スペースをタブへ変換するコマンドとして、unexpandがあります。
コマンドを実行する際には、引数として変換したいファイルを指定します。
cutコマンドの使い方|区切り文字でフィールドを抽出する方法
こうしたテキスト処理で手軽に使えるのが、cutコマンドです。
この記事では、cutコマンドの基本的な使い方から区切り文字の指定、フィールド抽出、パイプとの組み合わせまで、実務で使える実践的な使い方を解説します。
awkコマンドの使い方|パターン検索やフィールド抽出の実践例
こうした場面で真っ先に頼りになるのが、awkコマンドです。
この記事では、awkコマンドの基本構文からフィールド抽出、パターンマッチ、パイプとの組み合わせまで、実務で使える実践的な使い方を解説します。
初心者がつまずきやすいポイントやトラブル対処も網羅しているので、ぜひ最後まで読んでみてください。
envコマンドで環境変数を確認・設定する方法|export・printenvとの違いも
「シェルスクリプトの1行目にある #!/usr/bin/env bash って何だろう?」
環境変数はLinuxのあらゆる場面で使われています。コマンドの検索パス、言語設定、ホームディレクトリなど、システムの動作を裏で制御する重要な仕組みです。
この記事では、
env コマンドの実践的な使い方を解説します。環境変数の一覧表示から、一時的な変数設定でのコマンド実行、
export や printenv との違い、#!/usr/bin/env の仕組みまで網羅しました。exitコマンドでシェルを終了する方法|終了コードの意味とスクリプト内での活用
「シェルを終了する方法がわからない」「スクリプトの中でどうやってプログラムを終了させるの?」
「終了コード($?)って何のためにあるの?」
exitコマンドはLinuxの操作やシェルスクリプトを作成する上で欠かせない基本コマンドです。
単にシェルを終了するだけでなく、終了コード(exit status)を使って処理の成否を通知する重要な役割があります。
この記事では、exitコマンドの基本的な使い方から、
シェルスクリプト内での終了コードの活用方法、logoutコマンドとの違い、
実務で役立つパターンまで解説します。
この記事のポイント
・exit 0は正常終了、exit 1(またはゼロ以外)はエラー終了を意味する
・$?で直前のコマンドやスクリプトの終了コードを確認できる
・exitはサブシェルやスクリプト内でも使えるがlogoutはログインシェルのみ
・シェルスクリプトでのエラーハンドリングにexit+終了コードの組み合わせが必須
exitコマンドとは?基本的な役割
exitコマンドには2つの主要な役割があります。
・シェルやスクリプトを終了する:現在のシェルプロセスまたはシェルスクリプトを終了させる
・終了コードを返す:次のプロセス(親プロセスやスクリプト呼び出し元)に処理結果を数値で伝える
特に2番目の「終了コード」は、シェルスクリプトでのエラーハンドリングやパイプラインの制御において非常に重要です。
1. exitコマンドの書式
exit [終了コード]
# 終了コードは 0 ~ 255 の整数
# 省略した場合は直前のコマンドの終了コードが使われる
2. 終了コードの意味
| 終了コード | 意味 | 使い場面 |
|---|---|---|
exit 0 |
正常終了(成功) | 処理が正常に完了した |
exit 1 |
一般的なエラー | 何らかのエラーが発生した |
exit 2 |
引数エラー・使い方の誤り | コマンドライン引数が正しくない |
exit 126 |
コマンドが実行できない | 実行権限がない |
exit 127 |
コマンドが見つからない | 指定したコマンドが存在しない |
exit 128+N |
シグナルNで終了 | Ctrl+C(SIGINT)は130など |
終了コード($?)の確認方法
直前に実行したコマンドやスクリプトの終了コードは、特殊変数$?で確認できます。
1. コマンドの終了コードを確認する
$ ls /etc/hostname /etc/hostname
$ echo $?
0
# ls が正常終了したため 0 が返る$ ls /no/such/directory
ls: '/no/such/directory' にアクセスできません: そのようなファイルやディレクトリはありません$ echo $?
2
# ls がエラー終了したため 2 が返る
2. スクリプトの終了コードを確認する
$ cat check_file.sh #!/bin/bash if [ -f /etc/hostname ]; then echo "ファイルが存在します" exit 0 else echo "ファイルが見つかりません" exit 1 fi
$ bash check_file.sh
ファイルが存在します$ echo $?
0
シェルスクリプト内でのexitの使い方
シェルスクリプトでのexitコマンドの代表的なパターンを解説します。
1. エラー時に即座に終了する
#!/bin/bash
# バックアップ元ディレクトリの存在確認
SRC_DIR="/data/source"
if [ ! -d "$SRC_DIR" ]; then
echo "ERROR: ソースディレクトリが存在しません: $SRC_DIR" >&2
exit 1
fi# rsyncでバックアップを実行
rsync -av "$SRC_DIR/" /backup/
if [ $? -ne 0 ]; then
echo "ERROR: バックアップに失敗しました" >&2
exit 1
fiecho "バックアップが完了しました"
exit 0
>&2はエラーメッセージを標準エラー出力に送る記法です。
エラーメッセージは標準エラー出力に出す習慣をつけると、
ログのリダイレクト時に正常出力とエラーを分けられます。
2. set -e でエラー時に自動終了する
スクリプトの先頭にset -eを書くと、
いずれかのコマンドが0以外の終了コードを返した時点でスクリプトが自動終了します。
#!/bin/bash
set -e # エラーが発生したら即座に終了する
set -u # 未定義変数を参照したらエラーにする
set -o pipefail # パイプライン途中のエラーも検知するecho "処理開始"
cp /data/source /data/backup # 失敗した場合ここで終了する
echo "コピー完了"
gzip /data/backup # 失敗した場合ここで終了する
echo "圧縮完了"
exit 0
set -eは便利ですが、終了コードがゼロ以外でも正常な場合(grepでマッチなし=終了コード1など)に
意図せず終了してしまうことがあります。そのような箇所は|| trueで回避します。
#!/bin/bash
set -e# grep でマッチなしは終了コード 1 だが、それは正常
grep "ERROR" /var/log/app.log || true
# || true で終了コードを常に 0 にする
3. トラップを使ったクリーンアップ
スクリプトが終了(正常・エラーどちらでも)したときにクリーンアップ処理を実行するには
trapコマンドを組み合わせます。
#!/bin/bash# スクリプト終了時(EXITシグナル)に cleanup関数を実行する
trap cleanup EXITcleanup() {
echo "一時ファイルを削除します..."
rm -f /tmp/work_$$.tmp
echo "クリーンアップ完了"
}# 処理
echo "作業開始"
echo "処理中..." > /tmp/work_$$.tmp# 途中でエラーが発生してもcleanupが実行される
if [ ! -f /data/source ]; then
echo "ERROR: ソースファイルが見つかりません" >&2
exit 1
fiecho "処理完了"
exit 0
exitとlogoutの違い
ターミナルからログアウトする際に、exitとlogoutの2つが使えますが、動作に違いがあります。
1. exitとlogoutの違いを理解する
# 現在のシェル種別を確認する $ echo $SHELL /bin/bash
# ログインシェルかどうかを確認する(先頭に - がついていればログインシェル)
$ echo $0
-bash # ← ログインシェル(SSH接続直後など)# または
$ echo $0
bash # ← 非ログインシェル(サブシェル)
| コマンド | ログインシェルで実行 | サブシェルで実行 |
|---|---|---|
exit |
ログアウト(セッション終了) | サブシェルを終了してログインシェルに戻る |
logout |
ログアウト(セッション終了) | エラー(ログインシェルではありません) |
2. サブシェル内でのexitの動作
# ログインシェルから bash を起動してサブシェルに入る $ bash $ echo $0 bash # サブシェル
$ exit # サブシェルを終了する
exit$ echo $0
-bash # ログインシェルに戻ってきた# もう一度 exit するとログアウト
$ exit
logout
Connection to 192.168.1.100 closed.
3. logoutが使えない場合のトラブルシュート
# サブシェル内でlogoutを実行するとエラーになる $ csh % logout ログインシェルではありません.
# exitを使えば終了できる
% exit
exit
$
実務での終了コードの活用パターン
1. 終了コードでスクリプトの成否を判定する
#!/bin/bash # メンテナンス前のチェックスクリプト
# 別のスクリプトを実行して終了コードで判定
bash /opt/scripts/check_disk.sh
if [ $? -eq 0 ]; then
echo "ディスク確認OK"
else
echo "ディスク使用率が閾値を超えています。メンテナンスを中止します" >&2
exit 1
fibash /opt/scripts/check_service.sh
if [ $? -eq 0 ]; then
echo "サービス確認OK"
else
echo "サービスに問題があります。メンテナンスを中止します" >&2
exit 1
fiecho "全チェック完了。メンテナンスを開始します"
exit 0
2. cronジョブでの終了コード管理
# crontabの設定例 # スクリプトの終了コードが0以外の場合、cronがメールで通知する 0 3 * * * /opt/scripts/backup.sh >> /var/log/backup.log 2>&1
# 終了コードをlogに残す場合
0 3 * * * /opt/scripts/backup.sh; echo "終了コード: $?" >> /var/log/backup.log
本記事のまとめ
exitコマンドの使い方と終了コードの活用をまとめます。
| やりたいこと | コマンド・記述 |
|---|---|
| 正常終了する | exit 0 |
| エラー終了する | exit 1 |
| 直前のコマンドの終了コードを確認する | echo $? |
| エラーで自動終了する設定 | set -e(スクリプト先頭に記述) |
| 終了時にクリーンアップを実行する | trap cleanup EXIT |
| サブシェルを終了してログインシェルに戻る | exit |
| ログインシェルを終了してログアウトする | exitまたはlogout |
exitコマンドは単純に見えて、シェルスクリプトの品質を大きく左右します。
特に終了コードの設計を意識することで、スクリプトの信頼性が格段に高まります。
シェルスクリプトをさらに深く学びたい方は、Apacheのタイムアウト設定や
systemctlとchkconfigでサービスを管理する方法も参考にしてください。
atコマンドで指定時刻にジョブを実行する方法|atq・atrmや書式一覧も
「一度だけ実行したい処理があるのに、cronに書くほどでもない」
Linuxでの運用中、指定した時刻に一回だけコマンドを実行したい場面は意外と多いものです。こうした場面で活躍するのが
at コマンドです。この記事では、
at コマンドの実践的な使い方を解説します。日時の指定書式から、ジョブの確認・削除(
atq/atrm)、アクセス制御、トラブル対処まで網羅しました。dfコマンドでディスク容量を確認する方法|使用率の見方や容量不足の対処も
「dfコマンドを実行したけど、tmpfsが大量に並んで肝心のディスク情報が見づらい」
Linuxサーバーの運用で、こうした場面に遭遇したことはないでしょうか。
この記事では、Linuxの
df コマンドを使ってディスク容量や使用率を確認する実践的な手順を解説します。基本的なオプション(-h・-T・-i)の使い方から、tmpfsを除外して見やすくする方法、dfとduの違い、iノード枯渇への対処、ディスク使用率の自動監視スクリプトまで、現場で必要な知識をまとめました。
cc
プログラムをコンパイルする(C言語)
■-- 文法 --■
cc (オプション) ソースプログラム名
例)
cc▲-o▲test.c
プログラムをコンパイルする
※▲はスペースを表してます。
compress
ファイルを圧縮する
■-- 文法 --■
compress (オプション) (ファイル名)
例)
compress▲-v▲pakira.txt
ファイルを圧縮する
※▲はスペースを表しています。
■ 説明
compressコマンドは、gzipとともに入力データを圧縮するコマンドです。
compressコマンドは、ファイル名を指定せずに実行すると、標準入力から
データを読み込み、圧縮したデータは、標準出力に出力します。
ファイル名を引数に指定すると、指定したファイルからデータを読み込み、
元のファイル名にサフィックス(接尾辞)「.Z」を付加したファイル名に
圧縮したデータを出力します。
圧縮処理が終了すると、元ファイルは削除されます。
また、「-c」オプションを指定すると、圧縮結果は標準出力に出力され、
これをファイルにリダイレクトすることで、元のファイルを残したまま
圧縮ファイルを作成できます。
compressで圧縮したファイルを復元(伸長)するには、
uncompressコマンドを使用します。
環境によっては、compressコマンドがインストールされていない場合があります。
そのような場合は、下記コマンドを実行して、compressコマンドをインストールします。
# yum -y install ncompress
hostnameコマンドでホスト名を確認・変更する方法|hostnamectlの永続設定も
「hostnameコマンドで変更したのに、再起動したら元に戻ってしまった」
ホスト名はネットワーク上でサーバーを識別するための名前です。
この記事では、hostnameコマンドの基本から、hostnamectlによる永続的な変更、FQDN(完全修飾ドメイン名)の確認まで、実務で必要な操作を網羅します。
domainname
サーバーのドメイン名を表示、設定する
■-- 文法 --■
domainname (ドメイン名)
例)
domainname▲pakira
ドメイン名を表示する
※▲はスペースを表してます。
■ 説明
domainnameコマンドは、NISドメイン名を表示、設定することができます。NISドメイン名を設定するには、domainnameコマンド名の引数にドメイン名を指定して実行することで、設定、変更することができます。
ただし、domeinnameコマンドで確認、設定できるのは、NIS/YPのドメイン名になります。DSNドメイン名とはことなりますので、注意してください。
dateコマンドの使い方|日付・時刻の表示から書式指定・設定変更まで
「シェルスクリプトで日付付きファイル名を作りたい」
こうした場面で欠かせないのが、dateコマンドです。
この記事では、dateコマンドの基本的な使い方から書式指定、相対日付の指定、シェルスクリプトでの活用法まで、実務で必要な知識をまとめて解説します。
diffコマンドでファイルを比較する方法|unified形式やディレクトリ比較も
「本番サーバーにデプロイする前に、設定ファイルの差分を確認したい」
Linuxでサーバーを管理していると、設定ファイルの変更箇所を正確に把握する場面が頻繁にあります。
この記事では、diffコマンドの基本から、実務で最も使われるunified形式(-u)やディレクトリ比較(-r)、パッチの作成・適用まで、現場で必要な使い方をすべて解説します。
catコマンドでファイル内容を表示する方法|結合やリダイレクトの使い方も
「複数のログファイルを1つにまとめたいけど、どうすればいいか分からない」
Linuxを使い始めて最初に覚えるコマンドの1つが、ファイルの中身を表示する
cat コマンドです。この記事では、
cat(キャット)コマンド の実践的な使い方を解説します。基本的なファイル表示から、行番号の付与、複数ファイルの結合、リダイレクトによるファイル作成・追記まで、実務で必要になる操作をまとめました。
chgrpコマンドでグループを変更する方法|chownとの使い分けと-R一括変更
chmod(許可設定)と chown(所有者変更)がよく使われますが、グループだけを変更したい場面では chgrp コマンドが最もシンプルです。この記事では、ファイルやディレクトリの所有グループを変更する
chgrp(チェンジグループ)コマンド の使い方を解説します。基本的なグループ変更から、
-R オプションによるディレクトリ一括変更、chown との使い分けまで、実務で必要なポイントをまとめました。chownコマンドで所有者・グループを変更する方法|-Rの一括変更も
「rootユーザーで作った設定ファイルを、一般ユーザーで編集しようとしたら怒られた」
Linuxサーバーの運用で「権限エラー(Permission denied)」が起きた時、chmodコマンドと並んで必ずチェックすべきなのが「ファイルの所有者」です。
chmod が「誰に何をさせるか(読み・書き・実行の許可)」を制御するのに対し、chown は「そのファイルが誰のものか(所有者)」を変更するコマンドです。この記事では、ファイルやディレクトリの所有者・グループを変更する
chown(チェンジオーナー)コマンド の実践的な使い方を解説します。基本的な所有者の変更から、ユーザーとグループを同時に変更する書き方、ディレクトリの中身ごと一括で変更する
-R オプションまで、実務でトラブルを解決するための必須ノウハウをまとめました。※
chown コマンドは原則として root ユーザー、または sudo を付けた状態でのみ実行できます。一般ユーザーで実行すると「Operation not permitted」エラーになります。1. 現在の所有者とグループを確認する(ls -l)
chown コマンドで変更を行う前に、まずは現在のファイルの所有者が誰になっているかを確認するのが鉄則です。ls -l コマンドを使用します。# ls -l sample.txt -rw-r--r-- 1 root root 1024 Feb 24 10:00 sample.txt
root が「所有ユーザー」、4番目の root が「所有グループ」を表しています。chmodコマンドでパーミッションを変更する方法|755・644の意味と-Rの一括変更【早見表付き】
cpコマンドでファイルをコピーする方法|-rや-aの違いと実務での使い分け
「ディレクトリごとコピーしようとしたら、中身が空だった」
Linuxサーバーの運用では、設定ファイルのバックアップや環境の複製など、ファイルコピーの作業が頻繁に発生します。
この記事では、Linuxのファイルコピーに使う
cp コマンドの基本から実務で役立つオプションまで解説します。単純なコピーだけでなく、
-r(ディレクトリごとコピー)と -a(属性を完全保持したコピー)の違い、設定ファイルのバックアップ手順、rsync との使い分けまで網羅しました。