Linux

コマンドに対してデフォルトで指定されているオプションを調べる

投稿日:2018年12月4日 更新日:

Linux などの UNIX系OS環境では、コマンドを入力して実行する機会が多いと思いますが、それぞれの環境によって、いくつかのコマンドオプションがデフォルトで指定されている場合があります。

※ ログインシェルに bash を使っているという前提で話します。

どういうことかというと、例えば以下のようにオプションなしで ls コマンドを実行したとします。

$ ls

Ubuntu などでは、この結果はカラーで表示されます。カラー表示するための --color オプションは指定していませんが、どういうことでしょうか?

実は、ログイン時に読み込まれる ~/.bashrc ファイル内に ls コマンドにエイリアスが設定されているのです。

以下に、~/.bashrc 内の該当行を抜粋します。

alias ls='ls --color=auto'

ここで、--color=auto というオプションが追加されていたのです。

では、なぜ ~/.bashrc にこんな記述があるのかというと、このファイルの元になっている /etc/skel/.bashrc ファイルにその記述があるからです。ユーザー作成時に、このファイルがコピーされて ~/.bashrc ファイルが作成されるという仕組みになっています。

それでは、特定のコマンドにエイリアスが設定されているか調べてる方法ですが、alias コマンドで設定中のエイリアスを表示させ、それを grep コマンドで “ls” を含む行だけを抽出します。

以下は、実際に実行した結果の一例です。

$ alias | grep ls
alias la='ls -aAlF'
alias lf='ls -AF'
alias ll='ls -Al'
alias ls='ls --color=auto'

一番最後の行で、ls コマンドに、--color=auto オプションがセットされていることが分かります。

また、このようにエイリアスがセットされている場合に、元のコマンドをそのまま実行するには、コマンドの頭にバックスラッシュを付けて実行します。

$ \ls

📂-Linux

執筆者:labo


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

CentOS

CentOS 6 で yum update した時、remi-php70 レポジトリ内のパッケージの依存性解決ができない場合の解決方法

目次現象解決方法 その1解決方法 その2解決方法 その3まとめ参考 現象 remi-php70 リポジトリを使っている CentOS 6 の環境で PHP関連のパッケージを更新しようと思い、以下のコマ …

WSL

WSL の Ubuntu 16.04 LTS を 18.04 LTS にアップグレードする

WSL の Ubuntu 16.04 LTS を 18.04 LTS にアップグレードしたときの手順を記録します。 目次1. 公式な情報2. 現状確認3. アップグレード作業(1) パッケージを最新の …

Linux

コマンドラインからメールを送信する方法

Linux (や Mac) のターミナルエミュレータ上からメールを送信するコマンドを紹介します。 目次1. sendmail2. mail3. telnet4. おわりに 1. sendmail se …

Linux

「よく使うコマンドランキングの表示」を1つのコマンドにする

目次1. はじめに2. 入力が面倒なコマンドを新たなコマンド(今回は関数)にする3. 作成した関数の実行4. コマンドの引数も合わせて調べたい5. 履歴のフォーマットが異なる場合6. まとめ 1. は …

Linux

tree コマンドの結果を適切に表示する

tree コマンドの結果を適切に表示する方法を紹介します。