エイリアスとは?シェルのalias・DNS・メール・Macの別名を文脈別に実装者向けに解説【2026年版】
エイリアス(alias)とは、あるものに付けた「別名」を指す言葉で、ITでは本来の名前の代わりに使える短い呼び名や参照を意味します。同じ「エイリアス」でも、シェルでよく使うコマンドを短縮するaliasコマンド、DNSでドメインを別のホストへ向けるALIASレコード、1つのメールボックスに複数の受信アドレスをぶら下げるメールエイリアス、Macでファイルの場所を指し示すエイリアスと、文脈ごとに実体が異なる点がややこしいところです。この記事では、実装者が最も触れるシェルのaliasコマンド(登録・一覧・unalias・~/.bashrcでの永続化・引数を扱えない制約と関数との使い分け)を主軸に据えつつ、DNSのALIASレコードとCNAMEの違い、メールとMacのエイリアスまでを一枚の地図として整理します。最後に、エイリアスを乱用しないためのチーム運用の判断基準まで踏み込みます。
目次
まとめ:エイリアスの意味と文脈別の使い分けの判断基準
エイリアスは「別名」です。実体(コマンド・ドメイン・メールボックス・ファイル)はそのままに、それを指す短い名前や参照を別に用意する仕組みだと捉えると、どの文脈でも見通しが良くなります。エンジニアが日常で最も使うのはシェルのaliasで、alias ll='ls -l'のように「名前=実行内容」を登録し、~/.bashrcや~/.zshrcに書いて永続化します。
実務でつまずくのは、aliasが引数を途中に差し込めない点と、シェルスクリプト(非対話シェル)では既定で展開されない点です。引数の途中差し込みが要るならシェル関数へ、スクリプトで使い回すなら関数やコマンド本体へ切り替えます。DNSのALIASレコードは、CNAMEが置けないZone Apex(例:example.comそのもの)で使える別名で、サーバー側でAレコードへ解決される点がCNAMEとの分かれ目です。メールエイリアスは受信専用の別名、Macのエイリアスは移動に追随するファイル参照で、パス依存のシンボリックリンクとは挙動が違います。共有スクリプトや本番手順にはエイリアスを持ち込まず、素のコマンドで書く。この線引きを守るだけで、環境差による事故を減らせます。
エイリアスの意味とIT分野における文脈別の使われ方の全体像の整理
まず「別名」という核を押さえたうえで、どの文脈でどんな実体を指すのかを整理します。言葉は同じでも、設定する場所も効く範囲も異なります。
エイリアスの語義(別名・参照)と指し示す本体との関係の基本構図
エイリアス(alias)はラテン語由来で「別名」「またの名」を意味します。ITでは、本体を複製するのではなく、本体を指し示す短い名前や参照を別に用意する点が共通します。コマンドの短縮名も、ドメインの別名も、メールの受信別名も、指す先はあくまで1つの実体です。この「実体は1つ、呼び名は複数」という構図を押さえると、後述のどの文脈でも設定の意味を取り違えずに済みます。名前を付け替えているのではなく、名前を増やしていると考えるのが正確です。
コマンド・DNS・メール・ファイルという4つの主な文脈の切り分け
「エイリアスとは」で検索したときに想定される文脈は、おおむね次の4つに分かれます。自分がどれを調べているのかを、この表で先に確認してください。
| 文脈 | エイリアスが指すもの | 設定する場所 |
|---|---|---|
| シェル/コマンド | コマンドの短縮名(ll=ls -l) |
.bashrc・.zshrc等 |
| DNS | ドメインの別名(Aへ解決) | DNSゾーン(Route 53等) |
| メール | 受信用の別アドレス | メールサーバー/管理画面 |
| Mac/ファイル | ファイル・フォルダへの参照 | Finder |
このうち、エンジニアが毎日のように触れるのはシェルのエイリアスです。DNSのエイリアスはインフラ担当、メールのエイリアスは情報システム担当が扱う場面が多く、Macのエイリアスは一般ユーザー向けの機能です。以下では、検索需要と実装での頻度が高いシェルのaliasから詳しく見ていきます。
シェルのaliasコマンドの設定・一覧・削除と.bashrcでの永続化
シェルのエイリアスは、よく打つコマンドに短い別名を付けて、入力の手間とタイプミスを減らす仕組みです。aliasはbashやzshに組み込まれたコマンドで、追加のインストールは要りません。土台となるシェル環境の前提はLinuxの仕組みとサーバー用途に整理しています。
aliasの基本構文(名前=実行内容)と登録済みエイリアス一覧の確認
登録は「alias 名前=’実行内容’」の形で行います。実行内容に空白やオプションを含むため、シングルクオートで囲むのが基本です。
- 短縮名を付ける:
alias ll='ls -l'(llでls -lを実行) - 色付き表示を既定にする:
alias grep='grep --color=auto' - 危険操作に確認を挟む:
alias rm='rm -i'
登録済みの一覧は、引数なしでaliasと打つと表示されます。特定の名前だけ確認したいときはalias llのように名前を渡す形です。頻繁にエイリアス化される代表格がgrepコマンドによる行の絞り込みで、色付けやよく使うオプションを既定にしておくと、毎回の指定を省けます。
unaliasによる削除と\コマンドで一時的にエイリアスを無効化する方法
登録したエイリアスを外すにはunaliasを使います。個別に消すならunalias ll、その場のセッションで全部消すならunalias -aです。一時的に本来のコマンドを実行したいだけなら、削除せずに回避できます。
- 1回だけ本体を呼ぶ:
\ls(先頭にバックスラッシュでエイリアス展開を抑止) - 同じく本体を呼ぶ:
command ls(command経由で組み込み・本体を実行)
rm='rm -i'のような確認付きエイリアスを入れている環境で、確認を飛ばして大量削除したいときなどに、この一時無効化が効きます。エイリアスを消さずに、その1回だけ素の挙動へ戻せるのが利点です。
.bashrc・.zshrcへの記述とsourceで再読み込みする永続化の手順
ターミナルでaliasを打っただけの登録は、シェルを閉じると消えます。次回以降も使うには、シェル起動時に読み込まれる設定ファイルへ書いておきます。
- 使っているシェルのファイルを開く(bashなら
~/.bashrc、zshなら~/.zshrc) - そこに
alias ll='ls -l'のように1行ずつ追記する - 編集内容を今のセッションへ反映する:
source ~/.bashrc
macOSの既定シェルはzshのため、~/.zshrcを使う点に注意します。sourceを実行すれば、ターミナルを開き直さずに追加分が反映されるのが利点です。エイリアスをまとめた設定ファイル群(dotfiles)は、Gitで管理して複数マシンへ配る運用が定番で、環境の再現性を保てます。
aliasが引数を扱えない制約とシェル関数へ切り替える判断基準
aliasは「先頭に文字列を差し込む」置換に近く、引数を途中に挟めません。渡した引数はつねに展開後の末尾に付くだけです。たとえば「ディレクトリを作って、そこへ移動する」のように引数を途中で使う処理は、エイリアスでは書けません。この場合はシェル関数を使います。
- エイリアスでは不可:作成したディレクトリ名を
cdに渡し直す処理 - 関数なら可:
mkcd() { mkdir -p "$1" && cd "$1"; }($1で第1引数を2回使う)
判断基準はシンプルです。単純な置き換えで足りるならalias、引数を途中で使う・複数行の処理・条件分岐が要るなら関数へ切り替える。長い転送コマンドをまとめたいときも、SCPコマンドによるサーバー間ファイル転送のように接続先が固定なら関数化しておくと、ホスト名やパスを引数で受け取れて使い回しが利きます。
シェルスクリプト(非対話シェル)でエイリアスが展開されない仕様と回避策
汎用の使い方記事では触れられない、実装者がはまりやすい仕様があります。bashは既定で、対話的でないシェル(スクリプト実行)ではエイリアスを展開しません。手元のターミナルで動くエイリアスを、そのままスクリプトに書いても効かない、という食い違いが起こります。
回避策は2つです。1つは、スクリプト内でshopt -s expand_aliasesを宣言してから、定義したエイリアスを使う方法。もう1つは、そもそもスクリプトではエイリアスに頼らず、コマンド本体か関数で書く方法です。実務では後者を推奨します。スクリプトは実行環境の~/.bashrcに依存させないほうが、どのサーバーでも同じ結果になり、移植性が保てます。エイリアスは手元の対話作業を速くする道具、スクリプトは素のコマンドで書く、と役割を分けるのが安全側です。
DNSのALIASレコードとCNAMEの違いとZone Apexでの使い分け
ネットワークの文脈でのエイリアスは、ドメイン名を別のホストへ向ける「別名レコード」を指します。シェルのaliasとは別物で、DNSの名前解決の仕組みに関わります。
ALIASレコードの役割とCNAMEが置けないZone Apexという制約
DNSには、あるドメイン名を別の名前の別名として扱うCNAMEレコードがあります。ただしCNAMEには制約があり、ゾーンの頂点(Zone Apex、例:example.comそのもの)には置けません。ここを解決するのがALIASレコードです。ALIASは、Zone Apexでも別のホスト名を指せる仕組みで、AWSのRoute 53などが提供します。CNAMEが「別名です」とクライアントに返すのに対し、ALIASは指し先のIPアドレス(A/AAAAレコード)をサーバー側で解決して直接返すのが構造上の違いです。
| 観点 | CNAME | ALIAS(Route 53等) |
|---|---|---|
| Zone Apexへの設定 | 不可 | 可 |
| 解決の返り値 | 別名(要追加解決) | A/AAAA(IPを直接) |
| 提供元 | DNS標準 | DNSサービス独自 |
ロードバランサーやCDNのように指し先のIPが変わりうる対象を、独自ドメインの頂点に割り当てたいときにALIASが要ります。ゾーンや内部の名前解決そのものの設計はプライベートDNSによる内部名前解決と地続きで、公開ドメインと内部ゾーンを分けて設計する前提知識になります。
ALIASレコードを使う場面とCNAMEで足りる場面の切り分け
切り分けは対象がどこに置かれるかで決めます。www.example.comのようなサブドメインを外部サービスへ向けるだけなら、標準のCNAMEで足りるのが基本です。一方、example.comという頂点(ネイキッドドメイン)をAWSのロードバランサーやCloudFrontへ向けたいなら、CNAMEは使えずALIASが要ります。ALIASはDNSサービス独自の拡張のため、乗り換え時に同じ設定が別サービスでそのまま通るとは限らない点も、選定時に見ておく観点です。頂点ドメインをクラウド上のリソースへ向ける要件が出た時点で、ALIASに対応したDNSサービスを前提に設計する、と判断します。
メールエイリアスとMacのエイリアスという別文脈のエイリアス
ここまでの2文脈に比べると頻度は下がりますが、「エイリアスとは」で調べる人が想定する残りの文脈が、メールとMacのファイルです。それぞれ実体が違うため、混同しないよう整理します。
メールエイリアスの仕組み(受信専用の別名)と実務での代表的な用途
メールエイリアスは、1つのメールボックスに複数の受信アドレスを結びつける別名です。たとえば[email protected]宛のメールを、実在する担当者のメールボックスへ転送するように設定します。エイリアス自体は独立した受信箱を持たず、あくまで転送先の別名として働く点が、実体のあるメールアカウントとの違いです。用途は、部署共通アドレスの受け口、サービスごとに使い分ける受信用アドレス、退職者宛メールの引き継ぎなどです。Gmailなどのプラスアドレスでもメールアドレスにタグを足した別名を作れ、届く先は同じ受信箱になります。メールサーバー側の設定として動くため、サーバーの役割の理解が前提です。基礎はサーバーの役割・種類とクライアントとの違いで確認できます。
Macのエイリアスとシンボリックリンクの参照方法と挙動面の違い
Macのエイリアスは、Finderで作るファイルやフォルダへの参照で、Windowsのショートカットに近い機能です。よく比較されるシンボリックリンク(symlink)とは、参照の追い方が異なります。Macのエイリアスは対象の内部識別子(inode)も記録するため、対象を別の場所へ移動しても追随して開けるのが特徴です。対して、シンボリックリンクはパス文字列で指すため、対象を移動するとリンク切れになります。
- Macのエイリアス:GUI向け。対象の移動に追随しやすい
- シンボリックリンク:コマンド・スクリプト向け。パス依存でリンク切れが起きうる
ターミナルやスクリプトから参照をたどる用途では、Finderのエイリアスは扱いにくく、ln -sで作るシンボリックリンクを使うのが実務的です。GUIでの手軽なショートカットはエイリアス、コマンドラインでの参照はシンボリックリンク、と用途で選び分けます。
エイリアスを乱用しないためのチーム開発での運用ルールと判断基準
エイリアスは個人の作業を速くする一方で、使いどころを誤ると保守性を下げます。ここは独自の判断として言い切ります。
個人の生産性に使う場面と共有スクリプトに持ち込むべきでない場面
エイリアスが向くのは、自分の手元での対話作業です。長いオプションの短縮、色付けの既定化、打ち間違えやすいコマンドの補正は、~/.bashrcに入れておく価値があります。逆に、持ち込むべきでないのが、チームで共有するスクリプトや、他人が読む運用手順書です。rm='rm -i'のような確認付きエイリアスを前提に手順を書くと、その別名が無い環境では素のrmが走り、想定外の削除につながります。共有物では、エイリアスの有無に依存しない素のコマンドで書く。この一線は崩さないでください。手元は速く、共有は素直に、が原則です。
dotfilesでのチーム標準化と読みやすいエイリアス命名の指針
個人のエイリアスをチームへ広げるなら、各自の~/.bashrcを口頭で共有するのではなく、dotfilesとしてGitリポジトリで管理し、配布・更新の経路を1本化します。命名は、既存コマンドを上書きする形(lsやgrep自体の再定義)は最小限にとどめ、新しい短縮名は他人が見て中身を推測できる綴りにするのが原則です。gのような1文字の別名は、書いた本人以外には解読できず、レビューやペア作業で足を引っ張ります。エイリアスの数を増やすことが目的化すると、かえって環境ごとの差異が広がる点にも注意が必要です。こうした手元の運用を、複数サーバーへの標準配布やDNS・メール設定まで含めた基盤として整えていく段階では、AWS・Google Cloud・Azureのインフラ構築支援で、環境の標準化と運用自動化の設計から相談できます。属人的な設定から、チームで再現できる運用へ引き上げる局面で検討する価値があります。
エイリアス(alias)の設定と文脈の違いについてのよくある質問
エイリアスの実運用でつまずきやすい点を、実際に検索される質問に沿って答えます。
エイリアスとは何ですか?
エイリアスは「別名」を意味し、本来の名前の代わりに使える短い呼び名や参照のことです。ITでは主に、シェルでコマンドを短縮する別名、DNSでドメインを別ホストへ向ける別名レコード、メールの受信用の別名、Macのファイルへの参照を指します。実体は1つのまま、それを指す名前を別に用意する仕組み、と捉えると文脈が違っても理解しやすくなります。
aliasで設定した内容を永続化するにはどうしますか?
ターミナルでaliasを打っただけの登録はシェルを閉じると消えます。次回以降も使うには、bashなら~/.bashrc、zshなら~/.zshrcにエイリアスの行を書き加え、source ~/.bashrcで今のセッションへ反映します。macOSの既定はzshなので~/.zshrcが対象です。複数マシンで揃えたいときは、これらの設定ファイルをdotfilesとしてGitで管理します。
aliasで引数を渡すことはできますか?
aliasは先頭への文字列置換に近く、引数を途中に差し込めません。渡した引数は展開後の末尾に付くだけです。引数を途中で使う処理や、複数行・条件分岐が要る処理は、エイリアスではなくシェル関数で書きます。たとえばmkcd() { mkdir -p "$1" && cd "$1"; }のように、$1で引数を受け取って複数回使えます。
DNSのALIASレコードとCNAMEの違いは何ですか?
どちらもドメインの別名ですが、CNAMEはゾーンの頂点(Zone Apex、例:example.comそのもの)に置けません。ALIASはZone Apexでも別ホストを指せ、指し先のIP(A/AAAA)をサーバー側で解決して返します。example.comという頂点をAWSのロードバランサーやCDNへ向けたいときはALIAS、サブドメインを外部サービスへ向けるだけならCNAMEで足ります。ALIASはDNSサービス独自の拡張です。
Macのエイリアスとシンボリックリンクはどう違いますか?
Macのエイリアスは、Finderで作るGUI向けの参照で、対象の内部識別子も記録するため、対象を移動しても追随して開けます。シンボリックリンクはパス文字列で指すため、対象を移動するとリンク切れになる点が違いです。ターミナルやスクリプトから参照をたどる用途ではシンボリックリンク(ln -s)を、Finder上の手軽なショートカットにはエイリアスを使い分けます。
関連記事
- Linuxとは?仕組み・ディストリビューション・サーバー用途:aliasが動くシェル環境(パス・設定ファイル・パーミッション)の理解に
- grepコマンドとは?基本構文・オプション・正規表現からログ検索まで:エイリアス化の対象になる代表コマンドの使い方として
- SCPコマンドとは?基本構文・主要オプション・SSH越しの安全なファイル転送:長い転送コマンドをエイリアス・関数化する実例として
- プライベートDNSとは?内部名前解決の仕組みとRoute 53プライベートホストゾーン:DNSのALIAS・名前解決の設計を掘り下げる関連トピックとして