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 |
Els fitxers són bàsics en sistemes operatius Linux. De fet, normalment un sistema operatiu no és res més que un conjunt de fitxers emmagatzemats en una memòria secundària no volàtil. Normalment el sistema operatiu es guarda al disc dur del sistema, tot i que actualment també podem trobar sistemes Live-CD/DVD o sistemes emmagatzemats en un llapis de memòria USB).
Podem classificar els fitxers que trobem en un sistema en 3 tipologies:
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 temes anteriors (LPI 102.1) hem descrit com preparar un sistema de fitxers mitjançant el particionat del disc dur i preparant, 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.
103.3. Realitzar tasques bàsiques d'administració de fitxers | |
---|---|
![]() |
|
![]() |
Àrees Clau de Coneixement:
|
![]() |
La següent és una llista parcial de fitxers, termes i utilitats utilitzades: |
![]() |
Apunts: LPI 103.3. Realitzar tasques bàsiques d'administració de fitxers |
Per coherència, les transparències d'aquest tema inclou l'explicació del objectius indicats en aquest apartat.
104.6. Crear i canviar els enllaços durs i simbòlics | |
---|---|
![]() |
|
![]() |
Àrees Clau de Coneixement:
|
![]() |
La següent és una llista parcial de fitxers, termes i utilitats utilitzades: |
![]() |
Apunts: LPI 104.6. Crear i canviar els enllaços durs i simbòlics |
Els noms de fitxers en Linux són força similar al sistemes de noms d'altres sistemes operatius, però amb algunes característiques pròpies que aclarirem en aquest apartat. Les principals característiques dels noms de fitxer a Linux són:
El nom d'un fitxer ha de ser únic dins d'una carpeta concreta, però podem tenir múltiples fitxers amb el mateix nom sempre i quan es trobin a carpetes diferents del sistema.
Tot i que tal com podeu veure podem posar noms de fitxers tant complicats com vulguem, normalment s'apliquen les següents recomanacions a l'hora de donar noms als fitxers:
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.
Vegeu Punctuation a la wikipedia per tal d'obtenir més informació sobre els noms del signes de puntuació en anglès.
Altres caràcters com el dolar ($), el percentatge (%), els signes de puntuació, els parentèsis, corxetes, etc, es poden utilitzar però s'eviten per tal d'evitar confusions amb el sentit que tenen aquest per a l'interpret d'ordres.
Els espais estan permesos en els noms de fitxer tot i que sovint no es recomanen per que poden ser incompatibles amb aplicacions antigues o obsoletes.
Tot i que no és obligatori, molts fitxers a Linux tenen extensions. Les extensions permeten identificar a simple vista el tipus de fitxer. Cal tenir en compte que a més, alguns fitxers poden tenir doble extensió, com per exemple:
fitxer_empaquetat_i_comprimit.tar.gz
NOTA: tingueu en compte que el fet de posar una extensió concreta a un fitxer no implica que el fitxer sigui d'aquell tipus. Vegeu l'ordre file, que us permet identificar el tipus de fitxer.
Un fitxer no és res més que un conjunt d'informació relacionada entre si que 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. En certa manera és una mecanisme similar als noms de domini d'Internet, que permeten recordar de forma més fàcil l'adreça d'un servidor d'Internet, en compte d'utilitzar adreces IP. Cal recordar, que el sistema operatiu no treballa realment amb els noms de fitxers sinó que utilitza els Sistemes_de_fitxers#inode inodes.
Recursos:
Els fitxers (o directoris) que comencen per punt (.) són tractats pel sistema com fitxers ocults. Aquest fitxers 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.
Per exemple, en el cas de ls, es pot indicat que ens mostri els fitxers ocults amb l'opció -a (all):
$ ls -la total 371556 drwxr-xr-x 117 sergi sergi 12288 2009-10-27 20:52 . drwxr-xr-x 6 root root 4096 2009-09-10 17:31 .. drwx------ 5 sergi sergi 4096 2009-08-23 11:31 .adobe drwxr-xr-x 3 sergi sergi 4096 2009-05-15 05:57 .ApacheDirectoryStudio -rw------- 1 sergi sergi 198406 2009-10-27 21:33 .bash_history -rw------- 1 sergi sergi 10950 2009-06-07 20:15 .bash_history_backup -rw-r--r-- 1 sergi sergi 220 2009-04-26 10:50 .bash_logout -rw-r--r-- 1 sergi sergi 3216 2009-06-10 10:31 .bashrc -rw-r--r-- 1 sergi sergi 3227 2009-06-10 10:29 .bashrc~ drwxr-xr-x 2 sergi sergi 4096 2009-08-17 20:36 bin drwxr-xr-x 2 sergi sergi 4096 2009-10-24 15:10 .bluefish drwxr-xr-x 17 sergi sergi 4096 2009-10-24 15:10 .cache ...
NOTA: Tingueu en compte que els directoris especials . i .. són un tipus especific de directoris ocults.
Cal tenir en compte que 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ó. A més podem trobar més d'un punt en el nom d'un fitxer. De fet com heu vist, a l'inici del fitxer indica fitxer ocult, també s'utilitza sovint com a alternativa a l'espai i evidentment també per a indicar la extensió del fitxer.
El directoris ocults són molt utilitzats per tal d'emmagatzemar les configuracions d'usuari a la seva carpeta d'usuari (la HOME).
Per conveni, alguns programes realitzen còpies de seguretat automàtiques de fitxers. Normalment aquestes còpies de seguretat tenen com a nom el nom del fitxer original + el símbol titlla (~).
Algunes aplicacions (per exemple alguns navegadors de fitxers d'entorn gràfic com nautilus), per defecte no ens mostren aquests fitxers ja que són tractats igual que els fitxers ocults. Per mostrar aquest tipus de fitxers cal indicar-lo als menús de l'aplicació.
Tot i que es possible utilitzar espais en els noms de fitxer, a l'hora d'escriure el nom de fitxers amb espai a l'interpret d'ordres és necessari escapar l'espai amb la contrabarra (\ backslash) o posar el nom del fitxers entre cometes dobles ("). Per aquest raó, sovint els espais són subtituits per guions baixos, guions simples o punts.
Consulteu:
LPI_103.1#Ajuda_en_l.27acabament_d.27ordres_.28command_completion.29
Alguns caràcters tenen un significat especial i s'ha d'evitar el seu ús en noms de fitxers. Aquests caràcters són:
Asterisc (*):
L'asterisc és el caràcter de substitució, comodí o wildcard més utilitzat i coincideix amb qualsevol caràcter o conjunt de caràcters. Per exemple:
$ ls p*a
Els caràcters de substitució són interpretats per l'interpret d'ordres i passat un cop substituïts a l'ordre que estem utilitzant. A aquest procés se l'anomena file globbing.
Coincideix amb qualsevol nom de fitxer que comenci amb p i acabi amb a, com prova, pap, pepa, padasseraerefaea, o qualsevol altre combinació.
Interrogant (?):
L'interrogant (? question mark) és el comodí que coincideix amb qualsevol caràcter. A diferència de l'asterisc, només coincidirà amb un sol caràcter. Per exemple, p?p, coincidirà amb:
pap pep pip pwp
O qualsevol altre combinació similar.
Valors entre claudàtors
Amb els claudàtors podem indicar rangs de caràcters o combinacions OR. Per exemple:
p[ao]p
coincideix només amb pap o pop.
També és possible indicar rangs amb l'ús del guió. Per exemple:
p[a-z]p
Coincideix amb qualsevol paraula de 3 lletres que comencin i cabin amb p i tinguin un caràcter alfabètic en minúscules a la segona posició. Això és diferent de:
p?p
Ja que el comodí ? és substitueix per qualsevol caràcter, ja sigui alfabètic o no i sense fer distinció entre majúscules i minúscules
Barra invertida (\):
Com hem vist en apartats anteriors, serveix per escapar caràcters especials.
També cal incloure en aquesta llista la barra (/) que com hem dit anteriorment es reserva com a nom de l'arrel del sistema i com a separador de noms de carpetes. De fet és l'únic caràcter que no podreu utilitzar, la resta es poden utilitzar però és recomanable no utilitzar-los per tal d'evitar confusions.
Tal i com hem vist en temes anteriors, és possible muntar i accedir sistemes de fitxers com FAT o NTFS a Linux.
Filesytem type codes!
En aquest apartat veurem les ordres bàsiques que ens permeten llistar, moure, copiar, canviar de nom i eliminar fitxers.
L'ordre ls és una abreviatura de list (llistar) i ens permet mostrar els fitxers d'un directori. Si executem ls sense paràmetres
$ ls bin Documents examples.desktop Imatges Música Plantilles provesn Vídeos workspace.tar.gz.1 Desktop Escriptori highlight.css ies4linux-latest.tar.gz Linkat 3 Musiquetes.pls prova* Públic workspace.tar.gz
ls ens mostra els fitxers no ocults del directori de treball (recordeu que pode saber quin és el vostre directori de treball amb l'ordre pwd o sovint també mitjançant el PROMPT). La següent ordre és idèntica a l'anterior:
$ ls [.]
Com sabeu el punt sempre fa referència al directori de treball actual. La sintaxi completa de ls és:
$ ls [opcions] [fitxers]
és a dir, l'ordre ls suporta un bon grapat d'opcions. Podeu consultar el manual de l'ordre amb:
$ man ls
per obtenir el detall de totes les opcions que suporta ls. Algunes de les opcions més útils es mostren als següents apartats. Podeu obtenir informació extra amb l'ordre info:
$ info coreutils ls
Si voleu que ls us mostri tots els fitxers (ocults i normals) heu d'utilitzar l'opció -a (-all):
$ ls -a . .cache .esd_auth .gnupg ies4linux-latest.tar.gz .mozilla provesn .thumbnails workspace.tar.gz .. .compiz examples.desktop .gstreamer-0.10 Imatges .mplayer Públic .tomboy workspace.tar.gz.1 .adobe .config .fontconfig .gtk-bookmarks .java Música .pulse .tomboy.log .Xauthority .bash_history .dbus .gconf .gvfs .joe_state Musiquetes.pls .pulse-cookie .update-manager-core .xsession-errors .bash_logout Desktop .gconfd highlight.css .kde .nautilus .purple .update-notifier .bashrc .dmrc .gksu.lock .ICEauthority Linkat 3 Plantilles .recently-used.xbel Vídeos .bashrc~ Documents .gnome2 .ies4linux .local .profile .ssh .VirtualBox bin Escriptori .gnome2_private ies4linux-2.99.0.1 .macromedia prova* .sudo_as_admin_successful .wapi
Observeu que també es mostren les carpetes especials . i .. (que com comencen per punt són tractades com a carpetes ocultes).
L'exemple anterior mostra els continguts de la HOME d'un usuari. En aquesta carpeta és habitual trobar directoris ocults amb les configuracions de les aplicacions que utilitza l'usuari, per exemple, la carpeta .mozilla conté les configuracions de les aplicacions de Mozilla (Firefox, thunderbird...).
Si no voleu mostrar les carpetes implicites . i .., podeu utilitzar l'opció -A (--almost-all).
El paràmetre --color produeix una sortida amb colors que diferencien entre els diferents tipus de fitxers (directoris, fitxers, enllaços, etc). L'esquema de colors per defecte és el següent:
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 |
Algunes distribucions, com per exemple Ubuntu, configuren l'entorn de l'interpret d'ordres l'usuari per tal de que per defecte s'utilitzin colors amb l'ordre ls. això es fa afegint una alias com el següent:
alias ls=’ls --color=auto’
Al fitxer /etc/profile o al fitxer .bashrc.
Els colors només funcionen en consoles gràfiques (la majoria d'emuladors de terminal) i en algunes consoles remotes o no gràfiques pot no funcionar.
L'opció -R (--recursive)) mostra els continguts de la carpeta indicada i de totes les subcarpetes.
Es pot fer indicant els directoris que volem mostrar
$ ls /home /bin /bin: bash bzip2 cp dir fgrep kbd_mode mknod nc ping run-parts sync uncompress zforce bunzip2 bzip2recover cpio dmesg fuser kill mktemp nc.traditional ping6 sed tailf unicode_start zgrep bzcat bzless dash dnsdomainname fusermount ld_static more netcat ps setfont tar vdir zless bzcmp bzmore date dumpkeys grep ln mount netstat pwd setupcon tempfile which zmore bzdiff cat dbus-cleanup-sockets echo gunzip loadkeys mountpoint ntfs-3g rbash sh touch zcat znew bzegrep chgrp dbus-daemon ed gzexe login mt ntfs-3g.probe readlink sh.distrib true zcmp bzexe chmod dbus-uuidgen egrep gzip ls mt-gnu open rm sleep ulockmgr_server zdiff bzfgrep chown dd false hostname lsmod mv openvt rmdir stty umount zegrep bzgrep chvt df fgconsole ip mkdir nano pidof rnano su uname zfgrep /home: bego bego.old prova sergi
Els fitxers contenen més informació apart del seu nom i el seu contingut. A aquesta informació normalment se l'anomena metadades. Les metadades són informació sobre el fitxer, com per exemple el propietari del fitxer, els permisos, la mida, etc. Per mostrar les metadades cal utilitzar l'opció -l:
$ ls -l total 22576 drwxr-xr-x 2 sergi sergi 4096 2007-01-30 22:52 2 drwxr-xr-x 74 sergi sergi 4096 2006-09-16 11:29 2003 drwxr-xr-x 33 sergi sergi 4096 2006-09-25 19:22 2004 drwxr-xr-x 9 sergi sergi 4096 2006-09-25 20:30 2005 drwxr-xr-x 13 sergi sergi 4096 2007-01-30 22:53 2006 ...
La primera columna són els permisos del fitxer. El primer bit indica el tipus de fitxer i la resta els permisos. La segona i tercera columna són respectivament l'usuari i el grup propietaris del fitxers. A la quarta columna trobem la mida del fitxer en bytes. La cinquena columna conté la data i l'hora de la última modificació del fitxers i l'última columna és el nom del fitxer.
També es pot utilitzar els equivalents:
--format=long --format=verbose
Com ja hem comentat anteriorment, el sistema operatiu Linux internament utilitza els inodes. El nom de fitxer és una ajuda per als usuaris que utilitzen el sistema operatiu, però el sistema operatiu sempre fa una conversió de nom de fitxer a inode, ja que l'inode és realment l'identificador que utilitza el sistema.
$ ls -i 11470530 2 13320504 boda 11468838 MVI_0059.AVI 11468802 2003 13320506 cursa bombers 12058665 NewYork2005
Abans del nom de cada fitxer es mostra l'inode.
Ja hem vist que amb l'opció -l podem mostrar la mida del fitxer. La mida es mostra en bytes. En el cas de fitxers grans pot ser bastant més útil per als usuaris mostrar les mides en múltiples de K (KyloBytes), M(Megabytes), etc. Això es pot fer amb la opció -h' (--human-readable):
$ ls -lh total 23M drwxr-xr-x 2 sergi sergi 4,0K 2007-01-30 22:52 2 drwxr-xr-x 74 sergi sergi 4,0K 2006-09-16 11:29 2003 -rw-r--r-- 1 sergi sergi 22M 2005-10-08 14:06 MVI_0059.AVI ...
Consulteu Tipus de fitxers.
L'opció -B (--ignore-backups) no mostra els fitxers acabat en titlla. Aquesta opció és identica a:
--ignore='*~'
o
--ignore='.*~'
???
Es poden combinar paràmetres. Per exemple, per mostrar tota la informació podeu escriure:
$ ls -lia
Que és equivalent a executar:
$ ls -l -i -a
L'ordre per defecte en que es mostren els fitxers és per l'ordre de número ASCII. Podem modificar aquest comportament amb el paràmetre --sort i els seus equivalents:
-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.
A més podem utilitzar l'opció -r (--reverse) per invertir l'ordre.
$ touch a $ touch b $ touch c $ touch d $ touch B $ touch Ba $ touch D
L'orde normal és:
$ ls a b B Ba c d D
I l'ordre per data d'última modificació és:
$ ls -l --sort=time total 0 -rw-r--r-- 1 sergi sergi 0 2009-10-11 17:51 D -rw-r--r-- 1 sergi sergi 0 2009-10-11 17:51 Ba -rw-r--r-- 1 sergi sergi 0 2009-10-11 17:51 B -rw-r--r-- 1 sergi sergi 0 2009-10-11 17:51 d -rw-r--r-- 1 sergi sergi 0 2009-10-11 17:50 c -rw-r--r-- 1 sergi sergi 0 2009-10-11 17:50 b -rw-r--r-- 1 sergi sergi 0 2009-10-11 17:50 a
També podem modificar la forma en que es mostren les dades de sortida. Per exemple, podem mostrar la sortida en una sola columna:
$ ls -1 bin Desktop Documents Escriptori examples.desktop highlight.css ies4linux-2.99.0.1 ies4linux-latest.tar.gz Imatges Linkat 3 Música Musiquetes.pls Plantilles prova prova* provesn provesnmil Públic Vídeos workspace.tar.gz workspace.tar.gz.1
O de la forma habitual però en comptes d'ordenar per columnes ordenar per files:
$ ls -x
O mostrar una llista separada per comes:
$ ls -m bin, Desktop, Documents, Escriptori, examples.desktop, highlight.css, ies4linux-2.99.0.1, ies4linux-latest.tar.gz, Imatges, Linkat 3, Música, Musiquetes.pls, Plantilles, prova, prova*, provesn, provesnmil, Públic, Vídeos, workspace.tar.gz, workspace.tar.gz.1
També podem mostrar els noms de fitxers entre comets i combinar paràmetres per per exemple obtenir un fitxer CSV:
$ ls -mQ "a", "b", "B", "Ba", "c", "d", "D"
Consulteu l'article touch.
L'ordre cp (copy) permet copiar fitxers (o carpetes). La sintaxi de cp és:
$ cp [opcions] origen destinació
L'origen pot ser un o més fitxers (ja sigui indicant una llista o utilitzant comodins com l'asterisc). La destinació pot ser el nom d'un fitxer o una carpeta. En el cas d'escollir una carpeta el fitxer destinació tindrà el mateix nom que l'origen però es trobarà a la carpeta indicada i en el cas d'un fitxer el nom del fitxer de destinació és l'indicat pel paràmetre destinació.
L'ordre suporta un gran nombre d'ocpcions que podeu consultar amb detall al manual:
$ man cp
O utilitzant l'ordre info:
$ info coreutils cp
Per defecte la comanda cp no copia carpetes:
$ cp bin Documents cp: es descarta el directori «bin»
Cal indicar l'opció -R o -r (--recursive) per tal de copiar la carpeta i tots els fitxers i subdirectoris de la carpeta:
$ cp -r bin Documents
Normalment un fitxer copiat és propietat de l'usuari que executa l'ordre cp i els permisos són els especificats per la mascara per defecte. L'opció -p (--preserve) manté els permisos i el propietari del fitxer original. Cal tenir en compte que només és realitza l'acció si no entra en conflicte amb els permisos del fitxer d'origen i de la destinació.
L'opció arxivar (-a o --archive) copia els fitxers tal qual, mantenint els permisos i els propietaris, els enllaços i copia de forma recursiva. És equivalent a:
$ cp -dpR
Cal tenir en compte que al utilitzar l'opció -R en comptes de preservar els enllaços simbòlics, es copien els fitxers als quals els enllaços simbòlics apunten.
NOTA: Si el mode no és recursiu, aleshores és manté els enllaç simbòlic.
Podeu utilitzar l'opció -d per tal de preservar els enllaços simbòlics.
Aquesta opció és equivalent a:
--no-dereference (-P)
o
--preserve=links
Altres paràmetres que mantenen els enllaços simbòlics són:
--archive o -a -d o --dereference -L -H
El paràmetre --parents, crea totes les carpetes necessàries per copiar el path complet d'un fitxer.
~$ cp -r --parents /etc/network ~ ~$ ls etc/network/ if-down.d if-post-down.d if-pre-up.d if-up.d interfaces
Es pot utilitzar l'opció --target-directory (-t) per tal d'indicar la carpeta de destinació.
L'opció -u (--update) indica a l'ordre cp que només ha de realitzar l'acció si el fitxer original és més nou que el fitxer de destinació. La comparació es fa per data.
Podeu utilitzar l'ordre rsync per a fer copies d'aquest estil de forma més avançada.
Una qüestió molt important a tenir en compte amb l'ordre cp és que si el fitxer destí ja existeix el substitueix sense preguntar. Podem utilitzar l'opció -i (interactiu) per a que pregunti.
$ cp -i a b
Podem crear un alias per forçar que aquest comportament sigui el per defecte. Afegim al fitxer ~/.bashrc les següents línies:
#------------------------------------------------------------------------------ # Security. #------------------------------------------------------------------------------ alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' alias ln='ln -i'
Per desfer els alias teniu la comanda unalias.
Per defecte l'ordre cp és una ordre silenciosa. De fet, si tot va correctament, no es mostra cap missatge (seguint la premisa de Unix: No News Good News).
Podeu mostrar informació de la còpia amb el paràmetre -v (--verbose):
$ cp -rv /etc/network ~ «/etc/network» -> «/home/sergi/network» «/etc/network/interfaces» -> «/home/sergi/network/interfaces» «/etc/network/if-post-down.d» -> «/home/sergi/network/if-post-down.d» «/etc/network/if-post-down.d/wpasupplicant» -> «/home/sergi/network/if-post-down.d/wpasupplicant» «/etc/network/if-post-down.d/avahi-daemon» -> «/home/sergi/network/if-post-down.d/avahi-daemon» «/etc/network/if-post-down.d/wireless-tools» -> «/home/sergi/network/if-post-down.d/wireless-tools» «/etc/network/if-pre-up.d» -> «/home/sergi/network/if-pre-up.d» «/etc/network/if-pre-up.d/wpasupplicant» -> «/home/sergi/network/if-pre-up.d/wpasupplicant» «/etc/network/if-pre-up.d/wireless-tools» -> «/home/sergi/network/if-pre-up.d/wireless-tools» «/etc/network/if-pre-up.d/dhclient3-apparmor» -> «/home/sergi/network/if-pre-up.d/dhclient3-apparmor» «/etc/network/if-down.d» -> «/home/sergi/network/if-down.d» «/etc/network/if-down.d/wpasupplicant» -> «/home/sergi/network/if-down.d/wpasupplicant» «/etc/network/if-down.d/avahi-autoipd» -> «/home/sergi/network/if-down.d/avahi-autoipd» «/etc/network/if-down.d/postfix» -> «/home/sergi/network/if-down.d/postfix» «/etc/network/if-up.d» -> «/home/sergi/network/if-up.d» «/etc/network/if-up.d/ntpdate» -> «/home/sergi/network/if-up.d/ntpdate» «/etc/network/if-up.d/wpasupplicant» -> «/home/sergi/network/if-up.d/wpasupplicant» «/etc/network/if-up.d/avahi-daemon» -> «/home/sergi/network/if-up.d/avahi-daemon» «/etc/network/if-up.d/openssh-server» -> «/home/sergi/network/if-up.d/openssh-server» «/etc/network/if-up.d/avahi-autoipd» -> «/home/sergi/network/if-up.d/avahi-autoipd» «/etc/network/if-up.d/mountnfs» -> «/home/sergi/network/if-up.d/mountnfs» «/etc/network/if-up.d/postfix» -> «/home/sergi/network/if-up.d/postfix»
Quantes més v indiqueu, major serà la quantitat d'informació mostrada per pantalla.
$ cp -rvvv /etc/network ~
Aquesta és una opció molt interessant ja que crea una copia d'un fitxer o carpeta amb dos opcions interessants:
El resultat és una còpia exacte però sense ocupar dos vegades l'espai original i sense tardar tant en fer la còpia. Per que la còpia sigui bona l'únic que cal fer és que les operacions sobre la copia només siguin d'afegir fitxers o eliminar (millor dic unlink) els fitxers
Si ho combinem amb rsync es poden fer còpies de seguretat incrementals completes amb la següent seqüència de comandes:
$ rm -rf backup.3 $ mv backup.2 backup.3 $ mv backup.1 backup.2 $ cp -al backup.0 backup.1 $ rsync -a --delete source_directory/ backup.0/
Si aquestes comandes s'executen un cop al dia (per exemple amb cron), les còpies backup.0, backup.1, backup.2, i backup.3 són una còpia de seguretat exacte de la carpeta source_directory/ tal i com és avui, ahir, abans d'ahir i 3 dies abans (excepte que els permisos i els propietaris dels fitxers de les còpies antigues tenen els valors actuals)
També es pot des de la versió rsync-2.5.6, utilitzar --link-dest, canviem les últimes 2 comandes per:
$ mv backup.0 backup.1 $ rsync -a --delete --link-dest=../backup.1 source_directory/ backup.0/
Aquest mètode és millor per que si que manté els permisos i els propietaris.
Recursos:
L'ordre mv (move) és utilitzada per moure fitxers o directoris de una carpeta a un altre.
IMPORTANT: A Linux no existeix una ordre per canviar el nom d'un fitxer. S'utilitza l'ordre mv
La sintaxi de l'ordre és:
$ mv [opcions] origen destinacio
Per exemple:
$ mv document.txt /home/sergi/Documents/
NOTA: Fixeu-vos que s'ha utilitzat la barra final (/). Això pot ser útil per tal d'evitar errors, ja que ens assegurem que la destinació és una carpeta i no pas un fitxer anomenat Documents. En aquest últim cas el fitxer de destinació seria sobreescrit sense preguntar.
L'ordre mv compateix amb l'ordre cp molts paràmetres com --interactive, --update, --force o --verbose.
Altres paràmetres com --preserve, --recursive o --archive no s'apliquen a l'ordre mv.
Si els fitxers es mouen dins d'un mateix sistema de fitxers, l'ordre mv només modifica els punters als fitxers fet que fa que l'operació sigui força més ràpida. En canvi, per exemple si movem un fitxer del disc dur a un llapis USB, aleshores l'ordre ha de copiar primer els fitxers a la destinació i després esborrar els fitxers origen.
Per canviar el nom d'un fitxer s'utilitza mv:
$ mv nom_original nom_nou
Es pot canviar el nom i canviar la destinació en una mateixa operació:
$ mv document.txt /home/sergi/Documents/nou_nom_document.txt
La comanda move s'utilitza per canviar el nom del fitxer o la seva situació dins del sistema de fitxers. L'acció de moure no modifica l'inode del fitxer ni el fitxer en si, l'únic que es modifica és la seva posició dins del sistema de fitxers.
NOTA: Hi ha una excepció al comentat anteriorment. Moure un fitxer entre dos particions diferents (cada partició té la seva taula d'inodes.)
$ stat c File: «c» Size: 0 Blocks: 0 IO Block: 4096 fitxer ordinari buit Device: 806h/2054d Inode: 6242497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ sergi) Gid: ( 1000/ sergi) Access: 2008-05-10 11:22:58.000000000 +0200 Modify: 2008-05-10 11:22:58.000000000 +0200 Change: 2008-05-10 11:22:58.000000000 +0200 $ ls -lia c 6242497 -rw-r--r-- 1 sergi sergi 0 2008-05-10 11:22 c
$ mv c carpeta
El fitxer és idèntic en metadades:
$ stat carpeta/c File: «carpeta/c» Size: 0 Blocks: 0 IO Block: 4096 fitxer ordinari buit Device: 806h/2054d Inode: 6242497 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ sergi) Gid: ( 1000/ sergi) Access: 2008-05-10 11:22:58.000000000 +0200 Modify: 2008-05-10 11:22:58.000000000 +0200 Change: 2008-05-10 11:36:59.000000000 +0200
I manté l'inode:
$ ls -li carpeta/c 6242497 -rw-r--r-- 1 sergi sergi 0 2008-05-10 11:22 carpeta/c
Per tal d'esborrar un fitxer (o directori) podem utilitzar l'ordre rm (remove). La sintaxi és:
$ rm [opcions] fitxers
L'ordre mv accepta molts dels paràmetres que accepten les ordres cp i mv. Altres com --preserve, --archive, i --update no s'apliquen a l'ordre rm.
Cal tenir en compte que per esborrar un directori (i tot el seu contingut) cal indicar l'opció --recursive (-r o -R):
$ rm -r directori
IMPORTANT: Cal tenir en compte que amb l'ordre rm no s'utilitza cap tipus de paperera que ens permeti recuperar els fitxers esborrats. Algunes eines gràfiques si que envien per defecte els fitxers esborrar a la paperera però rm no. Cal tenir molt de compte amb aquesta ordre sobretot si s'executa com a root, ja que pot inutilitzar el sistema molt fàcilment.
Per esborrar sense preguntar podem utilitzar force -f:
$ rm -rf carpeta1
Cal tenir en compte que al superusuari mai li pregunta res...
Els sistemes Linux mantenen 3 marques de temps (timestamps) per a cada fitxer del sistema:
Moltes utilitats es basen en aquests temps, per exemple l'ordre cp i l'opció update o l'ordre make, la qual només torna a compilar aquells fitxers la data del fitxer de codi font és més nova que el fitxer compilat.
L'ordre touch permet modificar les marques de temps d'un fitxer. La sintaxi és la següent:
$ touch [opcions] fitxers
Per defecte, l'ordre touch estableix la data de modificació i de l'últim accés al temps actual. Per tant, serveix per actualitzar la data d'un fitxer sense modificar els seus continguts.
L'ordre touch també s'utilitza per crear un fitxer buit, ja que si el fitxer no existeix es crea un fitxer buit. Si no voleu crear el fitxer podeu utilitzar -c o --no-create.
Les marques de temps d'un fitxer es poden consultar amb l'ordre ls. L'ordre:
$ ls -l
Mostra la data d'última modificació (mtime). Podem mostrar les altres dates amb:
$ ls -lu
Mostra el temps de l'últim accés (atime) i:
$ ls -lc
Mostra el temps de canvi (ctime). Per mostrar el temps complet podeu utilitzar l'opció --full-time:
$ ls -l --full-time / total 96 drwxr-xr-x 2 root root 4096 2009-07-27 11:02:19.000000000 +0200 bin drwxr-xr-x 3 root root 4096 2009-09-01 17:15:16.000000000 +0200 boot lrwxrwxrwx 1 root root 11 2009-07-27 09:31:11.000000000 +0200 cdrom -> media/cdrom drwxr-xr-x 17 root root 4580 2009-10-10 19:37:54.129417446 +0200 dev drwxr-xr-x 147 root root 12288 2009-10-10 19:37:54.000000000 +0200 etc drwxr-xr-x 6 root root 4096 2009-08-11 15:24:41.000000000 +0200 home ...
També podeu consultar les marques de temps amb l'ordre stat:
$ stat a File: «a» Size: 1 Blocks: 8 IO Block: 4096 fitxer ordinari Device: 801h/2049d Inode: 3721307 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ sergi) Gid: ( 1000/ sergi) Access: 2009-10-11 20:16:24.000000000 +0200 Modify: 2009-10-11 20:16:47.000000000 +0200 Change: 2009-10-11 20:16:47.000000000 +0200
L'ordre find ens permet cercar fitxers segons les seves marques de temps.
Per modificar només el temps de l'últim accés:
$ touch -a nom_de_fitxer
Per modificar només el temps de l'últim accés:
$ touch -m nom_de_fitxer
Do not create file If you don’t want touch to create any files that don’t already exist, pass
Es pot establir una marca de temps concreta amb l'opció -t. El valor s'ha d'especificar en el format:
MMDDhhmm[[CC]YY][.ss]
On
Un altre manera és replicar les marques de temps d'un altre fitxer amb l'opció -r (reffile) o --reference=reffile.
A Linux, tot són fitxers, fins i tot els directoris. Però no tots els fitxers són iguals. Els tipus de fitxers que podem trobar són:
Les opcions -l i -F de l'ordre ls ens permeten saber de quin tipus és un fitxer.
L'opció -F ens mostra una caràcter addicional al final del nom del fitxer. Per exemple, els descriptors de fitxers de les sortides i entrades estàndard, són enllaços simbòlics:
$ ls -F /dev/st* /dev/[email protected] /dev/[email protected] /dev/[email protected]
el símbol arrova (@) indica que es tracta d'un fitxer de tipus socket. Els símbols utilitzats per als diferents tipus amb l'opció -F són:
Res Fitxer normal / Directori @ Enllaç simbòlic = Endoll ( (Domain) Socket) | Conducte (Named pipes) * Fitxer executable
Hi ha altres tipus de fitxer, els podeu consultar amb:
$ info coreutils ls
Consulteu l'opció -l del manual.
L'opció -l ens mostra a la primera columna el tipus de fitxer seguit dels permisos. Per exemple:
$ ls -la /dev total 4 drwxr-xr-x 17 root root 4580 2009-10-10 19:37 . drwxr-xr-x 22 root root 4096 2009-10-10 19:27 .. crw------- 1 root video 10, 175 2009-10-10 19:27 agpgart crw-rw----+ 1 root audio 14, 4 2009-10-10 19:27 audio drwxr-xr-x 2 root root 660 2009-10-10 19:37 block drwxr-xr-x 3 root root 60 2009-10-10 19:27 bus lrwxrwxrwx 1 root root 3 2009-10-10 19:27 cdrom -> sr0 lrwxrwxrwx 1 root root 3 2009-10-10 19:27 cdrw -> sr0 drwxr-xr-x 2 root root 4120 2009-10-10 19:37 char crw------- 1 root root 5, 1 2009-10-11 07:44 console
Els caràcters tenen el següent sentit:
- Fitxer normal (Regular File) d Directori l enllaç simbòlic c Fitxer especial de dispositiu de caràcter b Fitxer especial de dispositiu de bloc s endoll ( (Domain) socket) p condute ( Named Pipe)
També cal tenir en compte que si utilitzem ls amb l'opció --color, els colors canviaran segons els tipus de fitxer.
Consulteu l'objectiu:
LPI_104.6.Crear i canviar els enllaços durs i simbòlics
Consulteu chown.
olic Modes::). But `ls' combines
multiple bits into the third character of each set of permissions as follows:
`s' If the set-user-ID or set-group-ID bit and the corresponding executable bit are both set.
`S' If the set-user-ID or set-group-ID bit is set but the corresponding executable bit is not set.
`t' If the restricted deletion flag or sticky bit, and the other-executable bit, are both set. The restricted deletion flag is another name for the sticky bit. *Note Mode Structure::.
`T' If the restricted deletion flag or sticky bit is set but the other-executable bit is not set.
`x' If the executable bit is set and none of the above apply.
`-' Otherwise.
Consulteu chmod.
Consulteu cp
Consulteu ls
Permet crear un directori. La sintaxi és:
$ mkdir [opcions] directori [mes directoris]
Podeu consultar el manual:
$ man mkdir
o per Internet:
http://linux.die.net/man/1/mkdir
i com forma part del paquet coreutils, podeu consultar info:
$ info coreutils mkdir
Amb la opció -p crea el directori i tota la jerarquia necessària (les carpetes pare que no existeixen també les genera)
$ mkdir -p /carpeta1/carpeta2/carpeta3
També podem indicar amb quina permisos volem crear el directori utilitzant el paràmetre mode. Consulteu l'apartat permisos de fitxers.
Consulteu mv
Consulteu rm
Permet eliminar directoris. La sintaxi és:
$ rmdir [opcions] directory-name (directory-name+s)
Per exemple:
$ rmdir carpeta1
NOTA: Només elimina directoris buits.
També té la opció -p (però de totes formes a d'estar buit).
Per esborrar carpetes amb fitxers cal utilitzar la comanda rm amb l'opció -r.
Algunes comandes permeten arxicar un conjunt de fitxer en un sol fitxer o paquet. Els paquets són útils per mantenir còpies de seguretat, estalviar espai, etc. Linux suporta varies comandes de còpia de seguretat, en aquest apartat veurem les més conegudes: tar i cpio. També veurem ordre que ens permeten comprimir fitxers.
NOTA: Altres formats de compressió i arxivament de fitxer com zip i rar també són suportats amb Linux per ordre com zip, [[unzip], rar o unrar. De totes formes, aquest formats no són important per a la certificació LPI.
Consulteu bzip2.
Consulteu gunzip.
Consulteu gzip.
Consulteu l'article Eines per arxivar paquets#tar.
Consulteu tree.
La comanda stat ens mostra la informació (metadades) d'un fitxer:
Una carpeta:
$ stat / File: `/' Size: 1024 Blocks: 2 IO Block: 4096 directory Device: 801h/2049d Inode: 2 Links: 25 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2006-03-07 16:07:36.851989210 +0100 Modify: 2006-03-02 20:09:23.000000000 +0100 Change: 2006-03-02 20:09:23.000000000 +0100
Com podeu veure l'arrel té un inode fixe (2).
Un fitxer:
$ stat d File: «d» Size: 0 Blocks: 0 IO Block: 4096 fitxer ordinari buit Device: 806h/2054d Inode: 6242498 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ sergi) Gid: ( 1000/ sergi) Access: 2008-05-10 11:23:15.000000000 +0200 Modify: 2008-05-10 11:23:15.000000000 +0200 Change: 2008-05-10 11:23:15.000000000 +0200
Consulteu l'ordre touch per tal de tenir més detalls sobre les marques de temps (timestamps).
Consulteu cpio.
Consulteu dd.
Consulteu file.
Consulteu find.
Consulteu touch
Estructura de l'arbre de fitxers
+ HOME de l'usuari |_Informàtica |_SMX. Sistemes Microinformàtics i Xarxes |_Mòdul 1. Nom mòdul 1 |_Mòdul 2. Nom mòdul 2 |_Mòdul 3. ... |_ESI. Explotació de sistemes informàtics |_Crèdit 1. Nom crèdit 1 |_Crèdit 2. Nom crèdit 3 |_Crèdit 3... |_DAI. Disseny d'Aplicacions Informàtiques |_Crèdit 1. Nom crèdit 1 |_Crèdit 2. Nom crèdit 3 |_Crèdit 3... |_ASI. Administració de sistemes informàtics |_Crèdit 1. Nom crèdit 1 |_Crèdit 2. Nom crèdit 3 |_Crèdit 3...
Podeu consultar el nom dels mòduls a:
http://acacha.org/mediawiki/index.php/SMX
Pels cicles antics podeu consultar el noms dels crèdits al currículum:
http://www.xtec.cat/fp/famprof/informatic.htm
Utilitzar openclipart i les comandes de imagemagick (sobretot l'eina convert)
Per a un examen?.
Un programa