วิธีตรวจสอบว่าซอฟต์แวร์ของฉันเป็น 32- บิตหรือ 64- บิต


30

ฉันต้องการตรวจสอบว่าซอฟต์แวร์ของฉันเป็น 64 บิตหรือ 32 บิต (ไม่ใช่ระบบปฏิบัติการ) ซอฟต์แวร์นี้เป็นไฟล์ที่ปฏิบัติการได้และเมื่อฉันตรวจสอบจะไม่มีการให้ข้อมูลหากเป็น 64 บิตหรือ 32 บิต

ฉันจะตรวจสอบว่าซอฟต์แวร์ของฉันเป็นแบบ 64 บิตหรือ 32 บิตได้อย่างไร

คำตอบ:


39

คุณสามารถใช้fileคำสั่งเพื่อตรวจสอบว่ารูปแบบใดที่สามารถใช้งานได้ ตัวอย่างเช่น:

file /usr/bin/gedit
/usr/bin/gedit: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x5a388215eb6f60b420fc3b6d68ec52d563071f84, stripped

4

คำสั่งง่ายๆนี้จะแสดงให้คุณเห็นว่าไฟล์ที่เรียกใช้งานได้คือ 32 บิต (i386) หรือ 64 บิต (amd64)

ไวยากรณ์:

apt-cache show $(dpkg -S /path/to/the/file | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -

ตัวอย่าง:

$ apt-cache show $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -
amd64

คำอธิบาย:

dpkg -Sคำสั่งคว้าแพ็กเกจที่ไฟล์เป็นของจริง apt-cache show packageคำสั่งจะแสดงรายละเอียดเกี่ยวกับแพคเกจจากรายละเอียด awk คว้าเฉพาะส่วนสถาปัตยกรรมและเปลี่ยนเส้นทางไปยัง stdout

หรือ

คุณสามารถลองใช้คำสั่งนี้ได้เช่นกัน

$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64

1
cut -d: -f1จะสั้นกว่าที่นี่และโปรดทราบว่าจะใช้งานได้เฉพาะกับแพ็คเกจที่ติดตั้งไม่ใช่ไฟล์สุ่มในโฟลเดอร์บ้านของคุณ อาจxargs -rเหมาะสมกว่าในกรณีที่dpkg -Sคำสั่งส่งคืนว่างเปล่า
Lekensteyn

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