l, ls & la - apa perbedaannya, dan apakah ada lebih banyak perintah ini?

25

Jadi, melalui mengetik beberapa perintah saya telah menemukan bahwa ada tidak hanya ls, tapi ldan lajuga. Tampaknya tidak ada manentri di Ubuntu 12.14. Mereka semua tampaknya melakukan hal serupa dengan perbedaan kecil:

$ ls
app        config     CONTRIBUTING.md  doc       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script  tmp     VERSION
CHANGELOG  config.ru  db               features  Gemfile.lock  lib        log      PROCESS.md      public    README.md  spec    vendor
$ la
app      CHANGELOG  config.ru        db   features  Gemfile       .git        Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   .rspec  .secret     spec  .travis.yml  VERSION
.bundle  config     CONTRIBUTING.md  doc  .foreman  Gemfile.lock  .gitignore  lib        log      PROCESS.md      public    README.md  script  .simplecov  tmp   vendor
$ l
app/       config/    CONTRIBUTING.md  doc/       Gemfile       Guardfile  LICENSE  MAINTENANCE.md  Procfile  Rakefile   script/  tmp/     VERSION
CHANGELOG  config.ru  db/              features/  Gemfile.lock  lib/       log/     PROCESS.md      public/   README.md  spec/    vendor/

Sama seperti sedikit hal-hal sepele, apakah ada lebih banyak dari ini dan apa yang mereka lakukan? Apakah di sini ada tempat untuk mencari tahu? Sayangnya, pencarian google perintah ini diabaikan karena mereka sangat singkat.

Seiyria
sumber
1
Kemungkinan besar mereka alias sesuatu yang sudah ada. AFAIK, tidak ada laatau lperintah. Coba \ladan \lbypass kemungkinan alias.
mkc
Benar saja, satu-satunya yang berfungsi adalah \ls. Saya menganggap itu berarti mereka semua akan menjadi alias lsitu?
Seiyria
Benar, tidak adanya executable memberitahu Anda mereka alias. Lihat jawaban saya untuk cara lain untuk menentukan ini.
slm

Jawaban:

26

Alias

lsadalah perintah, ldan lakemungkinan besar alias yang memanfaatkan perintah ls. Jika Anda menjalankan perintah, aliasAnda dapat menemukan semua alias di sistem Anda.

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

Ini akan mengembalikan semua alias yang cocok dengan pola l=...atau la=....

Melakukan debugging lebih lanjut

Anda juga dapat menggunakan perintah typeuntuk melihat bagaimana perintah tertentu dijalankan. Apakah itu perintah, alias, atau fungsi.

Contoh

Pada sistem saya, saya memiliki perintah lsalias sehingga panggilan lstetapi juga mencakup banyak switch tambahan, seperti:

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /usr/bin/ls
ls is /bin/ls

Dalam output di atas Anda dapat melihat bahwa itu lsadalah alias, tetapi kemudian juga pada $ PATH sistem saya di direktori /usr/bindan /bin.

slm
sumber
Terima kasih atas contoh mendalamnya. Saya belajar sedikit lebih banyak tentang linux hari ini!
Seiyria
@ Seiyria - sama-sama. Terima kasih atas Q dan berharap dapat melihat Anda di situs kami di masa depan. Semoga berhasil dengan terjun ke Linux!
slm
9

Mereka hanyalah alias dari perintah ls dengan beberapa opsi. masukkan deskripsi gambar di sini

man ls akan mencantumkan semua opsi dan tujuannya. Anda dapat membuat alias sendiri dengan mengeksekusi di terminal atau menambahkan .bashrc sesuatu seperti: alias lsl = 'ls -lrt'

Jay
sumber
3
Kode harus diformat sebagai kode, bukan sebagai tangkapan layar, kecuali jika warna diperagakan.
Tim
-1

Coba la -helppada sistem BSD Unix untuk mendapatkan informasi lebih lanjut tentang la. Saya juga menemukan laakibat kesalahan ketik.

mohan
sumber
1
Apakah yang Anda katakan laadalah perintah yang berbeda dan bukan alias pada sistem BSD Anda?
Anthon