Lucrul cu arhive în Linux. Utilitarul TAR. Principalele tipuri de arhive. Crearea, modificarea, despachetarea arhivelor. Lucrați cu un număr mare de fișiere și arhive în același timp. Redenumirea în bloc a fișierelor.
UTILITY TAR
Tar este instrumentul standard și cel mai popular pentru arhivarea / despachetarea datelor în Linux. Voi descrie opțiunile de bază pentru gudron.
Detaliile detaliate de ieșire și de lucru.
Această opțiune vă permite să scrieți într-un fișier. Ie Ar trebui să fie specificat întotdeauna atât la crearea unei noi arhive, cât și la despachetare.
Creați o nouă arhivă. Folosit cu opțiunea f.
Adăugați fișiere în arhivă. Atenție: arhivele comprimate (bzip2 sau gzip) nu pot fi modificate! Actualizarea / adăugarea fișierelor este posibilă numai în acele arhive create fără comprimare, adică de exemplu, astfel încât tar cf arhive.tar numele fișierului
Adăugați fișiere la sfârșitul arhivei.
Nu adăugați fișiere în arhivă, lista cărora este specificată în fișierul "filename".
Adăugați fișiere într-o arhivă existentă.
Adăugarea fișierelor într-o arhivă comprimată nu este posibilă. Puteți adăuga fișiere numai la o arhivă necomprimată. Voi explica prin exemplu: creați o arhivă necomprimată adăugați fișiere la ea ștergeți arhiva necomprimată, creați o comprimată și încercați să adăugați fișiere la ea
De fapt, tu, desigur, poți "actualiza" arhiva comprimată adăugând fișiere la ea. Dar programele care fac asta doar - despachetați arhiva existentă și creați una nouă, luând în considerare fișierele care trebuie adăugate. Trebuie să înțelegem că există o mare diferență între arhivarea și comprimarea fișierelor. De exemplu, puteți crea o arhivă necomprimată din mai multe fișiere cu comanda tar cf archive.tar documents /. dacă aveți nevoie să transferați rapid acest lucru cuiva ca un singur fișier. Dar pe computerele moderne nu puteți salva și comprima fișierul în cel mai rapid mod. De exemplu, din câte știu, gzip comprimă / descompune cel mai rapid.
Cum știu tipul de arhivă?
Aflați tipul de arhivă pe Linux va ajuta la fișierul de utilitate, care, ca un argument ar trebui să fie transferat la numele fișierului. Utilitarul de fișier determină tipul fișierului prin conținut și nu prin numele fișierului. # 1.tar - necomprimat arhivă # 1.tar.gz - arhiva gzip # 1.tar.bz2 - arhiva bzip2 # 1.zip - arhiva zip
Creați o arhivă dintr-un singur fișier, fișierul comprimat GZIPSozdat a două fișiere, comprimate catalog documente BZIP2Arhivirovat împreună cu tot conținutul său ca o arhivă arhivRaspakovat GZIP în directorul curent la arhiva curentă director GZIPRaspakovat BZIP2Raspakovat GZIP documente de arhivă în directorul / noi /
Crearea unei copii de siguranță a sistemului în Linux.
Nu vreau să mă opresc în acest moment, tk. acesta este subiectul unui articol separat. Voi spune că atunci când arhivați întregul sistem (/), trebuie să țineți cont de punctele de montare ale sistemelor de fișiere și ale sistemelor de fișiere virtuale precum / proc și / dev. De asemenea, aveți nevoie de opțiunea de identificare-lipsă de citire. cu ea, tarul nu se va opri dacă întâlnește un fișier pe care nu-l poate citi. Opțiunea -one-fișier-sistem poate fi, de asemenea, utilă - indică spre Tar-y, astfel încât să nu depășească un sistem de fișiere. Acest lucru este necesar dacă arhivați rădăcina, când trebuie să săriți / proc și / dev. Creați un fișier text, în care listați lista a ceea ce nu trebuie să arhivați. Pot fi directoare tmp, fișiere log și chiar fișierul cu backup. Adăugați numele fișierului ca argument la opțiunea -exclude-din. De exemplu, astfel încât -exclude-from = list.txt. În ceea ce privește alegerea "compresoarelor" - gzip este mai liberă decât bzip2. deoarece Se comprimă mult mai repede (până la 80%), pierzând în mărimea arhivei cu aproximativ 10-20%.
Creați mai multe arhive.
De exemplu, există o astfel de listă de fișiere. Trebuie să facem din acest 1.tar.gz 2.tar.gz 3.tar.gz, etc.
Pentru a face acest lucru, puteți utiliza lista pentru i în listă; face comanda; făcut. De exemplu, acesta este cazul: în acest caz, numele celor rezultate vor avea acest tip de filename.tar.gz. și anume 1.djvu.tar.gz.Este bine ca in numele arhivei sa existe o "extensie" a fisierului care se afla in arhiva. În Linux, inițial nu există "extensii" și, mai simplu. tar.gz este doar o parte a numelui de fișier. Și tipul de fișier este adesea mai bine recunoscut de utilitarul de fișiere.
Dar această metodă are dezavantajele sale. De exemplu, nu veți putea să procesați fișiere care conțin spații în numele dvs. în acest fel. În acest caz, puteți utiliza o altă modalitate mai practică de a arhiva mai multe fișiere: va funcționa chiar dacă numele de fișiere conțin spații și caractere speciale. Nu uitați de opțiunea tip-f a utilității de căutare. Pentru a înțelege de ce aveți nevoie, executați același script fără el și apoi executați comanda ls -a =)
Redenumirea în masă a fișierelor în Linux
În general, încercați să nu utilizați spații în numele fișierelor. Următoarea construcție redenumește toate fișierele din directorul curent, înlocuind spații cu subliniere „_“: Exemplu de masă redenumi fișiere de înlocuire a spațiilor cu subliniere: Construcția de mai sus va înlocui spații cu subliniere în nume de fișiere, nu curent numai, ci, de asemenea, toate sub-directoare. Dacă trebuie să redenumiți fișiere numai în directorul curent, adăugați opțiunea -maxdepth 1.
Despachetarea mai multor arhive.
Dacă aveți nevoie să dezarhivați multe arhive simultan, puteți profita de aceasta. Această comandă va găsi și despacheta toate fișierele .tar.gz în directorul curent. Dacă trebuie să despachetați și arhivele în subdirectoare, ar trebui să eliminați opțiunea -maxdepth 1
Poate că aceste materiale vă vor interesa: