Linux でシェルエイリアスが定義されているかどうかを確認する方法

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux でシェルエイリアスが定義されているかどうかを確認する方法を学びます。まず、alias コマンドを使用して現在定義されているエイリアスを一覧表示し、エイリアスとは何か、そしてそれらがどのように表示されるかを理解します。

次に、エイリアスが設定される一般的な場所を調べます。これには、通常 ~/.bashrc ファイルに保存されているユーザー固有のエイリアスを確認し、/etc/bash.bashrc にあるシステム全体のエイリアスを調べることが含まれます。この実験の終わりまでに、あなたは Linux 環境内のエイリアス定義を識別して見つけることができるようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/TextProcessingGroup -.-> linux/sed("Stream Editing") subgraph Lab Skills linux/ls -.-> lab-558752{{"Linux でシェルエイリアスが定義されているかどうかを確認する方法"}} linux/cat -.-> lab-558752{{"Linux でシェルエイリアスが定義されているかどうかを確認する方法"}} linux/grep -.-> lab-558752{{"Linux でシェルエイリアスが定義されているかどうかを確認する方法"}} linux/sed -.-> lab-558752{{"Linux でシェルエイリアスが定義されているかどうかを確認する方法"}} end

alias コマンドでエイリアスを一覧表示する

このステップでは、Linux のエイリアスについて学び、alias コマンドを使用してエイリアスを一覧表示する方法を学びます。

エイリアスは、長いコマンドをより短く、覚えやすいコマンドに置き換えることができるショートカットです。これにより、大量の入力を節約し、コマンドラインでの作業を効率的に行うことができます。

たとえば、ファイルの詳細な一覧を表示するたびに ls -l と入力する代わりに、同じことを行う ll のようなエイリアスを作成することができます。

現在のターミナルセッションで設定されているエイリアスを表示するには、単に alias コマンドを入力して Enter キーを押します。

alias

次のようなエイリアスの一覧が表示されます。

alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

この出力では、左側にエイリアス名 (例:ll) が、右側にそれが表すコマンド (例:ls -alF) が表示されています。

ls エイリアスに注目してください。これは ls --color=auto に設定されています。これは、ls と入力するたびに、システムが実際には ls --color=auto を実行し、出力に色を付けて読みやすくすることを意味します。

エイリアスを理解することは、ターミナル環境をカスタマイズし、自分に合った環境を作るための最初のステップです。

続ける をクリックして次のステップに進みます。

~/.bashrc でユーザーエイリアスを確認する

前のステップでは、alias コマンドを使用してエイリアスの一覧を表示しました。では、これらのエイリアスの一部がどこで定義されているかを調べてみましょう。

ユーザー固有のエイリアスは、多くの場合、ホームディレクトリ内の設定ファイルに保存されています。Bash シェルのユーザーの場合、一般的な場所は ~/.bashrc ファイルです。この実験環境では zsh を使用していますが、~/.bashrc の役割を理解することは重要です。なぜなら、多くの Linux システムで広く使用されているからです。

~ 記号はホームディレクトリのショートカットで、この環境では /home/labex です。したがって、~/.bashrc はホームディレクトリ直下にある .bashrc ファイルを指します。ファイル名の先頭のドット (.) は、これを隠しファイルにしています。つまり、-a オプションを使用しない限り、単純な ls コマンドでは表示されません。

cat コマンドを使用して ~/.bashrc ファイルの内容を表示してみましょう。cat はファイルの内容を表示するために使用されます。

次のコマンドを入力して Enter キーを押します。

cat ~/.bashrc

.bashrc ファイルの内容が表示されます。出力をスクロールして、alias で始まる行を探してください。

## some example aliases
## alias ll='ls -l'
## alias la='ls -a'

## Add an "alert" alias for long running commands.  Use like:
##   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\\s*[0-9]*\\s*//;s/[;&|]\\s*alert$//'\'')"'

## Alias definitions.
## You may want to put all your additions into a separate file like
## ~/.bash_aliases, instead of adding them here directly.
## See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

## enable programmable completion features (you don't need to enable
## this, if it's already enabled in /etc/bash.bashrc and /etc/profile
## sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

alias で始まるいくつかの行が # でコメントアウトされていることに気づくかもしれません。これらはサンプルまたは非アクティブなエイリアスです。アクティブなエイリアスは、行の先頭に # がないものです。

このファイルは、Bash を使用している場合に通常、独自のカスタムエイリアスを追加する場所です。たとえば、alias update='sudo apt update && sudo apt upgrade' のような行を追加して、システムを更新するためのエイリアスを作成することができます。

続ける をクリックして、システム全体のエイリアスを調べましょう。

/etc/bash.bashrc でシステムエイリアスを調べる

~/.bashrc のようなユーザー固有の設定ファイルに加えて、システム上のすべてのユーザーに適用されるシステム全体の設定ファイルもあります。Bash の場合、そのようなファイルの 1 つが /etc/bash.bashrc です。

このファイルには、システム管理者がすべてのユーザーに利用可能にしたいデフォルト設定やエイリアスが含まれていることが多いです。

このファイルは /etc ディレクトリにあり、このディレクトリは通常、システム設定用に予約されているため、変更するには管理者権限が必要になる場合があります。ただし、特別な権限なしで cat を使用してその内容を表示することができます。

/etc/bash.bashrc ファイルの内容を表示してみましょう。次のコマンドを入力して Enter キーを押します。

cat /etc/bash.bashrc

システム全体の Bash 設定ファイルの内容が表示されます。エイリアスを定義する行を探してください。

## System-wide .bashrc file for interactive bash(1) shells.

## To enable the setting of the locale environment variables see
## /etc/profile.d/locale.sh. By default in Ubuntu OnLine,
## this is done from /etc/profile.

## If not running interactively, don't do anything
[ -z "$PS1" ] && return

## check the window size after each command and, if necessary,
## update the values of LINES and COLUMNS.
shopt -s checkwinsize

## If set, the pattern "**" used in a pathname expansion context should
## match only directories and subdirectories in addition to the contents of
## the current directory.
#shopt -s globstar

## make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

## set variable identifying the chroot you work in (used in the prompt)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

## enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

## colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=(01;34):quote=01;32'

## some more ls aliases
#alias ll='ls -l' #alias ll='ls -alF'
#alias la='ls -a' #alias la='ls -AF'
#alias l='ls -CF'

## Add an alias for the 'alert' command
#alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\\s*[0-9]*\\s*//;s/[;&|]\\s*alert$//'\'')"'

## enable programmable completion features (you don't need to enable
## this, if it's already enabled in /etc/bash.bashrc and /etc/profile
## sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

alias コマンドで見たのと同じエイリアスの一部、たとえば色付き表示をサポートする ls エイリアスが表示されるはずです。これは、使用するデフォルトのエイリアスの一部がシステム全体で設定されていることを確認するものです。

エイリアスがどこで定義されているかを理解することは、予期しない動作のトラブルシューティングや環境の効果的なカスタマイズに役立ちます。

これで、アクティブなエイリアスを一覧表示し、それらが保存されている一般的な設定ファイルを調べる方法を学びました。

続ける をクリックしてこの実験を完了します。

まとめ

この実験では、Linux でシェルエイリアスが定義されているかどうかを確認する方法を学びました。まず、alias コマンドを使用して、現在のターミナルセッションで設定されているエイリアスを一覧表示し、エイリアスが長いコマンドのショートカットであることを理解しました。

次に、エイリアスが定義されている一般的な場所を調べました。具体的には、~/.bashrc ファイルによく見られるユーザー固有のエイリアスと、/etc/bash.bashrc のようなファイルにあるシステム全体のエイリアスに焦点を当てました。このプロセスにより、エイリアスがどのように構成されているか、およびそれらの定義をどこで見つけるかを理解することができます。