Почетна » како да » Шта значи “све што је датотека” у Линуку?

    Шта значи “све што је датотека” у Линуку?

    Једна од основних карактеристика Линука и других оперативних система налик УНИКС-у је да је "све датотека." Ово је претерано поједностављење, али разумевање шта то значи ће вам помоћи да разумете како Линук ради.

    Многе ствари на Линуку се појављују у систему датотека, али оне заправо нису датотеке. То су специјалне датотеке које представљају хардверске уређаје, системске информације и друге ствари - укључујући генератор случајних бројева.

    Ове специјалне датотеке могу бити лоциране у псеудо или виртуелним системима датотека као што је / дев, који садржи специјалне датотеке које представљају уређаје, и / проц, који садржи специјалне датотеке које представљају системске и процесне информације.

    / проц

    На пример, рецимо да желите да пронађете информације о ЦПУ-у. Директоријум / проц садржи посебну датотеку - / проц / цпуинфо - која садржи ову информацију.

    Није вам потребна посебна наредба која вам говори о ЦПУ-у - можете једноставно прочитати садржај ове датотеке користећи било коју стандардну наредбу која ради с обичним текстуалним датотекама. На пример, можете користити команду цат / проц / цпуинфо да одштампате садржај ове датотеке на терминалу - одштампате податке ЦПУ-а на терминалу. Можете чак отворити / проц / цпуинфо у уређивачу текста да бисте видели његов садржај.

    Запамтите, / проц / цпуинфо није заправо текстуална датотека која садржи ову информацију - Линук кернел и проц систем датотека излажу ове информације нама као датотеку. То нам омогућава да користимо познате алате за преглед и рад са информацијама.

    Директоријум / проц такође садржи и друге сличне датотеке, на пример:

    • / проц / уптиме - Излаже радни вијек вашег Линук кернела - другим ријечима, колико дуго је ваш сустав укључен без искључивања.
    • / проц / версион - Излаже верзију вашег Линук кернела.

    / дев

    У директоријуму / дев ћете пронаћи датотеке које представљају уређаје - као и датотеке које представљају друге специјалне ствари. На пример, / дев / цдром је ваша ЦД-РОМ јединица. / дев / сда представља ваш први хард диск, док / дев / сда1 представља прву партицију на првом хард диску.

    Желите да монтирате ЦД-РОМ? Покрените команду моунт и наведите / дев / цдром као уређај који желите да монтирате. Желите да поделите свој први хард диск? Покрените услужни програм за партиционисање диска и наведите / дев / сда као чврсти диск који желите уредити. Желите да форматирате прву партицију на свом првом хард диску? Покрените наредбу за форматирање и реците јој да форматира / дев / сда1.

    Као што можете видети, излагање ових уређаја као дела система датотека има своје предности. Систем датотека обезбеђује конзистентан “простор имена” који све апликације могу да користе за адресирање и приступ уређајима.

    / дев / нулл, / дев / рандом, и / дев / зеро

    Датотечни систем / дев не садржи само датотеке које представљају физичке уређаје. Ево три најзначајнија специјална уређаја која садржи:

    • / дев / нулл - Одбацује све податке који су му написани - замислите их као смеће или црну рупу. Ако икада видите коментар који вам говори да шаљете жалбе на / дев / нулл - то је гееки начин да се каже "баците их у смеће".
    • / дев / рандом - Ствара насумичност користећи буку околине. То је генератор случајних бројева у који можете да се укључите.
    • / дев / зеро - производи нуле - константан ток нула.

    Ако сматрате да су ова три фајла, нећете видети њихову употребу. Уместо тога, размислите о њима као о алатима.

    На пример, Линук команде производе поруке о грешкама и други излаз који штампају на стандардни излаз, обично терминал. Ако желите да покренете команду и не бринете о њеном излазу, можете преусмерити тај излаз на / дев / нулл. Преусмеравање излаза команде у / дев / нулл одмах одбацује. Уместо да свака команда имплементира свој "тихи режим", можете користити ову методу са било којом командом.

    команда> / дев / нулл

    Ако сте хтели извор случајности - рецимо, за генерисање кључа за шифровање, не би требало да напишете сопствени генератор случајних бројева - можете користити / дев / рандом.

    Да бисте избрисали садржај чврстог диска тако што ћете га написати на 0, не треба вам посебан услужни програм посвећен нулирању диска - можете користити стандардне услужне програме и / дев / зеро. На пример, дд наредба чита са локације и пише на другу локацију. Следећа команда би читала нуле из / дев / зеро и записивала их директно на прву партицију чврстог диска на вашем систему, потпуно бришући њен садржај.

    (Упозорење: Ова команда ће избрисати све податке на вашој првој партицији ако је покренете. Покрените ову команду само ако желите да уништите податке.)

    дд иф = / дев / нула = / дев / сда1

    Овде користимо дд са специјалним датотекама (/ дев / зеро и / дев / сда1), али можемо користити и дд за читање и писање у стварне датотеке. Иста команда ради и за манипулацију уређаја директно и за рад са датотекама.

    Појашњење

    У пракси, тачније је рећи да је "све то ток бајтова" него "све је датотека." / Дев / рандом није датотека, али свакако је ток бајтова. И, иако те ствари технички нису датотеке, оне су доступне у систему датотека - систем датотека је универзални “простор имена” у којем је све доступно. Желите ли приступити генератору случајних бројева или читати директно са уређаја? Наћи ћете оба у систему датотека; ниједан други облик адресирања није потребан.

    Наравно, неке ствари заправо нису датотеке - процеси који се изводе на вашем систему нису дио система датотека. "Све је датотека" је нетачно, али много ствари се понашају као датотеке.