LFCS: kā arhivēt/saspiest failus un direktorijus, iestatīt failu atribūtus un atrast failus Linux - 3. daļa


Nesen Linux fonds uzsāka LFCS (Linux Foundation Certified Sysadmin) sertifikātu - pavisam jaunu programmu, kuras mērķis ir ļaut personām no visiem pasaules malām piekļūt eksāmenam, kas, ja tas tiks apstiprināts, apliecina, ka persona ir zinoša, veicot darbu. pamata un starpposma sistēmas administrēšanas uzdevumi Linux sistēmās. Tas ietver jau darbojošos sistēmu un pakalpojumu atbalstīšanu, kā arī pirmā līmeņa problēmu novēršanu un analīzi, kā arī iespēju izlemt, kad jautājumus jāpiesaka inženieru komandām.

Lūdzu, noskatieties zemāk esošo videoklipu, kas sniedz ideju par Linux Foundation sertifikācijas programmu.

Šis ieraksts ir 10. apmācību sērijas 3. daļa, šeit, šajā daļā, mēs aplūkosim, kā arhivēt/saspiest failus un direktorijus, iestatīt failu atribūtus un atrast failus failu sistēmā, kas nepieciešami LFCS sertifikācijas eksāmenam.

Arhivēšanas un saspiešanas rīki

Failu arhivēšanas rīks failu kopu sagrupē vienā atsevišķā failā, kuru mēs varam dublēt vairāku veidu datu nesējos, pārsūtīt pa tīklu vai nosūtīt pa e-pastu. Linux visbiežāk izmantotā arhivēšanas lietderība ir darva . Ja arhivēšanas lietderība tiek izmantota kopā ar saspiešanas rīku, tā ļauj samazināt diska izmēru, kas nepieciešams to pašu failu un informācijas glabāšanai.

tar apvieno failu grupu vienā arhīvā (ko parasti sauc par darvas failu vai tarball). Sākotnēji šis nosaukums apzīmēja lentes arhivētāju, taču mums jāņem vērā, ka šo rīku mēs varam izmantot, lai arhivētu datus jebkura veida rakstāmos nesējos (ne tikai lentēs). Darvu parasti izmanto kopā ar saspiešanas rīku, piemēram, gzip , bzip2 vai xz , lai izveidotu saspiestu tarball.

# tar [options] [pathname ...]

Kur apzīmē izteicienu, ko izmanto, lai norādītu, kuri faili ir jārīkojas.

Gzip ir vecākais saspiešanas rīks un nodrošina vismazāko saspiešanu, savukārt bzip2 nodrošina uzlabotu saspiešanu. Turklāt xz ir jaunākais, bet (parasti) nodrošina vislabāko saspiešanu. Šīm vislabākās saspiešanas priekšrocībām ir cena: laiks, kas nepieciešams operācijas pabeigšanai, un procesa laikā izmantotie sistēmas resursi.

Parasti ar šiem utilītiem saspiestajiem tar failiem ir attiecīgi .gz , .bz2 vai .xz paplašinājumi. Šajos piemēros mēs izmantosim šos failus: file1, file2, file3, file4 un file5.

Grupējiet visus failus pašreizējā darba direktorijā un saspiediet iegūto paketi ar gzip , bzip2 un xz (lūdzu, ņemiet vērā, ka tiek izmantots parasts izteiksme, lai norādītu, kuri faili jāiekļauj komplektā - tas ir paredzēts, lai arhivēšanas rīks neļautu grupēt iepriekšējās darbībās izveidotos patērētājus).

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

Uzskaitiet patērētāja saturu un parādiet to pašu informāciju kā garā direktoriju sarakstā. Ņemiet vērā, ka atjaunināšanas vai pievienošanas operācijas nevar tieši piemērot saspiestiem failiem (ja jums ir jāatjaunina vai jāpievieno fails saspiestam tarball, jums jāatspiež darvas fails un atjauniniet/pievienojiet tam, pēc tam atkal saspiediet).

# tar tvf [tarball]

Palaidiet jebkuru no šīm komandām:

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

Tad

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

un

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

Visbeidzot,

# tar tvf [tarball] #again

un salīdziniet faila4 modifikācijas datumu un laiku ar to pašu informāciju, kas parādīta iepriekš.

Pieņemsim, ka vēlaties veikt lietotāja mājas direktoriju dublējumu. Laba sisadmin prakse būtu (to var noteikt arī uzņēmuma politika) izslēgt visus video un audio failus no dublējumiem.

Varbūt jūsu pirmā pieeja būtu izslēgt no dublējuma visus failus ar paplašinājumu .mp3 vai .mp4 (vai citiem paplašinājumiem). Ko darīt, ja jums ir gudrs lietotājs, kurš var mainīt paplašinājumu uz .txt vai .bkp , jūsu pieeja neko daudz nedos. Lai noteiktu audio vai video failu, jums jāpārbauda tā faila tips ar failu. Darbs tiks veikts ar šādu čaulas skriptu.

#!/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/*

Pēc tam ar šādu komandu varat atjaunot dublējumu sākotnējā lietotāja mājas direktorijā (šajā piemērā lietotāja_atjaunot), saglabājot atļaujas.

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

Lasīt arī :

  1. 18 darvas komandu piemēri operētājsistēmā Linux
  2. Dtrx - inteliģents arhīva rīks Linux

Failu meklēšanai izmantojiet komandu Atrast komandu

Komanda atrast tiek izmantota, lai rekursīvi meklētu direktoriju kokos failus vai direktorijus, kas atbilst noteiktiem raksturlielumiem, un pēc tam var vai nu izdrukāt atbilstošos failus vai direktorijus, vai arī veikt citas darbības ar spēlēm.

Parasti mēs meklēsim pēc nosaukuma, īpašnieka, grupas, veida, atļaujām, datuma un lieluma.

# atrast [direktorija_uz_meklēšanu] [izteiksme]

Atrodiet visus failus ( -f ) pašreizējā direktorijā (. ) un 2 apakšdirektorijus zemāk ( -maxdepth 3 ietver pašreizējo darba direktoriju un 2 līmeņus uz leju), kuru izmērs ( izmērs ) ir lielāks par 2 MB .

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

Faili ar 777 atļaujām dažreiz tiek uzskatīti par atvērtām durvīm ārējiem uzbrucējiem. Katrā ziņā nav droši ļaut kādam kaut ko darīt ar failiem. Mēs izmantosim diezgan agresīvu pieeju un izdzēsīsim tos! (‘ {} + tiek izmantots meklēšanas rezultātu “savākšanai”).

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

Vietnē /etc meklējiet konfigurācijas failus, kuriem ir piekļūts ( -atime ) vai modificēts ( -mtime ) vairāk ( +180 ) vai mazāk ( -180 ) nekā pirms 6 mēnešiem vai tieši pirms 6 mēnešiem ( 180 ) .

Mainiet šo komandu, kā norādīts zemāk esošajā piemērā:

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

Lasīt arī : 35 Linux ‘atrast’ komandas praktiskie piemēri

Failu atļaujas un pamata atribūti

Pirmās 10 rakstzīmes ls -l izvadē ir faila atribūti. Pirmo no šīm rakstzīmēm izmanto, lai norādītu faila tipu:

  1. - : parasts fails
  2. -d : direktorijs
  3. -l : simboliska saite
  4. -c : rakstzīmju ierīce (kas datus apstrādā kā baitu straumi, t.i., termināli)
  5. -b : bloķēšanas ierīce (kas apstrādā datus blokos, t.i., atmiņas ierīces)

Nākamās deviņas faila atribūtu rakstzīmes sauc par faila režīmu un apzīmē lasīšanu ( r ), rakstīšanu ( w ) un izpildi ( x ) faila īpašnieka, faila grupas īpašnieka un pārējo lietotāju (parasti sauktu par “pasauli”) atļaujas.

Kaut arī faila lasīšanas atļauja ļauj to pašu atvērt un lasīt, tā pati atļauja direktorijā ļauj uzskaitīt tā saturu, ja ir iestatīta arī izpildes atļauja. Turklāt izpildes atļauja failā ļauj to apstrādāt kā programmu un palaist, savukārt direktorijā ļauj to pašu ievietot tajā.

Faila atļaujas tiek mainītas ar komandu chmod , kuras galvenā sintakse ir šāda:

# chmod [new_mode] file

Kur new_mode ir vai nu oktāls skaitlis, vai izteiksme, kas norāda jaunās atļaujas.

Astoņskaitli var konvertēt no tā binārā ekvivalenta, kas tiek aprēķināts no vēlamajām faila atļaujām īpašniekam, grupai un pasaulei šādi:

Noteiktas atļaujas klātbūtne ir vienāda ar jaudu 2 ( r = 22 , w = 21 , x = 20 ), bet tā neesamība ir vienāda ar 0 . Piemēram:

Lai iestatītu faila atļaujas, kā norādīts iepriekš, oktāla formā, ierakstiet:

# chmod 744 myfile

Varat arī iestatīt faila režīmu, izmantojot izteicienu, kas norāda īpašnieka tiesības ar burtu u , grupas īpašnieka tiesības ar burtu g un pārējo - ar o . Visas šīs personas var attēlot vienlaikus ar burtu a . Atļaujas tiek piešķirtas (vai atsauktas) ar attiecīgi + vai - zīmēm.

Kā mēs iepriekš paskaidrojām, mēs varam atsaukt noteiktu atļauju, to sagatavojot ar mīnusa zīmi un norādot, vai tā ir jāatceļ īpašniekam, grupas īpašniekam vai visiem lietotājiem. Zemāk redzamo vienas līnijas līniju var interpretēt šādi: Mainīt režīmu visiem ( a ) lietotājiem, atsaukt ( - ) izpildīt atļauju ( x ) .

# chmod a-x backup.sh

Piešķirt faila lasīšanas, rakstīšanas un izpildes atļaujas īpašniekam un grupas īpašniekam, kā arī lasīšanas atļaujas pasaulei.

Kad faila atļauju iestatīšanai izmantojam trīsciparu astotnieku, pirmais cipars norāda atļaujas īpašniekam, otrais grupas īpašniekam un trešais cipars visiem pārējiem:

  1. Īpašnieks : (r = 22 + w = 21 + x = 20 = 7)
  2. Grupas īpašnieks : (r = 22 + w = 21 + x = 20 = 7)
  3. Pasaule : (r = 22 + w = 0 + x = 0 = 4),

# chmod 774 myfile

Laika gaitā un ar praksi jūs varēsiet izlemt, kura metode faila režīma maiņai katrā gadījumā ir vislabākā. Garā direktoriju sarakstā ir parādīts arī faila īpašnieks un tā grupas īpašnieks (kas kalpo kā elementāra, tomēr efektīva piekļuves kontrole sistēmas failiem):

Faila īpašumtiesības tiek mainītas ar komandu chown . Īpašnieku un grupas īpašnieku var mainīt vienlaikus vai atsevišķi. Tās sintakse ir šāda:

# chown user:group file

Kur jābūt vismaz lietotājam vai grupai.

Faila īpašnieka maiņa uz noteiktu lietotāju.

# chown gacanepa sent

Faila īpašnieka un grupas maiņa uz noteiktu lietotāju: grupas pāri.

# chown gacanepa:gacanepa TestFile

Mainot tikai faila grupas īpašnieku uz noteiktu grupu. Atzīmējiet kolu pirms grupas nosaukuma.

# chown :gacanepa email_body.txt

Secinājums

Kā sistēmas administratoram jums jāzina, kā izveidot un atjaunot dublējumkopijas, kā atrast failus savā sistēmā un mainīt to atribūtus, kā arī dažus trikus, kas var padarīt jūsu dzīvi vieglāku un neļaus ieskrieties turpmākajos jautājumos.

Es ceru, ka šajā rakstā sniegtie padomi palīdzēs jums sasniegt šo mērķi. Jūtieties brīvi pievienot savus padomus un idejas komentāru sadaļā kopienas labā. Paldies jau iepriekš!

  1. Par LFCS
  2. Kāpēc iegūt Linux Foundation sertifikātu?
  3. Reģistrējieties LFCS eksāmenam