29Jul
Viena no Linux un citu UNIX līdzīgu operētājsistēmu iezīmju iezīmēm ir tā, ka "viss ir fails". Tas ir pārāk vienkāršs, bet izpratne par to, ko tas nozīmē, palīdzēs jums saprast, kā darbojas Linux.
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 īpašie faili var atrasties pseidonīmā vai virtuālā failu sistēmā, piemēram, / dev, kurā 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
kaķis /proc/ cpuinfo , lai izdrukātu šī faila saturu terminālā - drukājot jūsu CPU informāciju uz termināli. 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 direktorijā ir arī citi līdzīgi faili, piemēram:
- /proc/ uptime - izpaužas jūsu Linux kodola darbības laiks - citiem vārdiem sakot, cik ilgi sistēma darbojas bez slēgšanas.
- /proc/ versija - Atklāj jūsu Linux kodola versiju.
/ dev
/ dev direktorijā atrodami faili, kas attēlo ierīces, kā arī faili, 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 pirmā cietā diska nodalījums.
Vēlaties uzstādīt kompaktdisku? Palaidiet piestiprināšanas komandu 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 lietderību un norādiet /dev/ sda kā cieto disku, kuru vēlaties rediģēt. Vai vēlaties formatēt pirmo nodalījumu pirmajā cietajā diskā?Izpildiet formēšanas komandu un pasakiet to, lai formatētu /dev/ sda1.
Kā redzat, šīs sistēmas kā daļu no failu sistēmas ir tās priekšrocības. Failu sistēma nodrošina konsekventu "nosaukumu telpu", ko visas lietojumprogrammas var izmantot, lai adresētu un piekļūtu ierīcēm.
/dev/ null, /dev/ nejaušība un /dev/ nulle
Failu sistēma / dev ne tikai satur failus, kas attēlo fiziskās ierīces.Šeit ir trīs vissvarīgākās īpašās ierīces, kuras tā satur:
- /dev/ null - atmeta 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 par /dev/ null - tas ir dīvains veids, kā teikt "izmest tos miskasti".
- /dev/ random - Izveido nejaušību, izmantojot vides troksni. Tas ir nejaušu skaitļu ģenerators, ar kuru varat pieskarties.
- /dev/ nulle - Izveido 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, Linux komandas pēc noklusējuma rada kļūdas ziņojumus un citu izvadi, ko tie drukā uz standarta izvadi, parasti termināli. Ja jūs vēlaties palaist komandu un neuztraucas par tā produkciju, jūs varat novirzīt šo izeju uz /dev/ null. Komandas izvades novirzīšana uz /dev/ null nekavējoties to izmet. Tā vietā, lai katra komanda izpildītu savu "kluso režīmu", jūs varat izmantot šo metodi ar jebkuru komandu.
komandu & gt;/dev/ null
Ja jūs vēlaties nejaušības avotu - teiksim, lai ģenerētu šifrēšanas atslēgu, jums nevajadzēs rakstīt savu nejaušo skaitļu ģeneratoru - jūs varētu izmantot /dev/ nejauši.
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/ nulli. Piemēram, komanda dd nolasa no atrašanās vietas un raksta uz citu atrašanās vietu. Tālāk norādītā komanda nolasa nulles no /dev/ nulles 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ēš visus datus pirmajā nodalījumā, ja jūs to izmantojat. Palaidiet šo komandu, ja vēlaties iznīcināt datus.)
dd if = /dev/ nulle = /dev/ sda1
Šeit mēs izmantojam ddar īpašiem failiem( /dev/ nulle un /dev/ sda1), bet mēs varētu arī izmantot dd, lai lasītu un rakstītu uz faktiskajiem failiem. Tā pati komanda darbojas gan tieši manipulējot ar ierīcēm, gan strādājot ar failiem.
paskaidrojums
Praksē precīzāk ir teikt, ka "viss ir bitu plūsma" nekā "viss ir fails". /dev/ nejaušība nav fails, 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.