IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Linux Professional Institute Certificate. LPIC-1

Lpic1 large.gif
Certificat LPIC-1
Examen: 101 (torneu a la resta de temes)
Fitxers: LPI103.3_TasquesBasiquesAdministracioFitxers.pdf (LPI103.3_TasquesBasiquesAdministracioFitxers.odp), EstandardFHS.pdf
Objectius: http://www.lpi.org/eng/certification/the_lpic_program/lpic_1/exam_101_detailed_objectives
Dipòsit SVN: https://svn.projectes.lafarga.cat/svn/lpi/Materials/Examen_101/103.3
Usuari: anonymous
Paraula de pas: qualsevol paraula de pas

Contingut

Objectius del tema

103.3. Realitzar tasques bàsiques d'administració de fitxers
Objective.jpg
  • Objectiu: Els candidats han de ser capaços d'utilitzar les ordres bàsiques de Linux per a administrar fitxers i directoris.
  • Pes: 4
060317 Icon - Theory of Knowledge v01 pdc.jpg

Àrees Clau de Coneixement:

Icon list.jpg

La següent és una llista parcial de fitxers, termes i utilitats utilitzades:

Text-editor.svg

Apunts: LPI 103.3. Realitzar tasques bàsiques d'administració de fitxers

Introducció

  • A linux tot són fitxers
  • Un sistema operatiu no és res més que un conjunt de fitxers emmagatzemats en una memòria secundària no volàtil.
  • A Linux tot acaba sent un fitxer (fitxers regulars, directoris, unitats de disc, maquinari, sockets, enllaços, conductes...). Carpeta /dev
  • 3 tipologies de fitxers
  • Fitxers del Sistema Operatiu: Fitxers de configuració, executables i aplicacions bàsiques del sistema, etc.
  • Fitxers d'aplicacions: Tal i com veurem als temes relacionats amb la gestió de paquets, les aplicacions també no són res més que un conjunt de fitxers que s'instal·len al sistema.
  • Fitxers d'usuari: Són aquells fitxers que contenen informació pròpia dels usuaris, com documents de text, fitxers multimèdia, fitxers d'aplicacions, etc.
  • En tots 3 casos, la quantitat de fitxers i tipus de fitxers depèn del tipus de sistema operatiu, de les aplicacions instal·lades i de l'ús que fan del sistema els usuaris.
  • En altres temes (LPI 102.1) es parla sobre com preparar un sistema de fitxers mitjançant el particionat del disc dur mantenint i muntant el sistema de fitxers escollit. Aquest apartat és la continuació lògica pel que fa la gestió de fitxers del sistema
  • Com a administrador, saber gestionar els fitxers del sistema és una competència bàsica. En aquest apartat coneixerem les ordres bàsiques per tal de gestionar fitxers en sistema Linux

Noms del fitxers i conceptes bàsics

  • El nom d'un fitxer no és res més que una seqüència o cadena de caràcters (String) que identifiquen de forma unívoca el fitxer dins del sistema.
  • A Linux són força similar a d'altres sistemes operatius
  • Caracteristiques pròpies
  • Els noms de fitxer en Linux poden contenir qualsevol caràcter excepte:
  • Barra (/ forward slash): aquest caràcter està reservat per indicar l'arrel del sistema de fitxers (root) i també és el separador de directoris.
  • Caràcter null (ASCII): s'utilitza per indicar el final de segments de text
  • Es distingeix entre majúscules i minúscules (case sensitive)
  • Les extensions (tipus .txt), tot i que s'utilitzen per comoditat, no són normatives.
  • Els directoris a Linux són un tipus especific de fitxer i com a tals se'ls hi aplica les mateixes característiques que als "fitxers normals". Cal tenir en compte però que la carpeta arrel sempre és anomenada /.
  • Mida: 1- 255 caràcters (255 bytes)
  • La mida màxima depèn del sistema de fitxers utilitzat, els més habituals (ext2fs, ext3fs, ReiserFS, XFS, etc.) utilitzant com a mida màxima 255. Als primers sistemes operatius Unix la mida es trobava limitada a 14 caràcters.
  • Recomacions
  • Utilitzar només caràcters alfanumèrics (a-z i 1-9) en minúscules
  • Evitar els espais: normalment s'utilitza el guió baix (_underscore) com a substitut dels espais o alternativament també el guió simple (- hyphen) o el punt (. period)
  • Com a excepció al comentat anteriorment, alguns noms de fitxers com README, INSTALL, NEWS, AUTHORS, LICENSE s'escriuen típicament en majúscules. Aquest fitxers normalment formen part de la documentació de les aplicacions
  • Altres
  • Es permeten les dobles extensions
fitxer_empaquetat_i_comprimit.tar.gz
  • Fitxer = conjunt d'informació relacionada entre si
  • Des de la perspectiva del usuari sembla un sol bloc de dades
  • Els noms de fitxer serveixen per tal que els usuaris puguin identificar els fitxers i facilita la tasca de tornar a trobar els fitxers en el futur.
  • Mecanisme similar als noms de domini d'Internet. Permet recordar de forma més fàcil l'adreça d'un servidor d'Internet en comptes d'utilitzar adreces IP.
  • Cal recordar, que el sistema operatiu no treballa realment amb els noms de fitxers sinó que utilitza els inodes
  • Sistemes de fitxers FAT i NTFS
  • Es poden muntar a Linux
  • Filesytem type codes
  • msdos: Sistema de noms de fitxers de DOS (8.3)
  • vfat: Noms de fitxers llargs a l'estil de Windows
  • umsdos: extensió només per a Linux que suporta el noms de fitxers a l'estil Linux

Fitxers ocults i fitxers de còpia de seguretat

  • Fitxers ocults
  • Els fitxers (o directoris) que comencen per punt (.) són tractats pel sistema com fitxers ocults.
  • No es mostren per defecte en aplicacions com ls o navegadors gràfics com nautilus a no ser que s'indiqui mitjançant paràmetres o opcions de menú concretes
  • Amb ls, es poden mostrar els fitxers ocults amb -a (all):
[email protected]:~$ ls -a
.                 .gnome2               
..                .goutputstream-05A8DW  
.adobe            .goutputstream-EQN0DW  
alumne            .goutputstream-RMA4DW  
Baixades          .goutputstream-S5ONEW  
.bash_history           .pki
...
  • A diferència d'altres sistemes com DOS (8.3 filename) el punt no s'utilitza només com a separador entre el nom del fitxer i la seva extensió.
  • Podem trobar més d'un punt en el nom d'un fitxer i utilitzar-lo com a substitut de l'espai
  • El directoris ocults són molt utilitzats per tal d'emmagatzemar les configuracions d'usuari a la seva carpeta d'usuari (la HOME).
  • Fitxers de copia de seguretat (nom_fitxer~)
  • Algunes aplicacions com nautilus, per defecte no ens mostren aquests fitxers (són tractats com fitxers ocults)
  • Per conveni, alguns programes realitzen còpies de seguretat automàtiques de fitxers.

Escapament de caràcters. Barra invertida (\)

  • Com escrivim el nom d'un fitxer amb espais
  • Posant el nom del fitxer entre cometes
  • L'espai és una caràcter especial --> escapar amb \
  • Altres caràcters com el comodins (-*,?, etc...) també cal escapar-los
  • També podeu utilitzar l'ajuda d'autocompletar noms de fitxers

Ajuda en l'acabament dels noms dels fitxers (file completion)

Caràcters especials i caràcters de substitució (file globbing)

  • Caràcters amb significat especial
  • Cal evitar el seu ús en noms de fitxers (o escapar-los amb \)
  • Asterisc (*)
  • Caràcter de substitució, comodí o wildcard més utilitzat
  • Coincideix amb qualsevol caràcter o conjunt de caràcters:
[email protected]:~$ ls n*
numeros  numeros1  numeros2
  • Els caràcters de substitució són interpretats per l'interpret d'ordres i passat $ ls n* substituïts a l'ordre que estem un cop utilitzant. A aquest procés se l'anomena file globbing.
  • Interrogant(?)
  • L'interrogant (? question mark) és el comodí que coincideix amb qualsevol caràcter (un del sol).
[email protected]:~$ ls numeros?
numeros1  numeros2
  • Valors entre claudàtors
  • Amb els claudàtors podem indicar rangs de caràcters
  • Combinacions OR. Per exemple: p[ao]p
  • També és possible indicar rangs amb l'ús del guió. Per exemple: p[a-z]p
  • Diferent de p?p. Nomes caràcters de l'abecedari en minúscules
  • Barra invertida (\):
  • Serveix per escapar caràcters especials. La pròpia contrabarra (\\)
  • La barra (/) es reserva com a nom de l'arrel del sistema i com a separador de noms de carpetes.
  • És l'únic caràcter que no podreu utilitzar en un nom de fitxer, la resta es poden utilitzar però és recomanable no utilitzar-los per tal d'evitar confusions

Sistemes de fitxers FAT i NTFS

Ordres de manipulació de fitxers

ls. Mostrar els continguts d'un directori

  • ls és una abreviatura de list (llistar)
  • Ens permet mostrar els fitxers d'un directori. Si executem ls sense paràmetres:
[email protected]:~$ ls
Baixades   Escriptori        Imatges  Plantilles  Vídeos
Documents  examples.desktop  Música   Públic
  • Ens mostra els fitxer no ocults del directori de treball (recordeu la variable d'entorn PWD)
  • la sintaxi és:
$ls [opcions] [fitxers]
  • Paràmetres
  • Mostrar tots menys . I .. (almost-all): $ls -A
[email protected]:~$ ls -A
Baixades       Documents         .ICEauthority     .profile
.bash_history  Escriptori        Imatges           Públic
.bash_logout   .esd_auth         .java             .pulse
.bashrc        examples.desktop  .local            .pulse-cookie
.cache         .fontconfig       .mission-control  .sudo_as_admin_successful
.compiz-1      .gconf            .mozilla          .thumbnails
.config        .gnome2           Música            Vídeos
.dbus          .gtk-bookmarks    .netbeans         .Xauthority
.dmrc          .gvfs             Plantilles        .xsession-errors
  • Mostrar atime timestamp: $ls -lu
[email protected]:~$ ls -lu
total 36
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 14:48 Baixades
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 14:48 Documents
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:13 Escriptori
-rw-r--r-- 1 jordi jordi  179 2012-04-18 14:48 examples.desktop
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 14:48 Imatges
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 14:48 Música
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:13 Plantilles
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 14:48 Públic
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 14:48 Vídeos
  • Mostrar ctime timestamp $ls -lc
[email protected]:~$ ls -lc
total 36
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 12:09 Baixades
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Documents
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Escriptori
-rw-r--r-- 1 jordi jordi  179 2012-04-18 13:06 examples.desktop
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Imatges
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Música
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Plantilles
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Públic
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Vídeos

Mostrar tots els fitxers (mostrar els fitxers ocults)

  • Mostrar tots (all) els fitxers (ocults): $ls -a
[email protected]:~$ ls -a
.              .dmrc             .ICEauthority     Públic
..             Documents         Imatges           .pulse
Baixades       Escriptori        .java             .pulse-cookie
.bash_history  .esd_auth         .local            .sudo_as_admin_successful
.bash_logout   examples.desktop  .mission-control  .thumbnails
.bashrc        .fontconfig       .mozilla          Vídeos
.cache         .gconf            Música            .Xauthority
.compiz-1      .gnome2           .netbeans         .xsession-errors
.config        .gtk-bookmarks    Plantilles
.dbus          .gvfs             .profile


Mostrar colors

  • Mostrar colors: $ls --color
Color Tipus de fitxer
Negre Fitxer normal
Blau Directoris
Vermell Fitxers comprimits
Blanc Fitxers de text
Rosa Imatges
Cyan enllaços
Groc Fitxers especials de dispositiu
Verd executables
Vermell que parpadeja enllaços trencats

Mostrar recursivament

  • Mostrar recursivament: $ls -r
[email protected]:~$ ls -r
Vídeos  Plantilles  Imatges           Escriptori  Baixades
Públic  Música      examples.desktop  Documents

Mostrar múltiples directoris al mateix temps

  • Mostrar múltiples directoris de cop: $ls directori1 directori2
[email protected]:~$ ls Baixades Imatges
Baixades:
jdk-7u3-linux-i586.tar.gz
LPI103.3_TasquesBasiquesAdministracioFitxers.pdf
netbeans-7.1.1-ml-linux.sh

Imatges:

Mostrar les metadades del fitxers

  • Mostrar més dades dels fitxers (long): $ls -l
[email protected]:~$ ls -l
total 36
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 12:09 Baixades
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Documents
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Escriptori
-rw-r--r-- 1 jordi jordi  179 2012-04-18 13:06 examples.desktop
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Imatges
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Música
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Plantilles
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Públic
drwxr-xr-x 2 jordi jordi 4096 2012-04-18 13:12 Vídeos


Mostrar els inodes

  • Mostrar els inodes: $ls -i
[email protected]:~$ ls -i
920713 Baixades     923188 examples.desktop   920714 Plantilles
1050945 Documents   1050947 Imatges           1050944 Públic
 920710 Escriptori  1050946 Música            1050948 Vídeos


Mostrar les mides del fitxer en format llegible pels humans

  • Mostrar mides en format humà: $ls -h
[email protected]:~$ ls -lh
Baixades   Escriptori        Imatges  Plantilles  Vídeos
Documents  examples.desktop  Música   Públic

Mostrar el tipus (sufix) de fitxer (-F)

  • Mostrar el sufix (tipus) del fitxer: $ls -F
[email protected]:~$ ls -F
Baixades/   Escriptori/       Imatges/  Plantilles/  Vídeos/
Documents/  examples.desktop  Música/   Públic/

No mostrar els fitxers de còpia de seguretat (~)

  • No mostrar les copies de seguretat
  • No backup: $ ls -B
[email protected]:~$ ls -B
Baixades   Escriptori        Imatges  Plantilles  Vídeos
Documents  examples.desktop  Música   Públic

Mostrar només els directoris (-d)

  • Mostrar només directoris: $ls -d
[email protected]:~$ ls -d
.

Mostrar tota la informació

  • Mostrar tota la informació
  • Combinant paràmetres: $ls -Flia
[email protected]:~$ ls -Flia
total 180
 923185 drwxr-xr-x 25 jordi jordi  4096 2012-04-18 12:37 ./
 917505 drwxr-xr-x  3 root  root   4096 2012-04-18 13:06 ../
 920713 drwxr-xr-x  2 jordi jordi  4096 2012-04-18 12:09 Baixades/
 924646 -rw-------  1 root  root    659 2012-04-18 12:41 .bash_history
 923187 -rw-r--r--  1 jordi jordi   220 2012-04-18 13:06 .bash_logout
 923189 -rw-r--r--  1 jordi jordi  3353 2012-04-18 13:06 .bashrc
 917798 drwx------ 13 jordi jordi  4096 2012-04-18 13:29 .cache/
 917646 drwxrwxr-x  3 jordi jordi  4096 2012-04-18 13:29 .compiz-1/
1050949 drwx------ 10 jordi jordi  4096 2012-04-18 13:29 .config/
1050955 drwx------  3 jordi jordi  4096 2012-04-18 13:12 .dbus/
...

Modificar l'ordre i el mode en que es mostra la sortida

  • Podem mostrar els resultats de ls de múltiples maneres:
  • -S o --sort=size: Ordena per mida de fitxer
  • -t o --sort=time: Ordena per data de modificació (mtime de L'inode). Els fitxers nous primer
  • -u o --time=atime: En sortides amb -l ordena per la última data d'accés al fitxer (atime de l'inode)
  • -U o --sort=none:sense ordre. És útil al mostrar carpetes amb molts fitxers, ja que el fet de no ordenar pot fer més ràpida l'execució de l'ordre.
  • -v o --sort=version: Ordena per versió
  • -X o --sort=extension: Ordena per extensió del fitxer.
  • -r o –reverse: Ordre invers
  • Mostrar una sola columna
[email protected]:~$ ls -l
total 128
drwxrwxr-x  3 jordi jordi  4096 abr 19 09:09 alumne
drwxr-xr-x  2 jordi jordi  4096 mai 10 12:10 Baixades
-rwxrwxr-x  1 jordi jordi    57 mai  9 12:32 dia.sh
drwxr-xr-x  3 jordi jordi  4096 mai 14 08:57 Documents
drwx------  8 jordi jordi  4096 mai 14 09:22 Dropbox
drwxr-xr-x  3 jordi jordi  4096 mai 14 09:31 Escriptori
...
  • Llista separada per comes
[email protected]:~$ ls -m
alumne, Baixades, dia.sh, Documents, Dropbox, Escriptori, examples.desktop,
grup_telefons.txt, Imatges, mac.sh, Música, NetBeansProjects, numeros,  numeros1,
numeros2, oracle01.png, oracle02.png, persones, Plantilles, primer.txt,  Públic,telefons.txt, Vídeos, VirtualBox VMs
  • Colors de ls
  • La majoria de distros activen els colors per defecte a ~/.bashrc
Color Tipus de fitxer
Negre Fitxer normal
Blau Directoris
Vermell Fitxers comprimits
Blanc Fitxers de text
Rosa Imatges
Cyan enllaços
Groc Fitxers especials de dispositiu
Verd executables
Vermell que parpadeja enllaços trencats
  • Sufix opció -F
Res Fitxer normal

/ Directori

@ Enllaç simbòlic

= Endoll ( (Domain) Socket)

|Conducte (Named pipes)

*Fitxer executable
jord[email protected]:~$ ls -F
alumne/     Escriptori/        Música/            oracle01.png  Públic/
Baixades/   examples.desktop   NetBeansProjects/  oracle02.png  telefons.txt
dia.sh*     grup_telefons.txt  numeros            persones      Vídeos/
Documents/  Imatges/           numeros1           Plantilles/   VirtualBox VMs/
Dropbox/    mac.sh*            numeros2           primer.txt


  • Prefix opció -l
- Fitxer normal (Regular File)

d Directori

l enllaç simbòlic

c Fitxer especial. Dispositiu de caràcter

b Fitxer especial. Dispositiu de bloc

s endoll ( (Domain) socket)

p condute ( Named Pipe)

Consultar les marques de temps

  • Vitals pel correcte funcionament d'algunes aplicacions. 3 marques de temps:
  • Temps de l'últim accés (last acces time o atime): Marca l'últim cop que el fitxer ha estat llegit.
  • Temps de l'última modificació (last modification time o mtime): Marca l'últim cop que els continguts del fitxer van ser modificats
  • Temps de canvi (change time o ctime): marca l'últim cop que els permisos del fitxer van ser modificats
  • Ja hem vist anteriorment que es poden consultar amb ls, però també amb stat
  • L'ordre find ens permet cercar fitxers segons les seves marques de temps.
  • Exemple
  • Creem diferents arxius amb la comanda touch i llistem amb ls. ls ordena alfabèticament els fitxers creats
[email protected]:~$ touch a
[email protected]:~$ touch b
[email protected]:~$ touch c
[email protected]:~$ touch d
[email protected]:~$ touch B
[email protected]:~$ touch Ba
[email protected]:~$ touch D
[email protected]:~$ ls
a b B Ba c d D

Comprovem les marques de temps

[email protected]:~$ ls -l --sort=time
-rw-rw-r--  1 jordi jordi     0 mai 14 10:54 D
-rw-rw-r--  1 jordi jordi     0 mai 14 10:53 Ba
-rw-rw-r--  1 jordi jordi     0 mai 14 10:53 B
-rw-rw-r--  1 jordi jordi     0 mai 14 10:53 d
-rw-rw-r--  1 jordi jordi     0 mai 14 10:53 c
-rw-rw-r--  1 jordi jordi     0 mai 14 10:53 b
-rw-rw-r--  1 jordi jordi     0 mai 14 10:53 a

Copiar fitxers. cp

  • La sintaxi cp és
$cp [ opcions ] origen destinacio

Fer una còpia recursiva. Copiar carpetes

  • Les carpetes s'ha de copiar amb -r (--recursive o -R)
$cp -r bin Documents

Preservar el propietari i els permisos del fitxer

Preservar el propietari (-p --preserve)

Fer una copia exacte (arxiu)

  • Fer una còpia exacte (-dpR)

Copiant enllaços simbòlics

  • Mantenir els enllaços simbòlics al copiar carpetes
  • Per defecte no es mantenen (es copien els fitxers enllaçats) -d o --no-dereference (-P) o --preserve=links
  • Amb fitxers si que es copien correctament

Copiar tot el camí complet

Copiar tot el camí complet (-r --parents)

Especificar la carpeta de destinació (--target-directory)

Actualitzar o copiar només si el fitxer origen és més nou que el de destinació (-u update)

Mode interactiu (-i)

IMPORTANT: El fitxer destí es sobreescriu si ja existeix

  • Mode interactiu (-i): Pregunta abans de sobreescriure
  • Per seguretat, alguns sistemes tenen un alias definit amb -i

Augmentar la quantitat d'informació mostrada a la sortida (verbose)

  • Mostrar més informació (-v o --verbose)

cp -al

  • Copia amb link dur
  • -l: En comptes de fer una còpia crea un enllaç dur.
  • -a: opció archive. Manté els permisos, enllaços, propietaris, etc dels fitxers.
  • Resultat: una còpia exacte però sense ocupar dos vegades l'espai original i sense tardar tant en fer la còpia
  • A la còpia només es poden afegir o eliminar (unlink) fitxers
  • Si modifiqueu la còpia modifique l'original!!!!!
  • Si ho combinem amb rsync es poden fer còpies de seguretat incrementals completes.

Moure i renombrar fitxers (mv)

  • Sintaxi
$mv [ opcions ] origen destinacio
  • mv és una abreviatura de move
  • A Linux no hi ha una ordre per canviar el nom d'un fitxer. S'utilitza mv.
$mv document.txt /home/jordi/Documents/
  • La / al final no es necessari però serveix per assegurar-se que és un directori no pas un fitxer
  • L'origen pot ser una carpeta (no cal -r)
  • Si la destinació és una carpeta existent, és mou l'origen

a la carpeta de destinació

  • Si la destinació no existeix, es tracta d'un canvi de nom

de la carpeta

  • Canviar el nom d'un fitxer
$mv nom_original nom_nou
  • Canviar el nom i la carpeta
$mv nom_original nou/cami/nom_nou
  • Comparteix algunes opcions amb cp (--interactive, --update, --force o --verbose. )
  • Altres no s'apliquen (--preserve, --recursive o --archive )

L'ordre mv i els inodes

  • Canviant l'inode
  • No es mouen els blocs de dades al disc dur
  • Només es canvien les referències a aquests blocs
  • Operació molt ràpida
  • Comproveu-ho movent un fitxer i executant l'ordre stat abans i després de moure el fitxer
  • Excepció
  • Moure fitxers entre dos sistemes de fitxers diferents (particions). Aleshores primers es copien les dades, i després es borra l'origen. Es pot cancel·lar de forma segura (Ctrl+c)

Eliminar fitxers. Ordre rm

  • Ordre rm
  • És una abreviatura de remove
  • La sintaxi és:
$rm [opcions] fitxer1 [fitxer3]
  • Com cp, per treballar amb directoris cal l'opció -r (--recursive)
$rm -r directori
  • Compte que no pregunta si esteu segurs i el fitxer és modificable (no és de només lectura)
[email protected]:~$ chmod 400 a
[email protected]:~$ rm -r a
rm: voleu eliminar el directori protegit contra escriptura «a»? 
  • Es pot forçar a que no pregunti amb -f (--force).
  • Al superusuari mai pregunta!
$ touch

Crear un fitxer. touch

Modificar només el temps de l'últim accés (-a o --time=atime)

Modificar el temps de l'última modificació (-m o --time=mtime)

Establir una marca de temps concreta

Tipus de fitxers

  • A Linux tot són fitxers però de diferents tipus
  • Fitxers normals (regular files): són els fitxers normals i corrents (ni directoris, ni enllaços, etc.)
  • Directoris: Els directoris a Linux són un tipus especial de fitxers que contenen altres fitxers o directoris.
  • Enllaços simbòlics: Són fitxers que apunten a altres fitxers.
  • Endolls (Sockets): Alguns fitxers poden ser Unix Domain Sockets. En podeu trobar exemples a la carpeta /var/run. No els veurem en aquest curs.
  • Conductes (Pipes): Són un tipus especific de conductes. Consulteu conductes amb nom.
  • Fitxers especials de dispositiu: Normalment són els que trobem a la carpeta /dev i poden ser de dos tipus, dispositius de bloc (b) i dispositius de caràcter (c).

Enllaços

  • Permeten que un sol fitxer tingui múltiples camins en un sistema de fitxers.
  • El fitxer només existeix un cop i només ocupa l'espai un cop, però pot tindre múltiples camins (paths).
Els enllaços són similars (encara que força més potents) als accessos directes de Windows o els alias de Mac OS. Windows  Vista suporta symlinks
  • Utilitats
  • Assignar noms (camins) més simples a fitxers amb noms complicats
  • Assignar diferents noms a un mateix fitxer
  • Algunes ordres que semblen ordres diferents són realment enllaços que porten al mateix executable (per exemple les ordres fsck).
  • El sistema operatiu els utilitza de múltiples maneres, per exemple, els guions d'inicialització System V o la configuració de sites i mòduls a Apache (a2ensite, a2enmod)
  • Dos tipus d'enllaços:
  • Enllaços simbòlics o soft links (aka symlinks)
  • Enllaços durs (hard links)
  • Ordre ln
  • És l'encarregada de crear enllaços dels dos tipus
  • Per defecte genera enllaços durs
  • Sintaxi
$ln [opcions] origen enllaç
  • Enllaços simbòlics (opció -s o --symbolic)
  • Exemple
[email protected]:~$ mkdir prova
[email protected]:~$ cd prova
[email protected]:~/prova$ touch a
[email protected]:~/prova$ du -h .
4,0K	.
[email protected]:~/prova$ ln -s a b
[email protected]:~/prova$ ls
a  b

Comprovem l'enllaç

[email protected]:~/prova$ ls -l
total 0
-rw-rw-r-- 1 jordi jordi 0 mai 15 20:27 a
lrwxrwxrwx 1 jordi jordi 1 mai 15 20:27 b -> a

Amb du podeu tornar a comprovar que no augmentat la mida de la carpeta (4K és el mínim que ocupa un fitxer, encara que estigui buit).

  • Propietats
  • Si s'esborra l'enllaç no s'esborra el fitxer original
  • Si s'esborra els fitxer enllaçat aleshores el link no apunta a cap lloc correcte (enllaç trencat)
  • Opcions
  • Esborrar els fitxers de destinació (-f o --force): S'elimina l'enllaç si ja existeix. Per defecte, si l'enllaç ja existeix
  • Mode interactiu (-i): Pregunta si s'ha d'eliminar o no els fitxers destinació existents.
  • Opció per defecte de ln
  • Els enllaços durs són dos noms de fitxer que apunten al mateix inode. Tots dos fitxers (o noms de fitxer) són igual de vàlids, i cap té més importància.
  • L'única diferència és que un s'ha creat primer i l'altre més tard
Per esborrar un fitxer (inode) amb múltiples enllaços durs cal esborrar tots els enllaços durs.
  • Symlinks vs hardlinks
  • Esborrar un enllaç simbòlic no esborra mai el fitxer original.
  • Un enllaç dur només esborra els continguts del fitxer si és l'últim enllaç dur al fitxer
  • Els enllaços simbòlics són una mica més lents en accés que els enllaços durs.
  • Els enllaços durs no poden apuntar entre fitxers de diferents sistemes de fitxers.
  • Esborrar el fitxer enllaçar per un enllaç simbòlic, deixa l'enllaç simbòlic trencat. Esborrar un dels enllaços durs no afecta a la resta d'enllaços (només decreix el comptador link del inode)
  • No es poden crear enllaços durs de directoris (però si enllaços simbòlics)
  • Exemple
[email protected]:~/prova$ ln a b
[email protected]:~/prova$ stat a
  Fitxer: «a»
       Mida: 0         	Blocs: 0          Bloc d’E/S: 4096   fitxer ordinari buit
Dispositiu: 807h/2055d	Node‐i: 2240882     Enllaços: 2
Accés: (0664/-rw-rw-r--)  UID: ( 1000/   jordi)   GID: (  1000/   jordi)
Accés: 2012-05-15 20:27:30.496462331 +0200
Modificació: 2012-05-15 20:27:30.496462331 +0200
      Canvi: 2012-05-15 20:42:37.620481101 +0200
  Naixement: -
  • Creem més enllaços augmenta el número d'enllaços
[email protected]:~/prova$ ln b c
[email protected]:~/prova$ stat b
  Fitxer: «b»
       Mida: 0         	Blocs: 0          Bloc d’E/S: 4096   fitxer ordinari buit
Dispositiu: 807h/2055d	Node‐i: 2240882     Enllaços: 3
Accés: (0664/-rw-rw-r--)  UID: ( 1000/   jordi)   GID: (  1000/   jordi)
Accés: 2012-05-15 20:27:30.496462331 +0200
Modificació: 2012-05-15 20:27:30.496462331 +0200
      Canvi: 2012-05-15 20:46:07.068485437 +0200
  Naixement: -
  • Si esborrem un hardlink descompten el número de link
[email protected]:~/prova$ rm c
[email protected]:~/prova$ stat b
  Fitxer: «b»
       Mida: 0         	Blocs: 0          Bloc d’E/S: 4096   fitxer ordinari buit
Dispositiu: 807h/2055d	Node‐i: 2240882     Enllaços: 2
Accés: (0664/-rw-rw-r--)  UID: ( 1000/   jordi)   GID: (  1000/   jordi)
Accés: 2012-05-15 20:27:30.496462331 +0200
Modificació: 2012-05-15 20:27:30.496462331 +0200
      Canvi: 2012-05-15 20:48:45.660488723 +0200
  Naixement: -
  • Aleshores, un harlink no és una copia d'un fitxer?
  • No és exactament el mateix
  • Els continguts dels fitxer només són emmagatzemats un cop
  • Si es modifica qualsevol dels enllaços durs aleshores es modifiquen tots dos els fitxers
  • Si es canvia qualsevol de les metadades dels enllaços durs(permisos, propietaris, marques de temps) es modifiquen a tots els fitxers
  • Si s'esborren els continguts d'un dels fitxers s'esborrem el de tots, o si es sobreescriu o s'edita un fitxer.

Altres ordres

mkdir

  • Mdkir (make dir)
  • Permet crear un directori:
$mkdir [opcions] directori [mes directoris]
  • Es poden crear múltiples directoris de cop
  • La opció més utilitzada és -p. Crea tots els directoris

pare necessaris:

$mkdir -p /carpeta1/carpeta2/carpeta3
  • rmdir
  • Esborra directoris buits. Per a buits o no buits millor:
rm -r

Comprimir i arxivar fitxers

tar

bzip2

gunzip

gzip

tar

tree

stat

  • Permet consultar de cop els 3 tipus de marques de temps d'un fitxer:
[email protected]:~$ stat a
  Fitxer: «a»
       Mida: 0         	Blocs: 0          Bloc d’E/S: 4096   fitxer ordinari buit
Dispositiu: 807h/2055d	Node‐i: 1838174     Enllaços: 1
Accés: (0664/-rw-rw-r--)  UID: ( 1000/   jordi)   GID: (  1000/   jordi)
Accés: 2012-05-15 19:43:10.212407272 +0200
Modificació: 2012-05-15 19:43:10.212407272 +0200
      Canvi: 2012-05-15 19:43:10.212407272 +0200
   Naixement: -

file

touch

  • S'utilitza per crear fitxers buits:
$touch noufitxer.txt
  • Encara que en veritat s'utilitza per modificar les marques de temps (timestamps)
  • Touch, toca el fitxer, i n'actualitza la marca de temps
  • A un fitxer existent:
$touch fitxer_existent.txt
  • Per defecte, l'ordre touch estableix la data de modificació i de l'últim accés al temps actual