ディレクトリの内容を表示するためにla
の代わりに誤ってls
と入力すると、ls
...とまったく同じ出力が生成されます。
どうしてこれなの?まったく同じことを行う2つのコマンドを使用するのは意味がありません。
la
は、Ubuntuのls -A
ファイルで定義されている~/.bashrc
のエイリアスです。
非表示のファイルまたはディレクトリがない場合にのみ、同じ出力が表示されます。
ls -A
は非表示のファイルとディレクトリを示します。
la
はUbuntuのエイリアスとして定義されています~/.bashrc
ファイルと他のいくつかのファイル。 la
はls -A
からの次のスニペットでわかるように、単に~/.bashrc
です
# this alias is defined earlier to grant colored output
alias ls='ls --color=auto'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias li='ls -lF'
疑わしい場合は、type la
。
バッシュ出力:
la is aliased to `ls -la'
魚の出力:
la is a function with definition
function la --description 'List contents of directory, including hidden files in directory using long format'
ls -lah $argv
end
ls
はコマンド、l
およびla
は、コマンドls
を使用する可能性が最も高いエイリアスです。コマンドalias
を実行すると、システム上のすべてのエイリアスを見つけることができます。
$ alias | grep -E ' l=| la='
これは、パターンl = ...またはla = ....に一致するすべてのエイリアスを返します。
すべてのディレクトリで同じ出力を生成するわけではありません。
touch .whatever
でドットファイルを作成し、la
とls
の両方を発行します。
la
は、他の回答で述べられているように、ls -A
のエイリアスです。そのため、ls
は使用できますが、シェルスクリプトでは使用できません。
コンピューターには複数のエイリアスコマンドがあります。完全なリストを取得するには、alias
を実行します。私のマシンでは、これを印刷します:
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 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'
--color=auto
は、STDOUTに直接印刷しない場合に色がオフになることを意味します。