Daudzas Linux lietas parādās jūsu failu sistēmā, taču tās faktiski nav faili. Tie ir īpaši faili, kas apzīmē aparatūras ierīces, sistēmas informāciju un citas lietas, tostarp nejaušu skaitļu ģeneratoru.
Šie speciālie faili var atrasties pseido vai virtuālās failu sistēmās, piemēram, / dev, kurās ir īpaši faili, kas attēlo ierīces, un / proc, kas satur īpašus failus, kas attēlo sistēmas un procesa informāciju.
/ proc
Piemēram, pieņemsim, ka vēlaties atrast informāciju par savu CPU. Direktorijā / proc ir īpašs fails - / proc / cpuinfo, kas satur šo informāciju.
Jums nav nepieciešama īpaša komanda, kas informē par jūsu CPU informāciju - jūs varat vienkārši izlasīt šī faila saturu, izmantojot jebkuru standarta komandu, kas darbojas ar vienkāršajiem teksta failiem. Piemēram, jūs varētu izmantot komandu cat / proc / cpuinfo lai izdrukātu šī faila saturu terminālā - drukājot jūsu CPU informāciju terminālā. Jūs varētu pat atvērt / proc / cpuinfo teksta redaktorā, lai skatītu tā saturu.
Atcerieties, ka / proc / cpuinfo patiesībā nav teksta fails, kurā ir šī informācija - Linux kernel un proc failu sistēma šo informāciju mums atklāj kā failu. Tas ļauj mums izmantot pazīstamus rīkus, lai skatītu un strādātu ar informāciju.
- / proc / uptime - izpaužas jūsu Linux kodola darbības laiks - citiem vārdiem sakot, cik ilgi jūsu sistēma ir bijusi bez slēgšanas.
- / proc / version - pakļauj Linux kodola versiju.
/ dev
Direktorijā / dev atrodat failus, kas attēlo ierīces, kā arī failus, kas pārstāv citas īpašas lietas. Piemēram, / dev / cdrom ir jūsu CD-ROM diskdzinis. / dev / sda ir pirmais cietais disks, savukārt / dev / sda1 ir pirmais jūsu cietā diska nodalījums.
Vai vēlaties uzstādīt kompaktdisku? Palaidiet komandu mount un norādiet / dev / cdrom kā ierīci, kuru vēlaties uzstādīt. Vai vēlaties nodalīt pirmo cieto disku? Palaidiet diska nodalīšanas utilītu un norādiet / dev / sda kā cieto disku, kuru vēlaties rediģēt. Vai vēlaties formatēt pirmo nodalījumu pirmajā cietajā diskā? Palaidiet formatēšanas komandu un pasakiet to, lai formatētu / dev / sda1.
/ dev / null, / dev / random, un / dev / zero
/ Dev failu sistēma ne tikai satur failus, kas attēlo fiziskās ierīces. Šeit ir trīs izcilākās īpašās ierīces, kuras tajā ir ietvertas:
- / dev / null - iznīcina visus uz to rakstītos datus - domājiet par to kā atkritumu tvertni vai melno caurumu. Ja jūs kādreiz redzat komentāru, kurā sūtīt sūdzības uz / dev / null, tas ir dīvains veids, kā pateikt "izmest tos miskasti".
- / dev / random - Izveido nejaušību, izmantojot vides troksni. Tas ir nejaušu skaitļu ģenerators, ar kuru varat pieskarties.
- / dev / zero - Izgatavo nulles - pastāvīga nulles plūsma.
Ja jūs domājat par šiem trīs failiem, jūs tos neredzēsiet. Tā vietā padomājiet par tiem kā par instrumentiem.
Piemēram, pēc noklusējuma Linux komandas ģenerē kļūdas ziņojumus un citu izvadi, ko tie izdrukā uz standarta izvadi, parasti termināli. Ja jūs vēlaties palaist komandu un neuztraucas par tā produkciju, jūs varat novirzīt šo izvadi uz / dev / null. Pārsūtot komandas izvadi uz / dev / null, tas nekavējoties atbrīvojas. Tā vietā, lai katra komanda izpildītu savu "kluso režīmu", jūs varat izmantot šo metodi ar jebkuru komandu.
command > /dev/null
Lai izdzēstu cietā diska saturu, ierakstot 0, jums nav nepieciešama īpaša lietderība, kas paredzēta diska nulles iestatīšanai - jūs varētu izmantot standarta utilītas un / dev / zero. Piemēram, dd komanda nolasa no atrašanās vietas un raksta uz citu atrašanās vietu. Nākamā komanda nolasa nulles no / dev / zero un raksta tās tieši uz pirmo cietā diska nodalījumu jūsu sistēmā, pilnībā noņemot tās saturu.
(Brīdinājums: Šī komanda dzēsīs visus datus pirmajā nodalījumā, ja jūs to izmantojat. Tikai palaist šo komandu, ja vēlaties iznīcināt datus.)
dd if=/dev/zero of=/dev/sda1
Šeit mēs izmantojam dd ar īpašiem failiem (/ dev / zero un / dev / sda1), taču mēs varam arī izmantot dd, lai lasītu un rakstītu faktiskajos failos. Tā pati komanda darbojas gan tieši manipulējot ar ierīcēm, gan strādājot ar failiem.
Noskaidrošana
Praksē ir precīzāk teikt, ka "viss ir bitu plūsma" nekā "viss ir fails". / Dev / random nav failu, bet tas noteikti ir baitu plūsma.Un, lai gan šīs lietas tehniski nav faili, tie ir pieejami failu sistēmā - failu sistēma ir universāla "nosaukumu telpa", kurā viss ir pieejams. Vai vēlaties piekļūt nejaušo skaitļu ģeneratoram vai lasīt tieši no ierīces? Jūs atradīsit abus failu sistēmā; nav nepieciešama cita veida adresēšana.
Protams, dažas lietas faktiski nav faili - procesi, kas darbojas jūsu sistēmā, nav failu sistēmas sastāvdaļa. "Viss ir fails" ir nepareizs, bet daudzas lietas rīkojas kā faili.