คำถามติดแท็ก executable

บิตการอนุญาตในโหมดไฟล์ที่อนุญาตให้เรียกใช้ไฟล์เป็นโปรแกรม นอกจากนี้คำถามที่เกี่ยวข้องกับรูปแบบของไฟล์โปรแกรมและการค้นหาและเรียกใช้ไฟล์โปรแกรม

4
ฉันจะล้างแคชของเส้นทางของ Bash ไปยัง executables ได้อย่างไร
เมื่อฉันรันโปรแกรมโดยไม่ระบุพา ธ เต็มไปยังไฟล์ที่เรียกทำงานได้และ Bash ต้องค้นหาไดเรกทอรีใน$PATHเพื่อค้นหาไบนารีดูเหมือนว่า Bash จะจดจำเส้นทางในแคชบางประเภท ตัวอย่างเช่นฉันติดตั้งบิลด์การโค่นล้มจากแหล่งไปยัง/usr/localแล้วพิมพ์svnsync helpที่พรอมต์ Bash Bash หาตำแหน่งไบนารี/usr/local/bin/svnsyncสำหรับ "svnsync" และดำเนินการ จากนั้นเมื่อฉันลบการติดตั้ง Subversion ใน/usr/localและรันsvnsync helpใหม่ Bash ตอบกลับ: bash: /usr/local/bin/svnsync: No such file or directory /usr/bin/svnsyncแต่เมื่อฉันเริ่มตัวอย่างใหม่ของทุบตีพบและรัน ฉันจะล้างแคชของพา ธ ไปยังไฟล์ที่เรียกทำงานได้อย่างไร
256 bash  executable  cache 

1
โมโนเอกซ์เป็นยังไงบ้าง?
ฉันกำลังเรียนรู้ C # ดังนั้นฉันจึงทำโปรแกรม C # เล็ก ๆ ที่กล่าวHello, World!แล้วรวบรวมmono-cscและเรียกใช้ด้วยmono: $ mono-csc Hello.cs $ mono Hello.exe Hello, World! ผมสังเกตเห็นว่าเมื่อฉันตีTABในbash, Hello.exeถูกทำเครื่องหมายปฏิบัติการ อันที่จริงมันทำงานโดยเพียงแค่โหลดเปลือกชื่อไฟล์! Hello.exeคือไม่ได้เป็นแฟ้มเอลฟ์ที่มีนามสกุลไฟล์ตลก: $ readelf -a Hello.exe readelf: Error: Not an ELF file - it has the wrong magic bytes at the start $ xxd Hello.exe | head -n1 00000000: 4d5a …

9
ทำไม / dev / null ไฟล์? ทำไมฟังก์ชั่นการใช้งานไม่ได้เป็นโปรแกรมอย่างง่าย?
ฉันพยายามเข้าใจแนวคิดของไฟล์พิเศษบน Linux อย่างไรก็ตามมีไฟล์พิเศษใน/devดูเหมือนโง่ธรรมดาเมื่อฟังก์ชั่นสามารถนำมาใช้โดยไม่กี่บรรทัดใน C เพื่อความรู้ของฉัน ยิ่งไปกว่านั้นคุณสามารถใช้มันในลักษณะเดียวกันได้อย่างมากเช่นการไพพ์ไปที่nullแทนที่จะเปลี่ยนไป/dev/nullใช้ มีเหตุผลที่เฉพาะเจาะจงในการใช้เป็นไฟล์หรือไม่? การไม่ทำให้เป็นไฟล์ทำให้เกิดปัญหาอื่น ๆ อีกมากมายเช่นมีหลายโปรแกรมที่เข้าถึงไฟล์เดียวกันหรือไม่

4
แฟ้มปฏิบัติการค้นหาวัตถุที่ใช้ร่วมกันที่รันไทม์ที่ไหน
ฉันเข้าใจวิธีกำหนดรวมวัตถุที่ใช้ร่วมกันในการเชื่อมโยง / รวบรวมเวลา อย่างไรก็ตามฉันยังสงสัยว่าไฟล์เรียกทำงานค้นหาวัตถุที่ใช้ร่วมกัน ( *.soไลบรารี) ณ เวลาดำเนินการอย่างไร ตัวอย่างเช่นแอปของฉันa.outเรียกฟังก์ชั่นที่กำหนดไว้ในlib.soห้องสมุด หลังจากรวบรวมฉันย้ายไปยังไดเรกทอรีใหม่ของฉันlib.so$HOME ฉันa.outจะบอกให้ไปหาที่นั่นได้อย่างไร

7
/ usr / local / bin คืออะไร
ก่อนหน้าวันนี้ฉันใช้เทอร์มินัลเพื่อ จำกัด ขอบเขตการย้ายเข้าและออกจากไดเรกทอรีและเปลี่ยนวันที่ของไฟล์โดยใช้touchคำสั่ง ฉันได้ตระหนักถึงขอบเขตทั้งหมดของเทอร์มินัลหลังจากติดตั้งสคริปต์ที่สนุกสนานบน Mac และต้องchmod 755ใช้ไฟล์เพื่อให้สามารถเรียกใช้งานได้หลังจากนั้น ฉันอยากรู้ว่า/usr/local/binมันคืออะไร /usr/ฉันถือว่าเป็นผู้ใช้คอมพิวเตอร์ ฉันไม่แน่ใจว่าทำไมถึง/local/อยู่ที่นั่น เห็นได้ชัดว่ามันย่อมาจากคอมพิวเตอร์ในระบบ แต่เนื่องจากมันอยู่บนคอมพิวเตอร์ (หรือเซิร์ฟเวอร์) มันจำเป็นจริงๆหรือ? จะไม่/usr/binเป็นไร แล้วอะไร/binล่ะ เหตุใดพื้นที่นี้มักใช้สำหรับการติดตั้งสคริปต์ลงในเทอร์มินัล


5
shebang พิจารณาเชลล์ที่รันสคริปต์หรือไม่
นี่อาจเป็นคำถามที่โง่ แต่ฉันก็ยังถาม ถ้าฉันได้ประกาศ shebang #!/bin/bash ในตอนต้นของmy_shell_script.shฉันจะต้องเรียกใช้สคริปต์นี้โดยใช้ทุบตี [my@comp]$bash my_shell_script.sh หรือฉันสามารถใช้เช่น [my@comp]$sh my_shell_script.sh และสคริปท์ของฉันกำหนดเชลล์ที่กำลังใช้งานอยู่โดยใช้ shebang? มันเกิดขึ้นเหมือนกันกับkshเชลล์ไหม? ฉันใช้ AIX


2
การได้รับข้อความ“ ไม่พบ” เมื่อเรียกใช้ไบนารีแบบ 32 บิตบนระบบ 64 บิต
ขณะนี้ฉันมีปัญหาแปลก ๆ เกี่ยวกับเดเบียน (เสียงฮืด ๆ / amd64) ฉันได้สร้าง chroot เพื่อติดตั้งเซิร์ฟเวอร์ (ฉันไม่สามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับมันขอโทษ) /chr_path/ขอเรียกเส้นทางของมัน เพื่อทำให้สิ่งต่าง ๆ เป็นเรื่องง่ายฉันได้เริ่มต้น chroot นี้ด้วย debootstrap (เช่น wheezy / amd64) ทั้งหมดดูเหมือนจะทำงานได้ดีภายใน chroot แต่เมื่อฉันเริ่มสคริปต์การติดตั้งของเซิร์ฟเวอร์ของฉันฉันได้รับ: zsh: Not found /some_path/perl(โปรแกรมติดตั้งมีไบนารี Perl ด้วยเหตุผลบางอย่าง) โดยปกติฉันตรวจสอบ/some_path/สถานที่และพบไบนารี "perl" fileในสภาพแวดล้อม chroot ส่งคืน: /some_path/perl ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared …

8
#! / bin / bash - ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
ฉันสร้างสคริปต์ทุบตี แต่เมื่อฉันพยายามเรียกใช้งานฉันจะได้รับ #!/bin/bash no such file or directory ฉันต้องการเรียกใช้คำสั่ง: bash script.shเพื่อให้สามารถใช้งานได้ ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

9
สคริปต์สามารถเรียกใช้งานได้ แต่ไม่สามารถอ่านได้หรือไม่?
เป็นไปได้ไหมที่จะเรียกใช้งานสคริปต์หากไม่มีสิทธิ์ในการอ่าน ในโหมดรูทฉันสร้างสคริปต์และฉันต้องการให้ผู้ใช้รายอื่นเรียกใช้งานสคริปต์นี้ แต่ไม่ได้อ่าน ฉันไม่chmodอนุญาตให้อ่านและเขียน แต่อนุญาตให้ใช้งานได้ แต่ในโหมดผู้ใช้ฉันเห็นข้อความที่แจ้งว่า: สิทธิ์ถูกปฏิเสธ

7
วิธีการค้นหาไฟล์ไลบรารีแบบไดนามิกที่โหลดได้เมื่อรัน?
ฉันต้องการค้นหารายการไลบรารีแบบไดนามิกที่โหลดแบบไบนารีเมื่อทำงาน (ด้วยเส้นทางแบบเต็ม) ฉันใช้ CentOS 6.0 ทำอย่างไร

2
ควรวางโปรแกรมปฏิบัติการในพื้นที่ไว้ที่ไหน?
ฉันมีการปฏิบัติการสำหรับไคลเอนต์การควบคุมเวอร์ชัน perforce ( p4) ฉันไม่สามารถใส่มันได้/opt/localเพราะฉันไม่มีสิทธิ์รูต มีตำแหน่งมาตรฐานที่จำเป็นต้องวางไว้ใต้$HOMEหรือไม่? ลำดับขั้นของระบบไฟล์มีข้อตกลงที่บอกว่าจำเป็นต้องมีโปรแกรมเรียกทำงาน / ไบนารีภายในเครื่อง$HOME/binหรือไม่? ฉันไม่สามารถหาเช่นการประชุมที่กล่าวถึงในบทความวิกิพีเดียสำหรับ FHS นอกจากนี้หากมีการประชุมแน่นอนฉันจะต้องรวมเส้นทางไปยัง$HOME/binไดเรกทอรีอย่างชัดเจนหรือตำแหน่งของbinไดเรกทอรีคืออะไร

8
เหตุใดแหล่งข้อมูลของ Bash จึงไม่ต้องการบิตการประมวลผล
ด้วย Bash sourceคุณสามารถรันสคริปต์โดยไม่ต้องตั้งค่าบิตเรียกใช้งาน นี่เป็นเอกสารและมีพฤติกรรมที่คาดหวัง แต่สิ่งนี้ไม่ได้เกิดจากการใช้งานบิตการดำเนินการใช่หรือไม่ ฉันรู้ว่านั่นsourceไม่ได้สร้าง subshell

2
เหตุใดบางไลบรารีที่ทำงานร่วมกันจึงสามารถเรียกใช้งานได้ราวกับว่าเป็นไฟล์ที่เรียกใช้งานได้หรือไม่
บนระบบ Linux แบบ 32 บิตให้เรียกใช้สิ่งนี้ $ /lib/libc.so.6 และในระบบ 64 บิตนี้ $ /lib/x86_64-linux-gnu/libc.so.6 ในเชลล์จัดเตรียมเอาต์พุตเช่นนี้: GNU C Library stable release version 2.10.1, by Roland McGrath et al. Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY …

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