जब आप 'ls -l` टाइप करते हैं, तो फ़ाइल नाम के बाद तारांकन का क्या अर्थ होता है?


161

मैंने 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

संपादित करें : मैं ग्रहण का उपयोग करने की कोशिश कर रहा हूं emulator, लेकिन यह शिकायत करता रहता है कि फाइलें मौजूद नहीं हैं, फिर भी यह यहां है?


3
सभी फ़ाइलों को NTFS विभाजन पर निष्पादन योग्य के रूप में चिह्नित किया गया है।
Smile4ever

@ Smile4ever बस इतना सच नहीं है। यह इस बात पर निर्भर करता है कि आपने विभाजन को कैसे माउंट किया है और डिफ़ॉल्ट रूप से यह सभी निष्पादन योग्य के रूप में घुड़सवार है। यही बात FAT और अन्य गैर-यूनिक्स विभाजनों पर लागू होती है। हालाँकि आप एनटीएफएस पर यूनिक्स की अनुमति भी जमा कर सकते हैं क्योंकि यह POSIX संगत askubuntu.com/q/86959/253474 unix.stackexchange.com/q/11757/44425
phuclv

@ LưuV LnhPhúc आप अपने विभाजन को अलग तरह से माउंट कर सकते हैं, हाँ। लेकिन डिफ़ॉल्ट रूप से यह अधिकांश लिनक्स वितरणों पर निष्पादन योग्य है। स्पष्टीकरण के लिए धन्यवाद।
स्माइल

जवाबों:


77

इग्नासियो वाज़केज़-अब्राम्स ने पहले ही इसके बारे में बताया है* :

इसका मतलब है कि फ़ाइल निष्पादन योग्य है। एक क्लासिफायर तब दिखाया जाता है जब -F को कमांड लाइन के माध्यम से ls पास किया जाता है या अन्यथा।

निष्पादन योग्य-दिखने के लिए emulatorजिसे आप वास्तव में निष्पादित नहीं कर सकते हैं, यह तब हो सकता है जब डायनेमिक लोडर द्वारा अनुरोध emulatorनहीं किया जाता है। आप emulatorकमांड के साथ किस तरह की फाइल की जांच कर सकते हैं file emulator, और यह जांच कर सकते हैं कि किस डायनेमिक लोडर और लाइब्रेरी की जरूरत है ldd emulator(किसी भी लाइन को "नहीं मिला" जो आपको इंस्टॉल करने की आवश्यकता है)।

निर्देशिका के नाम और फ़ाइल के आकार को देखते हुए, emulatorशायद लिनक्स x86 बाइनरी है। मुझे संदेह है कि आपके पास एक amd64 प्रणाली है। यदि ऐसा है, तो आपको 32-बिट अनुप्रयोगों के लिए रनटाइम वातावरण स्थापित करने की आवश्यकता है; उबंटू पर, आपको ia32-libsपैकेज की आवश्यकता है (और शायद यह भी ia32-libs-gtk)।

आपको यह त्रुटि संदेश एक स्क्रिप्ट के लिए भी मिल सकता है जिसका दुभाषिया #!लाइन में मौजूद है।


1
दिलचस्प है, मैं आपको एक शॉट देने का सुझाव दूंगा। केवल एक चीज जो मुझे भ्रमित करती है वह यह है कि मैंने कल इसे चलाया था, और तब से केवल फिर से शुरू किया है ...: S
user155695

-bash: ./badshebang: /bin/xyzzy: bad interpreter: No such file or directory
डेनिस विलियमसन


33

से 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.

3
मछली पकड़ने के साथ-साथ मछली पकड़ना सिखाने के लिए +1।
atoMerz

21

Ubuntu (12.04, और शायद अन्य संस्करणों के साथ) में डिफ़ॉल्ट रूप से निम्नलिखित सेटिंग शामिल है:

alias ll='ls -alF'

और जैसा कि दूसरों ने समझाया है, -Fतारांकन के लिए जिम्मेदार है।

IPython स्वचालित रूप से Fध्वज को हुड के नीचे (डिफ़ॉल्ट रूप से) का उपयोग करता है , इसलिए बस प्रवेश करने lsसे आपको वहां दिखाई देने वाले प्रभाव का उत्पादन होगा।

संपादित करें: वैसे, आप कह रहे हैं कि आप दौड़ रहे हैं ls -l, दौड़ना llबिल्कुल भी समान नहीं हो सकता है।


7
एक मजेदार ट्रिक जो आप बैश में कर सकते हैं, वह है उपनाम प्रकार (जैसे "ll") और दबाएं [Ctrl] + [Alt] + [e]। यह उर्फ ​​का विस्तार करेगा ताकि आप देख सकें कि यह वास्तव में प्रसंस्करण क्या है। (आपको इसे पूरी तरह से विस्तार करने के लिए कुछ समय के लिए दबाना पड़ सकता है)
एडम

9

जैसा कि कई अन्य लोगों ने उल्लेख किया है, तारांकन के साथ निष्पादन योग्य फ्लैग -Fकरने का विकल्प ls। आपके पास -Fअपनी कमांड लाइन में नहीं है , लेकिन यह संभावना है कि lsअलियास किया गया है। आप अपनी पसंद के शेल में उपनामों की जांच कर सकते हैं (बैश में, अंतर्निहित aliasसूची का उपयोग उपनामों को सूचीबद्ध करने के लिए), या उपनाम lsबदलने के लिए बैकस्लैश के साथ कमांड से बच सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.