Score:1

ข้อผิดพลาดของรูปแบบ Exec กับรูปแบบไฟล์ "ข้อมูล"

ธง cn

มีใครรู้บ้างว่าทำไมมันถึงให้รูปแบบข้อผิดพลาดเมื่อฉันพยายามเรียกใช้ เสียงสะท้อน ผ่าน /bin/เสียงสะท้อน หรือ /usr/bin/เสียงสะท้อน แต่ทำงานได้ดีถ้าฉันแค่พิมพ์ เสียงสะท้อน ในบรรทัดคำสั่ง

ทุบตี: /usr/bin/echo: ไม่สามารถเรียกใช้ไฟล์ไบนารี: ข้อผิดพลาดของรูปแบบ Exec

ผลลัพธ์ ไฟล์ /bin/echo

/bin/echo: ข้อมูล

นั่นอะไร ข้อมูล รูปแบบไฟล์ทำไมฉันไม่สามารถดำเนินการได้

นี่คือภาพหน้าจอ ภาพหน้าจอ

hr flag
เมื่อคุณเพียงแค่พิมพ์ `echo` ในบรรทัดคำสั่ง คุณน่าจะได้รับคำสั่งในตัวของเชลล์โต้ตอบของคุณ
Mr Syhd avatar
cn flag
@steeldriver แต่เมื่อฉันเรียกใช้ "echo ใด" ผลลัพธ์คือ /usr/bin/echo ฉันสามารถสร้างสคริปต์ echo ภายในโฟลเดอร์ bin แบบเดียวกับการใช้งานในตัวได้หรือไม่ เพื่อให้ฉันมีข้อผิดพลาดในการดำเนินการ
hr flag
`/bin/echo` ควรใช้งานได้ - ดูเหมือนว่าไฟล์เสียหาย บางทีคุณสามารถแก้ไขได้โดยการติดตั้งแพ็คเกจ `coreutils` อีกครั้ง
Mr Syhd avatar
cn flag
@steeldriver ขอบคุณ การติดตั้งแพ็คเกจ coreutils ใหม่ช่วยแก้ปัญหาได้
Mr Syhd avatar
cn flag
@steeldriver แต่มีบางอย่างที่รบกวนหัวของฉัน คุณเพิ่งพูดว่า `echo` ในบรรทัดคำสั่งอาจเป็นการนำไปใช้งานในตัว แต่ทำไมเมื่อฉันเรียกใช้ `echo` ซึ่งผลลัพธ์คือ `/usr/bin/bash` ซึ่งเป็น ไฟล์มีปัญหา คุณรู้หรือไม่ว่าทำไม?
hr flag
ไม่ ฉันไม่รู้ว่าทำไม - ฉันคาดหวังว่า `echo ใดที่จะส่งออก `/usr/bin/echo` (หรือ `/bin/echo` ในระบบก่อนการรวมกิจการ) FYI `ซึ่ง' จะแสดงเฉพาะไฟล์เรียกทำงานภายนอก - ลองใช้ `type -a echo` แทน ดูเพิ่มเติมที่ [ทำไมไม่ใช้ "อันไหน" จะใช้อะไรดี](https://unix.stackexchange.com/questions/85249/why-not-use- which-what-to-use-then)
Mr Syhd avatar
cn flag
@steeldriver โอ้ฉันเข้าใจแล้ว ขอบคุณสำหรับคำตอบ
Mr Syhd avatar
cn flag
lol ใช่ผลลัพธ์ควรเป็น /usr/bin/echo พิมพ์ผิด
Score:4
ธง in

อาจมีบางอย่างผิดปกติกับคุณ /bin/เสียงสะท้อนเนื่องจากคุณควรได้รับสิ่งนี้เมื่อเรียกใช้ ไฟล์ เกี่ยวกับมัน:

/bin/echo: วัตถุที่ใช้ร่วมกัน LSB 64 บิตของ ELF, x86-64, เวอร์ชัน 1 (SYSV), เชื่อมโยงแบบไดนามิก, ตัวแปล /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=714b557112010bbcd04b0e5e6efc1b106166733c สำหรับ GNU/Linux 3.2.0 ถูกถอดออก

เราสามารถเห็นได้ว่า คอร์ยูทิล เป็นแพ็คเกจที่ควรจัดหา /bin/เสียงสะท้อน ด้วยการวิ่ง:

dpkg -S /bin/echo

และสุดท้าย คุณสามารถตรวจสอบเพื่อให้แน่ใจว่าไม่มีไฟล์ใดของแพ็คเกจที่ได้รับการแก้ไขหรือเสียหายจากการเรียกใช้:

sudo apt ติดตั้ง debsums
debsums coreutils

หากมีไฟล์ใดเสียหาย คุณสามารถติดตั้งใหม่ได้โดยใช้:

sudo apt ติดตั้ง coreutils -- ติดตั้งใหม่
Mr Syhd avatar
cn flag
คำตอบโดยละเอียด ขอบคุณ !!

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา