Apa arti tanda bintang setelah nama file saat Anda mengetikkan `ls -l`?

161

Saya telah melakukan bagian ls -ldalam direktori, dan file saya ditampilkan seperti ini:

james@nevada:~/development/tools/android-sdk-linux_86/tools$ ll
total 9512
drwxr-xr-x 3 james james    4096 2010-05-07 19:48 ./
drwxr-xr-x 6 james james    4096 2010-08-21 20:43 ../
-rwxr-xr-x 1 james james  341773 2010-05-07 19:47 adb*
-rwxr-xr-x 1 james james    3636 2010-05-07 19:47 android*
-rwxr-xr-x 1 james james    2382 2010-05-07 19:47 apkbuilder*
-rwxr-xr-x 1 james james    3265 2010-05-07 19:47 ddms*
-rwxr-xr-x 1 james james   89032 2010-05-07 19:47 dmtracedump*
-rwxr-xr-x 1 james james    1940 2010-05-07 19:47 draw9patch*
-rwxr-xr-x 1 james james 6886136 2010-05-07 19:47 emulator*
-rwxr-xr-x 1 james james  478199 2010-05-07 19:47 etc1tool*
-rwxr-xr-x 1 james james    1987 2010-05-07 19:47 hierarchyviewer*
-rwxr-xr-x 1 james james   23044 2010-05-07 19:47 hprof-conv*
-rwxr-xr-x 1 james james    1939 2010-05-07 19:47 layoutopt*
drwxr-xr-x 4 james james    4096 2010-05-07 19:48 lib/
-rwxr-xr-x 1 james james   16550 2010-05-07 19:47 mksdcard*
-rw-r--r-- 1 james james  205851 2010-05-07 19:48 NOTICE.txt
-rw-r--r-- 1 james james      33 2010-05-07 19:47 source.properties
-rwxr-xr-x 1 james james 1447936 2010-05-07 19:47 sqlite3*
-rwxr-xr-x 1 james james    3044 2010-05-07 19:47 traceview*
-rwxr-xr-x 1 james james  187965 2010-05-07 19:47 zipalign*

Apa arti tanda bintang itu?

Saya juga tidak dapat menjalankan file tertentu, sebagai berikut:

james@nevada:~/development/tools/android-sdk-linux_86/tools$ ./emulator 
bash: ./emulator: No such file or directory

EDIT : Saya mencoba membuat Eclipse digunakan emulator, tetapi ia terus mengeluh bahwa file-file itu tidak ada, namun masih ada di sini?

pengguna155695
sumber
3
Semua file ditandai sebagai dieksekusi pada partisi NTFS.
Smile4ever
@ Smile4ever itu tidak benar. Itu tergantung pada bagaimana Anda telah memasang partisi dan secara default itu dipasang sebagai semua-executable. Hal yang sama berlaku untuk FAT dan partisi non-Unix lainnya. Namun Anda juga dapat menyimpan izin Unix di NTFS karena itu kompatibel dengan POSIX, askubuntu.com/q/86959/253474 unix.stackexchange.com/q/11757/44425
phuclv
@ LưuVĩnhPhúc Anda dapat memasang partisi Anda secara berbeda, ya. Tetapi secara default itu dipasang sebagai executable pada sebagian besar distribusi Linux. Terimakasih atas klarifikasinya.
Smile4ever

Jawaban:

77

Ignacio Vazquez-Abrams telah menjelaskan tentang* :

Ini berarti file tersebut dapat dieksekusi. Klasifikasi ditampilkan ketika -F dilewatkan ke ls melalui baris perintah atau sebaliknya.

Sedangkan untuk tampilan yang dapat dieksekusi emulatoryang sebenarnya tidak dapat Anda jalankan, ini dapat terjadi ketika loader dinamis yang diminta oleh emulatortidak ada. Anda dapat memeriksa jenis file emulatordengan perintah ini file emulator, dan memeriksa loader dinamis apa dan pustaka yang dibutuhkan ldd emulator(setiap baris yang menunjukkan "tidak ditemukan" adalah sesuatu yang perlu Anda instal).

Mengingat nama direktori dan ukuran file, emulatormungkin merupakan biner Linux x86. Saya menduga Anda memiliki sistem amd64. Jika demikian, Anda perlu menginstal lingkungan runtime untuk aplikasi 32-bit; di Ubuntu, Anda memerlukan ia32-libspaket (dan mungkin juga ia32-libs-gtk).

Anda juga bisa mendapatkan pesan kesalahan ini untuk skrip yang interpreternya seperti yang ditunjukkan pada #!baris tidak ada.

Gilles
sumber
1
Menarik, saya akan memberikan apa yang Anda sarankan. Satu-satunya hal yang membingungkan saya adalah bahwa saya menjalankan ini kemarin, dan sejak itu hanya me-restart ...: S
user155695
-bash: ./badshebang: /bin/xyzzy: bad interpreter: No such file or directory
Dennis Williamson
80

Ini berarti file tersebut dapat dieksekusi. Sebuah classifier ditampilkan bila -Fdilewatkan ke lsmelalui baris perintah atau sebaliknya.

Ignacio Vazquez-Abrams
sumber
33

Dari info ls:

`-F'
`--classify'
`--indicator-style=classify'
     Append a character to each file name indicating the file type.
     Also, for regular files that are executable, append `*'.  The file
     type indicators are `/' for directories, `@' for symbolic links,
     `|' for FIFOs, `=' for sockets, `>' for doors, and nothing for
     regular files.
pengguna46971
sumber
3
+1 untuk mengajar memancing serta memberikan ikan.
atoMerz
21

Ubuntu (12,04, dan mungkin juga versi lain) menyertakan pengaturan berikut secara default:

alias ll='ls -alF'

Dan seperti yang orang lain jelaskan, -Fbertanggung jawab atas tanda bintang.

IPython secara otomatis menggunakan Fbendera di bawah tenda (secara default), jadi dengan memasukkan saja lsakan menghasilkan efek yang Anda lihat di sana.

Sunting: ngomong-ngomong, Anda menyatakan Anda sedang menjalankan ls -l, menjalankan llmungkin tidak sama sekali.

dk1844
sumber
7
Trik yang dapat Anda lakukan di Bash adalah mengetikkan perintah alias'd (mis. "Ll") dan tekan [Ctrl] + [Alt] + [e]. Ini akan memperluas alias sehingga Anda dapat melihat apa yang sebenarnya sedang diproses. (Anda mungkin harus menekannya beberapa kali untuk berkembang penuh)
Adam
9

Seperti yang disebutkan beberapa orang lainnya, -Fopsi untuk lsmenandai flag executable dengan asterisk. Anda tidak memiliki -Fdi baris perintah Anda, tetapi kemungkinan itu lstelah alias. Anda dapat memeriksa alias di shell pilihan Anda (dalam bash, gunakan perintah bawaan aliasuntuk membuat daftar alias), atau keluar dari lsperintah dengan backslash untuk menonaktifkan alias .

mpez0
sumber