Comenzi pentru procesarea fișierelor

Comanda find poate fi utilizată pentru a găsi fișiere anume oriunde în structura de directoare. Comanda grep este utilizată pentru găsi șiruri de caractere specifice în fișiere și pentru a lista fișierele și liniile în care au fost găsite.

Găsirea fișierelor

Comanda find poate fi utilizată pentru a descoperi fișiere pe baza anumitor criterii. Atunci când un fișier sau grup de fișiere s-a potrivit cu criteriul, se poate executa altă comandă asupra fișierelor găsite. Comanda find poate fi utilizată în multe scopuri, inclusiv pentru ștergerea, salvarea sau printarea fișierelor. Comanda find poate localiza fișiere atât pe sistemul propriu cât și pe un sistem la distanță. Căutarea începe din punctul specificat din ierarhia de directoare către subdirectoarele aflate sub acel punct. O căutare care începe din root poate dura foarte mult timp.

Căutarea unui șir de caractere în fișiere

Comanda grep (Global Regular Expression Print) este utilizată pentru a căuta un șir de caractere într-un fișier sau în rezultatul unei comenzi. Comanda grep caută în fișier șirul specificat și afișează toate liniile care conțin modelul respectiv. Aceasta comanda este utilizată în mod frecvent ca filtru împreună acu alte comenzi. De exemplu, puteți executa comanda ps (process status) și în rezultatul execuției să căutați toate potrivirile cu un anume proces. Comanda grep este case sensitive.

grep [optune(i)] sir cale/numefisier

În exemplul următor, comanda grep este folosită pentru a căuta în toate fișierele din directorul curent (indicat prin ./) pentru a găsi acele fișiere care conțin șirul de caractere xyz.

grep xyz ./*

Sortarea fișierelor cu comanda sort

Comanda sort asigură un mijloc rapid și simplu pentru a putea organiza datele fie în ordine alfabetică fie în ordine numerică. Comanda sort lucrează numai cu fișiere text ASCII. Există un număr de opțiuni disponibile pentru comanda sort. Acestea permit operatorului să definească tipul de sortare care trebuie executată precum și câmpul din care să înceapă sortarea.

sort [options] [input_filename]

Arhivarea (comprimarea) și dezarhivarea:

Linux-ul include în orice distribuție utilitarele de arhivare/dezarhivare ca tar, gzip, gunzip.

Mai întâi câteva cuvinte: Ce este arhivarea și de ce este utilă ?

Arhivarea este procesul prin care un anume fișier este “codat” astfel încât să ocupe mai puțin spațiu pe mediul de stocare ( de regulă harddisk sau floppy-disk, dar și banda magnetica și alte medii).

Aplicațiile folosirii acestei tehnici sunt numeroase, dintre care cele mai des folosite sunt în primul rând economia de spațiu de stocare:

  1. CD-rom-ul cu distribuția Linux (și nu numai) are fișierele arhivate, pentru a folosi mai eficient spațiul disponibil.
  2. Daca vreți să copiați pe dischetă (1.44 Mb) un fișier mai mare decât spațiul disponibil, trebuie mai întâi să arhivați (comprimați) fișierul.
  3. Toate programele și documentațiile disponibile pe internet sunt arhivate pentru a diminua folosirea rețelei și timpul de copiere!

Tehnicile de compresie sunt foarte complexe și specializate pe tipuri de fișiere. Astfel există compresie pentru imagini, pentru videoclipuri, pentru audio, dar și pentru fișiere “normale”, care nu se încadrează în aceste tipuri.

Când aveți nevoie să folosiți comprimarea/decomprimarea fișierelor:

  • Când obțineți într-un fel sau altul fișiere comprimate,
  • Când aveți nevoie de spațiu pe disk, sau un anume fișier nu încape pe dischetă,
  • Ca să păstrați ordinea în fișierele dvs (de ce nu ?),
  • Când trimiteți un fișier prin email este politicos întâi să-l comprimați …
  • etc …

Cum comprimați un fișier ? Cum decomprimați un fișier?

Compresia

Comanda pentru compresia unui fișier este “gzip”, iar sintaxa este foarte simplă:

$ gzip fisier

Comprimă “fisier”. La sfârșitul acestei operații fișierul va avea extensia .gz și bineînțeles o lungime mai mică!

Se pot folosi și wildcards (metacaracterele). În exemplul următor,

$ gzip *.txt

comprimă toate fișierele cu extensia “.txt”. La sfârșitul acestei operații fișierele vor fi înlocuite cu fișiere cu extensia “.txt.gz”!

Atenție: Această comandă va crea pentru fiecare fișier existent câte un fișier corespunzător cu extensia “gz”.

Dacă vreți să reuniți într-o singură arhivă mai multe fișiere, trebuie să folosiți comanda “tar”.

Decompresia

Opusul comenzii gzip este comanda “gunzip”.

Exemplu:

$ gunzip doc1.txt.gz

La sfârșitul acestei operații fișierul “doc1.txt.gz” va fi înlocuit cu versiunea decomprimată “doc1.txt”

Sau:

$ gunzip *.gz

Această comandă decomprimă toate arhivele din directorul curent.

Cum comprimați/decomprimați mai multe fișiere/directoare într-o singură arhivă: comanda “tar” se folosește pentru comprimarea/decomprimarea mai multor fișiere dintr-o singură arhivă.

Comanda tar are următoarea sintaxă:

$ tar optiuni arhiva fisiere

Pentru arhivare se pot folosi opțiunile “-cvf”, iar pentru dezarhivare, opțiunile “-xvf”

Exemple:

$ tar -cvf arhiva.tar *.txt

Arhivează toate fișierele cu extensia “.txt”

$ tar -xvf arhiva.tar

Dezarhivează toate fișierele din “arhiva.tar”

De reținut că această arhivare nu comprimă fișierele. Astfel, după arhivare, lungimea arhivei este egală cu suma lungimii fișierelor din arhivă. Totuși, această arhivă o puteți comprimă ca pe un fișier obișnuit:

Exemplu:

$ gzip arhiva.tar

La sfârșitul acestei comenzi, în directorul curent veți avea un fișier cu numele “arhiva.tar.gz”.

Compresia si arhivarea automata

În unele cazuri, este practic să arhivați și comprimați anumite fișiere/directoare folosind doar o singură comandă (“tar”). Acest lucru se poate face foarte simplu adăugând opțiunea z printre opțiunile comenzii tar.

Exemple:

$ tar -zcvf arhiva.tgz *.doc

Arhivează și comprimă toate fișierele cu extensia “.doc”

$ tar -zxvf arhiva.tgz

Decomprimă și dezarhivează “arhiva.tgz”

Extensia “.tgz” este echivalentă cu “.tar.gz” și/sau cu “tar.Z” iar extensia “.gz” este echivalentă cu “.Z”.

Leave a comment