Folda ya ingizo ya muundo wa seva ya Linux html. Vyombo vingine vya compression. Saraka za kuhifadhi faili za binary

Kujifunza Linux, 101

Usimamizi wa faili na saraka

Jifunze misingi ya kufanya kazi na faili za Linux na saraka

Msururu wa Maudhui:

Maoni mafupi

Katika makala hii, utajifunza kuhusu amri za msingi za Linux za kusimamia faili na saraka. Utajifunza:

  • Tazama yaliyomo kwenye saraka.
  • Nakili, songa na ufute faili na saraka.
  • Dhibiti faili na saraka nyingi kwa kujirudia.
  • Tumia metacharacter kuchezea faili.
  • Tumia find amri kutafuta na kutekeleza vitendo kwenye faili kulingana na aina, saizi au muhuri wa muda.
  • Finyaza na punguza faili kwa kutumia amri za gzip na bzip2.
  • Hifadhi faili kwa kutumia tar, cpio na dd amri.
Kuhusu mfululizo huu

Mfululizo huu wa makala utakusaidia kujua kazi za kusimamia mfumo wa uendeshaji wa Linux. Unaweza pia kutumia habari zilizo katika makala hizi kujitayarisha.

Ili kuona maelezo ya makala katika mfululizo huu na kupata viungo kwao, tafadhali rejelea yetu. Orodha hii inasasishwa mara kwa mara na makala mpya kadri yanavyopatikana na ina malengo ya mtihani wa uidhinishaji wa LPIC-1 ya sasa zaidi (kuanzia Aprili 2009). Iwapo makala haipo kwenye orodha, unaweza kupata toleo la awali linalotimiza malengo ya awali ya LPIC-1 (kabla ya Aprili 2009) kwa kurejelea .

Nakala hii itakusaidia kujiandaa kufanya mtihani wa Msimamizi wa LPI 101. ngazi ya kuingia(LPIC-1) na ina nyenzo kutoka kwa Lengo la 103.3 la Mada ya 103. Lengo lina uzito wa 4.

Masharti muhimu

Ili kupata zaidi kutoka kwa makala zetu, unahitaji kuwa na ujuzi wa msingi wa Linux na kuwa na kompyuta ya Linux inayofanya kazi ambayo inaweza kutekeleza amri zote unazokutana nazo. Mara nyingine matoleo tofauti Programu hutoa matokeo tofauti, kwa hivyo yaliyomo kwenye orodha na takwimu zinaweza kutofautiana na kile unachokiona kwenye kompyuta yako.

Vinjari saraka

Jinsi ya kuwasiliana na Ian

Ian ni mmoja wa waandishi wetu maarufu na mahiri. Angalia (EN) iliyochapishwa kwenye developerWorks. Unaweza kupata maelezo ya mawasiliano na kuungana naye na wachangiaji na wachangiaji wengine wa My developerWorks.

Katika Linux na UNIX®, faili zote huhifadhiwa kama mti mfumo wa faili na saraka ya mizizi /. Matawi ya ziada yanaweza kuongezwa au kuondolewa kwenye mti huu, kuweka au kuvunjwa yao ipasavyo. Shughuli hizi zinajadiliwa katika nakala nyingine katika safu hii - " Kuweka na kushusha mifumo ya faili" (sentimita. ).

Tazama yaliyomo kwenye saraka

Wakati wa kujifunza amri katika makala hii, tutatumia faili ambazo ziliundwa katika makala iliyopita katika mfululizo huu, "". Ikiwa umekamilisha mazoezi yote katika makala hii, basi katika yako saraka ya nyumbani Saraka ya lpi103-2 lazima iwepo. Ikiwa huna saraka hiyo, basi unaweza kutumia saraka nyingine yoyote.

Majina ya faili na saraka yanaweza kuwa ama kabisa(hii inamaanisha wanaanza na /), au jamaa(haianza na /) kuhusiana na saraka ya kazi ya sasa. Njia kamili ya faili au saraka inajumuisha / herufi, ikifuatiwa kwa hiari na jina moja au zaidi la saraka, ikitenganishwa na herufi za ziada /, na mwishowe jina la saraka lengwa.

Ikiwa unajua faili au jina la saraka kuhusiana na saraka ya sasa ya kufanya kazi, basi unaweza kuchanganya tu jina kamili la saraka ya kazi, / tabia, na jina la jamaa. Kwa mfano, saraka lpi103-2 kutoka kwa nakala iliyotangulia iliundwa kwenye saraka yangu ya nyumbani, /home/ian, kwa hivyo njia yake kamili au kamili ni /home/ian/lpi103-2.

Jina la saraka ya sasa ya kufanya kazi inaweza kupatikana kwa kutumia amri ya pwd. Jina hili pia kawaida hupatikana ndani kutofautiana kwa mazingira P.W.D. Kuorodhesha 1 kunaonyesha mfano wa kutumia amri ya pwd, na pia inaonyesha njia tatu tofauti za kutumia ls amri kuorodhesha faili kwenye saraka.

Kuorodhesha 1. Kuangalia yaliyomo kwenye saraka
$ pwd /home/ian/lpi103-2 $ echo "$PWD" /home/ian/lpi103-2 $ ls sedtab maandishi1 maandishi2 maandishi4 maandishi5 maandishi6 xaa xab yab $ ls "$PWD" sedtab maandishi1 maandishi2 maandishi4 maandishi5 maandishi6 xaa xab yaa yab $ ls /home/ian/lpi103-2 sedtab maandishi1 maandishi2 maandishi3 maandishi4 maandishi5 maandishi6 xaa xab yaa yab

Kama unavyoona, kutazama yaliyomo kwenye saraka, unaweza kupitisha jina lake la jamaa au kabisa kwa ls amri.

Inaonyesha maelezo ya kina

Faili na saraka ziko kwenye kifaa cha kuhifadhi kama seti vitalu. Taarifa kuhusu faili (kama vile mmiliki wa faili, wakati faili ilipatikana mara ya mwisho, saizi ya faili, ruhusa za kusoma au kuandika, iwe kipengee ni faili au saraka) huhifadhiwa kwenye ingizo. ingizo. nambari ya ingizo, pia inajulikana kama nambari ya serial ya faili, ni ya kipekee ndani ya mfumo fulani wa faili. Unaweza kutumia -l (au --format=long) chaguo kuonyesha baadhi ya habari iliyohifadhiwa kwenye ingizo.

Kwa chaguo-msingi, amri ya ls haiorodheshi faili maalum ambazo majina yake huanza na nukta (.). Kila saraka, isipokuwa saraka ya mizizi, ina angalau maingizo mawili maalum: saraka yenyewe (.) na saraka ya wazazi (..). Saraka ya mizizi haina saraka ya wazazi.

Orodha ya 2 inaonyesha mfano wa kutumia -l na -a chaguzi kuorodhesha yaliyomo kwenye saraka kwa undani (pamoja na . na .. vipengele).

Kuorodhesha 2. Mtazamo wa kina wa yaliyomo kwenye saraka
$ ls -al jumla 52 drwxrwxr-x. 2 ian 4096 2009-08-11 21:21 . drwx-------. 35 ian 4096 2009-08-12 10:55 .. -rw-rw-r--. 1 ian 8 2009-08-11 21:17 sedtab -rw-rw-r--. 1 ian 24 2009-08-11 14:02 text1 -rw-rw-r--. 1 ian 25 2009-08-11 14:27 text2 -rw-rw-r--. 1 ian 63 2009-08-11 15:41 maandishi3 -rw-rw-r--. 1 ian 26 2009-08-11 15:42 text4 -rw-rw-r--. 1 ian 24 2009-08-11 18:47 text5 -rw-rw-r--. 1 ian 98 2009-08-11 21:21 text6 -rw-rw-r--. 1 ian 15 2009-08-11 14:41 xaa -rw-rw-r--. 1 ian 9 2009-08-11 14:41 xab -rw-rw-r--. 1 ian 17 2009-08-11 14:41 yaa -rw-rw-r--. 1 ian 8 2009-08-11 14:41 yab

Katika mstari wa kwanza wa Orodha ya 2, tunaona idadi ya jumla ya vitalu vya disk (52) vilivyochukuliwa na faili zilizoonyeshwa. Mistari iliyobaki ina habari kuhusu yaliyomo kwenye saraka.

  • Sehemu ya kwanza (kwa upande wetu, drwxrwxr-x au -rw-rw-r--) inatuambia ikiwa ingizo ni saraka (d) au faili ya kawaida (-). Unaweza pia kuona viungo vya ishara (|) au nukuu zingine za faili maalum (kwa mfano, faili kwenye mfumo wa faili wa /dev). Viungo vya ishara vinajadiliwa kwa undani zaidi katika nakala nyingine katika safu hii " " (tazama). Sehemu ya aina inafuatwa na seti tatu za ruhusa (kama vile rwx au r--): kwa mmiliki wa faili, kwa wanachama wa kikundi cha mmiliki, na kwa watumiaji wengine wote. Thamani hizo tatu kubaini ikiwa mmiliki, kikundi, au watumiaji wote wana , mtawalia, kusoma (r), kuandika (w) au kutekeleza (x) ruhusa. Sifa nyingine, kama vile setuid, zitashughulikiwa katika makala mengine katika mfululizo huu" Dhibiti ruhusa za faili na umiliki" (sentimita. ).
  • Sehemu inayofuata ina nambari inayotuambia idadi viungo ngumu kwa faili. Kama ilivyoelezwa tayari, ingizo lina habari kuhusu faili. Ingizo la faili iliyohifadhiwa kwenye saraka lina kiunga kigumu (au pointer) kwa ingizo la faili hiyo, kwa hivyo kila kiingilio lazima kiwe na kiunga kimoja ngumu. Maingizo ya saraka yana kiungo kimoja cha ziada cha ingizo, na kiungo kimoja kwa kila saraka ndogo. Kwa hivyo unaweza kuona kutoka kwa Orodha ya 2 kwamba saraka yangu ya nyumbani, iliyoonyeshwa kama..., ina subdirectories kadhaa kwa sababu ina viungo 35 ngumu.
  • Sehemu mbili zinazofuata zina jina la mmiliki wa faili na jina la kikundi cha msingi ambacho iko. Kwenye usambazaji fulani wa Linux (kwa mfano, Kofia Nyekundu au Fedora), kwa chaguo-msingi kikundi tofauti huundwa kwa kila mtumiaji. Katika mifumo mingine, watumiaji wote wanaweza kuwa wa kikundi kimoja au zaidi.
  • Sehemu inayofuata ina saizi ya faili kwa baiti.
  • Sehemu ya mwisho ina wakati wa urekebishaji wa faili.
  • Na hatimaye, shamba la mwisho lina jina la faili au saraka.

Chaguo la -i kwa ls litaonyesha nambari za ingizo. Tutarudi kuangalia ingizo baadaye katika nakala hii, na vile vile kwenye kifungu " Kufanya kazi na viungo ngumu na vya mfano" (sentimita. ).

Taarifa kuhusu faili nyingi

Unaweza kupitisha vigezo kadhaa kwa amri ya ls, ambayo kila moja itakuwa jina la faili au jina la saraka. Ikiwa parameter ni jina la saraka, basi badala ya habari kuhusu saraka hii, amri ya ls itaonyesha yaliyomo. Kwa upande wetu, hebu tufikirie kwamba tunataka kupata habari kuhusu lpi103-2 saraka yenyewe. Amri ls -l ../lpi103-2 itatupa habari sawa na katika mfano uliopita. Orodha ya 3 inaonyesha jinsi ya kutumia chaguo la -d kuonyesha habari kuhusu ingizo la saraka badala ya yaliyomo; Pia inaonyesha jinsi ya kuonyesha maingizo kwa faili nyingi au saraka.

Kuorodhesha 3. Kutumia ls -d
$ ls -ld ../lpi103-2 sedtab xaa drwxrwxr-x. 2 ian 4096 2009-08-12 15:31 ../lpi103-2 -rw-rw-r--. 1 ian 8 2009-08-11 21:17 sedtab -rw-rw-r--. 1 ian 15 2009-08-11 14:41 xaa

Kumbuka kuwa wakati wa urekebishaji wa saraka ya lpi103-2 ni tofauti na wakati tunaona kwenye uorodheshaji uliopita. Kwa kuongeza, kama ilivyo kwenye orodha iliyotangulia, wakati huu ni tofauti na wakati wa urekebishaji wa faili yoyote kwenye saraka hii. Ukweli ni kwamba wakati wa kufanya kazi kwenye makala hii, niliunda mifano kadhaa ya ziada na kisha kuifuta; Hivi ndivyo alama za nyakati za saraka zinavyosema. Tutazungumza zaidi kuhusu mihuri ya muda ya faili baadaye kidogo katika sehemu hiyo.

Panga matokeo

Kwa chaguo-msingi, amri ya ls huonyesha majina ya faili ndani mpangilio wa alfabeti. Kuna chaguo kadhaa za kupanga matokeo. Kwa mfano, ls -t amri itapanga faili kwa wakati wa urekebishaji (mpya hadi kongwe), na ls -lS amri itatoa orodha ya kina ya faili zilizopangwa kwa saizi (kubwa zaidi hadi ndogo). Ukiongeza -r chaguo, upangaji utafanywa kwa mpangilio wa nyuma. Kwa mfano, tumia ls -lrt amri kuonyesha orodha ya kina ya faili, zilizopangwa kwa tarehe ya urekebishaji kwa mpangilio wa nyuma. Unaweza kujifunza kuhusu chaguo zingine za kupanga faili na saraka kutoka kwa ukurasa wa mtu.

Kunakili, kusonga na kufuta faili

Kwa hiyo, tayari tunajua jinsi ya kuunda faili, lakini ni nini ikiwa tunataka kunakili au kuzibadilisha jina, kuzihamisha kwenye eneo lingine kwenye mfumo wa faili, au hata kuzifuta. Kwa kusudi hili kuna tatu amri fupi:

cp kutumika kunakili faili moja au zaidi au saraka. Wewe lazima onyesha jina moja au zaidi vyanzo na moja mwisho Jina. Jina la chanzo au jina lengwa linaweza kujumuisha njia. Ikiwa jina la mwisho ni jina la saraka iliyopo, basi vyanzo vyote vitanakiliwa V yake. Ikiwa saraka iliyo na jina lengwa haipo, basi asili (moja) lazima pia iwe saraka; chanzo na yaliyomo yatanakiliwa kwa saraka mpya iliyoundwa na jina maalum. Ikiwa jina lengwa ni jina la faili, basi chanzo (moja) lazima pia kiwe faili; nakala ya chanzo itaundwa kama faili iliyo na jina la mwisho lililotajwa, na ikiwa faili iliyo na jina moja tayari iko kwenye mfumo, itabadilishwa na faili mpya. Kumbuka kuwa, tofauti na mifumo ya uendeshaji ya DOS na Windows, katika Linux saraka ya sasa sio saraka inayolengwa kwa chaguo-msingi. mv inatumika kwa harakati au kubadilisha jina faili moja au zaidi au saraka. Kwa ujumla, sheria za kutumia majina ni sawa na kwa amri ya cp; unaweza kubadilisha jina la faili moja au kuhamisha faili nyingi kwenye saraka mpya. Kwa kuwa majina ni maingizo ya saraka tu yanayoelekeza kwenye ingizo, haipaswi kukushangaza kuwa nambari ya ingizo haibadilika. mpaka hadi faili ihamishwe kwa mfumo mwingine wa faili (katika hali ambayo operesheni ya kuhama ni kama operesheni ya kunakili na kisha kufuta faili asili). rm inatumika kwa kuondolewa faili moja au zaidi. Nitakuambia jinsi ya kufuta saraka baadaye kidogo.
Timu ilienda wapi?

Ikiwa ulifanya kazi ndani mfumo wa uendeshaji DOS au Windows®, unaweza kupata ajabu kwamba amri ya mv inatumiwa kubadilisha jina la faili. Linux ina amri ya kubadilisha jina, lakini syntax yake ni tofauti na amri ya jina moja katika DOS au Windows. Kwa kupata Taarifa za ziada Rejelea ukurasa wa mtu kwa amri hii.

Orodha ya 4 inaonyesha mifano ya kutumia amri za cp na mv kuunda nakala nyingi za faili zetu za maandishi. Pia tulitumia ls -i amri kuonyesha nambari za ingizo za faili zingine.

  1. Kwanza tuliunda nakala ya faili yetu ya maandishi1 na kuiita text1.bkp.
  2. Kisha tuliamua kutumia amri ya mkdir kuunda saraka ndogo ya kuhifadhi nakala rudufu.
  3. Tuliunda nakala rudufu ya pili ya maandishi1 (wakati huu katika saraka ndogo ya chelezo) na tulionyesha kuwa faili zote tatu zina maelezo tofauti ya ingizo.
  4. Tulihamisha faili yetu ya maandishi1.bkp kwenye saraka ndogo ya chelezo na tukaibadilisha ili ilingane na jina la chelezo ya pili. Ingawa hii inaweza kufanywa kwa amri moja, kwa ajili ya uwazi tulitumia mbili.
  5. Tunaangalia maelezo ya ingizo tena na hakikisha kwamba faili text1.bkp na inode 934193 haipo tena kwenye saraka yetu ya lpi103-2, na nambari hii ya ingizo sasa ni ya faili text1.bkp.1 katika saraka ya chelezo.
Kuorodhesha 4. Kunakili na kuhamisha faili
$ cp maandishi1 maandishi1.bkp $ mkdir chelezo $ cp maandishi1 chelezo/text1.bkp.2 $ ls -i maandishi1 maandishi1.bkp chelezo 933892 maandishi1 934193 maandishi1.bkp chelezo: 934195 maandishi1.bkp.2 $ mv maandishi1.bkp chelezo $ mv backup/text1.bkp backup/text1.bkp.1 $ ls -i text1 maandishi1.bkp chelezo ls: haiwezi kufikia maandishi1.bkp: Hakuna faili kama hiyo au saraka 933892 maandishi1 chelezo: 934193 maandishi1.bkp.1 934195 maandishi1.bkp.2

Kwa kawaida amri ya cp itafuta faili inayolengwa ikiwa iko na inaweza kuandikwa tena. Kwa upande mwingine, amri ya mv haihamishi au kubadilisha jina la faili ikiwa faili nyingine yenye jina sawa ipo. Kuna kadhaa chaguzi muhimu kudhibiti tabia ya amri za cp na mv.

-f au --lazimisha inaambia cp amri kujaribu kufuta faili inayolengwa hata ikiwa haiwezi kuandikwa tena. -i au --interactive inauliza uthibitisho wakati wa kujaribu kubadilisha faili iliyopo. -b au --chelezo huunda nakala za chelezo za faili zote zilizobadilishwa.

Kama kawaida, habari kamili Chaguzi hizi na zingine za kunakili na kusogeza zinaweza kupatikana katika kurasa zinazolingana za mtu.

Orodha ya 6 inaonyesha mfano wa kuunda chelezo na kisha kufuta faili asili.

Kuorodhesha 5. Kuhifadhi nakala na kufuta faili
$ cp maandishi2 chelezo $ cp --backup=t maandishi2 chelezo $ ls chelezo maandishi1.bkp.1 maandishi1.bkp.2 maandishi2 maandishi2.~1~ $ rm chelezo/text2 chelezo/text2.~1~ $ ls chelezo maandishi1.bkp .1 maandishi1.bkp.2

Kumbuka kuwa rm amri hukuruhusu kutumia -i (interactive) na -f (force) chaguzi. Ikiwa faili itafutwa kwa kutumia rm , mfumo wa faili hauwezi tena kuifikia. Kwenye baadhi ya mifumo ya mtumiaji wa mizizi Kwa chaguo-msingi, lakabu rm="rm -i" inafafanuliwa ili kuzuia ufutaji wa faili kimakosa. Fursa hii pia inaweza kutumika watumiaji wa kawaida ambao wanaogopa kufuta kitu kwa bahati mbaya.

Kabla ya kuacha mada hii, ni muhimu kuzingatia kwamba kwa faili mpya, amri ya cp huunda muhuri mpya wa muda kwa chaguo-msingi. Mmiliki (na kikundi) cha faili mpya anakuwa mtumiaji (na kikundi chake) anayetengeneza nakala. Unaweza kutumia -p chaguo kuhifadhi sifa zilizochaguliwa. Kumbuka kuwa mtumiaji wa mizizi anaweza kuwa mtumiaji pekee anayeweza kuhifadhi umiliki. Unaweza kupata habari zaidi kwenye ukurasa wa mtu.

Kuunda na kufuta saraka

Tayari unajua jinsi ya kuunda saraka kwa kutumia amri ya mkdir. Sasa hebu tuende mbali zaidi na tuangalie analog ya mkdir ya kufuta saraka - programu ya rmdir.

amri ya mkdir

Wacha tufikirie kuwa tuko kwenye saraka yetu lpi103-2 na tunataka kuunda subdirectories dir1 na dir2. Kama tu amri ambazo tayari zimejadiliwa, amri ya mkdir inaweza kushughulikia maombi ya kuunda saraka nyingi kwa wakati mmoja, kama inavyoonyeshwa katika Orodha ya 6.

Kuorodhesha 6. Kuunda saraka nyingi
$ mkdir dir1 dir2

Kumbuka kuwa hakuna pato ikiwa amri imefanikiwa. Ili kuthibitisha kuwa nambari ya kutoka ni 0, unaweza kutumia amri echo $? .

Ikiwa unataka kuunda saraka ndogo iliyoorodheshwa, kwa mfano d1/d2/d3, amri itashindwa kwa sababu saraka d1 na d2 hazipo. Kwa bahati nzuri, amri ya mkdir ina -p chaguo ambayo hukuruhusu kuunda idadi yoyote ya saraka kuu, kama inavyoonyeshwa kwenye Orodha ya 7.

Kuorodhesha 7. Kuunda saraka kuu
$ mkdir d1/d2/d3 mkdir: haiwezi kuunda saraka `d1/d2/d3": Hakuna faili au saraka kama hiyo $ echo $? 1 $ mkdir -p d1/d2/d3 $ echo $? 0

amri ya rmdir

Amri ya rmdir imeundwa ili kuondoa saraka. Ikiwa chaguo la -p limebainishwa, saraka zote za wazazi pia hufutwa. Kwa kuwa hakuna chaguo la kulazimisha kufuta, unaweza tu kufuta saraka tupu kwa kutumia rmdir. Tutaangalia njia nyingine ya kufuta saraka katika sehemu. Mara tu unapofahamu njia hii, huenda usitumie amri ya rmdir kwenye mstari wa amri mara nyingi, lakini haiwezi kuumiza kujua kuhusu hilo.

Ili kuonyesha kufuta saraka, tulinakili faili yetu ya maandishi1 kwenye saraka ya d1/d2, ambayo sasa haina tupu. Kisha tuliendesha amri ya rmdir ili kuondoa saraka zote ambazo ziliundwa kwa kutumia mkdir. Kama unavyoona, saraka za d1 na d2 hazikufutwa kwa sababu saraka ya d2 ina faili. Saraka zingine zote zimefutwa. Mara tu tunapoondoa nakala ya maandishi1 kutoka kwa saraka d2, tunaweza kuondoa saraka d1 na d2 kwa amri moja, rmdir -p .

Kuorodhesha 8. Kuondoa saraka
$ cp maandishi1 d1/d2 $ rmdir -p d1/d2/d3 dir1 dir2 rmdir: imeshindwa kuondoa saraka `d1/d2": Saraka si tupu $ ls . d1/d2 .: chelezo sedtab maandishi2 maandishi4 maandishi xab yab d1 maandishi1 maandishi3 maandishi5 xaa yaa d1/d2: maandishi1 $ rm d1/d2/text1 $ rmdir -p d1/d2

Inachakata faili na saraka nyingi

Kufikia sasa, amri zote ambazo tumetumia zimefanya vitendo kwenye faili za kibinafsi, au labda kwenye faili nyingi zilizoorodheshwa kwa mikono. Katika sehemu nyingine ya makala hii, tutaangalia kufanya shughuli mbalimbali kwenye faili nyingi, kufanya vitendo vya kujirudia kwenye sehemu ya mti wa saraka, na kuhifadhi na kurejesha faili nyingi na saraka.

Vitendo vya Kujirudia

Toleo la kujirudia la yaliyomo kwenye saraka

Amri ya ls ina chaguo -R (kumbuka herufi kubwa"R") ili kuonyesha yaliyomo kwenye saraka na subdirectories zake zote. Chaguo la kujirudia inatumika tu kwa majina ya saraka; haitapata, kwa mfano, faili zote zinazoitwa "text1" kwenye mti wa saraka. Unaweza kutumia chaguzi zingine unazojua kwa kushirikiana na -R chaguo. Orodha ya 9 inaonyesha matokeo ya kujirudia ya yaliyomo kwenye saraka yetu ya lpi103-2, pamoja na nambari za ingizo.

Kuorodhesha 9. Kuorodhesha kwa kujirudia yaliyomo kwenye saraka
$ ls -iR .: 934194 chelezo 933892 text1 933898 text3 933900 text5 933894 xaa 933896 yaa 933901 sedtab 933893 text2 933899 text4 933900 text5 933894 xaa 933896 yaa 933901 sedtab 933893 text2 933899 text4 938399 938909 / 933899 934193 maandishi1.bkp.1 934195 maandishi1.bkp.2

Kunakili kwa kujirudia

Unaweza kutumia -r (au -R au --recursive) chaguo la amri ya cp kutazama saraka za chanzo na kunakili yaliyomo kwa kujirudia. Ili kuzuia urejeshaji usio na kikomo, saraka ya chanzo yenyewe haiwezi kunakiliwa. Kuorodhesha 10 kunaonyesha jinsi ya kunakili yaliyomo yote ya saraka yetu ya lpi103-2 kwenye saraka ndogo ya copy1. Kuangalia mti wa saraka unaosababishwa, tunatumia ls -R amri.

Kuorodhesha 10. Kunakili kwa kujirudia
$cp -pR . copy1 cp: haiwezi kunakili saraka, `.", yenyewe, `copy1" $ ls -R .: nakala nakala1 sedtab maandishi1 maandishi2 maandishi3 maandishi4 maandishi5 maandishi6 xaa yaa yab ./chelezo: maandishi1.bkp.1 maandishi1.bkp. 2 ./copy1: text2 text3 text5 xaa yaa yab

Ufutaji wa kujirudia

Tulitaja hapo awali amri ya rmdir hufuta saraka tupu tu. Tunaweza kutumia -r (au -R au --recursive) chaguo la amri ya rm kuondoa faili Na saraka, kama inavyoonyeshwa katika Orodha ya 11. Katika Orodha ya 11, tunafuta saraka mpya iliyoundwa ya copy1 pamoja na yaliyomo, ikiwa ni pamoja na saraka ndogo ya hifadhi na faili zote zilizomo.

Kuorodhesha 11. Ufutaji unaorudiwa
$ rm -r copy1 $ ls -R .: chelezo maandishi ya sedtab1 maandishi2 maandishi3 maandishi4 maandishi5 maandishi6 xaa yaa yab ./chelezo: maandishi1.bkp.1 maandishi1.bkp.2

Ikiwa kuna faili ambazo huwezi kuziandikia, unaweza kuhitaji -f chaguo ili kulazimisha kufuta. Hii mara nyingi hutumiwa na mtumiaji wa mizizi wakati wa kufuta mfumo, hata hivyo fahamu kwamba ikiwa unatumia chaguo hili bila uangalifu unaweza kupoteza data muhimu.

Metacharacts na uwekaji wa jina la faili

Mara nyingi kuna haja ya kufanya operesheni rahisi juu ya vitu vingi vya mfumo wa faili bila kufanya kazi kwenye mti mzima wa saraka, kama tulivyofanya wakati wa kufanya vitendo vya kujirudia. Kwa mfano, unaweza kutaka kujua nyakati za urekebishaji wa faili zote za maandishi ambazo ziliundwa kwenye saraka ya lpi103-2 bila kuorodhesha. faili tofauti. Ingawa hii ni rahisi kufanya kwa saraka yetu ndogo, ni ngumu zaidi kwa mifumo mikubwa ya faili.

Ili kutatua tatizo hili, tumia usaidizi wa metacharacter uliojengwa ndani ya mkalimani wa bash. Usaidizi huu pia huitwa globbing ("globbing" hutoka kwa jina la programu ya /etc/glob) na hukuruhusu kufafanua faili nyingi kwa kutumia mifumo ya globbing.

? inalingana na mhusika yeyote. * inalingana na kamba yoyote, pamoja na kamba tupu. [ ni darasa la wahusika. Darasa la mhusika ni kamba isiyo tupu inayoishia na "]". Mechi ina maana ya mechi na yoyote tabia tofauti, iliyofungwa kwenye mabano ya mraba. Kuna mikataba kadhaa maalum:
  • Wahusika "*" na "?" maana wenyewe. Ikiwa utazitumia katika majina ya faili, unahitaji kuzingatia utumiaji sahihi wa nukuu na mlolongo wa kutoroka.
  • Kwa kuwa mstari lazima usiwe tupu na kuishia na "]", lazima uweke herufi "]". kwanza kwenye kamba ikiwa unataka kuilinganisha.
  • "-" iliyowekwa kati ya herufi zingine mbili inaashiria safu ambayo inajumuisha herufi hizo mbili pamoja na herufi zote kati yao kulingana na mpango wa mgongano. Kwa mfano, muundo unalingana na herufi ndogo yoyote au herufi kubwa ya tarakimu ya heksadesimali. Ikiwa unataka kulinganisha herufi "-", iweke kwanza au mwisho katika safu.
  • Herufi "!" iliyowekwa katika nafasi ya kwanza ya safu inamaanisha kuwa safu italingana na herufi zozote isipokuwa zile zilizobainishwa ndani yake. Kwa mfano, [!0-9] inalingana na herufi yoyote isipokuwa nambari 0 hadi 9. Herufi "!" iliyowekwa katika nafasi nyingine yoyote katika safu inalingana yenyewe. Kumbuka kwamba "!" pia hutumiwa katika historia ya shell, hivyo kuwa makini na uitumie kwa uangalifu.

Kumbuka. Wildcards na maneno ya kawaida kuwa na kufanana fulani, lakini hii Sivyo sawa. Makini maalum kwa hili!

Uingizwaji unatumika kando kwa kila sehemu ya jina la njia. Huwezi kulinganisha herufi "/" au kuijumuisha katika safu. Unaweza kuitumia popote kubainisha faili nyingi au majina ya saraka, kama vile ls , cp , mv au rm amri. Katika Orodha ya 12, kwanza tunaunda faili zingine zilizo na majina ya kushangaza na kisha kutumia amri za ls na rm kwa kushirikiana na kadi-mwitu.

Kuorodhesha 12. Mifano ya mifumo ya kadi-mwitu
$ echo odd1>"text[*?!1]" $ echo odd2>"text" $ ls chelezo maandishi1 maandishi2 maandishi3 maandishi5 xaa yaa sedtab maandishi[*?!1] maandishi4 maandishi6 xab yab $ ls maandishi2 maandishi3 maandishi4 $ ls maandishi[!2-4] maandishi1 maandishi5 maandishi6 $ ls maandishi** maandishi2 maandishi3 maandishi4 $ ls maandishi*[!2-4]* # Mshangao! maandishi1 maandishi[*?!1] maandishi5 maandishi6 $ ls maandishi*[!2-4] # Mshangao mwingine! maandishi1 maandishi[*?!1] maandishi5 maandishi6 $ echo maandishi*>text10 $ ls *\!* maandishi[*?!1] maandishi $ ls ** maandishi1 maandishi[*?!1] maandishi10 maandishi2 maandishi3 maandishi4 maandishi5 maandishi6 xaa xab $ ls ** maandishi[*?!1] maandishi yaa yab $ ls tex?[* maandishi[*?!1] maandishi $ rm tex?[* $ ls *b* sedtab xab yab chelezo: text1.bkp. Nakala 11.bkp.2 $ ls chelezo/*2 chelezo/text1.bkp.2 $ ls -d .* . ..

Vidokezo:

  1. Kuunda kijalizo pamoja na ishara "*" kunaweza kusababisha mshangao fulani. Mchoro "*[!2-4]" unalingana na sehemu ndefu zaidi ya jina ambayo haifuatwi na nambari 2, 3 au 4, ambayo inalingana na maandishi ya jina[*?!1], hivyo na maandishi ya jina.
  2. Kama ilivyo kwa mifano ya amri ya ls iliyotangulia, ikiwa jina linalolingana na muundo ni jina la saraka na chaguo la -d halijabainishwa, basi yaliyomo kwenye saraka hiyo yataorodheshwa (kama ilivyo kwa muundo wa "*b*" katika mfano wetu).
  3. Ikiwa jina la faili linaanza na nukta (.), basi herufi hii lazima ibainishwe kwa uwazi. Kumbuka kuwa ni amri ya mwisho tu ya ls iliyoonyesha maingizo mawili maalum (. na ..).

Fahamu kuwa kadi-mwitu yoyote inachanganuliwa na mkalimani wa amri, ambayo inaweza kusababisha matokeo yasiyotarajiwa. Zaidi ya hayo, ukibainisha mchoro wa kadi-mwitu ambao haulingani na vipengee vyovyote vya mfumo wa faili, kiwango cha POSIX kinahitaji kwamba mfuatano wa mchoro asili upitishwe kwa amri. Baadhi ya matoleo ya awali yalipitisha orodha tupu kwa amri, kwa hivyo unaweza kukutana na hati za zamani ambazo zinafanya kazi isivyo kawaida. Hebu tuonyeshe hili katika Orodha ya 13.

Kuorodhesha 13. Mshangao unapotumia kadi-mwitu
maandishi ya $ echo* maandishi1 maandishi2 maandishi3 maandishi4 maandishi6 $ echo maandishi ya "maandishi*" $ maandishi ya mwangwi[[\!?]z?? maandishi[[!?]z??

Kwa habari zaidi juu ya uingizwaji wa jina, angalia ukurasa wa mtu wa glob 7. Nambari ya sehemu inahitajika kwa sababu maelezo kuhusu ukaratasi mwitu pia yamo katika Sehemu ya 3. Njia bora ya kujifunza ukaratasi mwitu ni kwa mazoezi, kwa hivyo jaribu kutumia vielelezo kila unapopata nafasi. Ili kuepuka vitendo visivyoweza kurekebishwa, usisahau kuangalia mifumo yako ya ubadilishaji kwa kutumia ls, na kisha tu utekeleze amri kama vile cp, mv au, haswa, rm kwao.

Kwa kutumia touch

Katika sehemu hii, tutaangalia amri ya kugusa, ambayo inaweza kusasisha muda wa kufikia faili au wakati wa kurekebisha, na pia kuunda faili tupu. Utaona jinsi ya kutumia habari hii kupata faili na saraka. Katika mifano yetu tutaendelea kutumia lpi103-2 saraka. Pia tutaangalia njia mbalimbali kuweka alama za nyakati.

amri ya kugusa

Amri ya kugusa, inayoendeshwa bila chaguzi zozote, inachukua jina la faili moja au zaidi kama vigezo na kusasisha nyakati zao marekebisho- thamani ambayo kawaida huonyeshwa wakati wa kuorodhesha yaliyomo kwenye saraka kwa undani. Katika Orodha ya 14, tunatumia amri ya mwangwi inayojulikana kuunda faili ndogo inayoitwa f1, na kisha kuchapisha yaliyomo kwenye saraka katika umbo la kitenzi ili kuonyesha wakati wa kurekebisha (au wakati) Katika kesi hii, wakati wa kurekebisha utakuwa wakati faili iliundwa. Kisha tunatumia amri ya usingizi kusubiri sekunde 60 na kukimbia amri ya ls tena. Ona kwamba muhuri wa muda wa faili umebadilika kwa dakika moja.

Kuorodhesha 14. Kusasisha wakati mabadiliko ya mwisho kwa kutumia kugusa
$ echo xxx>f1; ls -l f1; kulala 60; kugusa f1; ls -l f1 -rw-rw-r--. 1 ian 4 2009-08-14 18:24 f1 -rw-rw-r--. 1 ian 4 2009-08-14 18:25 f1

Ukitaja jina la faili ambalo halipo, amri ya kugusa itaunda faili tupu na jina hilo (isipokuwa -c au --no-create chaguo limetumika). Orodha ya 15 inaonyesha mifano ya amri zote mbili. Tafadhali kumbuka kuwa ni faili ya f2 pekee iliundwa.

Kuorodhesha 15. Kuunda faili tupu kwa kutumia touch
$ kugusa f2; kugusa -c f3; ls -l f* -rw-rw-r--. 1 ian 4 2009-08-14 18:25 f1 -rw-rw-r--. 1 ian 0 2009-08-14 18:27 f2

Unaweza pia kuweka tarehe ya marekebisho na wakati wa faili (pia inajulikana kama wakati) kwa mtiririko huo. Chaguo la -d linaelewa miundo mingi tofauti ya tarehe na saa, ilhali chaguo la -t linahitaji muda ubainishwe katika umbizo MMDDhhmm (mwaka na sekunde ni vigezo vya hiari). Orodha ya 16 inaonyesha baadhi ya mifano.

Kuorodhesha 16. Kuweka mtime kwa kutumia touch
$ touch -t 200908121510.59 f3 $ touch -d 11am f4 $ touch -d "wiki mbili zilizopita" f5 $ touch -d "jana 6am" f6 $ touch -d "siku 2 zilizopita 12:00" f7 $ touch -d "kesho 02 :00" f8 $ touch -d "5 Nov" f9 $ ls -lrt f* -rw-rw-r--. 1 ian 0 2009-07-31 18:31 f5 -rw-rw-r--. 1 ian 0 2009-08-12 12:00 f7 -rw-rw-r--. 1 ian 0 2009-08-12 15:10 f3 -rw-rw-r--. 1 ian 0 2009-08-13 06:00 f6 -rw-rw-r--. 1 ian 0 2009-08-14 11:00 f4 -rw-rw-r--. 1 ian 4 2009-08-14 18:25 f1 -rw-rw-r--. 1 ian 0 2009-08-14 18:27 f2 -rw-rw-r--. 1 ian 0 2009-08-15 02:00 f8 -rw-rw-r--. Mwaka 1 0 2009-11-05 00:00 f9

Ikiwa unaona ni vigumu kuunda usemi wa tarehe unayotaka, basi unaweza kujua kwa kutumia amri ya tarehe. Amri hii pia ina chaguo la -d na inaweza kuelewa muundo wa tarehe sawa na amri ya kugusa.

Unaweza kutumia -r (au --reference) chaguo kwa kushirikiana na jina la faili la kumbukumbu kuwaambia programu ya mguso (au tarehe) kuweka tarehe ili ilingane na muhuri wa muda wa faili iliyopo. Orodha ya 17 inaonyesha baadhi ya mifano.

Kuorodhesha 17. Muhuri wa nyakati wa faili zilizorejelewa
$ tarehe Fri Aug 14 18:33:48 EDT 2009 $ date -r f1 Fri Aug 14 18:25:50 EDT 2009 $ touch -r f1 f1a $ ls -l f1* -rw-rw-r--. 1 ian 4 2009-08-14 18:25 f1 -rw-rw-r--. Mwaka 1 0 2009-08-14 18:25 f1a

Mfumo wa Linux hurekodi kama wakati marekebisho faili na wakati ufikiaji kuweka faili ( wakati Na wakati kwa mtiririko huo). Muhuri wa wakati wote una thamani sawa wakati faili inaundwa na huwekwa upya pamoja inapobadilishwa. Ikiwa faili imefikiwa, muda wa ufikiaji unasasishwa, hata kama faili haijabadilishwa. Katika mfano wetu wa mwisho wa kufanya kazi na amri ya kugusa, tutaangalia wakati ufikiaji. Chaguo la -a (au --time=atime , --time=access au --time=use ) linabainisha kuwa muda wa ufikiaji unapaswa kusasishwa. Katika Orodha ya 18 tunatumia amri ya paka kufikia faili f1 na kutoa yaliyomo. Kisha tunatumia amri za ls -l na ls -lu kutoa wakati wa kurekebisha na wakati wa ufikiaji, mtawaliwa, kwa faili f1 na f1a, ambazo tumeunda kwa kutumia faili f1 kama faili ya kumbukumbu. Kwa kumalizia, na kwa kutumia kugusa-a tunabadilisha wakati wa ufikiaji wa faili f1 hadi wakati wa ufikiaji wa faili f1a na angalia matokeo.

Kuorodhesha 18. Muda wa ufikiaji na wakati wa kurekebisha
$ ls -lu f1* -rw-rw-r--. 1 ian 4 2009-08-14 18:39 f1 -rw-rw-r--. 1 ian 0 2009-08-14 18:25 f1a $ ls -l f1* -rw-rw-r--. 1 ian 4 2009-08-14 18:25 f1 -rw-rw-r--. 1 ian 0 2009-08-14 18:25 f1a $ touch -a -r f1a f1 $ ls -lu f1* -rw-rw-r--. 1 ian 4 2009-08-14 18:25 f1 -rw-rw-r--. Mwaka 1 0 2009-08-14 18:25 f1a

Kwa maelezo zaidi kuhusu vipimo mbalimbali vya saa na tarehe, tazama kurasa za mtu au maelezo kwa amri za mguso na tarehe.

Tafuta faili

Sasa kwa kuwa mada yetu ya faili na saraka imechoshwa na nyundo ya kujirudia na uingizwaji, hebu tuangalie amri ya kupata, ambayo ni kama scalpel ya upasuaji. Amri ya kupata hutumiwa kutafuta faili kwenye mti wa saraka kulingana na jina, tarehe, au saizi yao. Wakati huu tutatumia tena saraka yetu ya lpi103-2.

kupata amri

Amri ya kupata hutafuta faili au saraka kwa kutumia jina kamili au sehemu yake; utafutaji unaweza kufanywa kwa kuzingatia vigezo vingine, kama vile ukubwa, aina, mmiliki, tarehe iliyoundwa au kupatikana mara ya mwisho. Ya kawaida ni kutafuta kwa jina au sehemu yake. Orodha ya 19 inaonyesha baadhi ya mifano ya utafutaji wa faili: Tunatafuta kwanza saraka ya lpi103-2 kwa faili zote ambazo zina "1" au "k" katika majina yao, na kisha kufanya utafutaji wa njia, ambao umefafanuliwa kwa kina katika maelezo.

Kuorodhesha 19. Kutafuta faili kwa majina
$pata. -jina "**" ./f1a ./text10 ./backup ./backup/text1.bkp.1 ./backup/text1.bkp.2 ./text1 $ find . -ipath "*ACK*1" ./backup/text1.bkp.1 $ find . -ipath "*ACK*/*1" [

Vidokezo:

Katika mfano wa kwanza wa Orodha ya 19, tulipata faili zote mbili na saraka (./chelezo). Ili kupunguza utafutaji, tumia kigezo cha -type pamoja na vipimo vya aina (thamani ya herufi moja): "f" - faili za kawaida, "d" - saraka, "l" - viungo vya ishara. Unaweza kujifunza juu ya aina zingine kwenye ukurasa wa mtu wa amri ya kupata. Orodha ya 20 inaonyesha matokeo ya utafutaji wa saraka (chaguo la -type d) likifuatiwa na jina (*, ambalo katika kesi hii linamaanisha saraka zote).

Kuorodhesha 20. Kutafuta faili kwa aina
$pata. -aina d. ./chelezo $ find . -type d -jina "*" . ./chelezo

Tafadhali kumbuka kuwa kigezo cha -type d bila kutaja jina huonyesha saraka ambazo majina yake huanza na nukta (kwa upande wetu, saraka ya sasa tu); matokeo sawa yanapatikana kwa kutumia kadi ya mwitu "*".

Unaweza pia kutafuta faili kwa ukubwa wao; unaweza kutafuta faili za saizi fulani (n), na pia faili ambazo saizi yake ni kubwa (+n) au ndogo (-n) kuweka thamani. Kwa kubainisha thamani za kuanzia na mwisho, unaweza kutafuta faili ambazo ukubwa wake uko ndani ya masafa maalum. Kwa chaguo-msingi, -size chaguo la kupata hutumia kitengo cha kipimo "b" - vitalu vya 512 byte. Vipimo vingine vya kipimo vinaweza kuwa "c" (baiti) au "k" (kilobaiti). Katika Orodha ya 21, kwanza tunapata faili zote zilizo na saizi ya sifuri, na kisha faili zote zilizo na saizi ya ka 24 au 25. Tafadhali kumbuka kuwa ukibainisha -empty chaguo badala ya -size 0 chaguo, faili zote zilizo na saizi ya sifuri pia zitapatikana.

Kuorodhesha 21. Kutafuta faili kwa ukubwa
$pata. -ukubwa 0 ./f1a ./f6 ./f8 ./f2 ./f3 ./f7 ./f4 ./f9 ./f5 $ find . -ukubwa -26c -ukubwa +23c -chapisha ./text2 ./text5 ./backup/text1.bkp.1 ./backup/text1.bkp.2 ./text1

Katika mfano wa pili wa Orodha 21, tunatumia -print chaguo, ambayo ni mfano Vitendo, ambayo inaweza kutekelezwa kwenye matokeo ya utafutaji. Katika mkalimani wa bash, kitendo hiki kinafanywa kwa chaguo-msingi isipokuwa vitendo vingine vimebainishwa. Kwenye baadhi ya mifumo na makombora, kitendo lazima kibainishwe, vinginevyo hutaona matokeo yoyote kwenye skrini.

Vitendo vingine ni -ls (maelezo ya faili ya pato, sawa na pato la ls -lids) na -exec (toa amri kwa kila faili). Kitendo cha -exec lazima imalizike na semicolon ili kuzuia mkalimani kuichukulia kama seti ya kawaida ya amri. Pia weka () mahali popote kwenye amri ambapo faili iliyorejeshwa itatumika. Kumbuka kwamba shell hushughulikia braces curly, hivyo ni lazima kutoroka (au alinukuliwa). Orodha ya 22 inaonyesha mfano wa kutumia -ls na -exec chaguzi kuonyesha habari kuhusu faili. Kumbuka kuwa mfano wa pili hauchapishi habari kuhusu ingizo.

Kuorodhesha 22. Kutafuta na kufanya vitendo kwenye faili
$pata. -size -26c -size +23c -ls 933893 4 -rw-rw-r-- 1 ian 25 Aug 11 14:27 ./text2 933900 4 -rw-rw-r-- 1 ian 24 Aug 11 18: 47 ./text5 934193 4 -rw-rw-r-- 1 ian 24 Aug 12 15:36 ./backup/text1.bkp.1 934195 4 -rw-rw-r-- 1 ian 24 Aug 12 1: 36 ./backup/text1.bkp.2 933892 4 -rw-rw-r-- 1 miaka 24 Aug 11 14:02 ./text1 $ find . -ukubwa -26c -ukubwa +23c -tekeleza ls -l "()" \; -rw-rw-r--. 1 ian 25 2009-08-11 14:27 ./text2 -rw-rw-r--. 1 ian 24 2009-08-11 18:47 ./text5 -rw-rw-r--. 1 ian 24 2009-08-12 15:36 ./backup/text1.bkp.1 -rw-rw-r--. 1 ian 24 2009-08-12 15:36 ./backup/text1.bkp.2 -rw-rw-r--. 1 ian 24 2009-08-11 14:02 ./text1

Chaguo la -exec linaweza kutumika kazi mbalimbali, na uwezekano wake ni mdogo tu na mawazo yako. Kwa mfano, amri

Tafuta. -tupu -tekeleza rm "()" \;

Huondoa faili zote tupu kutoka kwa mti wa saraka, na amri

Tafuta. -jina "*.htm" -tekeleza mv "()" "()l" \;

Hubadilisha majina ya faili zote zilizo na kiendelezi cha .htm hadi faili zilizo na kiendelezi cha .html.

Katika mfano wetu wa mwisho wa amri ya kupata, tunatafuta faili kulingana na mihuri ya muda maalum (ambayo amri ya kugusa inafanya kazi nayo). Orodha ya 23 ina mifano mitatu.

  1. Unapotumia -mtime -2 chaguo, find amri hutafuta faili zote ambazo zimerekebishwa katika siku mbili zilizopita. Katika kesi hii, siku ni masaa 24 kuanzia wakati wa sasa. Kumbuka kuwa ikiwa ungetaka kupata faili kulingana na wakati wa ufikiaji badala ya wakati wa kurekebisha, unaweza kutumia -atime chaguo kufanya hivi.
  2. Kuongeza chaguo la -daystart inamaanisha tunataka kuhesabu siku za kalenda kuanzia saa sita usiku. Kwa hivyo mfano huu unakosa f3.
  3. Katika mfano wa mwisho, tunaonyesha kwa kutumia kipindi kilichobainishwa kwa dakika badala ya siku kutafuta faili ambazo zilirekebishwa kati ya saa moja (dakika 60) na saa kumi (dakika 600) zilizopita.
Kuorodhesha 23. Kutafuta faili kwa mihuri ya muda
$ date Sat Aug 15 00:27:36 EDT 2009 $ find . -mtime -2 -aina f -exec ls -l "()" \; -rw-rw-r--. 1 ian 0 2009-08-14 18:25 ./f1a -rw-rw-r--. 1 ian 4 2009-08-14 18:25 ./f1 -rw-rw-r--. Mwaka 1 0 2009-08-13 06:00 ./f6 -rw-rw-r--. Mwaka 1 0 2009-08-15 02:00 ./f8 -rw-rw-r--. Mwaka 1 0 2009-08-14 18:27 ./f2 -rw-rw-r--. 1 ian 58 2009-08-14 17:30 ./text10 -rw-rw-r--. Mwaka 1 0 2009-08-14 11:00 ./f4 -rw-rw-r--. Mwaka 1 0 2009-11-05 00:00 ./f9 $ find . -daystart -mtime -2 -aina f -exec ls -l "()" \; -rw-rw-r--. 1 ian 0 2009-08-14 18:25 ./f1a -rw-rw-r--. 1 ian 4 2009-08-14 18:25 ./f1 -rw-rw-r--. Mwaka 1 0 2009-08-15 02:00 ./f8 -rw-rw-r--. Mwaka 1 0 2009-08-14 18:27 ./f2 -rw-rw-r--. 1 ian 58 2009-08-14 17:30 ./text10 -rw-rw-r--. Mwaka 1 0 2009-08-14 11:00 ./f4 -rw-rw-r--. Mwaka 1 0 2009-11-05 00:00 ./f9 $ find . -mmin -600 -mmin +60 -aina f -exec ls -l "()" \; -rw-rw-r--. 1 ian 0 2009-08-14 18:25 ./f1a -rw-rw-r--. 1 ian 4 2009-08-14 18:25 ./f1 -rw-rw-r--. Mwaka 1 0 2009-08-14 18:27 ./f2 -rw-rw-r--. 1 ian 58 2009-08-14 17:30 ./text10

Katika yetu mwongozo wa haraka Hatuwezi kukutembeza kupitia chaguo nyingi za find amri. Ikiwa unataka kujua zaidi kuhusu amri hii, tafadhali rejelea kurasa zinazolingana za mtu.

Uamuzi wa Aina ya Faili

Faili mara nyingi huwa na viendelezi (kama vile gif, jpeg, au html) ambavyo hutoa dalili kwa kile kinachoweza kuwa ndani ya faili. Kwenye Linux, viendelezi kama hivyo ni vya hiari na kwa ujumla havitumiwi kufafanua aina za faili. Ikiwa unajua aina ya faili, unaweza kuchagua programu inayofaa kufanya kazi nayo. Amri ya faili hukuruhusu kupata habari fulani kuhusu aina ya data iliyohifadhiwa kwenye faili moja au zaidi. Orodha ya 24 inaonyesha baadhi ya mifano ya kutumia amri ya faili.

Kuorodhesha 24. Kuamua yaliyomo kwenye faili
$ faili chelezo maandishi1 f2 ../p-ishields.jpg /bin/echo chelezo: saraka maandishi1: ASCII maandishi f2: tupu ../p-ishields.jpg: JPEG data data, JFIF kiwango 1.02 /bin/echo: ELF 32 -bit LSB inayoweza kutekelezwa, Intel 80386, toleo la 1 (SYSV), iliyounganishwa kwa nguvu (hutumia libs zilizoshirikiwa), kwa GNU/Linux 2.6.18, imevuliwa

Amri ya faili inajaribu kuchanganua kila faili kwa kutumia tatu hundi mbalimbali. Ukaguzi wa mfumo wa faili hutumia matokeo ya amri ya takwimu ili kubainisha faili ni nini, kwa mfano inaweza kuwa faili tupu au saraka. Hivyo kuitwa uchawi hukagua faili za utafutaji kwa maudhui maalum ambayo huruhusu kutambuliwa. Saini hizi za kitambulisho pia hujulikana kama nambari za uchawi. Hatimaye, ukaguzi wa lugha huchunguza maudhui ya faili za maandishi na kujaribu kubainisha aina zao (faili ya XML, C au C++ msimbo wa chanzo, faili ya troff, au faili nyingine yoyote ya msimbo wa chanzo cha kichakataji cha lugha). Ikiwa chaguo la -k au --keep-going halijabainishwa, taarifa kuhusu aina ya faili ya kwanza iliyopatikana itachapishwa na ukaguzi zaidi umesimamishwa.

Amri ya faili ina chaguzi nyingi, ambazo unaweza kujifunza kutoka kwa kurasa za mtu. Orodha ya 25 inaonyesha jinsi ya kutumia -i (au --mime) chaguo kuchapisha aina ya faili kama kamba ya MIME.

Kuorodhesha 25. Kubainisha yaliyomo kwenye faili kama MIME
$ file -i chelezo maandishi1 f2 ../p-ishields.jpg /bin/echo chelezo: application/x-directory; charset=maandishi ya binary1: maandishi/wazi; charset=us-ascii f2: maombi/x-tupu; charset=binary ../p-ishields.jpg: picha/jpeg; charset=binary /bin/echo: application/x-inayoweza kutekelezwa; charset=binary

Amri ya faili pia inafanya kazi na faili zilizo na saini za nambari za uchawi. Unaweza kupata habari zaidi katika kurasa za mtu.

Kumbuka. Amri ya kutambua kutoka kwa kifurushi cha ImageMagick ni zana ya ziada ambayo hukuruhusu kupata maelezo zaidi kuhusu faili za picha.

Ukandamizaji wa faili

Mfinyazo kwa kawaida hutumiwa wakati wa kuhifadhi nakala za faili, na pia wakati wa kuzihifadhi kwenye kumbukumbu au kuzihamisha. Mbili programu maarufu kwa mgandamizo wa faili katika Linux hizi ni gzip na bzip2. Amri ya gzip hutumia algoriti ya Lempel-Ziv, na amri ya bzip2 hutumia algoriti ya kupanga ya Burrows-Wheeler block.

gzip na programu za gunzip

Kwa kawaida, uwiano wa juu zaidi wa ukandamizaji unapatikana wakati wa usindikaji faili za maandishi. Miundo mingi ya michoro tayari imebanwa, kwa hivyo (na labda faili zingine za binary) hazifai kufaidika na mbano. Ili kuonyesha matokeo ya kubana faili kubwa ya maandishi, hebu tunakili faili ya /etc/services kwenye saraka yetu na tuibane kwa gzip, kama inavyoonyeshwa katika Orodha ya 26. Tunatumia -p chaguo la amri ya cp kuhifadhi muhuri wa wakati wa faili ya /etc/services. Kumbuka kuwa faili iliyobanwa ina kiendelezi cha .gz na muhuri sawa wa muda.

Kuorodhesha 26. Kufinyiza na gzip
$ cp -p /etc/services . $ ls -l serv* -rw-r--r--. 1 ian 630983 2009-04-10 04:42 huduma $ gzip huduma $ ls -l serv* -rw-r--r--. 1 ian 124460 2009-04-10 04:42 services.gz

Faili zilizoshinikizwa na gzip hupunguzwa na programu sawa, inayoendeshwa na -d chaguo, au kwa amri ya gunzip (njia ya pili ni ya kawaida zaidi). Kuorodhesha 27 kunaonyesha njia ya kwanza. Kumbuka kuwa jina na muhuri wa muda wa faili iliyotolewa ni sawa na faili asili.

Kuorodhesha 27. Kufungua kwa gzip
$ gzip -d services.gz $ ls -l serv* -rw-r--r--. 1 iian 630983 2009-04-10 04:42 huduma

amri za bzip2 na bunzip2

Kama unavyoona katika Orodha ya 28, amri ya bzip2 inafanya kazi sawa na amri ya gzip.

Kuorodhesha 28. Kufinyiza na bzip2
$ ls -l serv* -rw-r--r--. 1 ian 630983 2009-04-10 04:42 huduma $ bzip2 huduma $ ls -l serv* -rw-r--r--. 1 ian 113444 2009-04-10 04:42 huduma.bz2 $ bunzip2 huduma.bz2 $ ls -l serv* -rw-r--r--. 1 iian 630983 2009-04-10 04:42 huduma

Tofauti kati ya gzip na bzip2

Ingawa programu za bzip2 na gzip zina chaguo nyingi sawa, hazifanani. Huenda umegundua kuwa katika mifano yote miwili, faili iliyotolewa ilikuwa na jina sawa na muhuri wa muda kama faili asili. Walakini, kubadilisha jina la faili au kuendesha amri ya kugusa kunaweza kubadilisha tabia hii. Amri ya gzip ina -N au --name chaguo ambayo hukuruhusu kuhifadhi jina na muhuri wa saa, lakini amri ya bzip2 haina chaguo kama hilo. Amri ya gzip pia ina chaguo -l kuonyesha habari kuhusu faili iliyoshinikizwa, pamoja na jina litakalopokea baada ya mtengano. Orodha ya 29 inaonyesha baadhi ya tofauti kati ya amri hizi.

Orodha ya 29. Baadhi ya tofauti kati ya gzip na bzip2
$ ls -l serv* -rw-r--r--. 1 ian 630983 2009-04-10 04:42 huduma $ gzip -N huduma $ touch services.gz $ mv services.gz services-x.gz $ ls -l serv* -rw-r--r--. 1 ian 124460 2009-09-23 14:08 huduma-x.gz $ gzip -l services-x.gz imebanwa uwiano usiobanwa uncompressed_name 124460 630983 80.3% huduma-x $ gzip -lN imebanwa huduma uncomgme uncompressed_name. 124460 630983 80.3% huduma $ gunzip -N huduma-x.gz $ ls -l serv* -rw-r--r--. 1 ian 630983 2009-04-10 04:42 huduma $ $ bzip2 huduma $ mv services.bz2 services-x.bz2 $ touch services-x.bz2 $ ls -l serv* -rw-r--r--. 1 ian 113444 2009-09-23 14:10 huduma-x.bz2 $ bunzip2 huduma-x.bz2 $ ls -l serv* -rw-rw-r--. 1 ian 630983 2009-09-23 14:10 services-x $ rm services-x # Sihitaji hii tena

Gzip na bzip2 zote hupokea pembejeo kutoka kwa kifaa cha stdin. Amri zote mbili zina -c chaguo la kuelekeza pato kwa kifaa cha stdout.

Kuna amri zingine mbili zinazohusiana na amri ya bzip2.

  1. Amri ya bzcat inafungua faili kwenye kifaa cha stdout na ni sawa na bzip2 -dc amri.
  2. Amri ya bzip2recover inajaribu kurejesha data kutoka kwa faili za bzip2 zilizoharibika.

Unaweza kupata habari zaidi kuhusu gzip na bzip2 amri katika kurasa zao za mtu husika.

Vifaa vingine vya compression

Programu mbili za zamani ambazo bado zinapatikana kwenye mifumo ya Linux na UNIX ni compress na uncompress.

Kwa kuongezea, huduma za zip na unzip zimetengenezwa kwa mfumo wa uendeshaji wa Linux ndani ya mfumo wa mradi wa Info-ZIP. Programu hizi hutumia vitendaji vya ukandamizaji wa majukwaa ambayo yanaendeshwa kwenye maunzi tofauti yanayoendesha mifumo tofauti ya uendeshaji. Tafadhali fahamu kuwa mifumo tofauti ya uendeshaji inaweza kutumia tofauti sifa za faili na uwezo wa mfumo wa faili. Ukipakua faili ya zip ya usakinishaji iliyobanwa, kuitoa kwenye Windows, na kisha kuichoma hadi kwenye CD au DVD kwa usakinishaji wa baadaye kwenye Linux, unaweza kupata matatizo ya kusakinisha kutoka kwenye diski hiyo; kwa mfano, Windows haitumii viungo vya ishara, ambavyo vinaweza kuishia kuwa sehemu ya seti ya faili ya chanzo isiyobanwa.

Kwa habari zaidi kuhusu programu hizi na nyinginezo za mfinyazo na mtengano, tazama kurasa zao za watu husika.

Kuhifadhi faili

Amri za tar, cpio, na dd hutumiwa sana kuunda nakala za chelezo za vikundi vya faili au hata sehemu zote, na pia kuweka kumbukumbu na kuhamisha faili kwa kompyuta nyingine au kwa mtumiaji mwingine. Maswali Hifadhi nakala yameangaziwa kwa kina katika Mtihani wa Msimamizi wa Kati wa LPI 201 (LPIC-2).

Kuna njia tatu kuu za kuhifadhi nakala.

  1. Tofauti au mkusanyiko kuhifadhi - kuhifadhi nakala za data zote ambazo zimebadilika tangu kumbukumbu kamili ya mwisho iliundwa. Ili kurejesha data, lazima uwe na chelezo kamili ya hivi punde na chelezo ya hivi punde ya tofauti.
  2. Inaongezeka kuweka kumbukumbu - inaunga mkono mabadiliko yale tu ambayo yametokea tangu kuundwa kwa hifadhi ya mwisho ya nyongeza. Ili kurejesha data, lazima uwe na kumbukumbu kamili ya mwisho na kumbukumbu zote za ziada (kwa mpangilio) zilizoundwa baada ya kuundwa kwa kumbukumbu kamili.
  3. Kamilisha kuhifadhi - chelezo ya data zote kwa ukamilifu (kawaida mfumo wa faili, saraka au kikundi cha faili). Kwa kuwa katika kesi hii muda wa uundaji wa kumbukumbu ni wa juu zaidi, njia hii hutumiwa kwa kushirikiana na zingine mbili.

Amri hizi, pamoja na wengine ambao tayari unajua kuhusu katika makala hii, kuruhusu kuunda chelezo kwa njia yoyote ya tatu hapo juu.

amri ya lami

Amri ya tar (jina la asili Tepe kwenye Kumbukumbu) huunda faili ya kumbukumbu (jina lake lingine ni tarfile au mpira wa lami) kutoka kwa faili au saraka nyingi, na pia hutoa faili kutoka kwa kumbukumbu zilizoundwa. Ikiwa utapitisha jina la saraka kama pembejeo kwa amri ya tar, basi faili zote na subdirectories ndani yake zitajumuishwa moja kwa moja kwenye kumbukumbu; Hii inafanya tar kuwa rahisi sana kwa kuhifadhi matawi yote ya mti wa saraka.

Toleo linaweza kutumwa kwa faili, kwa kifaa cha kuhifadhi kumbukumbu (kama vile kiendeshi cha tepi au kifaa kingine cha kuhifadhi kinachoweza kutolewa), au kwa kifaa cha kawaida pato la stdout. Mahali pa mwisho ni maalum kwa kutumia -f chaguo. Chaguzi zingine zinazotumiwa kawaida ni -c (unda kumbukumbu), -x (fungua kumbukumbu), -v (chapisha orodha ya kitenzi iliyo na majina ya faili zinazochakatwa), -z (tumia ukandamizaji wa gzip) na -j (tumia. bzip2 compression). Chaguzi nyingi za amri ya tar zinaweza kubainishwa kwa ufupi kwa kutumia kistari kimoja, au kwa undani kwa kutumia viambato viwili. Fomu fupi inaonyeshwa katika mfano wetu. Unaweza kupata habari kuhusu chaguzi za ziada na fomu ya kina ya kuziandika kwenye kurasa za mwanamume.

Kuorodhesha 30 kunaonyesha jinsi ya kuhifadhi saraka yetu ya lpi103-2 kwa kutumia tar .

Kuorodhesha 30. Kuhifadhi nakala ya lpi103-2 kwa kutumia tar
$ tar -cvf ../lpitar1.tar . ./ ./text3 ./yab ... ./f5

Kwa kawaida, faili za kumbukumbu hubanwa ili kuhifadhi nafasi ya diski au muda wa uhamishaji wa kumbukumbu. Toleo la GNU la tar hukuruhusu kufanya shughuli zote mbili kwa wakati mmoja kwa kutumia chaguo la -z (gzip-compressed) au -b (bzip2-compressed). Orodha ya 31 inaonyesha mfano wa kutumia -z chaguo na inaonyesha tofauti katika saizi za faili mbili za kumbukumbu.

Kuorodhesha 31. Kufinyiza kumbukumbu ya lami kwa kutumia gzip
$ tar -zcvf ../lpitar2.tar ~/lpi103-2/ tar: Kuondoa `/" inayoongoza kutoka kwa majina ya wanachama /home/ian/lpi103-2/ /home/ian/lpi103-2/text3 /home/ian/ lpi103-2/yab ... /home/ian/lpi103-2/f5 $ ls -l ../lpitar* -rw-rw-r--. 1 ian 30720 2009-09-24 15:38 .. /lpitar1.tar -rw-rw-r--. 1 ian 881 2009-09-24 15:39 ../lpitar2.tar

Kuorodhesha 31 hutumia kazi nyingine muhimu ya lami. Tumebainisha njia kamili ya saraka yetu, na tunaona kwamba safu ya kwanza ya pato kutoka tar inatuambia kuwa inaondoa herufi inayoongoza (/) kutoka kwa majina ya faili. Hii hukuruhusu kurejesha faili kwenye eneo lingine lolote ili kuziangalia na kucheza haswa jukumu muhimu wakati wa kurejesha faili za mfumo. Ikiwa bado unahitaji kuokoa njia kabisa, tumia -p chaguo kwa hili. Epuka kutumia njia kamili na jamaa pamoja wakati wa kuunda kumbukumbu, kwa sababu wakati wa kurejesha kutoka kwenye kumbukumbu, njia zote zitakuwa na uhusiano.

Amri ya tar inaweza kuongeza faili kwenye kumbukumbu iliyopo; Chaguo la -r au --append linatumika kwa hili. Kwa hivyo, nakala nyingi za faili moja zinaweza kuongezwa kwenye kumbukumbu. Katika kesi hii, wakati wa kuchimba kutoka kwa kumbukumbu, faili iliyoongezwa itarejeshwa mwisho. Ili kurejesha nakala mahususi ya faili, tumia --occurrence chaguo. Ikiwa kumbukumbu haijahifadhiwa kwenye mkanda, lakini kwenye mfumo wa faili wa kawaida, basi unaweza kutumia -u au --update chaguo ili kuisasisha. Katika kesi hii, operesheni ya sasisho ni sawa na operesheni ya kuongeza faili, isipokuwa kwamba alama za nyakati za faili kwenye kumbukumbu zinalinganishwa na alama za nyakati za faili zinazoongezwa, na ni faili tu ambazo zimebadilika tangu kumbukumbu zimeundwa. . Kama ilivyoelezwa, hii haifanyi kazi wakati wa kutumia kumbukumbu za tepi.

Amri ya tar inaweza kulinganisha kumbukumbu na mfumo wa sasa wa faili na kutoa faili kutoka kwa kumbukumbu. Kwa kulinganisha, tumia -d , --compare au --diff chaguo. Ulinganisho utaonyesha faili zote zilizo na maudhui tofauti, pamoja na faili zote zilizo na alama za nyakati tofauti. Kwa chaguo-msingi, faili tofauti tu (ikiwa zipo) ndizo zinazoonyeshwa. Kwa pato la kitenzi, tumia -v chaguo lililojadiliwa hapo awali. Chaguo -C au --saraka huambia tar amri kufanya operesheni kuanzia saraka maalum badala ya ile ya sasa.

Orodha ya 32 inaonyesha baadhi ya mifano. Tulitumia amri ya kugusa kubadilisha muhuri wa muda wa faili f1 na kisha kufanya ulinganisho kabla ya kutoa faili f1 kutoka kwenye kumbukumbu zetu. Ili kuonyesha uwezo wa tar tumetumia chaguzi mbalimbali.

Kuorodhesha 32. Linganisha na urejeshe kwa kutumia tar
$ touch f1 $ tar --diff --file ../lpitar1.tar . ./f1: Muda wa Mod hutofautiana $ tar -df ../lpitar2.tar -C / home/ian/lpi103-2/f1: Muda wa Mod hutofautiana $ tar -xvf ../lpitar1.tar ./f1 # Tazama hapa chini . /f1 $ tar --compare -f ../lpitar2.tar --directory /

Majina ya faili au saraka zilizotolewa kutoka kwenye kumbukumbu lazima zilingane na majina yao kwenye kumbukumbu. Katika mfano wetu, kujaribu kurejesha faili f1 badala ya ./f1 kutashindwa. Unaweza kutumia badala ya jina, lakini kuwa mwangalifu, vinginevyo matokeo yanaweza yasiwe vile ulivyotaka. Ikiwa unataka kuona kile kilichohifadhiwa kwenye kumbukumbu, tumia --list au -t chaguo kuorodhesha yaliyomo. Orodha ya 33 inaonyesha mfano wa kutumia kadi-mwitu kutoa zaidi ya faili ./f1 kutoka kwenye kumbukumbu.

Kuorodhesha 33. Kutazama yaliyomo kwenye kumbukumbu kwa kutumia tar
$ tar -tf ../lpitar1.tar "*f1*" ./f1a ./f1

Unaweza kuchagua faili za kuweka kwenye kumbukumbu kwa kutumia find amri, na kisha bomba matokeo ya utafutaji kama ingizo kwa amri ya tar. Tutaangalia njia hii wakati wa kujifunza juu ya amri ya cpio, lakini pia inafanya kazi na tar amri.

Kama ilivyo kwa amri zingine zinazoonekana kwenye mafunzo yetu, hatuwezi kufunika chaguzi zote za amri ya tar. Kwa habari zaidi, angalia mtu huyo au kurasa za maelezo.

amri ya cpio

Amri ya cpio inafanya kazi kwa njia tatu: nakala-nje kuunda kumbukumbu, nakala-ndani kutoa kutoka kwa kumbukumbu na nakala-pasi kunakili seti ya faili kutoka eneo moja hadi jingine. Kwa hali ya kunakili tumia -o au --create chaguo, kwa hali ya kunakili tumia -i au --extract chaguo, na hatimaye kwa hali ya kupitisha nakala tumia -p au --pass-through chaguo. Amri hupokea orodha ya faili za ingizo kutoka kwa kifaa cha kawaida cha kuingiza data stdin. Pato hutumwa kwa kifaa cha kawaida cha kutoa stdout au kwa kifaa au faili iliyobainishwa na chaguo la -f au --file.

Kuorodhesha 34 kunaonyesha jinsi ya kutengeneza orodha ya faili kwa kutumia find amri na kuzipitisha kwa amri ya cpio. Kumbuka matumizi ya -print0 chaguo la find kutengeneza majina ya faili kama mifuatano iliyokatishwa, na --null chaguo linalolingana la cpio kusoma data katika umbizo hili. Kutumia chaguo hizi hukuruhusu kushughulikia majina ya faili yaliyo na nafasi au herufi mpya. Chaguo la -depth linaambia find amri kuonyesha maingizo ya saraka kabla ya jina la saraka. Katika mfano wetu, tunaunda kumbukumbu mbili za saraka yetu ya lpi103-2: kumbukumbu moja iliyo na njia za jamaa, ya pili na njia kamili. Hatutumii vipengele mbalimbali vya amri ya kupata ili kupunguza orodha ya faili (kwa mfano, kutafuta faili ambazo zimebadilika wiki hii pekee).

Kuorodhesha 34. Inahifadhi saraka kwa kutumia cpio
$pata. -kina -chapisha0 | cpio --null -o > ../lpicpio.1 3 blocks $ find ~/lpi103-2/ -depth -print0 | cpio --null -o > ../lpicpio.2 4 vitalu

Ikiwa unataka majina ya faili zilizohifadhiwa kuonyeshwa kwenye skrini, tumia -v chaguo la amri ya cpio.

Amri ya cpio katika hali ya kunakili (chaguo -i au --extract) inaweza kutoa yaliyomo kwenye kumbukumbu au kutoa faili zilizochaguliwa. Wakati wa kuchapisha yaliyomo kwenye kumbukumbu, matoleo kadhaa ya zamani ya cpio huondoa inayoongoza / kutoka kwa kila jina (ikiwa ina moja) na uchapishe ujumbe unaolingana. Ili kuondoa ujumbe huu usio wa kawaida wakati wa kutazama yaliyomo kwenye kumbukumbu, unaweza kubainisha chaguo la --absolute-filenames. Chaguo hili linapuuzwa kimya kimya katika utekelezaji mwingi wa sasa. Kuorodhesha 35 kunaonyesha matokeo ya kuchagua ya yaliyomo kwenye kumbukumbu zetu mbili za awali.

Kuorodhesha 35. Kuangalia na kurejesha faili zilizochaguliwa kwa kutumia cpio
$ cpio -i --orodhesha "*chelezo*"< ../lpicpio.1 backup backup/text1.bkp.1 backup/text1.bkp.2 3 blocks $ cpio -i --list absolute-filenames "*text1*" < ../lpicpio.2 /home/ian/lpi103-2/text10 /home/ian/lpi103-2/backup/text1.bkp.1 /home/ian/lpi103-2/backup/text1.bkp.2 /home/ian/lpi103-2/text1 4 blocks

Orodha ya 36 inaonyesha jinsi ya kutoa faili zote zilizo na "text1" kwa jina lao, pamoja na njia zao, kwenye saraka ya muda. Baadhi ya faili hizi ziko katika saraka ndogo. Tofauti na tar , unahitaji kutaja wazi -d au --make-directories chaguo ikiwa mti wa saraka haupo. Kwa kuongeza, amri ya cpio haibadilishi faili zilizopo na tarehe ya baadaye isipokuwa -u au --chaguo lisilo na masharti limebainishwa.

Kuorodhesha 36. Kurejesha faili zilizochaguliwa kwa kutumia cpio
$ mkdir temp $ cd temp $ cpio -idv "*f1*" "*.bkp.1"< ../../lpicpio.1 f1a f1 backup/text1.bkp.1 3 blocks $ cpio -idv "*.bkp.1" < ../../lpicpio.1 cpio: backup/text1.bkp.1 not created: newer or same age version exists backup/text1.bkp.1 3 blocks $ cpio -id --no-absolute-filenames "*text1*" < ../../lpicpio.2 cpio: Removing leading `/" from member names 4 blocks ./home/ian/lpi103-2/backup/text1.bkp.1 ./home/ian/lpi103-2/backup/text1.bkp.2 ./home/ian/lpi103-2/text1 ./backup/text1.bkp.1 $ cd .. $ rm -rf temp # You may remove these after you have finished

Kwa habari zaidi kuhusu chaguzi mbalimbali, angalia ukurasa wa mtu.

dd amri

Katika fomu yake rahisi, amri ya dd inakili faili ya chanzo kwa faili mpya. Kwa kuwa tayari unajua amri ya cp, unaweza kuwa unajiuliza ni amri gani nyingine ambayo nakala za faili ni za? Jambo ni kwamba amri ya dd inaweza kufanya mambo kadhaa ambayo amri ya kawaida ya cp haiwezi kufanya. Hasa, inaweza kufanya mabadiliko kwenye faili, kama vile tafsiri kutoka herufi ndogo kwa juu au ubadilishaji kutoka ASCII hadi EBCDIC. Inaweza pia kufanya kazi na vizuizi vya faili, ambazo zinaweza kuwa muhimu wakati wa kuhamisha faili kwenye kifaa cha tepi. Amri hii inaweza kuruka au kutumia vizuizi vilivyochaguliwa pekee vya faili. Hatimaye, inaweza kusoma na kuandika kwa vifaa ghafi kama vile /dev/sda, kukuruhusu kuunda au kurejesha faili ambayo ni picha ya kizigeu kizima. Kwa kawaida, lazima uwe na haki za mizizi kuandika kwa vifaa.

Tutaanza na mfano rahisi, ambayo hubadilisha faili ya maandishi kuwa herufi kubwa kwa kutumia chaguo la ubadilishaji, kama inavyoonyeshwa katika Orodha ya 37. Kwa kutumia chaguo la if, tunabainisha kuwa ingizo linafaa kuchukuliwa kutoka kwa faili badala ya kutoka kwa kifaa cha kawaida cha kuingiza data. Kuna chaguo sawa la , ambalo linabatilisha kifaa chaguo-msingi cha pato. Ili kuonyesha uwezo wa programu, tunabainisha ukubwa tofauti wa vizuizi vya pembejeo na pato kwa kutumia chaguo za ibs na obs. Unapofanya kazi na faili kubwa, unaweza kupata ni rahisi kutumia ukubwa wa block kubwa ili kuharakisha uhamisho wa disk-to-disk. Katika hali nyingine, ukubwa wa kuzuia hutumiwa hasa kwa kufanya kazi na kanda za magnetic. Angalia mistari mitatu ya hali mwishoni mwa uorodheshaji, ambayo inaonyesha ni vizuizi vingapi vizima na sehemu vilivyosomwa na kuandikwa, pamoja na saizi ya mwisho ya data iliyohamishwa.

Kuorodhesha 37. Kubadilisha maandishi kuwa herufi kubwa kwa kutumia dd
$ paka maandishi6 1 tufaha 2 peari 3 ndizi 9 plum 3 ndizi 10 apple 1 apple 2 pear 3 ndizi 9 plum 3 ndizi 10 apple $ dd if=text6 conv=ucase ibs=20 obs=30 1 APPLE 2 PEAR 3 NDIZI 9 PLUM 3 NDIZI 10 APPLE 1 APPLE 2 PEAR 3 NDIZI 9 PLUM 3 NDIZI 10 APPLE Rekodi 4+1 katika rekodi 3+1 kati ya baiti 98 (98 B) zimenakiliwa, 0.00210768 s, 46.5 kB/s

Faili zozote zinaweza kuwa kifaa kibichi. Hii ni kawaida kwa mkanda, lakini nakala ya chelezo ya kizigeu cha diski nzima, kama vile /dev/hda1 au /dev/sda2, inaweza kuwekwa kwenye faili au mkanda. Kwa hakika, mfumo wa faili wa kifaa unapaswa kuteremshwa au angalau kupachikwa katika hali ya kusoma tu ili kuhakikisha kuwa data haibadiliki inapohifadhiwa nakala. Katika mfano wa Kuorodhesha 38, faili ya ingizo ni kifaa kibichi dev/sda2, na faili ya towe ni faili ya kawaida ya chelezo-1 iliyoko kwenye saraka ya nyumbani ya mtumiaji wa mizizi. Ili kutupa faili kwenye kanda au midia nyingine inayoweza kutolewa, lazima utumie chaguo kama of=/dev/fd0 au of=/dev/st0 .

Kuorodhesha 38. Kuhifadhi nakala kwa kutumia dd
# dd if=/dev/sda2 ya=chelezo-1 1558305+0 rekodi katika 1558305+0 rekodi kati ya baiti 797852160 (798 MB) zilizonakiliwa, 24.471 s, 32.6 MB/s

Kumbuka kuwa baiti 797,852,160 za data zilinakiliwa, na faili iliyosababishwa ni saizi hiyo, ingawa nafasi ya diski Sehemu hii inatumika 3% tu. Ikiwa hutumii ukandamizaji wa maunzi wakati wa kunakili kwenye mkanda, huenda ukahitaji kubana data. Kuorodhesha 39 kunaonyesha jinsi ya kufanya hivi; Amri za ls na df hukuruhusu kukadiria ukubwa wa faili na asilimia ya matumizi ya mfumo wa faili kwenye /dev/sda2 kifaa.

Kuorodhesha 39. Kuunda chelezo kwa kutumia mbano wa dd
# dd if=/dev/sda2 |gzip >hifadhi-2 1558305+0 rekodi katika 1558305+0 rekodi nje 797852160 byte (798 MB) zimenakiliwa, 23.4617 s, 34.0 MB/s # ls -l backup- -rw -r--. Mzizi 1 wa mizizi 797852160 2009-09-25 17:13 chelezo-1 -rw-r--r--. Mzizi 1 wa mzizi 995223 2009-09-25 17:14 chelezo-2 # df -h /dev/sda2 Ukubwa wa Mfumo wa faili Uliotumika Unapatikana Tumia% Imewekwa kwenye /dev/sda2 755M 18M 700M 3% /grubfile

Mfinyazo na gzip hupunguza saizi ya faili kwa takriban 20%. Walakini, vizuizi visivyotumika vinaweza kuwa na data ya kiholela, kwa hivyo hata kumbukumbu iliyobanwa inaweza kuwa kubwa kuliko saizi ya jumla data katika sehemu.

Ukigawanya jumla ya idadi ya baiti zilizonakiliwa na idadi ya rekodi zilizochakatwa, utaona kwamba dd huandika data katika vizuizi vya baiti 512. Ikiwa kunakili kutafanywa kwa kifaa kibichi kama vile tepu, kasi ya kunakili inaweza kupunguzwa sana. Kama ilivyotajwa hapo awali, unaweza kutumia chaguo la obs kubadilisha saizi ya kizuizi cha pato, na chaguo la ibs kubadilisha saizi ya kizuizi cha ingizo. Chaguo la bs linaweza kutumika kuweka saizi ya jumla ya vizuizi vya ingizo na ingizo. Ikiwa unatumia kiendeshi cha tepi, hakikisha unatumia ukubwa sawa wa kuzuia wakati wa kusoma kutoka kwenye tepi kama unapoandika kwa tepe.

Ikiwa unahitaji kutumia kaseti nyingi za tepi au midia nyingine inayoweza kutolewa ili kuhifadhi kumbukumbu, huenda ukahitaji kugawanya kumbukumbu katika sehemu kadhaa ndogo kwa kutumia matumizi kama vile kugawanyika. Ikiwa unahitaji kuruka vizuizi kama vile diski au lebo za tepe, unaweza kufanya hivyo kwa dd . Unaweza kupata mifano kwenye kurasa za mtu.

Amri ya dd haijaelekezwa kwenye mfumo wa faili, kwa hivyo ikiwa unataka kujua ni data gani iliyomo kwenye kizigeu, unahitaji kurejesha utupaji wake. Kuorodhesha 40 kunaonyesha jinsi ya kurejesha kizigeu kutoka kwa dampo iliyoundwa katika Orodha 39 hadi kizigeu cha /dev/sdc7, ambacho kiliundwa mahsusi kwa mfano wetu kwenye gari la USB linaloweza kutolewa.

Kuorodhesha 40. Kurejesha kizigeu kwa kutumia dd
# gunzip chelezo-2 -c | dd ya=/dev/sdc7 1558305+0 rekodi katika rekodi 1558305+0 kati ya baiti 797852160 (798 MB) zilizonakiliwa, 30.624 s, 26.1 MB/s

Unaweza kupendezwa kujua kwamba baadhi ya programu za kuchoma CD na DVD hutumia kwa siri amri ya dd kuandika data moja kwa moja kwenye kifaa. Ikiwa programu yako itarekodi kila kitendo inachofanya kwenye logi, basi kwa kuwa sasa unajua kidogo kuhusu dd unaweza kuona ni muhimu kukitazama. Ikiwa unachoma picha ya ISO kwenye CD au DVD, njia moja ya kuhakikisha kuwa hakuna makosa wakati wa mchakato wa kuchoma ni kusoma data kutoka kwa diski kwa kutumia dd na kupitisha matokeo kama pembejeo kwa amri ya cmp. Orodha ya 41 inaonyesha mbinu ya jumla inayotumia faili yetu ya kumbukumbu ambayo tuliunda awali badala ya picha ya ISO. Kumbuka kwamba tunahesabu idadi ya vitalu vinavyohitajika kusoma kulingana na ukubwa wa picha.

Kuorodhesha 41. Kulinganisha picha na mfumo wa faili
# ls -l chelezo-1 -rw-r--r--. mzizi 1 797852160 2009-09-25 17:13 chelezo-1 # echo $(797852160 / 512)) # hesabu nambari ya vizuizi vya baiti 512 1558305 # dd if=/dev/sdc7 bs=553 hesabu=1 cmp - chelezo-1 1558305+0 rekodi katika 1558305+0 rekodi nje 797852160 byte (798 MB) zilizonakiliwa, 26.7942 s, 29.8 MB/s

4.3. Kusudi la saraka kuu za mfumo

Ikiwa umefanya kazi na Windows 95, kwa mfano, basi unajua kwamba ingawa mtumiaji ana uhuru kamili katika kupanga muundo wa saraka, baadhi ya "desturi" bado zinabaki. Kwa hivyo faili za mfumo kawaida ziko kwenye saraka ndogo ya C:\Windows, programu mpya zilizosanikishwa huwekwa kwa chaguo-msingi katika saraka ya C:\Program Files, nk. Katika Linux. muundo wa kawaida katalogi hutunzwa, pengine, hata kwa ukali zaidi. Kwa kuongezea, kuna hata kiwango cha muundo wa saraka kwa mifumo ya uendeshaji kama UNIX, ile inayoitwa Kiwango cha Udhibiti wa Mfumo wa Faili (FHS), maandishi kamili ambayo yanaweza kupatikana katika http://www.pathname.com/fhs/(Kumbuka 10). Usambazaji wa Red Hat kwa kiasi kikubwa hufuata kiwango cha FHS.

Katika meza 4.1 hutoa orodha fupi ya saraka kuu za muundo wa faili ambazo huundwa wakati wa kusakinisha usambazaji wa Red Hat (na warithi wake).

Safu wima ya kushoto huorodhesha saraka ndogo za saraka ya msingi, safu wima ya pili huorodhesha baadhi ya saraka kuu (si zote!) za kiwango cha pili, na safu wima ya tatu inatoa maelezo mafupi ya madhumuni ya saraka hizi zote. Maelezo ni mafupi sana; unaweza kujua zaidi juu ya katalogi kuu katika maandishi ya kiwango cha FHS ( http://www.pathname.com/fhs/).

Jedwali 4.1. Muundo wa Saraka ya Red Hat Linux

Katalogi

Saraka ndogo

Kusudi

/bin

Saraka hii ina sehemu kubwa iliyo tayari kutumika utekelezaji wa programu, nyingi zinahitajika wakati wa kuanzisha mfumo (au katika hali ya mfumo wa mtumiaji mmoja inayotumika kwa utatuzi). Idadi kubwa ya amri za Linux zinazotumiwa sana zimehifadhiwa hapa

/boot

Ina msingi faili za kudumu ili kuwasha mfumo, haswa kernel inayoweza kusongeshwa. Faili kutoka kwa saraka hii zinahitajika tu wakati wa kuwasha mfumo

/dev

Saraka ya faili maalum au kifaa. Tutazungumza juu yao kwa undani zaidi katika moja ya vifungu vifuatavyo. Unaweza pia kuangalia mtu mknod(1)

/na kadhalika

Saraka hii na saraka zake ndogo zina data nyingi zinazohitajika ili kuwasha mfumo na faili kuu za usanidi. /etc ina, kwa mfano, faili ya inittab, ambayo inafafanua usanidi uliopakiwa, na faili ya nenosiri la mtumiaji passwd. Baadhi ya faili za usanidi zinaweza kuwa ziko ndani /usr/nk. Saraka ya /etc haipaswi kuwa na faili zozote za binary (zinapaswa kuhamishwa hadi /bin au /sbin). Chini ni madhumuni ya subdirectories kuu (lakini sio zote!) za saraka / nk

/etc/rc.d

Orodha hii ndogo ina faili zinazotumiwa wakati wa mchakato wa kuwasha mfumo. Maelezo zaidi juu yao na mchakato wa upakiaji kwa ujumla utajadiliwa katika sehemu 8.2

/etc/skel

Mtumiaji mpya na akaunti inapoundwa kwa ajili yake, faili kutoka saraka hii zinanakiliwa kwenye saraka mpya ya nyumbani ya mtumiaji.

/etc/sysconfig

Saraka iliyo na faili zingine (lakini sio zote) za usanidi wa mfumo

/etc/X11

/nyumbani

Kwa kawaida saraka hii huwa na saraka za nyumbani za mtumiaji

/lib

Saraka hii ina maktaba zilizoshirikiwa za utendakazi zinazohitajika na mkusanyaji C na moduli (viendeshi vya kifaa). Hata kama huna kikusanya C kilichosakinishwa kwenye mfumo wako, maktaba zinazoshirikiwa ni muhimu kwa sababu zinatumiwa na programu nyingi za programu. Zimepakiwa kwenye kumbukumbu inavyohitajika kufanya kazi fulani, ambayo husaidia kupunguza idadi ya msimbo wa programu - vinginevyo nambari hiyo hiyo ingerudiwa mara nyingi katika programu mbalimbali Oh

/imepotea+imepatikana

Saraka hii hutumiwa wakati wa kurejesha mfumo wa faili na amri fsck. Kama fsck hugundua faili ambayo saraka yake ya mzazi haiwezi kubainishwa, inaweka faili kwenye saraka /lost+found. Kwa kuwa saraka kuu imepotea, faili kama hizo hupewa majina yanayolingana na nambari zao za ingizo

/mnt

Hii ndio sehemu ya kupachika kwa mifumo ya faili iliyowekwa kwa muda. Ikiwa kompyuta inaendesha Linux na MS DOS kwa njia mbadala, basi saraka hii kawaida hutumiwa kuweka mfumo wa faili wa MS DOS. Ikiwa una mazoea ya kuweka media nyingi za ziada, kama vile diski za floppy, CD-ROM, ziada HDD nk, basi unaweza kuunda saraka ndogo za ziada zinazolingana kwa kila media

/proc

Hii ndio mahali pa kuweka mfumo wa faili wa proc, ambayo hutoa habari juu ya michakato inayoendesha, kernel, vifaa vya usakinishaji wa kompyuta, n.k. Ni mfumo wa faili bandia, maelezo ambayo yanaweza kupatikana kwa amri. mtu 5 proc. Faili maalum kutoka kwa saraka hii hutumiwa kupokea na kusambaza data kwenye kernel

/mzizi

Hii ni saraka ya nyumbani ya mtumiaji mkuu. Tafadhali kumbuka kuwa haipatikani ambapo saraka za kibinafsi za watumiaji wengine ziko (ndani/nyumbani)

/sbin

Sawa na saraka ya /bin, ina faili zinazoweza kutekelezwa - programu za OS na huduma zinazotumiwa wakati wa mchakato wa boot na kuzinduliwa na msimamizi wa mfumo. Kiwango cha FHS kinasema kwamba faili zinazoweza kutekelezwa ambazo hutumika baada ya mfumo wa faili wa /usr kupachikwa kwa ufanisi lazima ziwekwe kwenye saraka hii. Yaliyomo chini ya saraka hii ni pamoja na programu za saa, getty, init, sasisha, mkswap, swapon, swapoff, kusitisha, kuwasha upya, kuzima, fdisk, fsck.*, mkfs.*, lilo, arp, ifconfig, njia

/tmp

Katalogi ya faili za muda. Wakati wowote, mtumiaji mkuu anaweza kufuta faili kutoka kwa saraka hii bila madhara mengi kwa watumiaji wengine. Hata hivyo, hupaswi kufuta faili kutoka kwenye saraka hii isipokuwa iwe wazi kwako kwamba faili fulani au kikundi cha faili kinaingilia kazi inayoendelea ya uzalishaji kwenye mashine. Mfumo yenyewe husafisha saraka hii mara kwa mara, kwa hivyo hupaswi kuhifadhi faili hapa ambazo unaweza kuhitaji katika siku zijazo

/usr

Saraka hii ni kubwa na muundo wake kimsingi unafuata muundo wa saraka ya mizizi. Subdirectories zake zina programu zote kuu. Kwa mujibu wa kiwango cha FHS, inashauriwa kutenga kizigeu tofauti cha diski kwa saraka hii au hata kuiweka. gari la mtandao, kawaida kwa kompyuta zote kwenye mtandao. Sehemu kama hiyo au diski imewekwa kwa kusoma tu na ina usanidi wa kawaida na faili zinazoweza kutekelezwa, nyaraka, huduma za mfumo na maktaba, na pia ni pamoja na faili (faili za aina iliyojumuishwa)

/usr/bin

Programu zilizo tayari kukimbia ni huduma na programu ambazo mara nyingi huitwa na watumiaji wa kawaida.

/usr/bin/X11 - Eneo la kawaida la programu za X-Window zilizo tayari kuendesha kwenye Linux. Mara nyingi hii kiungo cha ishara juu /usr/X11R6/bin

/usr/dict

Saraka hii ina faili za msamiati kwa programu za kukagua tahajia.

/usr/nk

Hii ina faili za usanidi kwa kikundi cha mashine. Walakini, amri na programu lazima ziangalie kwenye saraka /na kadhalika, ambayo inapaswa kuwa na viungo vya faili kwenye saraka /usr/nk

/usr/include

Saraka hii ina msimbo wa chanzo wa maktaba za kawaida za C, ambazo huingizwa kwenye programu kwa kutumia maagizo ya kichakataji. Kwa hivyo, mtumiaji lazima awe na angalau ruhusa ya kusoma kutoka kwa saraka hii. Kwa hali yoyote unapaswa kurekebisha faili kwenye saraka hii, kwa sababu zimetatuliwa kwa uangalifu na msanidi wa mfumo (isipokuwa unajua mfumo bora kuliko msanidi programu)

/usr/lib

Saraka hii ina maktaba ya vitu vya utaratibu, maktaba zenye nguvu, baadhi ya mipango tayari-kutekeleza ambayo haijaitwa moja kwa moja. Mifumo changamano ya programu inaweza kuwa na saraka zao ndogo katika saraka hii.

    /usr/lib/X11 - Mahali pa kawaida pa kuweka faili zinazohusiana na X-Window, pamoja na faili za usanidi wa mfumo wa X-Window yenyewe. Kwenye Linux hii kawaida ni kiunga cha mfano kwa saraka /usr/X11R6/lib/X11.

    /usr/lib/gcc-lib - Ina programu ambazo tayari-kuendeshwa na inajumuisha faili za mkusanyaji wa GNU C (gcc).

    /usr/lib/groff - Faili za mfumo wa uundaji wa maandishi ya groff.

    /usr/lib/uucp - Faili za UUCP.

    usr/lib/zoneinfo - Faili za kufafanua eneo la saa. Tazama pia kurasa za mwongozo jina-xfer (8), faili (5), tzchagua (8), zdump (8), zic (8)

/usr/ndani

Kwa kawaida, programu na subdirectories ambazo ni za ndani (pekee) kwa mashine fulani zimewekwa hapa.

    /usr/local/bin - Kwa kawaida, programu tayari-kutekeleza ambazo ni za kawaida (pekee) kwa mashine fulani zimewekwa hapa.

    /usr/local/doc - Hati za vifurushi vyote vya programu zilizosakinishwa kwenye kompyuta yako ziko hapa.

    /usr/local/etc - Faili za usanidi kwa programu zilizosanikishwa ndani.

    /usr/local/lib - Maktaba na faili za programu na mifumo iliyosakinishwa ndani.

    /usr/local/info - Kurasa za maelezo zinazotazamwa kupitia programu ya maelezo kwa programu zilizosakinishwa ndani ya nchi.

    /usr/local/man - Kurasa za maelezo, zilizotazamwa kupitia programu ya mtu, kwa programu zilizosanikishwa ndani ya nchi.

    /usr/local/sbin - Programu za mitaa msimamizi wa mfumo.

    /usr/local/src - Maandishi ya chanzo cha programu zilizowekwa kwenye mashine hii

/usr/mtu

Kurasa za watu mtandaoni katika umbizo lao asili (hazijatolewa kwa kutazamwa).

/usr/mtu/ /man - Saraka hizi zina kurasa za mwongozo katika lugha mbalimbali (kulingana na thamani ya eneo). Mifumo inayotumia lugha moja na seti moja ya msimbo haiwezi kutumia kamba ndogo

/usr/sbin

Saraka hii ina programu za usimamizi wa mfumo zilizo tayari kuendesha ambazo hazitumiwi wakati wa kuwasha

/usr/src

Misimbo ya chanzo kwa sehemu mbalimbali za Linux.
/usr/src/linux - maandishi ya chanzo kwa Linux kernel

/usr/tmp

Mahali pengine pa kuhifadhi faili za muda. Kawaida hiki ni kiunga cha ishara kwa saraka /var/tmp

/usr/X11R6

Faili zinazohusiana na mfumo wa X-Window (toleo la 11, toleo la 6).

    /usr/X11R6/bin - Tayari-kutekeleza programu za mfumo wa X-Window.

    /usr/X11R6/lib - Faili na maktaba zinazohusiana na mfumo wa X-Window

/var

Saraka hii ina faili zinazohifadhi data tofauti tofauti ambazo huamua usanidi wa programu fulani wakati ujao zinapozinduliwa, au maelezo yaliyohifadhiwa kwa muda ambayo yatatumika baadaye katika kipindi cha sasa. Kiasi cha data katika saraka hii inaweza kutofautiana sana kwa vile ina, kwa mfano, faili za kumbukumbu, faili za spooling na kufunga, faili za muda, nk.

/var/adm

Ina maelezo ya uhasibu na uchunguzi yanayohitajika na msimamizi wa mfumo

/var/chelezo

/var/catman/paka

Saraka hii inatumika kuhifadhi kurasa za mwongozo zilizotengenezwa tayari kulingana na nambari ya sura

/var/lock

Hii ina faili za udhibiti wa mfumo ambazo hutumiwa kuhifadhi matumizi ya rasilimali fulani za mfumo

/var/logi

Faili mbalimbali za itifaki (magogo)

/var/run

Faili zinazobadilika wakati wa utekelezaji wa programu mbalimbali. Zina vitambulishi vya mchakato (PIDs) na kurekodi habari ya sasa (utmp). Faili katika saraka hii kwa kawaida huondolewa wakati wa kuwasha mfumo

/var/spool

Faili za programu mbalimbali zilizowekwa kwenye foleni kwa huduma.

    /var/spool/at - Faili za kazi zilizozinduliwa kwa kutumia amri.

    /var/spool/cron - Faili za mfumo wa Cron.

    /var/spool/lpd - Faili zinazosubiri kuchapishwa.

    /var/spool/mail - Sanduku za barua za mtumiaji.

    /var/spool/news - Faili za mfumo wa habari.

    /var/spool/uucp - faili za mfumo wa uucp

/var/tmp

Faili za muda

V. Kostromin (kos at rus-linux dot net) - 4.3. Kusudi la saraka kuu za mfumo

Utangulizi wa Mfumo wa Faili

Mfumo wa uendeshaji (hapa unajulikana kama OS) Linux inasaidia nyingi mifumo ya faili, inayotumika sana kwa sasa: ext2, ext3, ext4, reiserfs. Pia, mifumo ya uendeshaji ya Linux ya kisasa inaendana na mifumo ya faili(FS hapa chini) inayotumiwa na Windows OS, kama vile NTFS Na FAT32, lakini utumiaji wa data ya FS katika Linux haifai sana kwa sababu ya ukweli kwamba FS hizi zilitengenezwa kwa Windows OS na usaidizi wa sehemu za Windows na kernel ya Linux unatekelezwa kwa kutumia huduma/madereva/moduli za wahusika wengine, ambayo inaweka vikwazo fulani. kwa mfano, kulingana na mradi wa Linux-NTFS wakati wa kuandika, karibu kusoma tu kunasaidiwa kwenye sehemu na NTFS (kuandika ni kwa faili zilizopo tu bila kubadilisha ukubwa wao), na Linux OS haina uwezo wa kutofautisha haki za upatikanaji. kwenye faili Sehemu za NTFS. Hali hii inaweza kubadilika kwa muda.

Dhana za Msingi

Nitaanza na muundo wa jumla wa mfumo wa faili. FS Linux/UNIX kimwili inawakilisha nafasi ya kizigeu cha diski iliyogawanywa katika vizuizi vya saizi isiyobadilika, mawimbi ya ukubwa wa sekta - 1024, 2048, 4096 au 8120 byte. Ukubwa wa kuzuia hutajwa wakati mfumo wa faili umeundwa.

Usimamizi wa ubadilishanaji wa data kati ya kernel/programu na byte halisi kwenye diski unashughulikiwa na 2. teknolojia za msingi, kuitwa mfumo wa faili halisi (VFS) Na madereva ya mfumo wa faili. Mfumo wa faili halisi ni sehemu ya kernel ya linux, ambayo ni aina ya safu ya kufikirika (miingiliano ya mwingiliano, ikiwa unapenda) kati ya kernel na utekelezaji maalum wa mfumo wa faili (ext2, fat32 ...). Teknolojia hii inaruhusu kernel na maombi kuingiliana na mfumo wa faili bila kuzingatia maelezo ya uendeshaji wa mfumo maalum wa faili na kusimamia uendeshaji wa faili kwa kutumia amri za kawaida - kwa uwazi. Mara nyingi, VFS inaitwa swichi ya mfumo wa faili ya kawaida. Mfumo wa faili wa kawaida pia huunganisha vifaa vya kuzuia na mifumo iliyopo ya faili.

Orodha ya mifumo ya faili inayoungwa mkono na kinu chako cha Linux inaweza kuonekana kwenye faili /proc/filesystems.

Muundo wa saraka na dhana zingine za msingi

Muundo wa saraka, kwa ujumla, inaweza kuwakilishwa kama mchoro ufuatao:

Mchoro huu unaonyesha kuwa kitu kimoja cha mfumo wa faili (faili) kinaweza kuwa na njia nyingi. Kwa kusema, faili nyingi katika muundo wa saraka ya Linux zinaweza kuwa faili moja kwenye diski. Au kwa maneno mengine, faili 1 ya kimwili kwenye diski inaweza kuwa na majina kadhaa (njia). Hii inafanikiwa kwa kutambua kila faili katika mfumo wa faili. nambari ya kipekee , kuitwa Inode(node ​​= Inode).

Kutokana na hili tunaweza kuhitimisha kuwa muundo wa mfumo wa faili ni sehemu ya kihierarkia. Au bora kusema, "msalaba-hierarkia," kwa sababu mti wa uongozi, kutokana na ukweli kwamba kitu kimoja kinaweza kuwa na njia kadhaa, kinaweza kuingiliana.

Katika faili Muundo wa Linux kuna moja kizigeu cha mizizi-/ (aka mzizi , mzizi ) Wote partitions za gari ngumu(ikiwa kuna kadhaa yao) inawakilisha muundo wa saraka ndogo "zilizowekwa" kwa saraka fulani; hii inaweza kuwakilishwa kimkakati kama ifuatavyo:

/- |-/etc-|-/etc/X11-|-/etc/X11/xinit.d | | |-... | | faili | |-... |-/chagua |-/nyumbani<- |-/user1-|-/user1/Desktop # примонтированный раздел ext3, | | |-/user1/Documents # содержащий свое дерево каталогов | | |-... # (/home - точка монтирования) | |-/user2 | |-.... |-/usr |-/var

Operesheni ya mlima hutumikia kufanya mfumo wa faili upatikane kwenye kifaa cha kuzuia. Kiini cha operesheni ya kuweka ni kwamba kernel inahusisha saraka (inayoitwa sehemu ya mlima) na kifaa kilicho na mfumo wa faili na kiendesha mfumo wa faili. Ili kufanya hivyo, hupitisha kiunga cha kifaa cha kuzuia - kiendesha mfumo wa faili, na ikiwa dereva amefanikiwa kutambua mfumo huu wa faili, kernel inaingia kwenye meza maalum ya mlima habari ambayo faili zote na saraka ambazo njia yake kamili huanza na sehemu maalum ya mlima, huhudumiwa na kiendeshi sahihi cha mfumo wa faili na ziko kwenye kifaa maalum cha kuzuia. Unaweza kutazama jedwali la mifumo ya faili iliyowekwa kupitia faili /proc/mounts .

Kumbuka. Kwa ujumla, si lazima kumfunga kifaa cha kuzuia katika kesi hii. Kifaa ambacho kimewekwa kinaweza kuwa sio msingi wa kuzuia tu. Inaweza kuwa, kwa mfano, mtandao (ikiwa NFS au SMB\CIFS imewekwa).

Tazama faili ina viungo vingapi na ingizo faili kwa kutumia amri:

$ ls -li 193 drwxr-xr-x 1 mc-sim mzizi 368 Mar 30 2008 bin 1 drwxr-xr-x 1 mc-sim mzizi 0 Jan 1 1970 dev 197 lrwxrwxrwx mzizi 1 mc-3 nk 2 mc-sim 3 tmp/nk...

katika mfano uliopewa, safu ya kwanza (maadili 193,1,197) ni ingizo, na safu ya tatu (maadili 1) ni idadi ya viungo vya faili (soma: njia za faili).

Inode, kama ilivyosemwa tayari, kipekee ndani ya mfumo maalum wa faili na ina taarifa zifuatazo:

  • kuhusu mmiliki wa kitu cha FS
  • wakati wa mwisho wa kufikia
  • ukubwa wa kitu cha FS
  • kubainisha ikiwa ni faili au saraka
  • haki za ufikiaji
Muundo na Maelezo ya Saraka ya Linux
. kiungo kwa saraka ya sasa. Kipengele hiki kipo katika kila saraka katika muundo wa faili.
.. kiungo kwa saraka ya wazazi. Kipengele hiki kipo katika kila saraka katika muundo wa faili. (kwenye mzizi - / kipengele hiki kinaonyesha mfumo wa mizizi yenyewe)
/ Saraka ya mizizi ya FS, saraka zingine zote za kiwango cha kwanza "zimefungwa" hapa
/bin/ Mipango ya binary, mipango ya msingi ya kufanya kazi katika mfumo: shells za amri, faili za huduma na kadhalika.
/boot/ faili za bootloader tuli (picha ya kernel, GRUB, faili za LILO)
|-- /bumbu/
|-- /lilo/ Saraka ya faili za usanidi
| config-kern_ver faili ya usanidi wa kernel ya sasa
| initrd.img-kern_ver boot picha initrd
| vmlinuz-kern_ver Picha ya Linux kernel
/dev/ saraka iliyo na faili za kifaa.
Katika Linux, kila kitu kwa ujumla huchukuliwa kama faili, hata vifaa mbalimbali, kama vile vichapishi, diski kuu, vichanganuzi, n.k. Ili kupata ufikiaji wa kifaa maalum, lazima uwe nayo faili maalum. Mifumo mingi ya uendeshaji inayofanana na UNIX imeundwa kwa njia sawa.
|-- /pts/ mfumo wa faili wa dummy unaowakilisha muundo wa faili, ambayo inaonyesha vituo bandia vya watumiaji walioingia
| |-- 0 kifaa pseudo terminal pts/0
| |-- 1 kifaa pseudo terminal pts/1
| --- n kifaa pseudo terminal pts/n
|-- null kinachojulikana "shimo nyeusi" au "bit urn". Taarifa zote zimetumwa kwa kifaa hiki- kutoweka/kuharibika.
--- sufuri "jenereta sifuri"
/na kadhalika/ Faili za usanidi wa mfumo, hati za kuanza, faili za usanidi wa mfumo wa graphics na programu mbalimbali. Kutoka kwa saraka hii ningependa kuangazia faili zifuatazo:
|-- /chaguo-msingi/ ina faili za usanidi wa mfumo katika usambazaji wa Debian (sawa na /etc/sysconfig/ katika RedHat)
|-- /logrotate.d/ saraka ya faili za usanidi kwa daemon ya usindikaji wa logi moja kwa moja;
| |-- apache
| |-- ngisi usanidi wa kukata magogo wa apache
| |-- syslog usanidi wa kumbukumbu ya mfumo
| --- ...
|-- /pam.d/ saraka ina faili za usanidi za PAM (taja njia za uthibitishaji katika programu zinazotumia PAM)
|-- /ppp/ saraka ina usanidi wa unganisho wa PPP:
| |-- chaguzi ina usanidi wa kawaida kwa miunganisho yote ya PPP;
| |-- chaguzi.* usanidi wa muunganisho maalum (kwa mfano, chaguzi za modemu.ttyS1)
| |-- ip-up hati iliyotekelezwa kwenye/kwa muunganisho (na daemon ya pppd);
| --- ip-chini hati iliyotekelezwa wakati/kwa kukatwa (na daemon ya pppd).
|-- /rc.d/ saraka ya mfumo (ina hati za uanzishaji)
| |-- /init.d/ ina maandishi ya kudhibiti daemoni za mfumo (huduma);
| --- /rcX.d/ Saraka za X runlevel, zina viungo vya hati katika init.d;
|-- /samba/ ina faili za usanidi wa samba:
| |-- smb.conf faili kuu ya usanidi wa SAMBA;
| |-- smbusers inaelezea ramani ya watumiaji wa SAMBA kwa watumiaji wa mfumo;
| --- smbpasswd ina heshi za mtumiaji wa SAMBA, manenosiri yamewekwa na matumizi ya smbpasswd.
|-- /ssh/ sshd saraka ya usanidi wa daemon
| |-- ssh_config ssh faili ya usanidi wa mteja
| --- sshd_config Faili ya usanidi wa seva ya SSH
|-- /sysconfig/ ina faili za usanidi wa mfumo katika usambazaji wa RedHat (sawa na /etc/default/ katika Debian)
| |-- kibodi maelezo ya mpangilio wa sasa wa kibodi;
| |-- eneo-kazi kusakinisha mazingira ya picha (KDE, GNOME..);
| |-- mtandao faili ya usanidi wa mfumo mdogo wa mtandao
| --- i18n usanidi wa eneo la mfumo mzima (locale watumiaji binafsi inaweza kuwa ndani (nyumbani)/i18n);
|-- /usalama/ ina Faili zinazoelezea usalama wa mfumo:
| |-- console.perms sheria za kubadilisha haki za ufikiaji kwa vifaa wakati wa uthibitishaji;
| |-- mipaka.conf usanidi wa mipaka ya mtumiaji.
| --- mtandao usanidi wa mtandao;
|-- /skel/ template ya saraka ya mtumiaji (wakati wa uundaji wa mtumiaji, yaliyomo kwenye saraka ya mtumiaji yanakiliwa kutoka hapa), aina ya analog ya C:\Nyaraka na mipangilio\Mtumiaji Chaguomsingi\ saraka katika Windows.
|-- /xinetd.d/ saraka ina faili za usanidi kwa huduma za kibinafsi kwa seva kuu ya xinetd;
|-- /X11/ /fs/config ina orodha ya saraka na fonti za X;
| |-- Usanidi wa XF86 faili ya usanidi wa X (XFree86);
| --- xorg.conf faili ya usanidi wa X (XOrg);
|-- kwa.kuruhusu Orodha ya watumiaji wanaoruhusu (kuruhusu) au kukataa (kukataa) utekelezaji wa matumizi
|-- kwa.kataa
|-- cron.ruhusu Orodha ya watumiaji wanaoruhusu (kuruhusu) au kukataa (kukataa) utekelezaji
|-- cron.kataa
|-- anacrontab usanidi wa kazi zilizofanywa na anacron;
|-- crontab usanidi wa kazi zinazotekelezwa na cron;
|-- etha Faili inayolingana na anwani za maunzi ya MAC kwa anwani za IP za mtandao kwenye mtandao; iwapo kutatokea kutofautiana, ufikiaji wa seva pangishi utakataliwa;
|-- kuuza nje usanidi wa rasilimali za NFS zinazopatikana kutoka nje;
|-- mifumo ya faili orodha ya mifumo ya faili inayoungwa mkono na kernel (mfumo wa faili unachukuliwa kutoka hapa ikiwa haujaorodheshwa katika /etc/fstab)
|-- fstab orodha ya faili ambazo huwekwa kiotomatiki kwenye buti
|-- kikundi hifadhidata
|-- kivuli faili ya nenosiri ya kikundi cha mtumiaji
|-- jina la mwenyeji jina la mashine ya sasa;
|-- wenyeji orodha ya majeshi na anwani zao za IP zinazofanana;
|-- mwenyeji.ruhusu orodha ya majeshi ambayo yanaruhusiwa kuingia;
|-- mwenyeji.kataa orodha ya wapangishi ambao kuingia kwao ni marufuku (kwa libc ver 5);
|-- mwenyeji.conf inaonyesha ni wapi na kwa mpangilio gani wa kutafuta majina ya mwenyeji (kwa libc ver 6);
|-- initab ;
|-- pembejeorc usanidi wa rasilimali za pembejeo za kibodi;
|-- suala ujumbe unaoonyeshwa wakati uhusiano wa ndani kwa mfumo
|-- issue.net ujumbe unaoonyeshwa wakati uunganisho wa mbali kwa mfumo
|-- ld.so.conf faili ya usanidi iliyo na orodha ya saraka ambayo, pamoja na njia zilizoainishwa, kiunganishi huangalia saraka /lib na /usr/lib.
|-- ld.so.cache kashe ya faili ya maktaba, kwa zaidi utafutaji wa haraka maktaba (aina ya faharisi)
|-- login.defs inaelezea tabia ya kuingia na su;
|-- logrotate.conf usanidi wa daemon
|-- lilo.conf usanidi wa bootloader ya LILO;
|-- man.conf usanidi wa mfumo wa ukurasa wa usaidizi, amri ya mtu;
|-- motd ujumbe unaoonyeshwa kwa watumiaji wote baada ya kuingia nenosiri na kabla ya kuanza mkalimani, kinachojulikana. "ujumbe wa siku"
|-- mtab Orodha ya FS iliyowekwa kwa sasa. Kwa kawaida, faili hii inapaswa kuundwa mara tu mfumo mpya wa faili unapowekwa.
|-- kundi la mtandao Faili inafafanua vikundi vya mtandao vinavyotumiwa kuangalia haki za ufikiaji wakati wa kufanya kuingia kwa mbali.
|-- nologi uwepo wa faili hii huzuia watumiaji kuingia kwenye mfumo na ujumbe katika faili;
|-- nsswitch.conf usanidi wa mlolongo wa utafutaji wa majina kutoka kwa vyanzo mbalimbali;
|-- passwd
|-- printcap Faili ya usanidi wa printa;
|-- wasifu hati ya wasifu kwa mkalimani wa BASH(hufanyika baada ya usajili katika mfumo na kutumika kwa watumiaji wote wa mfumo);
|-- itifaki faili inaelezea nambari za itifaki, majina na maelezo.
|-- resolv.conf usanidi wa kisuluhishi cha jina, ina orodha ya seva za DNS;
|-- rpc faili inaelezea huduma za RPC (inayolingana na jina la seva ya RPC, nambari ya programu ya RPC na lakabu)
|-- huduma ina michoro ya nambari za bandari/tundu kwa majina ya huduma
|-- kivuli
|-- sysctl.conf ina maagizo ya uanzishaji kiotomatiki wa vigezo vya sysctl ya kernel;
|-- syslog.conf usanidi wa daemon ya kumbukumbu ya mfumo (syslogd);
|-- sudoers kiashiria cha watumiaji na ni programu zipi zinaweza kuendeshwa na upendeleo wa mizizi kwa kutumia sudo.
--- xinetd.conf Usanidi wa msimamizi wa mtandao (usimamizi wa tundu / bandari ya kati);
/nyumbani/ (jina la mtumiaji) saraka iliyo na subdirectories za watumiaji (mipangilio ya kiolesura, faili za kibinafsi)
|-- .bashrc wasifu mtumiaji maalum kwa BASH (huendesha wakati bash inapoanza au nakala ya bash inapoanza);
|-- .cshrc wasifu maalum wa mtumiaji wa TCSH;
|-- .bash_profile wasifu maalum wa mtumiaji wa BASH (huendesha kila wakati unapoingia).
|-- .inputrc usanidi wa rasilimali za ingizo za kibodi kwa mtumiaji maalum.
|-- .Mamlaka faili ya idhini ya kuzindua programu za X kwa mbali, faili kwenye mashine za mbali lazima zifanane;
|-- .xinitrc Hati ya boot ya seva ya X kwa mtumiaji maalum;
--- .mpango
.mradi
.mbele
faili hizi hutumiwa na matumizi ya kidole ili kuonyesha maelezo ya mtumiaji
/lib/ Maktaba za mfumo zinazohitajika kwa programu na moduli za kernel. (IN Maktaba ya Windows ni moduli za dll)
/imepotea+imepatikana Iliyopotea+iliyopatikana ina faili ambazo hazina viungo katika saraka yoyote, ingawa ingizo zao hazikuwekwa alama kuwa zisizolipishwa.
/media/ Saraka ya kuweka media inayoweza kutolewa (CD, Flash)
|-- /cdrom/
/mnt/ Saraka ina sehemu za kupachika za muda za vifaa
/chagua/ Vifurushi vya ziada vya programu. Ikiwa programu iliyowekwa hapa haihitajiki tena, basi inatosha kufuta saraka yake bila utaratibu wa kufuta. Programu ambazo si sehemu ya usambazaji zinaweza kusakinishwa hapa. (kwa mfano /opt/openoffice.org).
/proc/ FS pepe iliyohifadhiwa kwenye kumbukumbu ya kompyuta wakati OS inapopakiwa. Saraka hii ina taarifa za hivi punde kuhusu michakato yote inayoendeshwa kwenye kompyuta. Yaliyomo katika kila faili imedhamiriwa kwa wakati halisi. Kati ya saraka hii, ningependa kuangazia faili na saraka zifuatazo:
|-- /wavu/
| -- arp meza ya sasa ya arp
|-- /sys/kernel/
| |-- cap-bound usimamizi wa haki za ziada, kama inavyofanywa katika mstari wa mwisho wa floppy disk.tr script-profile kwa mkalimani wa BASH (inayotekelezwa na td/tdtda name="proc" baada ya usajili katika mfumo na kutumika kwa watumiaji wote wa mfumo); na wewe (mizizi) (0 - haki za mizizi zimefutwa);
| |-- jina la mwenyeji jina la kompyuta ya sasa
| |-- jina la kikoa Jina la kikoa cha kompyuta
| |-- osrelease toleo la kernel ya mfumo;
| |-- ostype Aina ya OS (Linux, *BSD, ...);
| --- toleo tarehe ya ujenzi wa kernel.
|-- cpuinfo Maelezo ya sasa ya kichakataji
|-- cmdline orodha ya vigezo vilivyopitishwa kwenye kernel kwenye buti
|-- vifaa vifaa vya mfumo
|-- dma Vituo vya DMA vinavyotumika kwa sasa
|-- hukatiza Vihesabu vya idadi ya IRQ katika usanifu wa i386.
|-- ioports Bandari za I/O
|-- mifumo ya faili mkono na FS
|-- loadvg habari ya upakiaji wa mfumo
|-- kcore yaliyomo kwenye kumbukumbu ya mwili kwa sasa
|-- kmsg ujumbe uliotolewa na kernel (nakala ya syslog)
|-- mdstat kuonyesha takwimu za safu za RAID za programu
|-- kumbukumbu habari ya kumbukumbu
|-- moduli moduli za kernel zilizopakiwa
|-- vilima FS iliyowekwa
|-- partitions habari ya kugawa diski
|-- pci Orodha kamili ya vifaa vyote vya PCI vilivyopatikana wakati wa uanzishaji wa kernel, pamoja na usanidi wao.
|-- kubadilishana habari kuhusu sehemu zote za kubadilishana zilizounganishwa kwenye mfumo
|-- uptime uptime
|-- toleo toleo la kernel
|-- /digital/ saraka zilizo na seti za nambari katika majina yao zinalingana na nambari ya GID ya mchakato na ina habari kuhusu mchakato unaoendelea ambao GID yake inalingana.
| |-- /fd/* ina viashiria kwa faili zote zilizofunguliwa na mchakato
| |-- cmdline kamili mstari wa amri kuendesha mchakato hadi mchakato "upakuliwe" au kuwa "zombie"
| |-- cwd kiunga cha ishara kwa saraka ya sasa ya kufanya kazi ya mchakato
| |-- mazingira ina mazingira ya mchakato
| |-- mfano ina kiunga laini cha mchakato wa binary
| |-- mipaka ina maelezo kuhusu vikomo vya mchakato (kwa mfano, kikomo cha faili wazi, kipaumbele cha mchakato, nk.)
| |-- mzizi kiunga laini kwa saraka ya mtumiaji wa mizizi kwa mchakato
| --- hali Taarifa kuhusu mchakato uliowasilishwa kwa njia ambayo ni rahisi kutazama. Ina, haswa, mistari ifuatayo:
  • Jina faili inayoweza kutekelezwa mchakato katika mabano;
  • Hali ya mchakato;
  • Kitambulisho cha Mchakato
  • Kitambulisho cha mchakato wa mzazi
  • Mchakato wa kitambulisho cha kikundi
  • na nk.
/mzizi/ saraka ya nyumbani ya mtumiaji wa mizizi, saraka hii lazima iwe kwenye FS ya mizizi ili msimamizi aingie ndani yake.
/sbin/ Saraka hii ina jozi kuu za mfumo, amri za usimamizi wa mfumo, pamoja na programu zinazotekelezwa wakati wa boot ya OS. Hapa kuna vipengele vinavyoingia usuli, kwa maana, saraka hii ni sawa na folda za c:\Windows\system\ na c:\Windows\system32\.
--- kuzimisha shirika la kuzima mfumo
/srv/ data ya huduma zinazotolewa kutoka kwa OS
/sys/ Hii ni saraka ambayo mfumo wa faili pepe wa sysfs umewekwa, ambayo huongeza maelezo ya Linux kernel kuhusu vifaa na viendeshi vilivyopo kwenye mfumo hadi nafasi ya mtumiaji. (Haitumiki katika matoleo ya kernel chini ya 2.6)
|-- /zuia/ saraka ina subdirectories ya vifaa vyote vya kuzuia vilivyopo sasa kwenye mfumo.
|-- /basi/ Saraka hii ina orodha ya mabasi yaliyofafanuliwa kwenye kinu cha Linux (eisa, pci, n.k.).
--- /darasa/ Saraka ina orodha ya vifaa vilivyowekwa kulingana na darasa (printa, scsi-devices, nk).
/tmp/ Faili za muda. Saraka hii ni sawa na c:\Windows\temp. Kwa kawaida Linux hufuta saraka hii wakati wa kuwasha.
/usr/ Saraka hii huhifadhi vifurushi vyote vya programu vilivyosakinishwa, hati, msimbo wa chanzo wa kernel, na Mfumo wa Dirisha la X. Watumiaji wote isipokuwa mzizi wa mtumiaji mkuu wana ufikiaji wa kusoma tu. Inaweza kuwekwa kwenye mtandao na inaweza kushirikiwa kati ya mashine kadhaa.
|-- /bin/ Saraka ya programu za ziada kwa akaunti zote.
|-- /pamoja na/ C++ faili za kichwa.
|-- /lib/ Maktaba za mfumo kwa programu ziko kwenye saraka ya /usr
| /ndani/ Kulingana na kiwango, /usr inapaswa kuwa ya kawaida kwa kompyuta kadhaa na kuwekwa kwenye mtandao, na /usr/local inapaswa kuwa na vifurushi vya programu vilivyosakinishwa tu kwenye mashine ya ndani (kwa mfano, /usr ni bajeti ya familia, na /usr/local. ni mkoba wa kibinafsi kila mmoja). Lakini mara nyingi, saraka ya /usr/local hutumiwa kusanikisha programu ambazo hazikusudiwa usambazaji maalum (kwa mfano, kwa usambazaji wa kifurushi cha Ubuntu, /usr ina vifurushi vilivyosanikishwa vya "asili", na /usr/local ina vifurushi vilivyokusanywa. kutoka kwa vyanzo).
| |-- /bin/
| |-- /lib/
| |-- ...
|-- /sbin/ Programu za ziada za mfumo.
|-- /shiriki/ Data ya jumla ya programu zilizowekwa.
| |-- /ikoni/ Saraka ina icons zote za mfumo.
| --- /doc/ Saraka ambayo kwa kawaida ina hati za usaidizi kwa programu zilizosakinishwa.
|-- /src/ Saraka ina misimbo ya chanzo (kwa mfano, misimbo ya chanzo cha kernel iko hapa).
|-- /X11R6/bin/ X kiungo kwa seva ya sasa ya X;
|-- uchawi.mime faili zinazohifadhi "nambari ya uchawi". Nambari hii inaelezea aina ya faili ya matumizi faili.
--- uchawi
/var Hapa ndipo data inayobadilishwa mara kwa mara inapatikana (kumbukumbu za mfumo wa uendeshaji, faili za kumbukumbu za mfumo, faili za akiba, n.k.)
|-- /cache Hapa ndipo data zote zilizohifadhiwa kutoka kwa programu mbalimbali huhifadhiwa.
|-- /lib Data inayoendelea iliyorekebishwa na programu wakati wa operesheni (kwa mfano, hifadhidata, metadata ya meneja wa kifurushi, n.k.).
| --- /rpm/ Hifadhidata ya msimamizi wa kifurushi cha RPM
|-- /kufuli Hapa kuna faili za kufuli zinazoonyesha kuwa rasilimali fulani ina shughuli nyingi.
|-- /logi/ saraka hii ina faili zote za kumbukumbu za mfumo
| |-- wtmp (umbizo la jozi) ina majaribio yaliyofaulu ya kuingia na kuondoka
| |-- utmp (umbizo la binary) lina watumiaji walioingia kwa sasa
| |-- kumbukumbu ya mwisho (umbizo la binary) lina wakati kila mtumiaji mara ya mwisho aliingia
| -- btmp (umbizo la jozi) HAKUNA majaribio yaliyofaulu ya kuingia/kutoka
|-- /spool Kazi zinazosubiri kushughulikiwa (kwa mfano, foleni za kuchapisha, barua pepe ambazo hazijasomwa au ambazo hazijatumwa, kazi za cron na kadhalika.).
--- /www Eneo hili linapangisha kurasa za Wavuti za seva ya Apache.

Hapa, kwa kifupi, ndio madhumuni ya saraka za Linux. Katika siku zijazo, jedwali hili litajazwa ninaposoma LINUX OS. Ningependa kutambua kuwa usambazaji fulani unaweza kuwa na muundo tofauti wa saraka na unaweza kuongeza saraka zingine. Lakini kwa ujumla, muundo una fomu iliyoonyeshwa hapo juu.

Ni hayo tu kwa leo. Makala inayofuata itatoa karatasi ya kudanganya kwenye amri za msingi za Linux.

Katika "OS" Linux mfumo mzima wa faili una muundo uliopangwa, maalum. Watumiaji wanaoanza ambao wamehama kutoka Windows kwa, kama sheria, hupata shida fulani kwa sababu ya ukosefu wa wazo wazi la umiliki wa kila saraka. Nyenzo zote zilizowasilishwa hapa chini zinapaswa kujaza pengo hili.

Muundo wa saraka Linux.

(Ili kuhamisha kutoka kwa jedwali hadi kwa maelezo ya saraka, unahitaji kubofya jina la saraka. Ili kurudisha ukurasa juu, unahitaji kubofya mraba kwa mshale kwenye kona ya chini ya kulia ya skrini.)

Maelezo mafupi.

/kizigeu cha mizizi

Ugawaji wa mizizi.

Saraka hii ina seti kuu ya amri za OS, hizi ni pamoja na ganda na amri za mfumo wa faili: ls, cp na kadhalika...

Huu ni kumbukumbu ya picha za kernel, na vile vile viboreshaji vya boot: Grub au Lilo na kadhalika...

Faili zinazohusiana na vifaa mahususi vilivyounganishwa kwenye "OS" huishi hapa. Ukweli ni kwamba katika mfumo wa uendeshaji Linux, kifaa chochote kinahusishwa na faili maalum, i.e. iwe printer, scanner, hard drive, nk, kila kitu lazima kiwe na faili yake ili kupata upatikanaji muhimu wa kifaa fulani.

Hapa ndipo mahali pa kuhifadhi faili za usanidi wa Mfumo wa Uendeshaji, kwa mfano: mipangilio ya mtandao, watumiaji, vikundi na programu kama vile Apache, Samba, n.k. Nakadhalika.

Saraka hii inaweza, na hata zaidi, lazima iwe na "taarifa" zote za kibinafsi za watumiaji. Kwa ujumla, wewe, kama mmiliki wa mashine fulani, una haki ya kuweka "habari" yako popote unapotaka, lakini kwa ajili ya usalama wa mfumo, ni bora kuiweka hapa, na inashauriwa kuunda saraka. yenyewe katika kizigeu huru cha gari ngumu.

/nyumbani/jina la mtumiaji

Ni pia, folda ya nyumbani, lakini ni mtumiaji tu "jina la mtumiaji". Faili za usanidi za mipangilio ya programu na taarifa za kibinafsi zimehifadhiwa hapa. Ikiwa kuna watumiaji wengi, basi kila mtu ana saraka yake ya kibinafsi ya faili kama hizo. Pia kuna folda ya superuser "mizizi", iko kwenye mizizi ya mfumo wa faili. Mgawanyo huu wa saraka kutoka kwa faili za mfumo huongeza sana kutegemewa na kurahisisha sana mchakato wa kuhifadhi data.

Faili ambazo hazina viungo kutoka kwa saraka nyingine zote hutupwa hapa, licha ya ukweli kwamba "inod" yao haikuwa na lebo "isiyotumiwa". Kwa mfano, unafuta faili, na wakati huo ugavi wa umeme hutokea. Matokeo yake, "inod" iliyopotea huundwa katika mfumo, ambayo ina njia za faili, lakini faili haipo. Ifuatayo, katika ext2 (unlogged), "fsck" hupata "inod", huunda kiungo katika kupoteza + kupatikana, baada ya hapo, unaweza kuangalia faili na kurekebisha kila kitu. Katika ext3 (iliyoingia), "fsck" inachunguza logi na huamua kuwa operesheni haijakamilika, kisha kurudi nyuma. Kwa hivyo, katika "FS" iliyoingia kuna ingizo chache zilizopotea.

Katika nafasi hii ni kujilimbikizia maktaba za mfumo, kuhakikisha utendakazi wa programu zilizo katika /bin, /sbin na "OS" duniani kote.

Imeundwa kwa vifaa vya kuweka kiotomatiki: USB, CD-ROM, n.k. Kifaa chochote kinapoamilishwa, kinaunganishwa kiotomatiki kwenye saraka inayolingana katika saraka hii.

Saraka hii kwa kweli ni sawa na / media iliyotangulia, na tofauti pekee ni kwamba aina ya unganisho la mwongozo hutumiwa, ambayo ni wakati amri ya "mlima" inatekelezwa.

Programu zilizosakinishwa zenye saizi kubwa au vifurushi vya ziada huchukua mizizi kwenye tovuti hii, kwa mfano: /opt/libreoffice.org

"procfs" imewekwa hapa, "FS" ya kawaida, yenye taarifa nyingi zinazoweza kupatikana. Wacha tuseme unahitaji kujua ni moduli gani za kernel zimepakiwa, hii itakuwa faili - /proc/modules au, pata habari kuhusu processor - /proc/cpuinfo

Hii ndio saraka ya nyumbani ya mtumiaji bora. Saraka hii inafanana na saraka ya mtumiaji na iko kwenye mzizi wa mfumo wa faili. Ikiwa una shida kupata / nyumbani ghafla, basi ingia na haki za mtumiaji mkuu,
Unaweza kutatua tatizo hili kila wakati.

Mfumo una programu maalum kwa ajili ya mipangilio na utawala mbalimbali; wao, pia, wanahitaji "kuishi" mahali fulani.

Vigezo maalum vya mfumo, katika hali nyingi tupu.

Saraka hii imetumika tangu kernel v_2.6 na "sysfs" imewekwa ndani yake, ikiwa na habari kuhusu kernel, vifaa na viendeshaji.

Hapa kuna saraka za vifaa vya kuzuia ambavyo vinapatikana kwenye mfumo kwa wakati halisi.

Orodha ya mabasi ya msingi: eisa, pci, nk. Nakadhalika.

Orodha ya vifaa vilivyowekwa kwa uainishaji: printa, vifaa vya scsi, nk. Nakadhalika.

Huyu ni kaka wa folda ya "Temp" katika Windows, kwa kuhifadhi faili za muda. Kusoma na kuandika kunapatikana kwa watumiaji wote.

Mahali vifurushi vilivyowekwa programu, hati, msimbo wa kernel, Dirisha la X. Inapatikana kikamilifu kwa "mizizi", wengine ni marufuku isipokuwa kwa kusoma. Saraka inaweza kuwekwa kwenye mtandao na kushirikiwa kwa kompyuta kadhaa.

/usr/bin bin2

Mahali maombi ya ziada kwa hesabu zote.

Makazi ya "burudani", kwa neno, michezo.

C++ faili za kichwa.

/usr/lib lib2

Maktaba za mfumo kwa programu katika /usr.

Kwa hakika, /usr inapaswa kuwa na hali ya "kushirikiwa" na kuwekwa kwenye mtandao - /usr/local inapaswa kuwa na vifurushi vya programu kwenye kifaa cha ndani. Kwa mfano: /usr - bajeti ya familia, /usr/local - mapato ya kibinafsi.

Katika Ubuntu uliowekwa, kama sheria, vifurushi "zinazohusiana" ziko ndani /usr, zao wenyewe, na /usr/local hukusanywa kutoka kwa vyanzo, ambavyo havihusiani na usambazaji wowote haswa.

Maombi ya ziada ya mfumo.