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

メールアドレスが公開されることはありません。

関連記事

Linux

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

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

CentOS

CentOS Stream release 8 で「Configuration: OptionBinding with id “failovermethod” does not exist」というエラーが表示される

CentOS Stream release 8 で「Configuration: OptionBinding with id “failovermethod” does not exist」というエラーが表示される場合の対応についてです。

Linux

pip install でインストールしたパッケージを使おうとするエラーが発生する

目次1. はじめに2. 環境3. 対処方法4. おわりに 1. はじめに 以下のコマンドで、Python のパッケージをシステムにインストールしたとします。 $ sudo pip install {パ …

Linux

パターンにマッチした行を表示する grep コマンド

目次1. はじめに2. 主な使い方3. その他のオプション4. 正規表現について 1. はじめに grep は、対象ファイルの中で、指定した文字列パターンにマッチした行を表示するコマンドです。 ※ 本 …

Linux

ドキュメントルートに chmod コマンドを実行する際、指定すると便利なモード引数

目次1. はじめに2. chmod に関する前提知識3. ディレクトリは rwxr-xr-x ファイルは rw-r–r– にする解説4. ディレクトリは rwxrwxr-x ファイルは rw-rw …