Ls -l ve ll arasındaki fark?


59

Bir bütün olarak programlamaya nispeten yeniyim ve bazı dersler bana ls -lbir dizindeki dosyalara bakmak için kullanmamı ve bazılarının da söylediklerini söyledi ll. Bunun lskısa bir liste olduğunu biliyorum , fakat diğer ikisi arasında bir fark var mı?


8
Bakmak isteyebilirsin which ll. Muhtemelen bunun llaslında bir takma ad olduğunu keşfedeceksiniz ls -l.
HalosGhost

Öyleyse ls, kabuğa koyduğum diğer komutlar arasındaki fark nedir? Yazarsam which lsalırım alias ls='ls --color=auto' /bin/ls, fakat yazarsam (örneğin) which cdalırım /usr/bin/which: no cd in (........). EDIT: Tekrar denedim which mkdirve anladım /bin/mkdir. Bazılarının saklandığı (?) /usr/binVe bazılarının görünmediği komutların arasındaki fark nedir ?
Jon

bu, dağıtımınızın varsayılan ayarlarının bir etkisidir $PATH. lsçok sık takma addır, bu nedenle kabuğunuz takma adı (ikiliden öncelikli olan) ve binarın gerçek konumunu (sizin durumunuzda /bin/ls) bildirir . Eğer whichbulamadık cd, o zaman bir şeylerin çok yanlış görünür.
HalosGhost

2
cddosya sisteminde bulunan bir program değil, bir kabuk yerleşik anahtar sözcüğüdür. Ne demek istediğimi görmek için type cdve type lsdüğmelerini kullanın . Bazı komutlar kabuk yerleşikler tarafından basitçe geçersiz kılınır: echovar /bin/echo, ancak bashmodern kabukların çoğunda, echobunun yerine yerleşik bir işlev denir (genellikle genişletilmiş özelliklere sahiptir). typeaslında sana hangisi olduğunu söyler.
Orion

Yanıtlar:


88

Birçok sistemde, llbir takma adıdır ls -l:

$ type ll
ll is aliased to `ls -l'

Onlar aynı.


3
ll `ali-ltr 'ismini verir - kırmızı şapka kullanıyorum 6
rdp

3
Ubuntu 14.04 ll diğer ad olarak 'ls -alF'
Viktor

3
Ayrıca ls -alFUbuntu'da 12.04, 16.04 ve muhtemelen çok daha fazlası.
Paul

3
ls -lh
MacOS'ta

13

Belirtildiği gibi, llgenellikle takma adı olarak tanımlanır ls -l. Aslında, lsgenellikle bir takma adın kendisidir:

$ which ls
alias ls='ls --color=auto'
/usr/bin/ls

Asıl komut, lsyukarıda bulunandır /usr/bin. llkolaylık amaçlıdır, ancak tüm * nix sistemlerinde tanımlanmasına güvenemezsiniz, bu yüzden gerçekten ne yaptığını bilmek iyidir.


Mükemmel cevap. lsOtomasyona güvenmenin (özellikle geçici tek gömlekler) genellikle kötü bir fikir olmasının nedenlerinden biri olduğunu ekleyerek yardım edemem . Çıktısını değiştiren çeşitli seçeneklere ve bunları belirtmenin birçok yoluna sahiptir. Farklı dağıtımlar farklı varsayılanları seçerken, baş ağrısına yol açar.
ctt

Diğer adların takma adları lsarasında popüler bir dağıtım görmedim ls --color=auto. Ya öyle ya da takma ad yok.
phoops

4

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'

1
Ayrıca 12.04 ve 16.04, fakat şu anda test edebileceğim tek şey bu.
Paul

3

Çoğu durumda, llkabuk komut dosyalarında çalışmaz.


1
Olduğu şey, genellikle gibi komutların llkomut dosyaları çalıştırılırken tanımlanmayan gerçekten takma adlardır.
vonbrand

3
Bazı insanlar .profile'de takma adı kullanır ve takma ad etkileşimli bir kabukta çalışıyor. Yeni bir komut dosyasında hata ayıklama / test işleminden sonra, komut dosyası aniden crontab'da başarısız olur. Cron, .profile dosyasını okumuyor.
Walter A

1
Bu, sorunun cevabı değil, bunun yerine bir yorum olmalıdır. Benim küçük anlayışıma göre, takma isimler kabuk komut dosyalarında kullanımdan kaldırıldı.
mısır gevreği24

"En çok" diyorum ama benim değil, kullanıyorumls -l
travelingbones

1

llbir takma addır ls -l.

Seçenek -l, komuta uzun bir liste formatı kullanmasını söyler. Basit lskomut kullanıldığında gösterilmeyen birkaç sütun geri verir . Bu sütunlar şunları içerir:

  • İzinler

  • Hardlinks sayısı

  • Dosya sahibi

  • Dosya grubu

  • Dosya boyutu

  • değişiklik

  • zaman

  • Dosya adı


0

ll aslında `ls -l 'ile aynıdır. ll çalıştırırsanız, kabuktaki dosyaları gösterir, daha sonra bir sonraki dosyaları görmek için Enter tuşuna basın (daha fazla .. seçenek). Ls -l komutunu çalıştırırsanız, bir kerede tüm dosyalar görüntülenir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.