Perbedaan antara ls -l dan ll?

59

Saya relatif baru dalam pemrograman secara keseluruhan dan beberapa tutorial telah mengatakan kepada saya untuk menggunakan ls -luntuk melihat file dalam direktori dan yang lain katakan ll. Saya tahu itu lsadalah daftar pendek, tetapi apakah ada perbedaan antara dua lainnya?

Jon
sumber
8
Anda mungkin ingin melihatnya which ll. Anda mungkin akan menemukan bahwa llitu sebenarnya adalah alias untuk ls -l.
HalosGhost
Jadi apa perbedaan antara lsperintah lain yang saya masukkan ke shell? Jika saya mengetik which lssaya dapat alias ls='ls --color=auto' /bin/ls, tetapi jika saya mengetik (misalnya) which cdsaya dapat /usr/bin/which: no cd in (........). EDIT: Saya mencobanya lagi which mkdirdan saya mendapatkannya /bin/mkdir. Apa perbedaan antara perintah-perintah ini yang sebagian darinya disimpan (?) /usr/binDan ada yang tidak?
Jon
ini mempengaruhi standar distro Anda $PATH. lssering kali alias, jadi shell Anda melaporkan alias (yang lebih diutamakan daripada biner) dan lokasi aktual biner (dalam kasus Anda, /bin/ls). Jika whichtidak dapat menemukan cd, maka muncul sesuatu yang sangat salah.
HalosGhost
2
cdadalah kata kunci bawaan, bukan program yang ditemukan dalam sistem file. Gunakan type cddan type lsuntuk melihat apa yang saya maksud. Beberapa perintah hanya diganti oleh shell builtin: echoada di /bin/echo, tetapi pada bashkenyataannya sebagian besar shell modern, echofungsi builtin disebut sebagai gantinya (yang biasanya memiliki fitur yang diperluas). typesebenarnya memberitahu Anda yang mana itu.
orion

Jawaban:

88

Pada banyak sistem, lladalah alias dari ls -l:

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

Mereka sama.

cuonglm
sumber
3
ll alias alias `ls -ltr '- Saya menggunakan topi merah 6
rdp
3
di Ubuntu 14.04 ll adalah alias 'ls -alF'
Viktor
3
Juga ls -alFdi Ubuntu 12,04, 16,04, dan kemungkinan lebih banyak.
Paul
3
Bagi saya di macOS Sierra ll aliasls -lh
Zorgatone
13

Sebagaimana dicatat, llsering didefinisikan sebagai alias ls -l. Bahkan, lsseringkali merupakan alias itu sendiri:

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

Perintah sebenarnya adalah lsyang ditemukan di atas /usr/bin. lldimaksudkan sebagai kenyamanan, tetapi Anda tidak dapat mengandalkannya didefinisikan pada semua sistem * nix, jadi ada baiknya mengetahui apa yang sebenarnya dilakukannya.

sosiouxme
sumber
Jawaban yang bagus Saya tidak dapat membantu dengan menambahkan bahwa ini adalah salah satu alasan mengapa mengandalkan lsotomasi (terutama ad-hoc one-liners) biasanya merupakan ide yang buruk. Ini memiliki beberapa opsi yang mengubah outputnya, dan banyak cara untuk menentukannya. Dengan distribusi yang berbeda memilih standar yang berbeda, itu cenderung menyebabkan sakit kepala.
ctt
Saya belum melihat distribusi populer ke alias lske apa pun selain ls --color=auto. Entah itu atau tidak ada alias.
phoops
4

Ubuntu 14.04

laike9m@laike9m1:~$ type ll
ll is aliased to `ls -alF'
laike9m
sumber
1
Juga 12,04 dan 16,04, tetapi hanya itu yang saya miliki untuk menguji sekarang.
Paul
3

Dalam kebanyakan kasus, lltidak berfungsi dalam skrip shell.

Sree
sumber
1
Apa yang terjadi adalah bahwa biasanya perintah seperti llbenar-benar alias, yang tidak ditentukan saat menjalankan skrip.
vonbrand
3
Beberapa orang memiliki alias di profil., Dan alias bekerja di shell interaktif. Setelah men-debug / menguji skrip baru, skrip tiba-tiba gagal di crontab. Cron tidak membaca profil.
Walter A
1
Ini bukan jawaban untuk pertanyaan, tetapi harus menjadi komentar. Dari sedikit pemahaman saya, alias sudah usang dalam skrip shell.
cornflakes24
Saya mengatakan "paling" tetapi tidak pada saya, dan saya menggunakanls -l
travelingbones
1

lladalah alias untuk ls -l.

Opsi -lmemberi tahu perintah untuk menggunakan format daftar panjang. Ini mengembalikan beberapa kolom, tidak ditampilkan ketika lsperintah sederhana digunakan. Kolom-kolom ini termasuk:

  • Izin

  • Jumlah hardlink

  • Pemilik file

  • Grup file

  • Ukuran file

  • Modifikasi

  • waktu

  • Nama file

Code_Jamer
sumber
0

ll sebenarnya alias `ls-l 'Jika Anda menjalankan ll, maka ia akan menampilkan file-file di shell kemudian Anda menekan Enter untuk melihat file-file berikutnya (lebih lanjut .. opsi). Jika Anda menjalankan ls-l, maka semua file akan ditampilkan sekaligus.

pmaipmui
sumber