سؤال ماذا تعني العلامة النجمية بعد اسم الملف عند كتابة `ls -l`؟


لقد فعلت ls -l داخل دليل ، وملفاتي تظهر مثل هذا:

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*

ماذا تعني هذه النجمة؟

أنا أيضًا غير قادر على تشغيل ملف معين ، على النحو التالي:

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

تصحيح : أحاول الحصول على Eclipse لاستخدام emulator، لكنه لا يزال يشكو الملفات غير موجودة ، لكنها هنا؟


128
2017-08-21 20:21


الأصل


يتم وضع علامة على كافة الملفات القابلة للتنفيذ على أقسام NTFS. - Smile4ever
@ Smile4ever وهذا ببساطة ليس صحيحا. يعتمد ذلك على كيفية قيامك بتركيب القسم وبشكل افتراضي يتم تثبيته على أنه قابل للتنفيذ بالكامل. وينطبق الشيء نفسه على FAT والأقسام الأخرى غير Unix. ومع ذلك ، يمكنك أيضًا تخزين أذونات Unix على NTFS لأنه متوافق مع POSIX askubuntu.com/q/86959/253474  unix.stackexchange.com/q/11757/44425 - phuclv
@ LưuVĩnhPhúc يمكنك تحميل القسم الخاص بك بشكل مختلف ، نعم. ولكن بشكل افتراضي يتم تثبيته على أنه قابل للتنفيذ على معظم توزيعات Linux. شكرا على التوضيح. - Smile4ever


الأجوبة:


لقد أوضح Ignacio Vazquez-Abrams بالفعل حول *:

هذا يعني أن الملف قابل للتنفيذ. يظهر مصنف عندما يكون -F   مرت ليرة سورية عن طريق سطر الأوامر أو غير ذلك.

أما بالنسبة للتنفيذيين emulator التي لا يمكنك تنفيذها بالفعل ، يمكن أن يحدث هذا عندما يقوم المحمل الديناميكي الذي يطلبه emulator غير موجود يمكنك التحقق من نوع الملف emulator هو مع الأمر file emulatorوتحقق من المحمل الديناميكي والمكتبات التي يحتاج إليها مع ldd emulator (أي سطر يظهر "غير موجود" هو شيء تحتاج إلى تثبيته).

بالنظر إلى اسم الدليل وحجم الملف ، emulator هو على الارجح لينكس x86 الثنائي. أظن أن لديك نظام amd64. إذا كان الأمر كذلك ، فأنت بحاجة إلى تثبيت بيئة تشغيل لتطبيقات 32 بت ؛ على أوبونتو ، تحتاج إلى ia32-libs الحزمة (وربما أيضا ia32-libs-gtk).

يمكنك أيضًا الحصول على رسالة الخطأ هذه للنص البرمجي الذي يشير إليه المفسر كما هو موضح في #! خط غير موجود.


53
2017-08-21 21:14



مثير للاهتمام ، سوف أعطي ما اقترحته بالرصاص. الشيء الوحيد الذي يخلط بيني هو أن هذا كان يعمل أمس ، ومنذ ذلك الحين قد بدأت فقط ...: S - user155695
-bash: ./badshebang: /bin/xyzzy: bad interpreter: No such file or directory - Dennis Williamson


هذا يعني أن الملف قابل للتنفيذ. ا مصنف يظهر عندما -F يتم تمريرها إلى ls عبر سطر الأوامر أو غير ذلك.


77
2017-08-21 20:27





من عند 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.

29
2017-08-21 22:24



+1 لتعليم الصيد وكذلك إعطاء الأسماك. - atoMerz


يحتوي Ubuntu (الإصدار 12.04 ، وربما الإصدارات الأخرى أيضًا) على الإعداد التالي بشكل افتراضي:

alias ll='ls -alF'

وكما أوضح آخرون ، -F مسؤولة عن النجمة.

IPython يستخدم تلقائيا F علم تحت غطاء محرك السيارة (افتراضيا) ، لذلك فقط أدخل ls سوف تنتج التأثير الذي تراه هناك.

تعديل: بالمناسبة ، أنت تفيد بأنك تركض ls -l، جري ll قد لا يكون هو نفسه على الإطلاق.


20
2017-11-05 16:30



هناك خدعة مرحة يمكنك فعلها في Bash وهي كتابة الأمر المستعار (على سبيل المثال "ll") والضغط على [Ctrl] + [Alt] + [e]. سيعمل على توسيع الاسم المستعار حتى تتمكن من رؤية ما يتم معالجته بالفعل. (قد تضطر إلى الضغط عليها عدة مرات للتوسع بشكل كامل) - Adam


كما ذكر العديد من الآخرين ، و -F خيار ل ls ستشير إلى الملفات التنفيذية بالعلامة النجمية. ليس لديك -F في سطر الأوامر الخاص بك ، ولكن من المحتمل أن ls كان مستعارة. يمكنك التحقق من الأسماء المستعارة في shell الذي تختاره (في bash ، استخدم الأمر المضمن alias قائمة الأسماء المستعارة) ، أو الهروب ls الأمر بخط مائل عكسي لتعطيل التعرجات.


9
2017-08-22 01:54