“/ Sys” dizini ne için?


16

Bir süre önce daha önce görmediğim bu dizini fark ettim /sys. Biraz araştırdım ve "modern Linux sistemleri" nin genellikle bu dizine sahip olduğunu ve cihazları yönettiğini okudum. / Dev'in bunun için olduğunu düşündüm. Bahsettiğim ve bu sayfadan alıntılananlar dışında bu dizin hakkında çok fazla bilgi bulamıyorum :

/ sys, çekirdeğin sistem görünümü hakkında bilgi edinmek veya ayarlamak için erişilebilen bir sanal dosya sistemidir.

Bir süredir Trusty kullanıyorum ve daha önce hiç fark etmedim, bu yüzden biraz garip buluyorum. Birisi lütfen beni doldurur mu? This ve / dev arasındaki fark nedir? Ubuntu bu dizini ne zaman kullanmaya başladı ve neden? Teşekkürler.


/syson yılı aşkın bir süredir ortalıkta .
muru

1
Sidenote, belki de diğer kullanıcılar için faydalı olacaktır: bilgisayar kapatıldığında / proc ve / sys dizinleri, sanal dosya sistemleri olarak kaybolacaktır. Başka bir işletim sistemine Linux ile bir sabit disk taktıysanız, bu dizinlerin boş olduğunu göreceksiniz.
Sergiy Kolodyazhnyy

Yanıtlar:


28

/sysolduğu eski . Linux çekirdeği 2.6'ya ulaşmadan önce tanıtıldı (2.4 / 2.5 bölünmesi olduğunda). Yana ilk Ubuntu sürümü 2.6 çekirdek kullanılan , her Ubuntu sürümü olmuştur /sys.

/devgerçek cihaz dosyalarını içerir. Bu çekirdek bir bildiği tüm cihazlara erişimi sağlamaz (örneğin biri için ethernet cihazlar gibi - ? Şebeke arayüzleri Neden değil / diğer cihazlar gibi dev , Neden Ethernet cihazları "/ dev" in görünmez? ). Cihazın kendisine bir arayüzdür - cihaza yazar, ondan okursunuz, vb.

/sysçekirdeğe bir arayüzdür. Özellikle, çekirdeğin sağladığı bilgi ve yapılandırma ayarlarının dosya sistemine benzer bir görünümünü sağlar /proc. Bu dosyalara yazmak, değiştirdiğiniz ayara bağlı olarak gerçek cihaza yazılabilir veya yazılamayabilir. Bu sadece cihazları yönetmek için değil, aynı zamanda yaygın bir kullanım durumudur.

Daha fazla bilgi çekirdek belgelerinde bulunabilir :

Top Level Directory Layout
~~~~~~~~~~~~~~~~~~~~~~~~~~

The sysfs directory arrangement exposes the relationship of kernel
data structures. 

The top level sysfs directory looks like:

block/
bus/
class/
dev/
devices/
firmware/
net/
fs/

devices/ contains a filesystem representation of the device tree. It maps
directly to the internal kernel device tree, which is a hierarchy of
struct device. 

bus/ contains flat directory layout of the various bus types in the
kernel. Each bus's directory contains two subdirectories:

    devices/
    drivers/

devices/ contains symlinks for each device discovered in the system
that point to the device's directory under root/.

drivers/ contains a directory for each device driver that is loaded
for devices on that particular bus (this assumes that drivers do not
span multiple bus types).

fs/ contains a directory for some filesystems.  Currently each
filesystem wanting to export attributes must create its own hierarchy
below fs/ (see ./fuse.txt for an example).

dev/ contains two directories char/ and block/. Inside these two
directories there are symlinks named <major>:<minor>.  These symlinks
point to the sysfs directory for the given device.  /sys/dev provides a
quick way to lookup the sysfs interface for a device from the result of
a stat(2) operation.

Örneğin:

  • Dizüstü bilgisayar monitörünün parlaklığını ayarlamanın bir yolu:

    echo N > /sys/class/backlight/acpi_video0/brightness
    
  • Ağ kartının MAC adresini almak için:

    cat /sys/class/net/enp1s0/address
    
  • Geçerli CPU ölçeklendirme düzenleyicilerini almak için:

    cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
    

Ve bunun gibi...


@muru: Çok fazla bellek tüketen bu dosyalardan birini kaldırmak istersem ne olur? Ben bir döngü içine gitti ve sürekli / sys / Devices dizinindeki bazı dosyaya yazılan buggy (olabilir) bir aygıt sürücüsü yazdı. Ayrıca, yanlışlıkla yanlış bir dosyayı silersem bunun etkisi ne olur?
Bhavik Shah

2
@BhavikShah buradan hiçbir şey kaldırmazsınız - bu dosyalar aslında mevcut değildir. İlgili modülü çıkarmanız gerekir.
muru
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.