Zrobiłem ls -l
wewnątrz katalogu, a moje pliki są wyświetlane w następujący sposób:
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*
Co oznacza ta gwiazdka?
Nie mogę również uruchomić określonego pliku, jak następuje:
james@nevada:~/development/tools/android-sdk-linux_86/tools$ ./emulator
bash: ./emulator: No such file or directory
EDYCJA : Próbuję uruchomić Eclipse emulator
, ale ciągle narzeka, że pliki nie istnieją, ale już tu są?
Odpowiedzi:
Ignacio Vazquez-Abrams wyjaśnił już
*
:Jeśli chodzi o wygląd pliku wykonywalnego
emulator
, którego w rzeczywistości nie można wykonać, może się to zdarzyć, gdy żądany moduł ładujący dynamicznyemulator
nie istnieje. Za pomocą polecenia możesz sprawdzić, jakiemulator
jest plikfile emulator
, i sprawdzić, jakiego dynamicznego modułu ładującego i bibliotek potrzebujeldd emulator
(każdy wiersz z informacją „nie znaleziono” jest konieczny do zainstalowania).Biorąc pod uwagę nazwę katalogu i rozmiar pliku,
emulator
prawdopodobnie jest to plik binarny dla systemu Linux x86. Podejrzewam, że masz system amd64. Jeśli tak, musisz zainstalować środowisko wykonawcze dla aplikacji 32-bitowych; na Ubuntu potrzebujeszia32-libs
pakietu (i być może równieżia32-libs-gtk
).Możesz również otrzymać ten komunikat o błędzie dla skryptu, którego interpreter wskazany w
#!
wierszu nie istnieje.źródło
-bash: ./badshebang: /bin/xyzzy: bad interpreter: No such file or directory
Oznacza to, że plik jest wykonywalny. Klasyfikatora pojawia się, gdy
-F
jest przekazywanyls
za pośrednictwem linii polecenia lub w inny sposób.źródło
Od
info ls
:źródło
Ubuntu (12.04 i prawdopodobnie także inne wersje) domyślnie zawiera następujące ustawienie:
I jak wyjaśnili inni,
-F
jest odpowiedzialny za gwiazdkę.IPython automatycznie używa
F
flagi pod maską (domyślnie), więc samo wejściels
spowoduje efekt, który tam zobaczysz.Edycja: przy okazji, stwierdzasz, że biegniesz
ls -l
, bieganiell
może wcale nie być takie samo.źródło
Jak wspomniało kilka innych osób,
-F
opcja oznaczenials
plików wykonywalnych gwiazdką. Nie masz znaku-F
w wierszu polecenia, ale prawdopodobniels
został on aliasowany. Możesz sprawdzić aliasy w wybranej powłoce (w bash, użyj wbudowanego polecenia,alias
aby wyświetlić listę aliasów) lub możesz wyjść zls
polecenia za pomocą odwrotnego ukośnika, aby wyłączyć aliasing.źródło