ls和la有什么区别?为什么它们给出相同的输出?


Answers:


34

la是在Ubuntu ls -A中的~/.bashrc文件中定义的别名。

如果您没有隐藏的文件或目录,则仅显示相同的输出。

ls -A 显示隐藏的文件和目录。


3
之所以更像“它不一定显示相同的输出”,是因为除此之外您没有任何隐藏文件(以点开头的文件)。和..,输出将相同。
Muzer

1
那是真实的。更新。
Pilot6 '16

2
请注意,这ls -Als -a- 不同,后者将分别显示...表示该目录和包含目录。
蒂姆(Tim)

14

la在Ubuntus ~/.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'

那将是Ubuntu's(没有代码格式)。
彼得·莫滕森

8

如有疑问,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

6

ls是命令,l并且la很可能是使用命令的别名ls。如果运行命令alias,则可以找到系统上的所有别名。

$ alias | grep -E ' l=| la='

这将返回所有与模式l = ...或la = ....相匹配的别名。


1
或者只是alias l la
凯文

4

它们不会在所有目录中产生相同的输出。

使用创建一个dotfile touch .whatever,然后同时发布lals


2

la是的别名ls -A,如其他答案所述。因此,它不能在shell脚本中使用,而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时颜色将关闭。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.