ภายใต้ Windows แอปพลิเคชันและข้อมูลแอปพลิเคชันส่วนใหญ่จะถูกเก็บไว้ในไดเรกทอรีพิเศษที่รู้จักกันในชื่อC:\Program Files(และบางครั้งC:\Program Files (x86)) Ubuntu / Linux เทียบเท่ากับเส้นทางนี้คืออะไร มีแม้แต่อันเดียวไหม?
ภายใต้ Windows แอปพลิเคชันและข้อมูลแอปพลิเคชันส่วนใหญ่จะถูกเก็บไว้ในไดเรกทอรีพิเศษที่รู้จักกันในชื่อC:\Program Files(และบางครั้งC:\Program Files (x86)) Ubuntu / Linux เทียบเท่ากับเส้นทางนี้คืออะไร มีแม้แต่อันเดียวไหม?
คำตอบ:
/binและ/usr/binเป็นที่ที่สคริปต์เริ่มต้นโปรแกรม การเทียบเท่าโดยตรงของ "Program Files" อาจเป็นไปได้/usr/share( ดูที่ลำดับชั้นของระบบไฟล์ ) ไดเรกทอรีนั้นมีไฟล์สนับสนุนต่าง ๆ สำหรับโปรแกรมส่วนใหญ่

มีอาจจะไม่เทียบเท่าโดยตรง แต่เนื่องจากตัวอย่างเช่นไฟล์ไลบรารีที่ใช้ร่วมกันทั่วทั้งระบบ (ใน/lib) และตัวเลือกอย่างใดอย่างหนึ่งเป็นผู้ใช้ที่ระบุ (ในไดเรกทอรีบ้านผู้ใช้) /etcหรืออยู่ในระดับสากล
ดังนั้นการติดตั้งโปรแกรมผ่านไฟล์ deb ที่เก็บหรือบิลด์จะวางไฟล์ในตำแหน่งเหล่านี้ทั้งหมด
[แก้ไข] และคนอื่น ๆ ทราบนอกจากนี้ยังมีและ/sbin /usr/sbinพลัส/usr/local/bin, และแม้กระทั่ง/opt/bin /usr/games/ดังนั้นแน่นอนไม่ใช่การเปรียบเทียบโดยตรงกับc:\program files!
/optล่ะ ผมเคยเห็นที่ถือจำนวนมาก (มักจะปิดแหล่งที่มาหรือแอปพลิเค-based) Program Filesโปรแกรมมาก่อนในทำนองเดียวกันกับ
/optไดเรกทอรีใช้
/usr/local/binเป็นตำแหน่งกึ่งร่วมสำหรับซอฟต์แวร์ที่ผู้ใช้ / บริษัท อาจไม่นิยมใช้
ตอบล่าช้า - ฉันได้สร้างแผนงานเพื่อให้ผู้เริ่มต้นปฏิบัติตาม หากพวกเขากำลังมองหาไฟล์ แต่ไม่ทราบว่าจะดูที่ไหนพวกเขาสามารถใช้แผนที่เพื่อนำทางไปรอบ ๆ คุณสามารถดาวน์โหลดความละเอียดสูง PNG ที่นี่ คุณสามารถค้นหาโพสต์ที่เกี่ยวข้องกับที่นี่ ฉันจะอัปเดตทั้งไฟล์และโพสต์เมื่อเวลาอนุญาตรวมความคิดเห็นที่เป็นประโยชน์
อ่านคำตอบของฉันด้านล่างสำหรับข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่PATHตัวแปรสภาพแวดล้อมคือสิ่งที่.desktopไฟล์และวิธีการค้นหาโปรแกรมเฉพาะโดยใช้คำสั่ง linux ต่างๆ
คำตอบเดิม:
/bin, /usr/binและ/usr/shareดังที่กล่าวไว้ในคำตอบอื่น ๆ คุณสามารถค้นหาไฟล์ที่เรียกใช้งานส่วนใหญ่ภายใต้/binหรือ/usr/binและไฟล์ติดตั้ง/usr/shareสนับสนุน
/usr/local และ /optอย่างไรก็ตามมีไดเรกทอรีเพิ่มเติมที่ Ubuntu ติดตั้งแอปพลิเคชัน PATHตัวแปรซึ่งกำหนดสถานที่ที่จะค้นหาคำสั่งเข้ามาอาจให้เบาะแสเหมืองดูเหมือนว่า ( echo $PATHในสถานี):
/usr/local/cuda/bin:/usr/local/texlive/2012/bin/x86_64-linux:/usr/games:/home/gerhard/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
ที่คุณสามารถดูซอฟต์แวร์ที่ติดตั้งในและมีไดเรกทอรีของตัวเองและ/usr/local binอีกที่หนึ่งที่ติดตั้งโปรแกรม/optมากมาย คุณสมบัติของสถานที่เหล่านี้มีการอธิบายโดยมาตรฐานระบบไฟล์ลำดับชั้นซึ่งเป็นอ่านที่ดีมาก น่าเสียดายที่ความแตกต่างระหว่าง/optและ/usr/localไม่ได้อธิบายได้ดีใครบางคนบนunix stackexchangeมีคำอธิบายที่ละเอียดยิ่งขึ้น:
/usr/localเป็นสถานที่สำหรับติดตั้งไฟล์ที่สร้างโดยผู้ดูแลระบบโดยปกติจะใช้คำสั่ง make แนวคิดคือเพื่อหลีกเลี่ยงการปะทะกับไฟล์ที่เป็นส่วนหนึ่งของระบบปฏิบัติการที่อาจถูกเขียนทับหรือเขียนทับไฟล์ในเครื่อง เช่น. /usr/bin/fooเป็นส่วนหนึ่งของระบบปฏิบัติการในขณะที่/usr/local/bin/fooเป็นทางเลือกในท้องถิ่น/optเป็นไดเร็กทอรีสำหรับติดตั้งแพ็กเกจ unbundled ในไดเร็กทอรีย่อยของตนเอง พวกเขาสร้างแพคเกจทั้งหมดแล้วโดยผู้จัดจำหน่ายซอฟต์แวร์บุคคลที่สามที่เป็นอิสระ ตัวอย่างเช่นsomeappจะติดตั้งใน/opt/someappหนึ่งคำสั่งของมันจะอยู่ใน/opt/someapp/bin/foo[แล้วโดยปกติแล้วลิงค์สัญลักษณ์จะทำในหนึ่งในbinไดเรกทอรีในPATHหรือโปรแกรมที่เรียกว่าจากไฟล์เดสก์ทอป (ดูด้านล่าง)].desktop ไฟล์เมื่อต้องการค้นหาตำแหน่งที่ติดตั้งโปรแกรมเฉพาะคุณสามารถทำหลายขั้นตอน ก่อนอื่นคุณต้องค้นหา.desktopไฟล์ของมัน ไฟล์เดสก์ท็อปเป็นเสมือนทางลัดใน Windows และสำหรับแอปพลิเคชันระบบที่อยู่ใน/usr/share/applicationsนั้น ~/.local/share/applicationsไฟล์สก์ท็อปสำหรับการใช้งานที่มีเฉพาะสำหรับผู้ใช้ปัจจุบันอยู่ใน ยกตัวอย่างเช่น Google Chrome ซึ่งมีไฟล์เดสก์ท็อป/usr/share/applications/google-chrome.desktopและค้นหาบรรทัดที่ขึ้นต้นด้วยExec=ซึ่งจะเป็นตัวกำหนดวิธีการเริ่มต้น Google Chrome มันบอกว่า:
Exec=/opt/google/chrome/google-chrome
เพื่อให้คุณทราบ Google Chrome /optเป็นใน
ตอนนี้สำหรับ Mozilla Firefox /usr/share/applications/firefox.desktopซึ่งตั้งอยู่ใน มันก็พูดว่า
Exec=firefox %u
ในตอนแรกสิ่งนี้ดูเหมือนจะไม่ได้ช่วยอะไรมากนัก แต่จากนั้นคุณก็ตระหนักว่าfirefoxต้องอยู่ในไดเรกทอรีที่อยู่ในPATHตัวแปร (น่าจะเป็น a bin) และเราสามารถค้นหามันได้ (ดูด้านล่าง)
เพื่อค้นหาคำสั่งคุณสามารถใช้หนึ่งหรือมากกว่าต่อไปนี้: type, whichและwhereis(เราได้รวมเชื่อมโยงไปยังหน้าเว็บที่ใช้ของพวกเขาออนไลน์)
พิมพ์ : มันอธิบายคำสั่งและระบุว่ามันจะตีความอย่างไรถ้าใช้เป็นชื่อคำสั่ง ประเภทที่เป็นไปได้สำหรับคำสั่งคือ:
(พิมพ์ตัวเองเป็นตัวเชลล์ลองด้วยtype type: P)
การดำเนินการtype firefoxให้เรา
firefox is /usr/bin/firefox
ซึ่งเป็นสิ่งที่เราอยากรู้
หากคำสั่งเป็นไฟล์ (ซึ่งคุณตรวจสอบด้วยtype) คุณสามารถใช้:
ซึ่ง : แสดงเส้นทางแบบเต็มของคำสั่ง
การดำเนินการwhich firefoxให้เรา
/usr/bin/firefox
whereis : ค้นหาไฟล์ไบนารีหน้าซอร์สและหน้าแบบแมนนวลสำหรับคำสั่ง
การดำเนินการwhereis firefoxให้เรา
firefox: /usr/bin/firefox /etc/firefox /usr/lib/firefox /usr/lib64/firefox /usr/bin/X11/firefox /usr/share/man/man1/firefox.1.gz
โบนัส
คุณสามารถตรวจสอบ/usr/bin/firefoxอย่างใกล้ชิดด้วยls -l /usr/bin/firefoxและสิ่งนี้จะช่วยให้:
/usr/bin/firefox -> ../lib/firefox/firefox.sh*
ปรากฏว่า/usr/bin/firefoxเป็น 'เท่านั้น' /usr/lib/firefox/firefox.shการเชื่อมโยงสัญลักษณ์สคริปต์ /usr/lib/firefox/firefoxหากคุณตรวจสอบสคริปต์ที่คุณพบว่าสายสคริปต์
คุณสามารถพักผ่อนได้อย่างสงบสุขในขณะนี้ :)
ไม่มีไดเรกทอรีเดียวที่เทียบเท่าของโฟลเดอร์Program Files วิธีที่ Linux จัดการสิ่งต่าง ๆ แตกต่างจาก Windows
ใน windows ทุกโปรแกรมที่เราติดตั้งจะได้รับไดเรกทอรีของตัวเองภายในไดเรกทอรีไฟล์โปรแกรม ในไดเรกทอรีนั้นไดเรกทอรีย่อยเพิ่มเติมจะถูกสร้างขึ้นสำหรับไฟล์ประเภทต่างๆ ไม่มีโครงสร้างถาวรสำหรับไดเรกทอรีย่อย โปรแกรมตัดสินใจด้วยตนเองในสิ่งที่พวกเขาต้องการเรียกแต่ละไดเรกทอรีและตำแหน่งที่พวกเขาต้องการวางอะไร
แต่ใน Linux เมื่อติดตั้งโปรแกรมไฟล์ชนิดต่าง ๆ จะถูกคัดลอกไปยังตำแหน่งอื่น executables ถูกคัดลอกไป/ usr / binไฟล์ห้องสมุด/ usr / libเอกสารหนึ่งหรือมากกว่าหนึ่งของ/ usr / คน , / usr / ข้อมูลและ/ usr / doc หากมีแฟ้มการกำหนดค่าที่พวกเขามักจะอยู่ในบ้านของผู้ใช้หรือใน/ etc
C:\Program Filesโฟลเดอร์จะเป็น/usr/binในอูบุนตู มีลักษณะเหมือน/binC:\windows
จากหน้าคู่มือของลำดับชั้นของระบบไฟล์ :
/bin This directory contains executable programs which are needed in
single user mode and to bring the system up or repair it.
/usr/bin
This is the primary directory for executable programs. Most
programs executed by normal users which are not needed for
booting or for repairing the system and which are not installed
locally should be placed in this directory.
Ubuntu มีโครงสร้างที่แตกต่างจาก windows Ubuntu วางแอพพลิเคชั่นเกือบทั้งหมดไว้ในไดเรกทอรี/usr/binเดียว Windows จะสร้างโฟลเดอร์ใหม่พูดMozilla Firefoxและเพิ่มการกำหนดค่าไฟล์ปฏิบัติการไฟล์ DLL และอื่น ๆ ในนั้น Ubuntu แยกพวกมันออกปฏิบัติการได้/usr/binกำหนดค่าทั้งระบบใน/etcวัตถุที่ใช้ร่วมกันใน/usr/libภาพใน/usr/share...
Linux 'Program Files' อยู่ในลำดับชั้นทั้งหมด มันอาจจะเป็นบน/usr/bin, /bin, /opt/...หรือในไดเรกทอรีอื่น
ฉันคิดว่าคุณจะพบไฟล์ที่เกี่ยวข้องกับแอปพลิเคชันของคุณ จากนั้นฉันมีความคิดเกี่ยวกับวิธีดูไฟล์ที่ติดตั้งในการติดตั้งโปรแกรม
synapticโดยการออกsudo apt-get install synapticบนเทอร์มินัลPropertiesคลิกขวาที่แพคเกจและเลือกInstalled Fileแท็บ dpkg -L package_nameผลที่ได้คือเช่นเดียวกับเป็นเพราะ linux ย้ายไฟล์ที่ติดตั้งไปยังไดเรกทอรีแยกกันตามประเภทของพวกเขา
/usr/bin/bin/usr/share/iconsหรือเปิด~/.local/share/iconsสำหรับท้องถิ่น/optบน/usr/share/applicationsหรือเปิด~/.local/share/applications/usr/share/doc/usr/libและสารบบอื่น ๆ อีกมากมาย (CMIIW ยอมรับการแก้ไข)
ในคำตอบนี้เมื่อฉันพูดว่า Unix ฉันหมายถึง Unix เช่นเดียวกับระบบปฏิบัติการ Unix
Ubuntu ไม่มีโฟลเดอร์โปรแกรมที่มีข้อมูลทั้งหมดสำหรับแต่ละโปรแกรม ในระบบปฏิบัติการ Unix และ Unix like EVERYTHING เป็นไฟล์แม้แต่คำสั่งเทอร์มินัล มันเป็นไฟล์เช่นกัน วิธีที่ Unix จัดการกับโปรแกรมนั้นค่อนข้างวุ่นวายและจัดระเบียบในเวลาเดียวกัน
ไอคอนสำหรับโปรแกรมจะถูกเก็บไว้ใน / usr / share / icons / * โดยปกติโปรแกรมปฏิบัติการจะถูกเก็บไว้ใน / usr / bin, / bin และสถานที่อื่น ๆ ที่มีไดเรกทอรี bin (bin สั้น obv สำหรับไบนารี) ไลบรารีที่โปรแกรมขึ้นอยู่กับ / lib
ดังนั้นคุณจะไม่มีไดเรกทอรีที่มีข้อมูลทั้งหมดสำหรับหนึ่งโปรแกรม แต่ข้อมูลสำหรับโปรแกรมนั้นแพร่กระจาย ในขณะที่สิ่งนี้ดูเหมือนว่าไม่เป็นระเบียบ แต่ก็อนุญาตให้แบ่งปันสิ่งมาตรฐานเช่นไลบรารีและไอคอน
ขอบคุณการอนุญาตสำหรับแต่ละไฟล์ความคิดของทุกสิ่งที่เป็นไฟล์นั้นยอดเยี่ยมมากที่จะซื่อสัตย์ มันทำให้ระบบปฏิบัติการ Unix มีความปลอดภัยมากกว่าระบบปฏิบัติการอื่น ๆ
วิธีที่ติดตั้งโปรแกรม Linux และ Windows แตกต่างกันมาก
รูปแบบทั่วไปใน Windows มีไว้สำหรับโปรแกรม หรือกลุ่มของโปรแกรมจากผู้ขายรายหนึ่งเข้าไปในไดเรกทอรีย่อยของตนเองใน C: \ programs \ Vendor หรือสิ่งที่คล้ายกัน
ใน Linux ไฟล์ของคุณจะถูกแบ่งระหว่างไดเรกทอรีย่อยที่เฉพาะเจาะจงขึ้นอยู่กับฟังก์ชั่น มีไดเรกทอรีสำหรับห้องสมุดไอคอนหน้าคนไฟล์บันทึกการกำหนดค่าและอื่น ๆ คุณอาจใช้บางส่วนได้ แต่ระบบจะจัดการทั้งหมด พวกเขาไม่ได้อยู่ด้วยกัน แต่มีอยู่พร้อมกับไฟล์ที่คล้ายกันจากโปรแกรมอื่น ๆ
ดังนั้นจึงไม่มีจริงเทียบเท่ากับโครงสร้างไดเรกทอรี Windows ในการใช้งานปกติของ Linux
หากคุณติดตั้งโปรแกรมของตัวเองฉันขอแนะนำ 1 โฟลเดอร์:
มองใน/bin, /usr/binและสิ่งอื่น ๆ binที่ระบุว่า