ls ve la arasındaki fark nedir? Neden aynı çıktıyı veriyorlar?

18

Bir dizinin içeriğini görüntülemek için la yerine yanlışlıkla ls girdim ve ls ... ile aynı çıktıyı üretiyor ...

Neden bu? Şüphesiz, aynı şeyi yapan iki komuta sahip olmak mantıklı değildir.

    
sordu TellMeWhy 22.12.2016 16:17

6 cevap

33

la , Ubuntu'da ls -A dosyasında ~/.bashrc olarak tanımlanmış bir takma addır.

Hiçbir gizli dosya veya dizininiz yoksa sadece aynı çıkışı gösterir.

ls -A gizli dosyaları ve dizinleri gösterir.

    
verilen cevap Pilot6 22.12.2016 16:20
14

la , Ubuntus ~/.bashrc dosyasında diğerleriyle birlikte bir takma ad olarak tanımlanır. la , aşağıdaki kod parçasında ls -A

'den görebildiğiniz gibi ~/.bashrc ' dir.
# 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'
    
verilen cevap Videonauth 22.12.2016 16:20
7

Şüphe durumunda, type la .

Bash çıkışı:

la is aliased to 'ls -la'

Balık çıkışı:

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
    
verilen cevap user2394284 22.12.2016 20:47
5

ls bir komut, l ve la ise ls komutunu kullanan takma adlardır. % Co_de% komutunu çalıştırırsanız, sisteminizdeki tüm takma adları bulabilirsiniz.

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

Bu, l = ... veya la = ....

deseniyle eşleşen tüm diğer adları döndürür.     
verilen cevap Arijit Chatterjee 22.12.2016 16:24
3

Tüm dizinlerde aynı çıktıyı üretmezler.

touch .whatever ile bir dotfile oluşturun, ardından hem la hem de ls değerini yayınlayın.

    
verilen cevap user4556274 22.12.2016 16:20
2

la , diğer yanıtlarda belirtildiği gibi ls -A için bir takma addır. Bu nedenle, kabuk betiklerinde kullanılamaz, ls ise.

Bilgisayarınızda birden çok takma ad var. % Co_de% yürütülmesiyle tam bir liste elde edilebilir. Makinemde şunu yazdı:

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'

alias , doğrudan STDOUT'a yazdırılmadığında renklerin kapanacağı anlamına gelir.

    
verilen cevap Mark Gardner 22.12.2016 19:04

Etiketlerdeki diğer soruları oku