{"id":594,"date":"2023-10-10T13:40:18","date_gmt":"2023-10-10T11:40:18","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=594"},"modified":"2023-10-24T20:46:37","modified_gmt":"2023-10-24T18:46:37","slug":"1-5-el-sistema-de-fitxers","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/1-5-el-sistema-de-fitxers\/","title":{"rendered":"1.5. El sistema de fitxers"},"content":{"rendered":"<p>La mem\u00f2ria d\u2019un ordinador emmagatzema temporalment tant els programes com les seves pr\u00f2pies dades durant la seva execuci\u00f3 en el processador. Per evitar la p\u00e8rdua d\u2019informaci\u00f3 quan cessa el subministrament del fluid el\u00e8ctric en el moment de l\u2019apagat del nostre ordinador, mantenim sempre una c\u00f2pia de tota la informaci\u00f3 en dispositius dissenyats per a tal efecte, com discos durs, CD, DVD o llapis de mem\u00f2ria. Aquesta classe de mem\u00f2ria secund\u00e0ria comparteix un m\u00e8tode d\u2019organitzaci\u00f3 comuna denominat <em>sistema de fitxers<\/em> (<em>filesystem<\/em>). El tipus d\u2019estructuraci\u00f3 de cada volum es pot establir en el moment de donar-li format. Per regla general cada sistema operatiu t\u00e9 una predisposici\u00f3 cap a un determinat format, tolerant no obstant la compatibilitat amb altres sistemes d\u2019emmagatzematge. A la taula 2, hi trobarem alguns exemples de tipus de <em>filesystem<\/em> per SO.<\/p>\n<div class=\"tabletitle\"><p>Taula 2. Tipus de formats de sistemes de fitxers.<\/p>\n<\/div>\n<table width=\"642\">\n<thead>\n<tr>\n<th width=\"321\"><strong>SO<\/strong><\/th>\n<th width=\"321\"><strong>Format<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"321\">Linux<\/td>\n<td width=\"321\">EXT2\/3\/4, XFS, JFS, Btrfs<\/td>\n<\/tr>\n<tr>\n<td width=\"321\">Windows<\/td>\n<td width=\"321\">FAT, NTFS, exFAT<\/td>\n<\/tr>\n<tr>\n<td width=\"321\">macOS<\/td>\n<td width=\"321\">HFS, APFS, HFS+<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"tablefooter\"><p>Font: elaboraci\u00f3 pr\u00f2pia.<\/p>\n<\/div>\n<p>El <em>filesystem<\/em> indexa tota la informaci\u00f3 en un volum d\u2019emmagatzematge, incloent-hi la mida de l\u2019arxiu, els atributs, la localitzaci\u00f3 i la jerarquia en el directori. El <em>filesystem<\/em> tamb\u00e9 especifica la ruta a l\u2019arxiu mitjan\u00e7ant l\u2019estructura de directoris.<\/p>\n<figure id=\"attachment_85\" aria-describedby=\"caption-attachment-85\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-85\" src=\"\/wp-content\/uploads\/sites\/5\/2023\/08\/image001-1024x575.png\" alt=\"\" width=\"800\" height=\"449\" srcset=\"\/wp-content\/uploads\/sites\/5\/2023\/08\/image001-1024x575.png 1024w, \/wp-content\/uploads\/sites\/5\/2023\/08\/image001-300x168.png 300w, \/wp-content\/uploads\/sites\/5\/2023\/08\/image001-768x431.png 768w, \/wp-content\/uploads\/sites\/5\/2023\/08\/image001.png 1486w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-85\" class=\"wp-caption-text\">Figura 1. Estructura del <em>filesystem<\/em> de Linux.<br \/>Font:<a href=\"http:\/\/linuxfoundation.org\" target=\"_blank\" rel=\"noopener\"> linuxfoundation.org<\/a><\/figcaption><\/figure>\n<p>El sistema de fitxers proporciona a l\u2019usuari mecanismes l\u00f2gics per localitzar els fitxers a trav\u00e9s del seu nom i d\u2019una ruta d\u2019acc\u00e9s (en angl\u00e8s, <em>path<\/em>). A la figura 1 podem veure-hi quina estructura comparteixen els sistemes Linux del sistema de fitxers.<\/p>\n<p>Els usuaris tenen la seva pr\u00f2pia partici\u00f3 (espai dedicat) dins de \u00ab\/home\u00bb. Els discos durs externs i llapis de mem\u00f2ria es localitzen autom\u00e0ticament (es munten) dins del directori \u00ab\/media\u00bb a Linux o al directori \u00ab\/Volumes\u00bb a Mac OS-X. A difer\u00e8ncia de Microsoft Windows, els dispositius no reben una \u00fanica lletra com a identificador, sin\u00f3 un nom l\u00f2gic m\u00e9s comprensible.<\/p>\n<p>Els fitxers s&#8217;agrupen en carpetes o directoris, conformant una jerarquia que proporciona una organitzaci\u00f3 coherent per a l\u2019usuari. Per construir una ruta que passi per dos directoris <em>A<\/em> i <em>B<\/em> s\u2019ha d\u2019introduir el car\u00e0cter separador \/, formant la ruta A\/B. En un instant concret, el directori en el qual l\u2019usuari es troba rep la denominaci\u00f3 simb\u00f2lica de \u00ab.\u00bb, mentre que \u00ab..\u00bb representa el directori immediatament anterior en l\u2019arbre de fitxers. Per accedir a un arxiu especificarem la seva ruta completa (<em>path <\/em>absolut), \u00e9s a dir,\u00a0 tota la s\u00e8rie de directoris des de l\u2019arrel (<em>root o \/<\/em>) fins a aquest punt concret del sistema de fitxers. Per accedir a qualsevol fitxer o directori podem descendir des d\u2019aquest punt al llarg del sistema de fitxers. Opcionalment, l\u2019usuari pot senzillament introduir la part de la ruta necess\u00e0ria per completar la resta del cam\u00ed a partir de la ubicaci\u00f3 actual (<em>path<\/em> relatiu). Si volgu\u00e9ssim accedir al fitxer \/home\/uoc\/master\/notes.txt (<em>path<\/em> absolut) i estigu\u00e9ssim a \/home\/uoc, simplement necessitem indicar .\/master\/notes.txt (<em>path<\/em> relatiu). Com hem esmentat anteriorment, el \u00ab.\u00bb indica el directori actual que va seguit de la ruta fins a notes.txt.<\/p>\n<p>A UNIX, s\u2019accedeix als fitxers d\u2019una unitat com a qualsevol altre dispositiu l\u00f2gic, requerint certs permisos de seguretat per poder efectuar qualsevol operaci\u00f3 sobre aquests.<\/p>\n<p>Un programa pot realitzar sobre un fitxer les seg\u00fcents accions:<\/p>\n<ul>\n<li>Obrir (en angl\u00e8s, <em>open<\/em>). Per accedir a un fitxer, el proc\u00e9s l\u2019ha d\u2019obrir pr\u00e8viament i obtenir un codi identificador per referir-s&#8217;hi.<\/li>\n<li>Tancar (en angl\u00e8s, <em>close<\/em>). Un cop finalitzat l\u2019acc\u00e9s, el fitxer s\u2019ha de tancar perqu\u00e8 un altre proc\u00e9s pugui reutilitzar-lo posteriorment.<\/li>\n<li>Llegir (en angl\u00e8s, <em>read<\/em>). El proc\u00e9s utilitza l\u2019identificador d\u2019un fitxer per accedir seq\u00fcencialment al seu contingut.<\/li>\n<li>Escriure (en angl\u00e8s, <em>write<\/em>). Un proc\u00e9s pot escriure nova informaci\u00f3 en un fitxer i sobreescriure el contingut existent anteriorment.<\/li>\n<li>Afegir (en angl\u00e8s, <em>append<\/em>). Un proc\u00e9s pot escriure nova informaci\u00f3 a continuaci\u00f3 del contingut registrat amb anterioritat.<\/li>\n<\/ul>\n<p>A UNIX tot es redueix a fitxers. Podem trobar tres tipus de fitxers:<\/p>\n<ul>\n<li>Arxius regulars<\/li>\n<li>Directoris<\/li>\n<li>Especials:\n<ul>\n<li><em>Block files<\/em><\/li>\n<li><em>Character device files<\/em><\/li>\n<li><em>Pipe files<\/em><\/li>\n<li><em>Socket files<\/em><\/li>\n<li><em>Symbolic link files<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Dels tipus especials ens centrarem en els <em>symbolic link files<\/em>. A m\u00e9s dels fitxers regulars i dels directoris que tots coneixem, es poden crear enlla\u00e7os als fitxers des d\u2019altres punts del sistema de fitxers (en angl\u00e8s, <em>links<\/em>). D\u2019aquesta manera, evitem introduir la ruta completa d\u2019acc\u00e9s en cada ocasi\u00f3. Aquests enlla\u00e7os a UNIX poden contenir la ruta d\u2019acc\u00e9s del fitxer original (en angl\u00e8s, <em>soft links<\/em> o <em>symbolic links<\/em>) o proporcionar un acc\u00e9s f\u00edsic compartit a aquest amb un nom diferent (en angl\u00e8s, <em>hard links<\/em>). Els <em>soft links<\/em> equivaldrien a un acc\u00e9s directe a Windows. Amb aquest mecanisme, l\u2019usuari pot apuntar a un mateix fitxer des de diversos llocs del sistema i sense l\u2019exist\u00e8ncia de m\u00faltiples c\u00f2pies.<\/p>\n<p>UNIX t\u00e9 un caracter\u00edstic mecanisme de seguretat per protegir la integritat del sistema de fitxers. \u00danicament els usuaris autoritzats poden efectuar operacions sobre un fitxer o directori. Segons la seva proced\u00e8ncia, cada usuari del sistema pertany a un d\u2019aquests dominis: l\u2019usuari (<em>user<\/em>), el grup de treball (<em>group<\/em>) o l\u2019entorn exterior (<em>others<\/em>). Les operacions permeses sobre arxius s\u00f3n la lectura (<em>r<\/em><em>ead<\/em>), l\u2019escriptura\/modificaci\u00f3\/eliminaci\u00f3 (<em>w<\/em><em>rite<\/em>) i l\u2019execuci\u00f3 (<em>e<\/em><em>x<\/em><em>ecute<\/em>). En el cas dels directoris, hi ha convencions similars per restringir l\u2019acc\u00e9s al seu interior, denotat en aquest cas amb el perm\u00eds d\u2019execuci\u00f3.<\/p>\n<p>Per regla general, l\u2019autor d\u2019un fitxer en posseeix inicialment tots els drets, i en garanteix la lectura i l\u2019execuci\u00f3 als membres del seu grup de treball. Segons el grau de privacitat perm\u00e8s pels tenidors dels drets, un usuari de l\u2019entorn exterior pot estar habilitat per veure aquests fitxers o no. En qualsevol context, l\u2019administrador de la m\u00e0quina (en angl\u00e8s, <em>root<\/em>) pot revocar els permisos de seguretat d\u2019un fitxer. Per poder modificar els permisos de fitxers o directoris m\u00e9s endavant veurem la utilitzaci\u00f3 de l\u2019ordre <em>chmod<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La mem\u00f2ria d\u2019un ordinador emmagatzema temporalment tant els programes com les seves pr\u00f2pies dades durant la seva execuci\u00f3 en el processador. Per evitar la p\u00e8rdua d\u2019informaci\u00f3 quan cessa el subministrament del fluid el\u00e8ctric en el moment de l\u2019apagat del nostre ordinador, mantenim sempre una c\u00f2pia de tota la informaci\u00f3 en dispositius dissenyats per a tal [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/594"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/comments?post=594"}],"version-history":[{"count":5,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/594\/revisions"}],"predecessor-version":[{"id":865,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/594\/revisions\/865"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/media?parent=594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}