LFCS: kuidas faile ja katalooge arhiivida/tihendada, failiatribuutide määramine ja failide leidmine Linuxis - 3. osa


Hiljuti käivitas Linuxi sihtasutus LFCS (Linux Foundation Certified Sysadmin) sertifikaadi - uhiuue programmi, mille eesmärk on võimaldada inimestel kõigist maailma nurkadest pääseda eksamile, mis kinnitamise korral kinnitab, et inimene on teadlik sooritamisel põhi- ja kesktaseme süsteemihalduse ülesanded Linuxi süsteemides. See hõlmab juba töötavate süsteemide ja teenuste toetamist koos esimese taseme tõrkeotsingu ja analüüsiga ning võimalust otsustada, millal küsimusi insenerimeeskondadele edastada.

Vaadake allolevat videot, mis annab idee Linux Foundationi sertifitseerimisprogrammi kohta.

See postitus on kümne juhendaja seeria 3. osa, siin selles osas käsitleme, kuidas arhiivida/tihendada faile ja katalooge, määrata faili atribuute ja leida failisüsteemist faile, mis on vajalikud LFCS-i sertifitseerimise eksamiks.

Arhiveerimise ja tihendamise tööriistad

Failide arhiveerimise tööriist rühmitab failikomplekti üheks eraldiseisvaks failiks, mida saame varundada mitut tüüpi meediumitesse, üle võrgu edastada või e-posti teel saata. Linuxi kõige sagedamini kasutatav arhiveerimisutiliit on tar . Kui arhiveerimisutiliiti kasutatakse koos tihendustööriistaga, võimaldab see vähendada samade failide ja teabe salvestamiseks vajalikku ketta suurust.

tar koondab failirühma ühte arhiivi (tavaliselt nimetatakse tõrvafailiks või tarballiks). Nimi tähistas algselt lindiarhiivijaid, kuid peame arvestama, et saame seda tööriista kasutada andmete arhiivimiseks mis tahes tüüpi kirjutatavale andmekandjale (mitte ainult lindidele). Tõrva kasutatakse tavaliselt tihendatud tööriista tootmiseks selliste tihendustööriistadega nagu gzip , bzip2 või xz .

# tar [options] [pathname ...]

Kus tähistab väljendit, mida kasutatakse toimingutega failide määramiseks.

Gzip on vanim tihendustööriist ja pakub kõige vähem tihendust, samas kui bzip2 pakub paremat tihendamist. Lisaks on xz uusim, kuid pakub (tavaliselt) parimat tihendamist. Parima tihendamise eelistel on oma hind: operatsiooni lõpuleviimiseks kuluv aeg ja protsessi käigus kasutatud süsteemiressursid.

Tavaliselt on nende utiliitidega tihendatud tar failidel laiendid vastavalt .gz , .bz2 või .xz . Järgmistes näidetes kasutame neid faile: file1, file2, file3, file4 ja file5.

Grupeerige kõik praeguses töökataloogis olevad failid ja tihendage saadud kimp gzip , bzip2 ja xz -ga (võtke arvesse tavalise avaldis, et määrata, millised failid kimpu peaksid kuuluma - see takistab arhiivimistööriista eelmistes sammudes loodud tarballide rühmitamist).

# tar czf myfiles.tar.gz file[0-9]
# tar cjf myfiles.tar.bz2 file[0-9]
# tar cJf myfile.tar.xz file[0-9]

Lisage tarballi sisu ja kuvage sama teave nagu pika kataloogide loendis. Pange tähele, et toiminguid Värskenda või Lisa ei saa tihendatud failidele otse rakendada (kui peate faili tihendatud tarballile värskendama või lisama, peate tõrvafaili lahti pakkima ja värskendage/lisage see, seejärel tihendage uuesti).

# tar tvf [tarball]

Käivitage üks järgmistest käskudest:

# gzip -d myfiles.tar.gz	[#1] 
# bzip2 -d myfiles.tar.bz2	[#2] 
# xz -d myfiles.tar.xz 		[#3] 

Siis

# tar --delete --file myfiles.tar file4 (deletes the file inside the tarball)
# tar --update --file myfiles.tar file4 (adds the updated file)

ja

# gzip myfiles.tar		[ if you choose #1 above ]
# bzip2 myfiles.tar		[ if you choose #2 above ]
# xz myfiles.tar 		[ if you choose #3 above ]

Lõpuks

# tar tvf [tarball] #again

ning võrrelge faili file4 muutmise kuupäeva ja kellaaega sama teabega, nagu varem näidatud.

Oletame, et soovite varundada kasutaja kodu katalooge. Hea sysadmini tava oleks (võib ka ettevõtte reeglid täpsustada) kõigi video- ja helifailide välistamine varukoopiatest.

Võib-olla oleks teie esimene lähenemine varundusest välja jätta kõik failid, millel on laiendus .mp3 või .mp4 (või muud laiendused). Mis siis, kui teil on nutikas kasutaja, kes saab laienduse .txt või .bkp muuta, ei anna teie lähenemine teile palju kasu. Heli- või videofaili tuvastamiseks peate selle failitüübi failiga kontrollima. Töö täidab järgmine shelliskript.

#!/bin/bash
# Pass the directory to backup as first argument.
DIR=$1
# Create the tarball and compress it. Exclude files with the MPEG string in its file type.
# -If the file type contains the string mpeg, $? (the exit status of the most recently executed command) expands to 0, and the filename is redirected to the exclude option. Otherwise, it expands to 1.
# -If $? equals 0, add the file to the list of files to be backed up.
tar X <(for i in $DIR/*; do file $i | grep -i mpeg; if [ $? -eq 0 ]; then echo $i; fi;done) -cjf backupfile.tar.bz2 $DIR/*

Seejärel saate järgmise käsuga varunduse taastada algse kasutaja kodukataloogi (selles näites kasutaja_ taastamine), säilitades õigused.

# tar xjf backupfile.tar.bz2 --directory user_restore --same-permissions

Loe ka :

  1. 18 tõrva käsunäidet Linuxis
  2. Dtrx - intelligentne arhiivitööriist Linuxile

Failide otsimiseks käsk Find Command

Käsku otsi kasutatakse rekursiivselt kataloogipuudest failide või kataloogide otsimiseks, mis vastavad teatud omadustele, ja seejärel saab vastavaid faile või katalooge printida või vastetel muid toiminguid teha.

Tavaliselt otsime nime, omaniku, rühma, tüübi, lubade, kuupäeva ja suuruse järgi.

# find [kataloogi_otsing] [avaldis]

Leidke kõik failid ( -f ) praegusest kataloogist (. ) ja allpool asuvatest 2 alamkataloogidest ( -maxdepth 3 sisaldab praegust töökataloogi ja 2 taset allapoole), mille suurus ( -suurus ) on suurem kui 2 MB .

# find . -maxdepth 3 -type f -size +2M

777 lubadega faile peetakse mõnikord avatud ukseks välistele ründajatele. Mõlemal juhul pole turvaline lasta kellelgi failidega midagi teha. Läheneme üsna agressiivselt ja kustutame need! (‘ {} + kasutatakse otsingu tulemuste\"kogumiseks \").

# find /home/user -perm 777 -exec rm '{}' +

Otsige jaotises /etc konfiguratsioonifaile, millele on juurde pääsetud ( -aeg ) või muudetud ( -mtime ) ( +180 ) või vähem ( -180 ) kui 6 kuud tagasi või täpselt 6 kuud tagasi ( 180 ) .

Muutke järgmist käsku vastavalt allpool toodud näitele:

# find /etc -iname "*.conf" -mtime -180 -print

Loe ka : 35 Linuxi käsu leidmise praktilist näidet

Faili load ja põhiatribuudid

Esimesed 10 tähemärki ls -l väljundis on failiatribuudid. Esimest neist märkidest kasutatakse failitüübi tähistamiseks:

  1. - : tavaline fail
  2. -d : kataloog
  3. -l : sümboolne link
  4. -c : märgiseade (mis käsitleb andmeid baitide vooguna, st terminalina)
  5. -b : blokeerimisseade (mis käsitleb andmeid plokkidena, st salvestusseadmetena)

Failiatribuutide järgmist üheksat tähemärki nimetatakse failirežiimiks ja need tähistavad lugemist ( r ), kirjutamist ( w ) ja käivitamist ( x ) faili omaniku, faili grupi omaniku ja ülejäänud kasutajate õigused (mida tavaliselt nimetatakse "maailmaks").

Kui faili lugemisluba võimaldab sama avada ja lugeda, siis sama loa kataloogis võimaldab selle sisu loetleda, kui on määratud ka täitmisluba. Lisaks võimaldab failis olev täitmisluba seda käsitseda programmina ja käivitada, samas kui kataloogis lubab sama faili sinna ka sisse logida.

Faili õigusi muudetakse käsuga chmod , mille põhisüntaks on järgmine:

# chmod [new_mode] file

Kus uus_režiim on kas oktaalarv või avaldis, mis määrab uued load.

Oktaalarvu saab teisendada binaarekvivalendist, mis arvutatakse omaniku, rühma ja kogu maailma soovitud faililubade põhjal järgmiselt:

Kindla loa olemasolu võrdub võimsusega 2 ( r = 22 , w = 21 , x = 20 ), samas kui selle puudumine võrdub väärtusega 0 . Näiteks:

Faili õiguste seadmiseks ülaltoodud kujul oktaalsel kujul tippige:

# chmod 744 myfile

Faili režiimi saate määrata ka avaldise abil, mis näitab omaniku õigusi tähega u , rühma omaniku õigusi tähega g ja ülejäänud tähega o . Kõiki neid\" üksikisikuid " saab üheaegselt esindada tähega a . Luba antakse (või tühistatakse) tähisega + või vastavalt tähised - .

Nagu me varem selgitasime, võime teatud loa tühistada, koostades selle miinusmärgiga ja märkides, kas see tuleb omaniku, rühma omaniku või kõigi kasutajate jaoks tühistada. Allpool olevat ühe liinilaeva saab tõlgendada järgmiselt: režiimi muutmine kõigi ( a ) kasutajate jaoks, tühistamine ( - ) täitmisluba ( x ) .

# chmod a-x backup.sh

Faili lugemis-, kirjutamis- ja täitmisõiguste andmine omanikule ja rühma omanikule ning lugemisõiguste andmine kogu maailmale.

Kui kasutame faili lubade määramiseks 3-kohalist kaheksandnumbrit, näitab esimene number omaniku õigusi, teine grupi omaniku ja kolmas kõigi teiste õigusi:

  1. Omanik : (r = 22 + w = 21 + x = 20 = 7)
  2. Grupi omanik : (r = 22 + w = 21 + x = 20 = 7)
  3. Maailm : (r = 22 + w = 0 + x = 0 = 4),

# chmod 774 myfile

Aja jooksul ja praktikas saate otsustada, milline meetod failirežiimi muutmiseks sobib teile igal juhul kõige paremini. Pikk kataloogide loend näitab ka faili omanikku ja selle rühma omanikku (mis toimivad süsteemi failide esmase, kuid tõhusa juurdepääsu kontrollina):

Faili omandiõigust muudetakse käsuga chown . Omanikku ja grupi omanikku saab muuta korraga või eraldi. Selle põhisüntaks on järgmine:

# chown user:group file

Kus peab olema vähemalt kasutaja või rühm.

Faili omaniku vahetamine teatud kasutajaks.

# chown gacanepa sent

Faili omaniku ja rühma muutmine konkreetseks kasutajaks: rühmapaar.

# chown gacanepa:gacanepa TestFile

Ainult faili grupi omaniku muutmine teatud rühmaks. Pange tähele käärsoole enne rühma nime.

# chown :gacanepa email_body.txt

Järeldus

Sysadminina peate teadma, kuidas varukoopiaid luua ja taastada, kuidas süsteemist faile leida ja nende atribuute muuta, lisaks mõned nipid, mis võivad teie elu lihtsamaks muuta ja takistavad teil tulevaste probleemide tekkimist.

Loodan, et käesolevas artiklis toodud näpunäited aitavad teil seda eesmärki saavutada. Lisage kommentaaride jaotisse julgelt oma näpunäiteid ja ideid kogukonna huvides. Ette tänades!

  1. LFCS-ist
  2. Miks saada Linux Foundationi sertifikaat?
  3. Registreeru LFCSi eksamile