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

【Linux】 CentOS のマニュアル

CentOS は、RHEL (Red Hat Enterprise Linux)のソースコードから商標や商用パッケージ等を除去してリビルドした RHELクローンです。 マニュアルを見る場合は、RHEL …

Linux

シェルスクリプト (Bash) では組み込みコマンド set を活用しましょう

Linux や MacOS、Windows の WSL でシェルスクリプト(Bash)を書く場合は、組み込みコマンド set を活用しましょう。より完成度の高い処理を書くことができます。 スポンサード …

WSL

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

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

Linux

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

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

CentOS

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

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