Organització i accés a fitxers
Un dels problemes principals quan es treballa en informàtica és la volatilitat de la memòria, és a dir, quan apaguem l’ordinador tota la informació amb la qual s’estava treballant s’esborra. També és habitual trobar-se amb situacions en què el sistema no disposa de memòria suficient per atendre totes les peticions que se li fan. Per solucionar aquests dos problemes, s’utilitzen mitjans d’emmagatzematge secundari com els discos durs, els discos compactes o les unitats USB, que permeten guardar fitxers i directoris.
Un fitxer és un conjunt de bits associats a un nom que l’identifica unívocament. Un directori és un contenidor amb un nom associat que pot emmagatzemar fitxers o altres directoris.
Aquests dos objectes tan bàsics permeten crear jerarquies que faciliten l’organització de la informació d’un ordinador, i gràcies als noms que se’ls assigna es pot fer referència a la informació d’una manera lògica, aïllant-se de qualsevol detall tecnològic que sigui necessari per accedir-hi.
Fitxers i directoris
Un cop introduït el mecanisme d’abstracció que representen els fitxers i directoris, cal conèixer les normes que determinen com s’han d’anomenar o quins caràcters es poden utilitzar per denominar-los, així com les maneres de definir-ne la ubicació respecte del sistema.
Nomenclatura
Els arxius i directoris faciliten l’accés a la informació a partir de noms assignats arbitràriament. Malgrat això, els sistemes de fitxers disposen de conjunts de normes que regeixen els noms que es poden atorgar. Habitualment, els fitxers tenen un nom format per dues parts, nom.extensió, on:
- nom: és el nom que s’assigna al fitxer, el que el distingeix i el fa únic respecte de la resta de fitxers.
- extensió: un conjunt de caràcters que, generalment, s’utilitza per identificar el tipus d’aquest fitxer.
Els directoris no acostumen a requerir extensió, tot i que en sistemes operatius Linux no és estrany trobar-se directoris amb extensió.
Nomenclatura a Windows
A Windows, les regles per anomenar els fitxers i els directoris són les mateixes. En els antics sistemes MS-DOS el nom podia ser de fins a vuit caràcters i l’extensió de fins a tres caràcters. Actualment, els noms de fitxers i directoris poden tenir fins a 260 caràcters en total, sempre que no incloguin els caràcters següents:
- Barra invertida: \
- Barra: /
- Interrogant: ?
- Dos punts: :
- Asterisc: *
- Cometes dobles: “
- Més gran: >
- Més petit: <
- Barra vertical: |
En aquests 260 caràcters es comptabilitza el camí complet per arribar al fitxer (C:\Windows\regedit) i les barres invertides s’utilitzen com a separadors de nivells de directoris. Encara que les restriccions no ho indiquin, hi ha una sèrie de consells força interessants a l’hora d’anomenar fitxers:
- No utilitzar els punts i reservar-los per a l’ús d’extensions.
- Evitar al màxim l’ús d’accents en els noms dels fitxers. Tot i que són suportats per la gran majoria de programes, encara n’hi ha alguns que no es comporten correctament quan s’utilitzen.
- Intentar separar les paraules amb barres baixes (_) o guions (-), en comptes d’espais. Faciliten molt la gestió de fitxers per mitjà dels intèrprets d’ordres.
L’extensió serveix per determinar quin tipus d’informació conté l’arxiu i quin o quins programes el poden obrir.
Exemple
En el nom de l’arxiu fotografia.jpg, l’extensió és jpg. Això indica que el fitxer és una imatge i que es pot obrir amb qualsevol dels programes que estiguin associats a aquesta extensió.
Els fitxers de Windows no distingeixen entre majúscules i minúscules. Per aquest motiu, els fitxers os.jpg, Os.jpg i OS.jpg serien el mateix. En canvi, els fitxers ós.jpg i os.jpg, serien diferents, ja que sí que es fa distinció, en el cas dels accents.
Nomenclatura a Linux
A Linux, les normes per a l’assignació de noms són les mateixes per a fitxers i directoris. Els noms de fitxers i directoris poden tenir fins a 255 caràcters (que inclouen el camí complet per arribar-hi), i els únics caràcters que no permet utilitzar són:
- Barra: /
- Nul (caràcter especial)
A Linux, les barres s’utilitzen com a separadors de nivells de directoris. Així mateix, s’aconsella no fer servir interrogants (?), asteriscs (*), is comercials (&) i signes de dòlar ($) en els noms, ja que són caràcters amb usos específics a la terminal que podrien complicar l’execució d’ordres.
A diferència dels sistemes Windows, l’extensió a Linux no s’usa per determinar el tipus de fitxer, sinó que esdevé una convenció recomanada perquè els usuaris puguin reconèixer-lo, sense que el sistema les requereixi. Per reconèixer els tipus de fitxers, Linux utilitza el concepte de magic numbers.
Els magic numbers són uns caràcters alfanumèrics, típicament dos bytes (octets) situats a l’inici dels fitxers, que serveixen per identificar el tipus de fitxers.
Com es pot intuir, els magic numbers són un mecanisme molt més robust per reconèixer tipus de fitxers que la utilització d’extensions de fitxers.
Una altra de les particularitats més peculiars de Linux, relacionada amb l’ús d’extensions, és que els fitxers poden començar per punt (és a dir, no tenir la part de nom, pròpiament dita). Per convenció, s’estableix que els fitxers que comencen per punt són ocults.
Case sensitive
Case sensitive és una expressió força utilitzada en el món de la informàtica per referir-se als sistemes on es distingeix entre majúscules i minúscules. El contrari d’aquesta expressió és case insensitive.
Linux és un sistema case sensitive. Això implica que os.jpg, Os.jpg i OS.jpg són tres fitxers completament diferents per a aquest sistema.
Tipus de fitxers
Quan es treballa amb fitxers, se sol dir que tenen un tipus determinat.
El tipus d’un fitxer és el format en què ha estat emmagatzemat.
Cal tenir en compte que, al cap i a la fi, els ordinadors emmagatzemen conjunts de bits. Per això cal establir un conjunt de normes que determinin la manera d’emmagatzemar i d’interpretar el conjunt de fitxers que utilitza una aplicació concreta.
Hi ha moltes classificacions dels fitxers segons el tipus. Algunes són molt completes i fan al·lusió a la utilitat de cadascun dels tipus; d’altres opten per una classificació més generalista i només diferencien entre executables i arxius. És molt recomanable visitar bases de dades de formats de fitxers quan es desconeix el tipus d’un fitxer concret.
Per a mes informació sobre tipus de fitxers i recursos relacionats amb extensions, consulteu la secció “Adreces d’interès” del web.
Pel que fa al sistema operatiu, es pot fer una classificació bàsica de tres tipus de fitxers:
- Fitxers del sistema operatiu: fitxers de configuració, executables i aplicacions bàsiques del sistema sense els quals no pot funcionar.
- Fitxers d’aplicacions: les aplicacions instal·lades en els sistemes són, simplement, fitxers situats en unes rutes específiques.
- Fitxers d’usuari: són els que contenen informació que pertany als usuaris; per exemple, documents de text, fitxers multimèdia, arxius comprimits, programes, fitxers específics generats per programes, etc.
Camins
S’utilitzen camins quan es fa referència als fitxers o directoris d’un sistema informàtic.
Un camí és l’especificació de la localització d’un fitxer o directori. Hi ha dues maneres de fer aquesta especificació:
- Quan aquesta especificació es fa respecte l’arrel del sistema (o del volum on es troba aquest), es parla de camí absolut.
- Quan es fa respecte del directori actual de treball, es tracta d’un camí relatiu.
Segons el sistema operatiu utilitzat, el camí a un fitxer o directori pot variar, però en línies generals es compon dels noms dels directoris que conformen el camí cap a aquest a través de l’arbre de directoris. Per separar aquests directoris s’utilitza un caràcter delimitador, que és \ a Windows i / a Linux.
Camins absoluts
Els camins absoluts es construeixen a partir de l’arrel del sistema o del volum en el qual es troba el fitxer o directori. Per això, cal que distingim entre els sistemes Windows i els sistemes Linux.
A Windows, com que el sistema de fitxers fa que cada divisió física tingui assignada una lletra d’unitat (A:\, C:\…), els camins absoluts a fitxers o directoris de Windows es defineixen sempre respecte de l’arrel del volum en què es troben.
Un exemple de camí absolut a Windows és el següent: C:\Windows\notepad.exe.
En el cas de Linux, tots els volums i particions s’integren sota una mateixa arrel, que es designa amb una barra (/). A partir d’aquesta barra, es defineix tota la resta del sistema. Per aquest motiu, a Linux tots els camins absoluts comencen per barra.
Un exemple de camí absolut a Linux és el següent: /var/log/messages.
Camins relatius
Abans de parlar de camins relatius cal esmentar dos fitxers especials que, tant a Windows com a Linux, es troben en tots els directoris que es creen en el sistema:
- . (punt): és una referència al mateix directori.
- .. (dos punts): és una referència al directori pare.
Per exemple, si un usuari es troba a /home/jlantunez, punt (.) és el mateix /home/jlantunez, i dos punts (..) fa referència a /home. Com és evident, aquest segon fitxer constitueix un mecanisme imprescindible per definir rutes relatives a fitxers que es troben jeràrquicament per sobre del directori actual de treball.
Les rutes relatives mai no comencen amb el nom d’una unitat (a Windows) o una barra (a Linux), ja que es poden donar tres situacions diferents, segons si el fitxer es troba:
- En el mateix directori on s’està treballant: n’hi ha prou d’indicar el nom del fitxer. El camí relatiu serà només el nom d’un fitxer.
- Jeràrquicament per sobre del directori on s’està treballant: cal ascendir, mitjançant la utilització de dos punts (..). El camí relatiu comença per dos punts seguits de barra.
- Jeràrquicament en directoris per sota del directori on s’està treballant: cal accedir, mitjançant els noms dels directoris, al camí del fitxer. El camí relatiu comença pel nom d’un directori.
Estructura de directoris
Tots els sistemes operatius disposen d’una organització que cal conèixer perquè els fitxers que es van afegint al sistema es trobin en la ubicació especialment dissenyada a aquest efecte. Aquesta organització, en els sistemes Windows, respon a les decisions arbitràries de la companyia que desenvolupa aquesta família de sistemes i, en el cas dels Linux, segueix un estàndard conegut com a FHS.
Estructura de directoris de Windows
Quan s’instal·la el sistema operatiu Windows, aquest incorpora tota una sèrie de directoris que es generen per defecte. Aquesta estructura ha variat en les diverses versions d’aquest sistema i a Windows 7 disposa dels elements següents:
- Program files (arxius de programa): la majoria de programes, incloent-hi algunes eines que s’instal·len amb el mateix sistema operatiu, instal·len els seus fitxers en els subdirectoris de program files. En versions anteriors a Windows 7, aquest directori tenia el nom traduït a l’idioma del sistema, però actualment s’utilitza la nomenclatura anglesa en totes les internacionalitzacions. En sistemes Windows de 64 bits s’inclou un segon directori program files (x86) on s’instal·len tots els programes de 32 bits. No es recomana la manipulació directa dels fitxers i directoris creats en aquesta zona del sistema, ja que podria malmetre els programes i, fins tot, impossibilitar-ne la desinstal·lació.
- Users (usuaris): aquest directori conté la informació de cadascun dels usuaris del sistema. En versions anteriors de Windows, aquest directori s’anomenava documents and settings. Dins d’aquesta zona del sistema, per a cada usuari que hagi obert sessió, hi ha un directori amb el seu nom que defineix el perfil que té. Tanmateix, dintre d’aquests directoris es generen 12 subdirectoris:
- AppData: directori ocult que conté informació sobre la configuració de Windows i els programes que utilitza l’usuari. A mesura que es va treballant i personalitzant cadascun dels programes, emmagatzema els perfils d’usuari en aquesta carpeta.
- Contacts: és emprada per algunes aplicacions de correu per emmagatzemar informació sobre els seus contactes.
- Desktop: conté tota la informació que es visualitza a l’escriptori de l’usuari.
- Documents: magatzem de documents (principalment, de text).
- Downloads: s’utilitza per descarregar els fitxers d’Internet. Els programes permeten configurar, generalment, si es vol fer servir aquest directori com a destinació per defecte de les descàrregues.
- Favourites: és on dipositen les adreces d’interès que s’han afegit als navegadors d’Internet.
- Links: conté els favorits de Windows que hem definit (panell de navegació de l’explorador de Windows).
- Music: és un magatzem de música.
- Pictures: és un magatzem d’imatges.
- Saved Games: guarda les partides en joc per als jocs que tenen programat fer ús d’aquest directori.
- Searches: emmagatzema les cerques que s’han fet recentment, de manera que es poden tornar a fer servir en el futur.
- Videos: és un magatzem de vídeos.
- Addicionalment, existeix un directori anomenat Public, accessible a tots els usuaris del sistema, usat per posar recursos a disposició de la resta d’usuaris del sistema.
- Windows: conté els fitxers del mateix sistema operatiu, juntament amb els binaris imprescindibles perquè funcioni. La majoria dels usuaris convencionals no manipularan mai aquest directori.
Estructura de directoris de Linux
La majoria de distribucions de Linux i Unix segueixen un estàndard pel que fa als noms i la localització dels directoris, el file hierarchy standard (FHS). La utilització d’aquest estàndard permet que qualsevol programa que instal·lem, independentment de la distribució de Linux utilitzada, pugui saber on ha d’ubicar els seus fitxers i, des del punt de vista de l’usuari, permet conèixer on es trobaran els diferents fitxers i directoris dins el sistema.
L’FHS no solament especifica les àrees que ha de tenir un sistema i la funció corresponent, sinó que també explica altres aspectes importants, com ara el mínim d’executables i fitxers que han d’estar disponibles o les excepcions i conflictes històrics. Les aplicacions i sistemes que compleixen l’estàndard es coneixen com a FHS compliant. Podeu veure l’arbre de l’FHS en la figura.
Entre les àrees del sistema que especifica l’FHS trobem les següents:
- /: Tot el sistema Linux deriva d’aquest directori, anomenat arrel del sistema.
- /bin/: ordres bàsiques per al funcionament del sistema.
- /boot/: arxius necessaris per a l’arrencada del sistema. També s’emmagatzema en aquest directori el nucli de Linux.
- /dev/: descriptors dels dispositius del sistema.
- /etc/: fitxers de configuració del sistema i de les aplicacions instal·lades.
- /home/: contenidor dels directoris personals dels usuaris del sistema.
- /lib/: biblioteques essencials per al nucli del sistema i les aplicacions corresponents.
- /lost+found/: es crea automàticament en arrencar el sistema, després de l’execució fsck (file system check), i té la utilitat d’emmagatzemar els arxius recuperats després d’un incident en el sistema. El més convenient seria que aquest directori estigués buit.
- /mnt/ i /media/: punts de muntatge temporal per a dispositius.
- /opt/: aplicacions proporcionades per tercers, típicament comercials.
- /proc/: sistema de fitxers virtual (només existeix en RAM) que posa a disposició de l’usuari informació referent a l’estat del sistema: ús de memòria, dispositius detectats, etc. Addicionalment, per a cada procés executat, existeix un subdirectori a /proc/ amb el número de procés que conté informació sobre aquest.
- /root/: directori personal del superusuari (root).
- /sbin/: similar a /bin/ que conté binaris essencials del sistema que típicament només són executats pel superusuari.
- /srv/: dades dels serveis proporcionats pel sistema (és més habitual en servidors).
- /tmp/: arxius temporals. És habitual planificar la neteja periòdica i automàtica d’aquest directori (moltes vegades, en reiniciar el sistema o la sessió).
- /usr/: segona estructura jeràrquica, utilitzada per emmagatzemar tot el programari instal·lat en el sistema.
- /var/: dades amb un volum alt de variabilitat: cues d’espera d’impressores, bústies de correu dels usuaris, registres del sistema, bases de dades, etc.
No es recomana fer modificacions sobre l’estructura d’aquests directoris, ja que són bàsics per al bon funcionament del sistema. Malgrat això, no hi ha cap restricció pel que fa a la creació de nous directoris a l’arrel del sistema.
Per a més informació sobre l’FHS, consulteu-ne la pàgina oficial, que podeu trobar en la secció “Adreces d’interès” del web.
Operacions bàsiques amb el sistema de fitxers
La majoria de sistemes operatius actuals disposen d’un entorn gràfic que permet la manipulació senzilla de fitxers i directoris.
Un explorador de fitxers és un programa que proporciona una interfície gràfica per poder treballar amb fitxers.
Les operacions bàsiques que han de proporcionar els exploradors de fitxers són, entre d’altres, crear; obrir; editar; mostrar; canviar noms; moure; copiar; modificar atributs, propietats i permisos; cercar; etc.
A Windows, l’explorador de fitxers és Explorer, amb un entorn que de ben segur us serà familiar. El podeu veure en la figura.
A Linux existeixen diversos exploradors de fitxers. Depenent de la distribució de Linux que s’utilitza, es pot trobar un explorador o un altre, però en el cas d’Ubuntu 10.04, s’incorpora l’explorador de fitxers Nautilus, amb una interfície molt similar a la de la resta d’exploradors de fitxers que hi ha en el mercat. Observeu l’esquema gràfic del Nautilus en la figura.
Encara que els sistemes operatius actuals disposen d’interfícies gràfiques altament funcionals, sovint el treball en mode text per mitjà de la línia d’ordres és molt més àgil i flexible. A més, aquest mode de treball és el que se sol seleccionar en l’administració de servidors, ja que permet, entre d’altres coses, una interacció amb el sistema amb un ús mínim de recursos i l’automatització de tasques repetitives mitjançant la programació de guions (scripts).
Operacions bàsiques a Windows
Tot i que l’entorn gràfic de Windows disposa d’opcions suficients per fer l’administració bàsica de fitxers, és interessant saber treballar amb el seu terminal, que podeu trobar al menú Inici, executant cmd. Us ha d’aparèixer la pantalla de la figura.
Per obtenir ajuda sobre les ordres que es presenten a continuació, escriviu la instrucció help. Podeu indicar a continuació el nom de l’ordre sobre la qual voleu obtenir més informació o ajuda.
Desplaçar-se pel sistema
Tots els directoris del sistema es troben dins de la jerarquia que penja de l’arrel de la unitat que els conté (C:\, D:\…). L’ordre cd (change directory) permet canviar d’un directori a un altre. El camí del directori actual es mostra sempre a l’entrada de la línia d’ordres (prompt).
La instrucció cd té la sintaxi següent:
cd directori
l’especificació d’aquest directori pot ser relativa o absoluta. Per poder accedir a un camí d’una unitat diferent de la unitat on es troba el terminal en un moment determinat, cal canviar abans d’unitat. Per fer el canvi, cal introduir el nom de la unitat, seguit de dos punts.
L’ordre cd se sol combinar amb els dos punts (..) per ascendir un nivell en la jerarquia i les contrabarres com a caràcter separador de directoris (\).
Exemples de canvis de directori
S’obre el terminal i es puja un nivell:
C:\Users\Mindeos>cd ..
S’accedeix, per camí absolut, a C:\Windows:
C:\Users>cd C:\Windows
S’accedeix, per camí relatiu, al directori C:\Windows\System32\drivers:
C:\Windows>cd System32\drivers
Es canvia d’unitat:
C:\Windows\System32\drivers>D:
S’accedeix al directori IOC:
D:\>cd IOC D:\IOC>
Llistar el contingut d'un directori
Una altra de les tasques que es duen a terme quan es treballa amb directoris és visualitzar-ne el contingut o llistar-lo. L’ordre dir (directory) és l’encarregada de dur a terme aquesta operació i té la sintaxi següent:
dir fitxers_o_directoris
Un cop més, l’especificació dels fitxers o directoris pot ser tant absoluta com relativa. L’ordre dir permet l’ús de comodins.
Un comodí o metacaràcter és un símbol o conjunt de símbols que representen altres caràcters o grups de caràcters i que es poden utilitzar per simplificar les operacions per mitjà de la línia d’ordres.
Els comodins de Windows són els següents:
- ? (interrogant): se substitueix per un caràcter qualsevol. Per exemple, si s’executa dir g?t, llista gat, got i, en general, qualsevol fitxer que comenci per g i acabi en t del directori actual.
- * (asterisc): representa un conjunt de caràcters (que pot ser buit). Per exemple, si s’executa dir *met*, llista emetre.txt, transmetre.doc i, en general, qualsevol fitxer que contingui met dins el seu nom.
A continuació podeu veure uns quants exemples d’execució de la instrucció dir:
Exemples de comodins
Es llista el contingut del directori actual:
C:\Users\Mindeos>dir
El volum de la unitat C és OS
El número de sèrie del volum és: 70B5-34EB
Directori de C:\Users\Mindeos
19/02/2011 09:08 <DIR> .
19/02/2011 09:08 <DIR> ..
20/02/2011 10:51 <DIR> .VirtualBox
03/08/2010 17:46 <DIR> Contacts
...
19/02/2011 10:25 <DIR> VirtualBox VMs
0 arxius 0 bytes
16 dirs 402.295.152.640 bytes lliures
A continuació es llisten les paraules que segueixen el patró p?ta.txt:
C:\Users\Mindeos>dir p?ta.txt
El volum de la unitat C és OS
El número de sèrie del volum és: 70B5-34EB
Directori de C:\Users\Mindeos
05/03/2011 10:06 0 pata.txt
05/03/2011 10:06 0 peta.txt
05/03/2011 10:10 0 pita.txt
05/03/2011 10:10 0 pota.txt
4 arxius 0 bytes
0 dirs 402.038.427.648 bytes lliures
A continuació es llisten els fitxers que segueixen el patró p*ta.txt:
C:\Users\Mindeos>dir p*ta.txt
El volum de la unitat C és OS
El número de sèrie del volum és: 70B5-34EB
Directori de C:\Users\Mindeos
05/03/2011 10:06 0 pata.txt
05/03/2011 10:06 0 peta.txt
05/03/2011 10:11 0 pilota.txt
05/03/2011 10:10 0 pita.txt
05/03/2011 10:10 0 pota.txt
5 arxius 0 bytes
0 dirs 402.038.468.608 bytes lliures
A continuació es llisten els fitxers d’extensió *.txt:
C:\Users\Mindeos>dir *.txt
El volum de la unitat C és OS
El número de sèrie del volum és: 70B5-34EB
Directori de C:\Users\Mindeos
05/03/2011 10:14 0 gat.txt
05/03/2011 10:06 0 pata.txt
05/03/2011 10:06 0 peta.txt
05/03/2011 10:11 0 pilota.txt
05/03/2011 10:10 0 pita.txt
05/03/2011 10:10 0 pota.txt
6 arxius 0 bytes
0 dirs 402.038.677.504 bytes lliures
Crear directoris
L’ordre que permet crear directoris a Windows és mkdir o md (make directory). Té un ús i una sintaxi molt simple:
mkdir cami_directori md cami_directori
El camí del directori que es vol crear pot ser relatiu o absolut. Vegeu-ne alguns exemples:
Exemples de camins de directoris
Es crea un nou directori, anomenat practiques:
C:\Users\Mindeos>mkdir practiques
Es crea un nou directori, anomenat problemes:
C:\Users\Mindeos>md problemes
Es llista tot el que comença per pr del directori actual:
C:\Users\Mindeos>dir pr*
El volum de la unitat C és OS
El número de sèrie del volum és: 70B5-34EB
Directori de C:\Users\Mindeos
05/03/2011 10:28 <DIR> practiques
05/03/2011 10:29 <DIR> problemes
0 arxius 0 bytes
2 dirs 402.035.744.768 bytes lliures
Canviar el nom de fitxers i directoris
Per canviar el nom d’un fitxer o d’un directori cal utilitzar l’ordre rename o ren (‘canviar el nom’). Té la sintaxi següent:
rename nom_antic nom_nou ren nom_antic nom_nou
Exemples de canvis de noms de fitxers i directoris
Es canvia el nom del fitxer pilota.txt a bola.txt:
C:\Users\Mindeos>rename pilota.txt bola.txt
Es canvia el nom del directori practiques a laboratori:
C:\Users\Mindeos>ren practiques laboratori
Copiar fitxers i directoris
Una de les operacions més típiques quan es treballa amb sistemes de fitxers és copiar fitxers i directoris. La instrucció que permet fer-ho és copy. Té la sintaxi següent:
copy origen destinació
Aquesta ordre només permet fer còpies de fitxers. Quan es fa una còpia amb destinació a un directori, copy manté el nom original; en cas contrari, se li dóna el nom de fitxer que s’hagi indicat. Per duplicar directoris cal fer servir l’ordre xcopy, que té la mateixa sintaxi que copy. Totes dues ordres accepten l’ús dels metacaràcters ? i *.
Exemples de còpia de fitxers i directoris
Es fa una còpia del fitxer bola.txt amb el nom pilota.txt:
C:\Users\Mindeos>copy bola.txt pilota.txt
1 arxiu(s) copiat(s).
Es copien tots els fitxers d’extensió *.txt al directori practiques:
C:\Users\Mindeos>copy *.txt practiques
bola.txt
got.txt
pata.txt
peta.txt
pilota.txt
pita.txt
pota.txt
7 arxiu(s) copiat(s).
Es copia un fitxer en un directori destinació amb un nom diferent de l’original:
C:\Users\Mindeos>copy pata.txt practiques\patata.txt
1 arxiu(s) copiat(s).
Es copia un directori complet amb l’ordre xcopy:
C:\Users\Mindeos>xcopy practiques C:\practiques ¿C:\practiques especifica un arxiu o un directori com a destinació (F = arxiu, D = directori)? d practiques\bola.txt practiques\got.txt practiques\pata.txt practiques\patata.txt practiques\peta.txt practiques\pilota.txt practiques\pita.txt practiques\pota.txt 8 arxiu(s) copiat(s)
Moure fitxers i directoris
L’ordre move s’utilitza per moure fitxers i directoris d’un lloc a un altre del sistema. La sintaxi de l’ordre move és molt similar a la de copy i també permet l’ús de comodins:
move origen destinació
on origen i destinació poden fer referència tant a fitxers com a directoris. Quan es mouen fitxers es pot ometre el nom del fitxer que es vol moure en la destinació, si el movem a un directori diferent, ja que se li assignarà el mateix nom que tenia l’original. Quan es mouen directoris és obligatori indicar el nom que tindrà el directori en la destinació (encara que sigui el mateix que ja tenia, situat dins d’un altre directori).
Exemples de maneres de moure els fitxers
Es mou el fitxer document.odt de directori:
C:\Users\Mindeos>move document.odt Documents S'han mogut 1 arxius.Es mou un directori complet de lloc:
C:\Users\Mindeos>move practiques Documents\practiques Se ha(n) mogut 1 directori(s).
Eliminar fitxers i directoris
Una de les funcionalitats que es requereixen quan es treballa amb fitxers i directoris es l’eliminació d’aquests. Hi ha dos grups d’ordres per dur a terme eliminacions:
- del (delete) o erase: permeten l’eliminació de fitxers individuals.
- rd o rmdir (remove directory): permeten l’eliminació de directoris, però només és efectiu quan els directoris són buits. Per poder eliminar directoris no buits cal indicar l’opció /s.
Aquestes instruccions permeten la utilització de comodins, igual que les anteriors.
Exemples d'eliminació de fitxers i directoris
S’eliminen tots els fitxers txt del directori actual:
C:\Users\Mindeos>del *.txt
S’intenta eliminar el directori no buit practiques:
C:\Users\Mindeos>rd practiques El directori no és buit. C:\Users\Mindeos>rd practiques /s practiques, N'esteu segurs (S/N)? s
Operacions bàsiques a Linux
Quan es treballa a Linux, és imprescindible estar familiaritzat amb les ordres bàsiques d’administració de fitxers. Totes les instruccions que es presenten a continuació es poden provar amb el terminal de Linux, que es troba en el menú 1 Aplicacions > Accessoris. Aquest terminal s’obrirà per defecte en el vostre directori d’usuari (figura).
Quan escriviu qualsevol camí del sistema, tant si és absolut o relatiu, podeu utilitzar el tabulador perquè el terminal intenti autocompletar les ordres i, d’aquesta manera, evitar errors. També podeu consultar informació completa sobre cadascuna de les ordres que es presenten en el manual del sistema (man).
Desplaçar-se pel sistema
A Linux, tots els fitxers i directoris del sistema es troben en una jerarquia que penja de l’arrel (/) i és, un cop més, l’ordre cd (change directory) que permet canviar d’un directori a un altre. També es pot consultar, sempre, la localització actual del terminal amb l’ordre pwd (print working directory), encara que molts intèrprets de ordres actuals estan configurats per mostrar la ruta actual a l’indicador d’espera de ordres(prompt).
L’ordre cd té la sintaxi següent:
Cal posar / al final dels camins de directoris?
La utilització de / al final dels noms dels directoris no és obligatòria, però és una bona pràctica per evitar errors tipogràfics. Quan s’inclou la / al final del nom d’un directori s’explicita que és un directori.
D’aquesta manera, si la instrucció no espera un directori fallarà i no durà a terme cap acció inesperada. Tot i això, és recomanable la utilització del tabulador per a l’autocompleció de rutes.
cd directori
L’especificació d’aquest directori pot ser relativa o absoluta i, si no s’especifica cap directori, l’intèrpret assumeix que es vol anar al directori de l’usuari (home directory) que ha executat la instrucció.
L’ordre cd se sol combinar amb els dos punts (..) per ascendir un nivell en la jerarquia i les barres com a caràcter separador de directoris (/). D’altra banda, podem utilitzar la titlla (~) per accedir al directori del nostre usuari, o la titlla seguida del nom d’un usuari per accedir al seu directori (~usuari). Finalment, és habitual utilitzar el guió (-) per tornar enrere en el terminal.
Exemples de desplaçament pel sistema
Primerament, es mostra el directori on hi ha el terminal:
$ pwd /home/jlantunez/
A continuació, es canvia al directori de la usuària jmanzano i es mostra:
$ cd ~jmanzano $ pwd /home/jmanzano/
Es torna enrere:
$ cd - $ pwd /home/jlantunez/
Es puja un nivell en la jerarquia:
$ cd .. $ pwd /home
Es baixa un nivell mitjançant un camí relatiu:
$ cd rsala $ pwd /home/rsala/
Es canvia de directori mitjançant un camí absolut:
$ cd /usr/sbin $ pwd /usr/sbin
Finalment, es torna a canviar de directori mitjançant un camí relatiu:
$ cd ../../home/jvaque $ pwd /home/jvaque
Llistar el contingut d'un directori
Una de les tasques que es duen a terme quan es treballa amb fitxers i directoris és visualitzar o llistar el contingut dels directoris. L’ordre ls (list) és l’encarregada de dur a terme aquesta operació i té la sintaxi següent:
ls [opcions] fitxers_o_directoris
Un cop més, l’especificació dels fitxers o directoris pot ser tant absoluta com relativa i, quan s’utilitza sense indicar cap fitxer o directori, es llista el contingut del directori actual de treball. Com ja passa a Windows, Linux permet l’ús dels comodins següents:
- ? (interrogant): té el mateix comportament que l’interrogant de Windows, és a dir, se substitueix per un caràcter qualsevol.
- * (asterisc): se substitueix per un conjunt de caràcters que pot ser buit, com a Windows.
- [ ] (claudàtors): representen una elecció d’entre els caràcters indicats al seu interior. Per exemple, si s’executés ls p[aeio]ta, llistaria els fitxers pata, peta, pita i pota. Es poden fer servir rangs del tipus [A-Z] (qualsevol lletra de la A a la Z) o negar conjunts de caràcters [!af] (ni la a ni la f).
A més dels comodins, l’ordre ls disposa d’algunes opcions interessants que es mostren en la taula. Aquestes opcions es poden combinar per obtenir una funcionalitat més completa.
| Opció | Utilitat |
|---|---|
| -a | Per defecte, ls no mostra els fitxers ocults (els que comencen per .). Aquesta opció els permet llistar tots. |
| -R | Fa un llistat recursiu, és a dir, es mostren també els continguts de tots els subdirectoris que continguin, i així successivament. |
| -l | Mostra un format llarg de llistat amb informació complementària (permisos, dates…). |
Exemples de l'ordre ls
Es mostra el contingut de l’arrel del sistema:
$ ls / bin dev initrd.img media proc selinux tmp vmlinuz boot etc lib mnt root srv usr cdrom home lost+found opt sbin sys var
Es llista el contingut del directori d’usuari en format llarg i, també, els fitxers ocults:
$ ls -la /home/jlantunez total 144 drwxr-xr-x 22 estudiant estudiant 4096 2011-03-01 20:28 . drwxr-xr-x 3 root root 4096 2011-03-01 12:01 .. drwxr-xr-x 2 estudiant estudiant 4096 2011-03-01 12:23 Baixades -rw-r--r-- 1 estudiant estudiant 220 2011-03-01 12:01 .bash_logout -rw-r--r-- 1 estudiant estudiant 3103 2011-03-01 12:01 .bashrc ... -rw------- 1 estudiant estudiant 1546 2011-03-01 20:28 .xsession-errors -rw------- 1 estudiant estudiant 2523 2011-03-01 12:51 .xsession-errors.old
Esbrinar el tipus d'un fitxer
A Linux, l’extensió d’un fitxer no té vinculació directa amb el tipus de què es tracta. Per això, hi ha una ordre específica per conèixer el tipus d’un fitxer: file. La sintaxi de l’ordre file és:
file [opcions] fitxer
Si reconeix el tipus del fitxer, en proporciona la informació completa. En cas contrari, indica si el fitxer que s’ha passat com a paràmetre és de text, és executable, és un fitxer de dades o un directori.
Exemples per conèixer el tipus de fitxers
Primerament, es mou el terminal al directori on hi ha els fitxers:
$ cd /usr/share/example-content/
A continuació, es mostra la informació d’uns quants fitxers:
$ file Presenting_Ubuntu.odp Presenting_Ubuntu.odp: OpenDocument Presentation $ file Kubuntu_leaflet.jpg Kubuntu_leaflet.jpg: JPEG image data, JFIF standard 1.01
Copiar fitxers i directoris
Quan es treballa amb sistemes de fitxers, és bastant habitual haver de copiar fitxers. La instrucció de Linux que permet copiar és cp (copy). Té la sintaxi següent:
cp [opcions] origen destinació
L’origen és típicament un o més fitxers, i la destinació pot ser un fitxer (quan l’origen és un únic fitxer) o un directori (quan l’origen és un fitxer o més). Els diversos fitxers origen es poden indicar mitjançant la utilització de comodins. Quan es fa una còpia a un directori, cp manté el nom original; en cas contrari, se li posa el nom de fitxer que s’hagi indicat. L’ordre cp suporta una gran quantitat d’opcions que es poden consultar en la seva pàgina de manual, si bé algunes de les més útils es mostren en la taula.
| Opció | Utilitat |
|---|---|
| -f | Força la còpia: sobreescriu el fitxer destinació, si ja existeix, sense preguntar. |
| -p | Preserva els permisos i la propietat del fitxer. Normalment, quan es fa una còpia del fitxer, aquesta passa a pertànyer a l’usuari que ha fet la còpia. D’aquesta manera, la còpia conserva la propietat original. |
| -R | Permet indicar un directori com a origen. Tots els subdirectoris i fitxers continguts en aquest directori es copien també. |
| -u | Fa la còpia del fitxer únicament si l’origen és més nou que la destinació (o si aquesta no existeix). Aquesta opció és molt útil per gestionar còpies de seguretat. |
Exemples de l'ordre cp
Es copien tots els fitxers d’extensió *.txt al directori backups:
$ cp *.txt backups/
Es fa una còpia del fitxer ioc.txt del directori actual amb el nom ioc_ccff.txt, emmagatzemant-la a /tmp i preservant permisos i drets:
$ cp -p ioc.txt /tmp/ioc_ccff.txt
Es copia tot el directori Pictures com a Imatges, tots dos situats al directori de l’usuari actual:
$ cp -R ~/Pictures ~/Imatges
Moure fitxers i directoris
L’ordre mv (move) s’utilitza tant per moure fitxers i directoris d’un lloc a un altre com per canviar-los el nom. Encara que per a un usuari siguin operacions diferents, Linux no distingeix entre aquestes operacions, ja que, internament, un canvi de nom simplement és un trasllat del camí absolut d’accés a aquell fitxer o directori. La sintaxi de l’ordre mv és molt similar a la de cp i també permet l’ús de comodins:
mv [opcions] origen destinació
L’ordre mv comparteix la majoria de les opcions amb cp, tot i que -R i -p no s’apliquen, ja que no tenen cap sentit en aquesta operació.
Exemples de la utilització de l'ordre mv
Es canvia el nom del fitxer index.htm a index.html:
$ mv index.htm index.html
Es mou el fitxer index.html al directori /var/www:
$ mv index.html /var/www
Eliminar fitxers i directoris
Hi ha dues ordres per dur a terme l’eliminació de fitxers i directoris a Linux:
- rmdir (remove directory): que només permet l’eliminació de directoris buits.
- rm (remove): que permet tant l’eliminació de fitxers com l’eliminació de directoris, buits o no, amb la utilització dels paràmetres adequats.
Vistes les limitacions de l’ordre rmdir, l’elecció més encertada és sempre l’ordre rm. De la mateixa manera que passava amb l’ordre cp o l’ordre mv, quan es vulgui eliminar un directori complet, juntament amb el contingut d’aquest, caldrà utilitzar l’opció recursiva (-r). De la mateixa manera que passava amb les ordres anteriors, es poden fer servir metacaràcters per simplificar les operacions d’eliminació.
Exemples d'eliminació de fitxers i directoris
S’eliminen tots els fitxers xsl del directori actual:
$ rm *.xsl
S’elimina el directori Descarregues del directori d’usuari de l’usuari rortells:
$ rm -r ~rortells/Descarregues
S’elimina tot el sistema (no executeu aquesta ordre! És la típica “brometa” que es fa a la gent que no té gaire experiència en Linux, però s’ha d’executar amb el superusuari perquè sigui efectiva).
$ rm -rf /
Empaquetar i comprimir fitxers i directoris
Agrupar diversos arxius en un de sol i comprimir aquests fitxers són tasques que s’efectuen freqüentment per al transport de fitxers d’un lloc a un altre.
Un empaquetador és una eina que genera un únic fitxer a partir d’un o més fitxers o directoris. L’empaquetador més típic de Linux és tar.
Un compressor és una eina que, a partir d’un fitxer, en genera un altre de mida inferior, amb el mateix contingut. Els compressors més típics de Linux són gzip i bzip2.
Així doncs, en els sistemes Linux es disposa de dues eines amb propòsits específics i, per tant, quan es vol comprimir un directori complet, el que s’ha de fer realment és empaquetar-lo i després comprimir-lo.
Quan es vol empaquetar, s’utilitza l’eina tar (tape archiver). Aquesta eina és molt antiga; prové de l’època en què les còpies de seguretat es realitzaven en cintes. Per això, actualment, sol ser molt típic haver d’introduir, obligatòriament, el paràmetre -f per explicitar que s’està treballant amb fitxers i no amb cintes. Els fitxers generats per l’eina tar solen tenir aquesta mateixa extensió.
Per empaquetar en tar s’ha de fer el següent:
tar -cf fitxer.tar fitxers_a_empaquetar
on fitxers_a_empaquetar pot ser un o més fitxers o directoris. Amb aquesta ordre es poden fer servir comodins. Pel que fa a desempaquetar, la sintaxi és la següent:
tar -xf fitxer.tar [destinació]
Tenint en compte que els fitxers o directoris es desempaquetaran, per defecte, al directori actual, si no s’indica la destinació. Si algun dels fitxers desempaquetats existeix en el directori destinació, se sobreescriurà.
L’eina tar disposa d’una gran quantitat d’opcions. Vegeu-ne les més interessants a la taula.
| Opció | Utilitat |
|---|---|
| -c | Crea un nou fitxer. |
| -f | Treball amb fitxers. |
| -j | A més d’empaquetar, comprimeix en format bzip2. |
| -t | Llista el contingut d’un fitxer, sense desempaquetar. |
| -v | Sortida detallada (verbose). Mostra tot el progrés de les operacions dutes a terme. |
| -z | A més d’empaquetar, comprimeix en format gzip. |
Com haureu pogut observar, tot i que tar no és pròpiament una eina de compressió, disposa de dues opcions per poder comprimir, a més d’empaquetar. Per fer la compressió o la descompressió, a més de l’empaquetament o desempaquetament, només cal afegir l’opció adequada a les ordres que s’han presentat anteriorment.
Els dos compressors més típics de Linux són:
- Gzip (*.gz): el nom prové de GNU Zip i utilitza un algorisme de compressió lliure i sense patents. No s’ha de confondre amb el format zip, que no és compatible. Per comprimir s’utilitza l’ordre gzip i per descomprimir, l’ordre gunzip.
- Bzip2 (*.bz2): aquest format, posterior a gzip, comprimeix la majoria de fitxers amb una ràtio de compressió molt més alta que el gzip o zip. En contrapartida, utilitza més memòria i és més lent. Per comprimir s’usa l’ordre bzip2 i per descomprimir, l’ordre bunzip2.
Exemples de compressors de Linux
Es crea un arxiu gzip amb el document.odt:
$ gzip document.odt
Es llista i s’observa que el document.odt original ha desaparegut:
$ ls d* document.odt.gz
Es crea un tar del directori Música:
$ tar -cf musica.tar Música/
S’extreu el tar creat:
$ tar -xf musica.tar
Es crea un tar comprimit en format bzip2 del directori Vídeos:
$ tar -cjf videos.tar.bz2 Vídeos/
S’extreu el tar creat:
$ tar -xjf videos.tar.bz2
Tot i que els formats presentats són els més típics de Linux, aquest sistema operatiu suporta tot tipus de compressors i descompressors (zip, rar, z…). Alguns d’aquests vénen nativament instal·lats en el sistema i d’altres es poden instal·lar mitjançant l’ús dels gestors de paquets del sistema.








