Tüm yerleşik dizinlerin ne için kullanılması gerektiğine dair bir el kitabı veya kılavuz var mı? / Home / veya / net / nedir?
Bir göz atın Sistem Kılavuzu Programlama Dosyası çoğunu güncel bilgiler için ve en man hier
dosya sistemi hiyerarşi "tarihi krokisini" sağlar Terminali'nde (Bu başvuru için bu cevabın sonunda dahildir).
Sorunuza bir yorum, Dosya Sistemi Hiyerarşisi Standardından bahseder . Muhtemelen perusing sonra, sonuca gelecek Dosya Sistemi Programlama Kılavuzu ve man hier
MacOS takip etmez, FHS daha Linux şey var. Tabii ki, FHS ile ortak UNIX menşei nedeniyle macOS'taki dosya sistemi düzeni arasında benzerlikler vardır, ancak farklar çarpıcıdır. macOS bunlardan hiçbirini kullanmıyor:
/boot
klasörü -> macOS /System/Library/Kernels
yerine kullanır ( macOS'un eski sürümlerinde, çekirdeği içeren klasör /
)
/home
klasörü -> macOS /Users
yerine kullanır
/root
klasörü -> macOS /var/root
yerine kullanır
ve /opt
hiçbir belgede bir kez belirtilmemiştir ( /opt
aşağıda daha fazlası .)
MacOS ve FHS uyumlu bir işletim sistemi arasındaki başka bir ayrım /private
, örneğin /etc
bir bağlantı bağlantısı kullanılmasıdır /private/etc
.
Hakkında /net
: Bu bir otomatik arama haritasıdır (listelenmiştir /etc/auto_master
), daha fazla bilgi için Wikipedia'ya bakınız .
/ Opt / içine neyin girmesi ve neyin / usr / neyin içine girmesi gerekir? Benim anladığım şudur: / usr / eskiden ev kullanıcı dizinleri içindi, fakat / Kullanıcılar / içinde bulunduğundan beri - şimdi amaç nedir?
/usr
Geçmişte kullanıcıların ev dizinlerini yerleştirmek için kullanılmış olmasına rağmen , artık durum böyle değil.
Günümüzde, /usr
kullanıcı komutları ( /usr/bin
normal kullanıcılar ve /usr/sbin
yönetim kullanıcıları için root
), paylaşılan kütüphaneler ( /usr/lib
), man sayfaları ( /usr/share/man
), doğrudan kullanıcılar ( /usr/libexec
) ve diğer şeyler tarafından çalıştırılmaması gereken çalıştırılabilir dosyalar içerir .
Ayrıca /usr/local
, temel işletim sistemi ile birlikte gelmeyen programları, kitaplıkları ve diğer dosyaları yerleştirmek için bir alt dizin sunar .
/opt
çok benzer bir rol oynamaktadır /usr/local
ve birbirleriyle değiştirilebilir gibi görünmektedir. Bununla birlikte, diğer Linux / UNIX sistem yöneticileriyle çalışma tecrübemden dolayı , BSD tabanlı UNIX işletim sistemlerinde bir tercih var gibi görünmektedir /usr/local
.
Bu yüzden benim üstümde bu: macOS BSD tabanlıdır ve sonuç olarak kullanırdım /usr/local
. Bir program dizini oluşturabileceğinizi ve ardından symlink komutlarını /usr/local/bin
, vb.
/usr/local/mysql
/usr/local/mysql/bin/mysqladmin
/usr/local/mysql/lib/libmysqlclient.so
/usr/local/bin/mysqladmin -> ../mysql/bin/mysqladmin
/usr/local/lib/libmysqlclient.so -> ../mysql/lib/libmysqlclient.so
Bu, Linux ve UNIX'te de olağan pratikti, ancak FHS açıkça yasaklıyor : üçüncü taraf paketlerini kendi dizin hiyerarşisinde kurmak istiyorsanız, /opt/<package>
bunun yerine kullanmalısınız . FHS-uyumluluğunun konfigürasyon dosyalarını /etc/opt/<package>
ve değişken dosyaları koymak istediğini unutmayın /var/opt/<package>
.
Bu yüzden, macOS'ta, /usr/local
yukarıda açıklandığı şekilde kalmanızı tavsiye ederim .
Ben eklenti Cisco VPN ve benzeri yazılımları farkındayım XQuartz yüklemek /opt
yukarıdaki ayrımlar bulanıklık başlar böylece.
man hier
Yukarıda belirtildiği gibi bu man hier
:
A historical sketch of the filesystem hierarchy. The modern macOS filesystem is documented in the
``File System Programming Guide'' available on Apple Developer.
/ root directory of the filesystem
/bin/ user utilities fundamental to both single-user and multi-user environments
/dev/ block and character device files
fd/ file descriptor files; see fd(4)
/etc/ system configuration files and scripts
/mach_kernel kernel executable (the operating system loaded into memory at boot time).
/sbin/ system programs and administration utilities fundamental to both single-user and multi-
user environments
/tmp/ temporary files
/usr/ contains the majority of user utilities and applications
bin/ common utilities, programming tools, and applications
include/ standard C include files
arpa/ C include files for Internet service protocols
hfs/ C include files for HFS
machine/ machine specific C include files
net/ misc network C include files
netinet/ C include files for Internet standard protocols; see inet(4)
nfs/ C include files for NFS (Network File System)
objc/ C include files for Objective-C
protocols/ C include files for Berkeley service protocols
sys/ system C include files (kernel data structures)
ufs/ C include files for UFS
lib/ archive libraries
libexec/ system daemons & system utilities (executed by other programs)
local/ executables, libraries, etc. not included by the basic operating system
sbin/ system daemons & system utilities (executed by users)
share/ architecture-independent data files
calendar/ a variety of pre-fab calendar files; see calendar(1)
dict/ word lists; see look(1)
web2 words from Webster's 2nd International
words common words
man/ manual pages
misc/ misc system-wide ascii text files
mk/ templates for make; see make(1)
skel/ example . (dot) files for new accounts
tabset/ tab description files for a variety of terminals; used in the term-
cap file; see termcap(5)
zoneinfo/ timezone configuration information; see tzfile(5)
/var/ multi-purpose log, temporary, transient, and spool files
at/ timed command scheduling files; see at(1)
backups/ misc. backup files
db/ misc. automatically generated system-specific database files
log/ misc. system log files
mail/ user mailbox files
run/ system information files describing various info about system since it was
booted
utmpx database of current users; see utmpx(5)
rwho/ rwho data files; see rwhod(8), rwho(1), and ruptime(1)
spool/ misc. printer and mail system spooling directories
mqueue/ undelivered mail queue; see sendmail(8)
tmp/ temporary files that are kept between system reboots
folders/ per-user temporary files and caches