Apa arti simbol yang ditampilkan oleh ls -F?


62

Saya perhatikan bahwa jika saya menjalankan ls -F pada direktori, beberapa entri memiliki * atau @ setelahnya.

spuder@ubuntu:~$ ls -F /sbin
acpi_available*   getpcaps*           lvmconf*                 ntfscp*        start-stop-daemon*
agetty*           getty*              lvmdiskscan@             ntfslabel*     status@
alsa*             halt@               lvmdump*                 ntfsresize*    stop@
alsactl*          hdparm*             lvmsadc@    

spuder@ubuntu:~$ ls -F ~
daq-0.6.1/  examples.desktop       noname-cache.lib  snort-2.9.1/   Templates/
Desktop/    jpgraph-1.27.1/        noname.sch        snortfiles/    Ubuntu One/
Documents/  

Menurut halaman manual ls

spuder@ubuntu:~$ man ls
...
-F, --classify
  append indicator (one of */=>@|) to entries
...

Saya menduga itu @berarti tautan simbolis,

Apa arti dari indikator lain ini ( */=>@|)?


2
Pernahkah Anda berpikir untuk melihat halaman manual?
mdpc

23
Dia punya. Bahkan, dia memposting kutipan dari halaman manual. lsDokumentasi lengkap , termasuk informasi tentang simbol yang ditampilkan oleh ls -F, ada di manual Texinfo. ( info ls).

1
Di samping catatan, sejak Texinfo manual umumnya merasa aneh dan asing, itu umum untuk menjaga sekitar fungsi seperti ini: infos () { info --vi-keys --subnodes -o - "$@" | less; }.

1
@EvanTeitelman Ini adalah informasi hebat, saya akan info foo --vi-keysmengingatnya. Sayangnya sintaks yang Anda sebutkan tidak berfungsi untuk saya (info () {info --vi-keys ...}
spuder

1
@spuder: Ini fungsi; Anda harus menyebutnya. infos ls. Bagian $@melewati semua argumen fungsi ke info. Anda dapat meletakkan fungsi ini di ~/.bashrcfile Anda untuk digunakan nanti.

Jawaban:


68

ls -Fmenambahkan simbol ke nama file. Simbol-simbol ini menunjukkan informasi yang berguna tentang file.

Jika Anda ingin perilaku ini menjadi default, menambahkan ini ke konfigurasi shell Anda: alias ls='ls -F'.


10
jangan realias perintah, itu dapat merusak skrip yang ditulis dengan buruk. Saya alias lmemiliki -F dan warna, dan lljuga memiliki -l
ctrl-alt-delor

Di Android saya mendapatkan output dua kolom sepenuhnya. Saya mendapatkan nama file atau nama direktori dan SEBELUM namanya ada minus jika itu file, atau "d" jika itu adalah direktori, atau "ld" jika itu adalah tautan. Ini adalah bencana dimana Linux sangat tidak konsisten!
Elmue

1

Hanya untuk menambahkan bagaimana saya menemukan info ini. Seperti yang ditunjukkan di bagian bawah man ls:

Dokumentasi lengkap di: https://www.gnu.org/software/coreutils/ls atau tersedia secara lokal melalui: info '(coreutils) ls invocation'

Setelah ini, kita lihat

'-F' '--classify' '--indicator-style = classify' Tambahkan karakter ke setiap nama file yang menunjukkan jenis file. Juga, untuk file biasa yang dapat dieksekusi, tambahkan '*'. Indikator jenis file adalah '/' untuk direktori, '@' untuk tautan simbolik, '|' untuk FIFO, '=' untuk soket, '>' untuk pintu, dan tidak ada untuk file biasa. Jangan mengikuti tautan simbolis yang terdaftar pada baris perintah kecuali opsi --dereference-command-line (-H), --dereference (-L), atau --dereference-command-line-symlink-to-dir ditentukan.

di https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.