เครื่องหมายดอกจันหมายความว่าอะไรหลังจากชื่อไฟล์เมื่อคุณพิมพ์ `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

แก้ไข : ฉันกำลังพยายามให้ Eclipse ใช้emulatorแต่ยังคงบ่นไฟล์ไม่มีอยู่ แต่มันอยู่ที่นี่หรือไม่


3
ไฟล์ทั้งหมดจะถูกทำเครื่องหมายว่าสามารถทำงานได้บนพาร์ติชัน NTFS
Smile4ever

@ Smile4 ไม่ว่าจะเป็นเรื่องจริง ขึ้นอยู่กับว่าคุณได้ติดตั้งพาร์ติชั่นอย่างไรและโดยค่าเริ่มต้นมันจะทำการติดตั้งให้เป็นแบบปฏิบัติการทั้งหมด เช่นเดียวกับ FAT และพาร์ติชั่นที่ไม่ใช่ Unix อย่างไรก็ตามคุณยังสามารถจัดเก็บสิทธิ์ Unix ในระบบไฟล์ NTFS ได้เนื่องจากเป็น POSIX ที่เข้ากันได้กับaskubuntu.com/q/86959/253474 unix.stackexchange.com/q/11757/44425
phuclv

@ LưuVĩnhPhúcคุณสามารถติดตั้งพาร์ติชันของคุณแตกต่างกันได้ใช่ แต่โดยค่าเริ่มต้นจะติดตั้งเป็นปฏิบัติการในการกระจาย Linux ส่วนใหญ่ ขอขอบคุณสำหรับการชี้แจง.
Smile4ever

คำตอบ:


77

Ignacio Vazquez-Abrams ได้อธิบายเกี่ยวกับ* :

หมายความว่าไฟล์นั้นสามารถเรียกใช้งานได้ ตัวจําแนกถูกแสดงเมื่อ -F ถูกส่งผ่านไปยัง ls ผ่านบรรทัดคำสั่งหรืออย่างอื่น

สำหรับปฏิบัติการมองemulatorว่าคุณไม่สามารถดำเนินการจริงนี้สามารถเกิดขึ้นได้เมื่อโหลดแบบไดนามิกที่ร้องขอโดยemulatorไม่ได้อยู่ คุณสามารถตรวจสอบไฟล์ประเภทใดที่emulatorมีคำสั่งfile emulatorและตรวจสอบว่าตัวโหลดเดอร์แบบไดนามิกและไลบรารี่ใดที่มันต้องการด้วยldd emulator(บรรทัดใด ๆ ที่แสดง“ ไม่พบ” เป็นสิ่งที่คุณต้องติดตั้ง)

ให้ชื่อของไดเรกทอรีและขนาดของไฟล์emulatorน่าจะเป็นลินุกซ์ x86 ไบนารี ฉันสงสัยว่าคุณมีระบบ amd64 ถ้าเป็นเช่นนั้นคุณจะต้องติดตั้งสภาพแวดล้อมรันไทม์สำหรับแอปพลิเคชันแบบ 32 บิต บน Ubuntu คุณต้องมีia32-libsแพ็คเกจ (และอาจจะด้วยia32-libs-gtk)

คุณอาจได้รับข้อความแสดงข้อผิดพลาดนี้สำหรับสคริปต์ที่ไม่มีล่ามตามที่ระบุใน#!บรรทัด


1
น่าสนใจฉันจะให้สิ่งที่คุณแนะนำการยิง สิ่งเดียวที่ทำให้ฉันสับสนก็คือเมื่อวานนี้ฉันมีการทำงานและตั้งแต่นั้นมีเพียงรีสตาร์ทเท่านั้น ... : S
user155695

-bash: ./badshebang: /bin/xyzzy: bad interpreter: No such file or directory
Dennis Williamson

80

หมายความว่าไฟล์นั้นสามารถเรียกใช้งานได้ ลักษณนามจะแสดงเมื่อ-Fมีการส่งผ่านไปlsผ่านบรรทัดคำสั่งหรือมิฉะนั้น


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
เคล็ดลับความสนุกที่คุณสามารถทำได้ใน Bash คือพิมพ์คำสั่ง alias'd (เช่น "ll") และกด [Ctrl] + [Alt] + [e] มันจะขยายนามแฝงเพื่อให้คุณสามารถดูสิ่งที่มันกำลังประมวลผลจริง (คุณอาจต้องกดสองสามครั้งเพื่อขยายอย่างเต็มที่)
อดัม

9

ตามที่คนอื่นหลายคนได้กล่าวถึง-Fตัวเลือกที่lsจะตั้งค่าสถานะ executables ด้วยเครื่องหมายดอกจัน คุณไม่มี-Fในบรรทัดคำสั่งของคุณ แต่มีแนวโน้มว่าlsจะเป็นนามแฝง คุณสามารถตรวจสอบนามแฝงในเชลล์ที่คุณเลือก (ในทุบตีใช้คำสั่งในตัวaliasเพื่อแสดงรายการนามแฝง) หรือหลีกเลี่ยงlsคำสั่งด้วยแบ็กสแลชเพื่อปิดใช้งานนามแฝง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.