के लिए "/ sys" निर्देशिका क्या है?


16

कुछ समय पहले मैंने इस निर्देशिका पर ध्यान दिया, जिसे मैंने पहले कभी नहीं देखा था /sys। मैंने थोड़ा शोध किया और पढ़ा कि "आधुनिक लिनक्स सिस्टम" में अक्सर यह निर्देशिका होती है, और यह कि यह उपकरणों का प्रबंधन करता है। मैंने सोचा था कि क्या / देव के लिए था। मुझे इस निर्देशिका के बारे में पूरी जानकारी नहीं मिल सकती है, इसके अलावा जो मैंने उल्लेख किया है, और इस पृष्ठ से उद्धृत किया गया है :

/ sys एक वर्चुअल फाइल सिस्टम है जिसे सिस्टम के कर्नेल के दृश्य के बारे में जानकारी सेट या प्राप्त करने के लिए एक्सेस किया जा सकता है।

मैं थोड़ी देर के लिए ट्रस्टी चला रहा हूं, और पहले कभी इस पर ध्यान नहीं दिया था, यही वजह है कि मुझे यह थोड़ा अजीब लगता है। क्या कोई मुझे भरेगा? इस और / देव में क्या अंतर है? उबंटू ने इस निर्देशिका का उपयोग कब शुरू किया और क्यों? धन्यवाद।


/sysअब लगभग एक दशक से अधिक समय हो गया है
मुरु

1
सिडेनोट, शायद अन्य उपयोगकर्ताओं के लिए उपयोगी होगा: / proc और / sys निर्देशिका, वर्चुअल फाइलसिस्टम होने के नाते, कंप्यूटर के बंद होने के बाद गायब हो जाएगा। यदि आपने कभी दूसरे ओएस पर लिनक्स के साथ हार्ड ड्राइव लगाया है, तो आप देखेंगे कि वे निर्देशिका खाली हैं।
सर्गी कोलोडियाज़नी

जवाबों:


28

/sysहै वर्ष । लिनक्स कर्नेल 2.6 (2.5 / 2.5 विभाजन होने पर वापस) पहुंचने से पहले इसे पेश किया गया था। के बाद से पहली बार Ubuntu रिलीज एक 2.6 कर्नेल इस्तेमाल किया , हर Ubuntu के संस्करण एक पड़ा है /sys

/devवास्तविक डिवाइस फ़ाइलें हैं। ऐसा नहीं है कि कर्नल के जानता है सभी उपकरणों के लिए उपयोग प्रदान नहीं करता है (जैसे ईथरनेट उपकरणों, एक के लिए के रूप में - क्यों नेटवर्क इंटरफेस नहीं में / अन्य उपकरणों की तरह देव , क्यों ईथरनेट उपकरणों नहीं अप में "/ dev" दिखाते हैं? )। यह स्वयं डिवाइस के लिए एक इंटरफ़ेस है - आप डिवाइस को लिखते हैं, इससे पढ़ते हैं, आदि।

/sysकर्नेल के लिए एक इंटरफ़ेस है। विशेष रूप से, यह सूचनाओं और कॉन्फ़िगरेशन सेटिंग्स का एक फाइल सिस्टम जैसा दृश्य प्रदान करता है जो कर्नेल प्रदान करता है, बहुत पसंद है /proc। इन फ़ाइलों को लिखना वास्तविक डिवाइस पर लिख सकता है या नहीं लिख सकता है, यह उस सेटिंग पर निर्भर करता है जो आप बदल रहे हैं। यह केवल उपकरणों के प्रबंधन के लिए नहीं है, हालांकि यह एक सामान्य उपयोग का मामला है।

अधिक जानकारी कर्नेल प्रलेखन में पाई जा सकती है :

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.

उदाहरण के लिए:

  • लैपटॉप मॉनिटर की चमक को सेट करने का एक तरीका यह है:

    echo N > /sys/class/backlight/acpi_video0/brightness
    
  • नेटवर्क कार्ड का मैक पता प्राप्त करने के लिए:

    cat /sys/class/net/enp1s0/address
    
  • वर्तमान सीपीयू स्केलिंग गवर्नर पाने के लिए:

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

और इसी तरह...


@ मरमू: क्या होगा अगर मैं इनमें से किसी एक फाइल को हटाना चाहता हूं, जो बहुत अधिक मेमोरी खा रही हो? मैंने एक डिवाइस ड्राइवर लिखा था जो छोटी गाड़ी (हो सकता है) जो एक लूप में चली गई और लगातार कुछ फाइल को / sys / devices डायरेक्टरी में लिखा। इसके अलावा, अगर मैं गलती से किसी गलत फ़ाइल को हटा दूं तो इसका क्या असर होगा?
भाविक शाह

2
@BhavikShah आप यहां से कुछ भी नहीं निकालते हैं - ये फाइलें वास्तव में मौजूद नहीं हैं। आपको शामिल मॉड्यूल को निकालना होगा।
मुरु
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.