Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Mac

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

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

แต่โฟลเดอร์ระบบต่างๆ ทำหน้าที่อะไร? "bin" คืออะไร และช่วยคอมพิวเตอร์อย่างไร? เราจะตรวจสอบโฟลเดอร์ระบบที่อ้างถึงบ่อยที่สุดด้านล่าง

โฟลเดอร์ "/System" บน Mac ของคุณไม่ได้มีอะไรมาก เราจะดูเนื้อหามันก่อน แล้วค่อยไปโฟลเดอร์ระบบอื่นๆ ที่ลึกกว่า

หมายเหตุ: อย่าเพิ่ม, ลบ, หรือแก้ไขโฟลเดอร์และไฟล์ระบบ คุณสามารถ Browse ได้อย่างปลอดภัย แต่การเพิ่ม, ลบ, แก้ไขไฟล์หรือเปลี่ยนโฟลเดอร์อาจมีผลที่คาดเดาไม่ได้ – และบางครั้งทำให้ระบบเสียหาย หากคุณต้องทดลอง ให้ทำ Bootable Clone ของ Mac ก่อน

โฟลเดอร์ Library: /System/Library และ ~/Library

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

โฟลเดอร์ Library ใกล้ผู้ใช้ที่สุด ถูกสร้างโดยแอปพลิเคชัน และแอปเพิ่ม, ลบ, แก้ไขไฟล์ตลอดการทำงาน ตรงๆ บอกเลย กระบวนการจัดระเบียบที่นี่ค่อนข้างوض亂 แอปพลิเคชันอิสระทำ gìก็ได้ในการวางไฟล์ใน Library แต่มากกว่าตามกระบวนการที่คล้ายกัน

คุณจะพบไฟล์และโฟลเดอร์หลากหลายในทั้ง User Library Folder (ที่ "~/Library") และ System Library Folder (ที่ "/System/Library") ไฟล์เหล่านี้เก็บ Preferences, Application Databases, Metadata, Plugins, Saved Application States, System Profiles, Cookies และอื่นๆ อีกมากมาย

Application Support

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

โฟลเดอร์ "~/Library/Application Support" คือโฟลเดอร์ Library ที่เข้าถึงบ่อยที่สุด ที่นี่แอปพลิเคชันเก็บไฟล์ที่จำเป็นสำหรับการทำงาน ห่างจากโฟลเดอร์ข้อมูลของผู้ใช้ ไฟล์เหล่านี้ถูกแยกเพื่อป้องกันการปนเปื้อนหรือการแก้ไข

เมื่อผู้ใช้เข้าถึงโฟลเดอร์นี้ มักจะเป็นเพื่อเปลี่ยนการทำงานของโปรแกรมแบบที่ Default Settings ไม่รองรับ หรือแก้ไข Cache/Database Error การลบ Application Support Folder ของโปรแกรมเป็นวิธี Reset ให้กลับสู่ Default และเริ่มใหม่สะอาด และถ้าคุณอยาก Hack แอปพลิเคชัน คุณจะเจอ Application Support Folder ของโปรแกรมนั้นไม่นาน

ความแตกต่างระหว่าง /System/Library และ ~/Library

ทำไม macOS ต้องการ Library 2 โฟลเดอร์? System Library ใช้โดยทุก User สำหรับความต้องการระดับระบบ เข้าถึงได้ทุก User ส่วน User Library เข้าถึงได้เฉพาะ User คนนั้นเท่านั้น

โฟลเดอร์ Unix: /bin, /sbin, /usr, /var, /private

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

macOS สร้างบน Unix Kernel หมายความว่าฟังก์ชันลึกส่วนใหญ่ базис บน Unix Functionality ดังนั้นนอกจากโฟลเดอร์ระบบระดับสูงของ macOS แล้ว คุณจะพบโฟลเดอร์ Unix ด้วย โฟลเดอร์เหล่านี้ซ่อนหมด ต้องแสดง Hidden Files ถึงจะตามทัวร์ได้

คุณจะพบ Unix フォルダหลายอันใน Home Directory ที่โดดเด่นคือ "/bin" และ "/sbin", "/usr", "/var", และ "/private"

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

"/bin" และ "/sbin" ทั้งคู่เก็บ Binaries "/sbin" เก็บ Binaries ที่จำเป็นสำหรับ Boot, Restore, Recover, และ Repair ระบบแม้ไม่มี File System Mounted "/bin" เก็บ User Commands สำหรับ User ทุกคน "bin" ย่อมาจาก binaries และ "sbin" ย่อมาจาก system binaries

บน macOS Binaries ส่วนใหญ่ใน "/sbin" ที่ Mount File System เป็น Symlink ไปที่ macOS File System Plugins ใน "/System/Library/Filesystems"

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

"/usr" มี Binaries และ Libraries ใช้ระหว่างการทำงานปกติ ไฟล์ที่นี่ใช้หลัง Mount File System แล้ว "usr" ย่อมาจาก "user" หรือ Unix System Resources

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

"/var" มีไฟล์ที่ระบบเขียนตลอดการทำงาน เช่น Caches, Data Libraries, Logs Var ย่อมาจาก variable และมักถูกเขียนโดย Core-level System Apps เท่านั้น บน macOS "/var" เป็น Symlink ไป "/private/var"

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

"/private" มี Daemon และ Command Line Tool Configurations, Caches, Variables, Virtual Memory Swap Files, Temporary Files, และ Sleep Images บางโฟลเดอร์ Unix อย่าง "/etc" และ "/tmp" เป็น Symlink ไป Directory ชื่อเดียวกันใน /private

ถ้าอยากรู้เนื้อหาโฟลเดอร์เหล่านี้ ดูรายละเอียด Mac's Unix Folders ได้ที่นี่

Extensions

ทำความเข้าใจโฟลเดอร์ระบบของ Mac

ถ้าคุณเคยสร้าง Hackintosh คุณคงรู้ "System/Library/Extensions" ย่อมาว่า "S/L/E" โฟลเดอร์นี้มี "kexts" หรือ Kernel Extensions ที่ขยายฟังก์ชันของ macOS Kernel การเพิ่ม kexts ช่วยให้ Kernel 溝通กับฮาร์ดแวร์ใหม่ได้ ถ้าคุณมาจาก Windows kexts เหมือน Drivers

การแก้ไขโฟลเดอร์นี้เป็นเรื่องลำบาก ต้องจัดการ Permissions อย่างระมัดระวัง หากอยากเพิ่ม/ลบ kexts บน macOS ให้ทำอย่างถูกต้อง

Agents และ Daemons

Daemons และ Agents ทำงานใน Background ทำงานโดยไม่มี Interaction จาก User ชื่อที่แปลก (อ่านว่า "demon") มาจาก Maxwell's Daemon

Daemons ทำ System Operations รันโดย Root ส่วน Agents รันโดย User ที่ล็อกอินอยู่ Global Agents/Daemons เข้าถึง/รันได้แทน User ใดๆ ส่วน User Agents รันได้แค่แทน User ที่เป็นเจ้าของ Library File

  • "~/Library/LaunchAgents" มี User Agents รันแทน User ที่ล็อกอิน
  • "/Library/LaunchAgents" มี Global Agents รันแทน User ที่ล็อกอิน
  • "/System/Library/LaunchAgents" มี System Agents รันแทน User ที่ล็อกอิน
  • "/Library/LaunchDaemons" มี Global Daemons รันโดย Root
  • "/System/Library/LaunchDaemons" มี System Daemons รันโดย Root

คุณสามารถสร้าง Daemons ใหม่และตั้งค่าที่มีอยู่ด้วย Command Line Program launchctl

สรุป

ยังมี Non-user Folders อื่นๆ ซ่อนอยู่บน Mac แต่วันี้เป็นที่เข้าถึงบ่อยที่สุด คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการจัดระเบียบ Unix File Systems ได้จาก Filesystem Hierarchy Standard ซึ่งอธิบาย Requirements และ Guidelines สำหรับ Unix-like File และ Directory Placement