Está en la página 1de 13

Lagestindelosarchivos

1.Elsistemadearchivos
Unsistemadearchivos,llamadocomnmenteFileSystemoFS,determinalaorganizacindelosdatosenunsoporte
dealmacenamiento,yportanto,cmogestionayorganizaelsistemaoperativolosarchivos.
Linux es, como todo Unix, un sistema operativo completamente orientado a archivos. Se representa todo (o casi
todo)conunarchivo,tantolosdatos(archivosdedatosdecualquiertipo,comounaimagenounprograma)comolos
perifricos(terminales,ratones,teclado,tarjetasonido,etc.)oinclusolosmedios decomunicacin(sockets,tuberas
nombradas,etc.).SepuededecirqueelsistemadearchivoseselcorazndecualquiersistemaUnix.

EjemploderboldedirectorioLinux
El sistema de archivos de Linux es jerrquico. Describe un rbol de directorios y subdirectorios, a partir de un
elementobsicollamadorazorootdirectory.

2.Losdiferentestiposdearchivos
Distinguimostrestiposdearchivos:ordinarios,catlogo,especiales.

a.Losarchivosordinariosoregulares
Losarchivosordinariossellamantambinarchivosregulares,ordinaryfilesoregularfiles.Sonarchivostotalmente
clsicosquecontienendatos.Pordatossedebeentendercualquiercontenido:

texto

imagen

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

- 1-

audio

programabinariocompilado

script

basededatos

libreradeprogramacin

etc.

Por defecto, nada permite diferenciar unos de otros, salvo la utilizacin de algunas opciones de determinados
comandos(lsFporejemplo)oelcomandofile.

$ file nom_arch
nom arch: 32 Bits ELF Executable Binary (stripped)

Linux desconoce la nocin de extensin de archivo como componente interno de la estructura del sistema de
archivos. Dicho de otro modo, una extensin no es relevante dentro de un sistema de archivos y se la considera
simplementecomopartedelnombre.Slosirveparadistinguirvisualyrpidamenteelposiblecontenidodeunarchivo
encomparacinconotro.Nodebemoshablardeextensin, sinodesufijo.Sinembargo,elprimertrminoformaparte
dellenguajecomn,ysepuedeseguirutilizando:todoelmundocomprenderloquequieredecir.

Como Linux no gestiona las extensiones, el nombre de un programa no termina casi nunca por un ".exe" habr
queencontrarotromtodoparadistinguirlo.

b.Loscatlogos
Losarchivoscatlogosonlosdirectoriosocarpetas.Losdirectoriospermitenorganizareldiscodurocreandouna
jerarqua. Un directorio puede contener archivos normales, archivos especiales y otros directorios de manera
recursiva.
Undirectorionoesmsqueunarchivoparticularquecontienelalistadelospropiosarchivospresenteseneste
directorio.Estanocinresultarmuytilcuandosetrateeltemadelospermisos.

c.Losarchivosespeciales
Eltercertipodearchivoseselespecial.Existenvariostiposdearchivosespeciales.Porejemplo,losdriversdelos
perifricosestnrepresentadosporarchivosespecialesdelacarpeta/dev.
Sonprincipalmentearchivosquesirvendeinterfazparalosdiversosperifricos.Sepuedenutilizar,segn elcaso,
como archivos normales. Cuando se accede en modo lectura o escritura a estos archivos se redirigen hacia el
perifrico(pasandoporeldriverasociadosiexiste).Porejemplo,sidirigeunarchivodeondasonora(wave)hacia
elarchivoquerepresentalasalidadelatarjetadesonido,haymuchas probabilidadesqueestesonidoseaaudible
porsusaltavoces.

3.Nomenclaturadelosarchivos
Nosepuededarcualquiernombreaunarchivohayqueseguirunassimplesreglas,vlidasparatodoslostiposde
archivos.

- 2-

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

EnlosantiguossistemasUnix,unnombredearchivonopodasuperarlos14caracteres.Enlossistemasactuales,
Linuxincluido,sepuedellegarhasta255caracteres.Laposibleextensinestincluidaenlalongituddelnombredel
archivo.
Un punto extremamente importante: Linux respeta la distincin entre los nombres de archivos en minsculas y en
maysculas. Pepito, PEPITO, PePito y pepito son nombres de archivos diferentes, con un contenido diferente. Esta
distincin es intrnseca al tipo de sistema de archivos. En otros sistemas de tipo Unix (como Mac OS X) este
comportamientopuedeseropcional.
Se acepta la mayora de los caracteres (las cifras, las letras, las maysculas, las minsculas, ciertos signos, los
caracteres acentuados), incluido el espacio. Sin embargo, se deben evitar algunos caracteres, ya que tienen un
significadoparticulardentrodelshell:&()~<espacio>\/|`?(alprincipiodelnombre).
Losnombressiguientessonvlidos:

Archivo1

Paga.txt

123tratamiento.sh

Paga_junio_2002.xls

Losnombressiguientes,aunquevlidos,puedencrearproblemas:

Archivo*

Pago(diciembre)

Ben&Nuts

Pagajunio2002.xls

4.Lasrutas
a.Estructuraynombrederuta
Las rutas permiten definir una ubicacin en el sistema de archivos. Es la lista de los directorios y
subdirectorios utilizadosparaaccederaunsitiodeterminadodelaestructurahastalaposicindeseada(directorio,
archivo).Sesuelecompletarunnombredearchivoconsurutadeacceso.Poresoelarchivopepitodeldirectorio
dir1esdiferentedelarchivopepitodeldirectoriodir2.Alserjerrquico,elsistemadearchivosdeUnixtieneforma
deestructuraenrbol.
El esquema presentado en la seccin La gestin de los archivos El sistema de archivos de este captulo
representa una estructura en rbol de un sistema de archivos Linux. La / situada arriba del todo se llama raz o
root directory (no confundir con el directorio del administrador root). El nombre de la ruta o path name de un
archivo es la concatenacin, desde la raz, de todos los directorios que se deben cruzar para acceder a l, que
estnseparadoscadaunoporelcarcter/.Esunarutaabsoluta,comolasiguiente:

/home/pepito/Docs/Backup/fic.bak

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

- 3-

Unarutaabsolutaocompleta:

empiezadesdelaraz.Porlotanto,comienzaconuna/,

describetodoslosdirectoriosquehayquecruzarparaaccederalsitiodeseado,

nocontieneni.ni...

b.Directoriopersonal
Alcrearunnuevousuario,eladministradorleasignaundirectoriopersonalllamadohomedirectory.Cuandoinicia
sesin, el usuario es dirigido directamente a ese directorio, que es el suyo personal, en el que podr crear sus
propiosarchivosysubdirectorios.

Login: seb
Password: xxxxxxxxxx
$ pwd
/home/seb

c.Rutarelativa
Unnombrederutatambinpuedeserrelativoasuposicineneldirectorioactual.Elsistema(oelshell)recuerda
laposicinactualdeunusuarioenelsistemadearchivos,eldirectorioactivo.Puedeaccederaotrodirectoriodela
estructuradesdesuubicacinactualsinteclearlarutacompleta,consloprecisarlarutamscortaenrelacincon
suposicinactualdentrodelaestructura.
Paraello,amenudohacefaltautilizardosentradasparticularesdedirectorios:

Elpunto.representaeldirectoriocorriente,activo.Sueleestarimplcito.

Losdospuntos..representaneldirectoriodenivelsuperior.

Unarutarelativa:

describe una ruta relativa a una posicin determinada en la estructura, en general (pero no siempre) desde la
posicinactual

describeenprincipiolarutamscortaparairdeunpuntoaotro

puedecontenerpuntosodospuntos.

Lastresafirmacionesanterioresnosonobligatorias:

/usr/local/binesunarutacompletaoabsoluta

Documents/Photos

es una ruta relativa: se considera que existe el directorio Documents en el

directorio corriente
l

./Documents/Photosesunarutarelativaperfectamenteidnticaalaanterior,conlasalvedaddequeelpunto
indica el directorio activo (corriente) de manera explcita. "./Documents" indica de manera explcita el directorio
Documentseneldirectorioactivo

/usr/local/../bin es una ruta relativa: los .. son relativos a /usr/local y suben un nivel hacia /usr. La ruta
finales,porlotanto/usr/bin.

- 4-

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

d.Lavirgulilla
Elbashinterpretaelcarctervirgulilla~comounaliasdeldirectoriopersonal.Lasrutaspuedenserrelativasala
virgulilla,perostanodebeirprecedidaporcarcteralguno.Paradesplazarseeneldirectorio tmpdesucarpeta
personalestdondeest:

$ cd ~/tmp

Siintroduceesto,obtendrunerror:

$ cd /~

e.cd
Para desplazarse por los directorios, utilice el comando cd (change directory). El comando pwd (print working
directory),queyahemoscomentado,muestralarutacompletadeldirectorioactual.
Si introducecd ., no se mueve. El punto ser muy til cuando tenga que especificar rutas explcitas a comandos
ubicadoseneldirectoriodondeestubicado.
Cd..subeunnivel.Siseencontrabaen/home/seb,ahoraestarenhome.
Elcomandocdsinargumentopermitevolverdirectamenteasudirectoriodeusuario.
A continuacin, presentamos un ejemplo. El usuario seb se encuentra en su directorio personal. Se mueve
mediante una ruta relativa hacia /home/public. Con .. sube hacia /home, por lo tanto con ../public se mueve
a/home/public.Deah,vaunarutacompleta,sedirigehacia/urs/local/bon,yluegodecide,conlaayudadeuna
ruta relativa, ir a /usr/lib: el primer .. baja hacia usr/local, el segundo hacia /usr, y luego vuelve hacia /usr/lib.
Finalmente,sebvuelveasudirectoriopersonalconcdsinargumento.Aqusedalalneacompletaparaunamejor
comprensin.

seb@slyserver:~> pwd
/home/seb
seb@slyserver:~> cd ../public
seb@slyserver:/home/public> cd /usr/local/bin
seb@slyserver:/usr/local/bin> cd ../../lib
seb@slyserver:/usr/lib> cd
seb@slyserver:~>

5.Loscomandosbsicos
a.Listarlosarchivosylosdirectorios
El comando ls permite listar el contenido de un directorio (catlogo) en lneas o columnas. Soporta varios
parmetros,deloscualeslosmsimportantesson:

Parmetro

Significado

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

- 5-

-l

Paracadaarchivoocarpeta,facilitainformacindetallada.

-a

Sevisualizanlosarchivosescondidos(empiezanporunpunto).

-d

Enundirectorio,precisaelpropiodirectorio,ynosucontenido.

-F

Aadeuncarcteralfinaldelnombreparaespecificareltipo:/paraundirectorio,*paraun
ejecutable,@paraunvnculosimblico,etc.

-R

Sielcomandodetectasubdirectorios,entraenellosdemanerarecursiva.

-t

Se filtra la salida por fecha de modificacin del ms reciente al ms antiguo. Se visualiza


estafecha.

-c

Muestra/ordena(cont)porfechadecambiodeestadodelarchivo.

-u

Muestra/ordena(cont)porfechadeaccesodelarchivo.

-r

Seinvierteelordendesalida.

-i

Muestraelinododelarchivo.

-C

Lavisualizacinsehaceenvariascolumnas(pordefecto).

-1

Lavisualizacinsehaceenunasolacolumna.

Elparmetroquelefacilitamsinformacines-l:proporcionaciertosdetallesrelativosalosarchivos.

$ ls -l
total 4568
-rw-r--r-- 1 seb users

69120 sep

2006 3i_recuperacin_2006.doc

-rw-r--r-- 1 seb users

9632 sep

2006 3i_recuperacin_2006.odt

-rw-r--r-- 1 seb users

6849 nov 17

2003 control_1I2_mrtes.sxw

...

Lalneadesalidaindicaeltamaototalenbloquesde1024bytes(o512bytessisedefineunavariablellamada
POSIXLY_CORRECT)delcontenidodeldirectorio.Estetamaorepresentaelconjuntodelosarchivosordinariosdel
directorioynotieneencuentalosposiblessubdirectoriosysucontenido(paraello,habrqueutilizarelcomando
du).
Luegovienelalistadetalladadetodoelcontenido.

rwrr

seb

users

69120

sep32006

3i_recuperacin_2006.doc

1: El primer smbolo representa el tipo de archivo (: ordinario, d: directorio, l: vnculo simblico...) los otros, por
bloques de tres, los permisos para el usuario (rw), el grupo (r) y todos (r). Se explican los permisos en el
captuloLosdiscosyelsistemadearchivos.

- 6-

2:Uncontadordevnculos(captuloLosdiscosyelsistemadearchivos).

3:Elpropietariodelarchivo,quesuelesersucreador.

4:Elgrupoalcualperteneceelarchivo.

5:Eltamaodelarchivoenbytes.

6:Lafechadelaltimamodificacin(avecesconlahora),siguiendoelparmetro(t,c,u).

7:Elnombredelarchivo.

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

Los permisos van a veces seguidos de un punto "." o de un signo ms "+". El primero significa que el archivo
disponedeuncontextodeseguridadselinux,elsegundoqueelarchivodisponedepermisosextendidosACL.Estos
conceptosnosonabordadosenestelibroynotienenningnimpactoenlasoperacionespropuestasenellibro.

Puederesultarmuytillaposibilidaddelistarsusarchivosdetalmaneraquesevisualicenalfinaldelalistalos
modificados recientemente. As, en caso de haber un gran nmero de archivos, tendr delante estos ltimos. El
ordenporfechademodificacinsehacecon-t,yenelordencontrario,con-r.Adalelosdetallescon-l.

$ ls -lrt
-rw-r--r-- 1 seb users

66107 ene

-rw-r--r-- 1 seb users

13777 ene 10 17:58 parcial_3I_ppa_2007.odt

-rw-r--r-- 1 seb users


-rw-r--r-- 1 seb users

9 17:24 Parcial_1_1I_2008.pdf

64095 ene 10 17:58 parcial_3I_ppa_2007.pdf


100092 feb 22 22:21 curso_shell_unix.odt

ls -l -r -t es estrictamente idntico a ls -lrt, como ya se ha indicado en la sintaxis general de los


comandos.

Unrecursomnemotcnicopararecordarestasecuenciadeargumentosesutilizarlabajolaforma -rtl(elorden
delosargumentosnotieneimportanciaaqu)ypensarenlafamosaradioeuropeaRTL.

b.Gestionarlosarchivosylosdirectorios
Creararchivosvacos
Quizsnecesitecreararchivosvacosparahacerpruebas.Uncomandoprcticoparaelloestouch.Utilizadoconel
nombredeunarchivocomoargumentonicamente,creaunarchivoconuntamaocero.

$ touch fictest
$ ls -l fictest
-rw-r--r-- 1 seb users 0 feb 29 15:13 fictest

Lacreacindearchivosvacosnoeselprincipalusodetouch.Sivuelveaejecutarelmismocomandoenelarchivo,
observar que la fecha de modificacin ha cambiado. El manual de touch le informar de que as es posible
modificarcompletamentelafechaylahoradeunarchivo.Estopuedesertilparaforzarlascopiasdeseguridad
incrementalesdearchivos.

Creardirectorios
Elcomandomkdir(makedirectory)permitecrearunoovariosdirectorios,ounaestructuracompleta.Pordefecto,el
comando no crea una estructura. Si pasa como argumentos dir1/dir2 y dir1 no existe, el comando devuelve un
error.Enestecaso,utiliceelparmetro-p.

mkdir [-p] dir1 [dir2] ... [dirn]

$ mkdir Documentos
$ mkdir Documentos/Fotos

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

- 7-

$ mkdir -p Archivos/antiguallas
$ ls -R
.:
Archivos

Documentos

fictest

./Archivos:
antiguallas
./Archivos/antiguallas:
./Documentos:
Fotos

Suprimirdirectorios
El comando rmdir (remove directory) suprime uno o varios directorios. No puede suprimir una estructura. Si el
directorio que pretende eliminar contiene archivos o directorios, el comando devuelve un error. Por lo tanto, el
directorionodebecontenerniarchivosnidirectorios,yelloaunquelospropiossubdirectoriosestnvacos.

rmdir dir1 [dir2] ... [dirn]

No hay parmetro -r (recursividad) para el comando rmdir. Para suprimir una estructura tendr que utilizar el
comandorm.

$ rmdir Documentos/
rmdir: Documentos/: El directorio no est vaco.
$ rmdir Documentos/Fotos
$

Copiararchivos
Elcomandocp(copy)copiaunoovariosarchivosenotroarchivooenundirectorio.

cp fic1 [fic2 ... ficn] Destino

En el primer caso, se vuelve a copiar fic1 en Destino. Si Destino existe, se sobreescribe sin aviso segn el
parmetropasadoysegnlospermisos.Enelsegundocaso,secopiandenuevofic1,fic2yassucesivamenteen
el directorio Destino. Las rutas pueden ser absolutas o relativas. El comando admite, entre otras, las opciones
siguientes:

Parmetro

- 8-

Significado

-i

Pideconfirmacindecopiaparacadaarchivo.

-r

Recursivo:copiaundirectorioytodosucontenido.

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

-p

Sepreservanlospermisosyfechas.

-f

Forzarlacopia.

-a

Copia de archivo: el destino es en la medida de lo posible idntico al origen. La copia es


recursiva.

Presteatencinalfuncionamientodecpconlascopiasdedirectorios.Elfuncionamientoesdiferentesegnexistao
noeldirectoriodedestino.Enelprimercaso,dir2noexiste.Secopiaeldirectoriodir1endir2.Alfinaldir2esuna
copiaexactadedir1.

$ ls -d dir2
ls: no puede acceder a dir2: No existe el archivo o directorio
$ cp -r dir1 dir2
$ ls
dir1

dir2

Ahora que dir2 existe, ejecute de nuevo el comando cp. Esta vez, como dir2 existe, no ser sobreescrito, como
cabaesperar.Elcomandodeterminaque,alserdir2eldestino,sedebecopiardir1eneldestino:secopiadir1en
dir2.

$ cp -r dir1 dir2
$ ls dir2
dir1

Moveryvolveranombrarunarchivo
El comando mv (move) permite mover, volver a nombrar un archivo o las dos cosas a la vez. Funciona como el
comandocp.Losparmetros-fe-itienenelmismoefecto.Conlostrescomandosmvsucesivossiguientes:

sevuelveanombrartxt1comotxt1.old

semuevetxt2adir1

semuevetxt3adir1ysevuelveanombrarcomotxt3.old.

$ touch txt1 txt2 txt3


$ mv txt1 txt1.old
$ mv txt2 dir1/txt2
$ mv txt3 dir1/txt3.old

Observelaexistenciadelparmetro-u:sielarchivodedestinoesmsreciente,impidequesesobreescriba.

Suprimirunarchivoounaestructura
El comando rm (remove) suprime uno o varios archivos y, si es preciso, una estructura completa, segn las
opciones.Lasupresinesdefinitiva.

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

- 9-

rm [Opciones] fic1 [fic2...]

Las opciones son las habituales, pero dada la particularidad y la peligrosidad del comando, parece necesario
repasarlas.

Parmetro

-i

Significado
El comando requerir una confirmacin para cada uno de los archivos que desea suprimir.
Segn la versin de Unix, el mensaje cambia y la respuesta tambin: y, Y, O, o, N, n, a
vecestodas.

-r

El parmetro siguiente que se espera es un directorio. En este caso, la supresin es


recursiva:sesuprimentodoslosnivelesinferiores,tantolosdirectorioscomolosarchivos.

-f

Fuerzalasupresin.

Pororden,loscomandossiguientessuprimenunsimplearchivo,undirectorioyunaestructurademanera forzada:

$ rm fic1
$ rm -r dir1
$ rm -rf /home/public/depots

El uso combinado de los parmetros -r y -f, aunque muy til y prctico, es muy peligroso, en particular como
root. No se le pide ninguna confirmacin. Al menos que se utilicen herramientas de recuperacin de datos
especficos, caras y poco eficaces, se perdern sus datos de manera irremediable. Existe un riesgo adicional: si cree
que rm

-rf / no tocar sus archivos con el pretexto de no contar con permisos en la raz, comete un error! El

comandoesrecursivo,terminarllegandoasudirectoriopersonal

Veamos un truquito. Suponga que dispone de un archivo cuyo nombre comienza con un guin. Es posible
suprimirloconrm?

$ >-i # ver las redirecciones


$ rm -i
rm: missing operand
Pruebe: `rm --help para ms informacin.

Es imposible suprimir el archivo "i" de esta manera, ya querm lo interpreta como un parmetro, y no como un
argumento.Porlotantohayqueactuarconastucia.Existendossoluciones:

UtilizarlaopcinGNU

--quesignificaelfinaldelosparmetrosyelprincipiodelosargumentos.

Aadirunaruta,relativaocompleta,antesdelguin.

Estaltimasolucintienelaventajadeserunestndar.Lasdoslneassonequivalentes:

$ rm -- -i
$ rm ./-i

- 10 -

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

Losvnculossimblicos
Puedecrearvnculossimblicos,quesonunpococomoatajosaunarchivo.Unvnculoesunarchivoespecialque
contienecomoinformacinlarutahaciaotroarchivo.Esuntipodealias.Existendostiposdevnculos:elvnculo
duro(hardlink),queveremosmsadelante,duranteelestudiodelossistemasdearchivos,yelvnculosimblico
(softlink),quecorrespondealadefinicindada.
Esposiblecrearvnculossimblicoshaciacualquiertipodearchivo,seacualseayestdondeest.Elcomandode
creacindevnculossimblicosnocompruebalaexistenciadelarchivoalqueseapunta.Esposiblecrearvnculosa
archivosquenoexistenconelparmetro-f.

ln -s archivo vnculo

Si fuera necesario, el vnculo se comportar como el archivo al que se apunta, con los mismos permisos y las
mismaspropiedades:

sielarchivoalqueseapuntaesunprograma,ejecutarelvnculollevaaejecutarelprograma

sielarchivoalqueseapuntaesundirectorio,uncdsobreelvnculoentraenestedirectorio

sielarchivoalqueseapuntaesunarchivoespecial(perifrico),seveelvnculocomoperifrico

etc.

Slo en caso de que se elimine, el vnculo simblico se "separa" del archivo al que apunta. La supresin de un
vnculosimblicoimplicalasupresindeestevnculonicamente,ynodelarchivoalqueapunta.Lasupresindel
archivo al que se apunta no implica la supresin de los vnculos simblicos asociados. En este caso, el vnculo
apuntaalvaco.

$ touch fic1
$ ln -s fic1 vnculofic1
$ ls -l
-rw-r--r-- 1 seb users

0 mar

4 19:16 fic1

lrwxrwxrwx 1 seb users

4 mar

4 19:17 vnculofic1 -> fic1

$ ls -F
fic1

vnculofic1@

$ echo titi>fic1
$ cat vnculofic1
titi

Esteejemplomuestraqueunvnculosimblicoesenrealidadunarchivoespecialdetipo"l"queapuntahaciaotro
archivo.Observeenlalistadetalladalapresenciadeunaflechaqueindicasobrequarchivo apuntaelvnculo.Se
distingue el carcter @ al indicar que se trata de un vnculo simblico durante la utilizacin del parmetro -F. Si
dispone de un terminal de color, es posible que el vnculo simblico aparezca en azul claro (por convencin en
Linux).Siapareceenrojo,esqueapuntaalvaco.

Que un vnculo apunte al vaco no significa que no apunte a nada. Quiz est hecho a propsito: es posible crear

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

- 11 -

vnculos hacia puertos USB, o CDROM, entre otros, detrs de los cuales hay sistemas de archivos removibles. En
estecaso,elvnculosevuelveactivocuandoseinsertaelsoporteosemontaelsistemadearchivosremovido.

Seexplicarmsadelanteelcomandoechoyelsigno>.Elefectoaqueslaescrituraenelarchivofic1de"titi".El
comandocatvisualizaelcontenidodeunarchivo.Alrepresentarelvnculofic1,lasalidaeslaesperada.

Cuidado, los permisos indicados son los del archivo especial y no tienen otro significado: no significa que todo el
mundo tiene permisos en el archivo al que se apunta. Durante su utilizacin, son los permisos del archivo o de la
carpetaalosqueseapuntanlosqueprevalecen.

c.Comodines:carcterdesustitucin
Al utilizar los comandos con el sistema de archivos, puede resultar interesante filtrar la salida de nombres de
archivosconayudadedeterminadoscriterios,porejemploconelcomandols.Envezdevisualizartodalalistade
archivos,sepuedefiltrarlavisualizacindevarioscriteriosycaracteresespeciales.

Caracteres(s)

Funcin

Sustituyeunacadenadelongitudvariable,inclusovaca.

Sustituyecualquiercarcternico.

[...]

Unaserieounrangodecaracteres.

[a-b]

Uncarcterentreelrangoindicado(deaabincluida).

[!...]

Inversindelabsqueda.

[...]

dem.

Supongamoselcontenidosiguiente:

$ ls
afic

afic2

bfic

bfic2

cfic

cfic2

dfic

dfic2

afic1

afic3

bfic1

bfic3

cfic1

cfic3

dfic1

dfic3

Obtienetodoslosarchivosqueempiezancona:

$ ls a*
afic1

afic2

afic3

Todoslosarchivosdecuatrocaracteresqueempiezancona:

$ ls a???
afic

Todoslosarchivosdealmenostrescaracteresyqueempiezanconb:

$ ls b??*
bfic

- 12 -

bfic1

bfic2

bfic3

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

Todoslosarchivosqueterminancon1o2:

$ ls *[12]
afic1

afic2

bfic1

bfic2

cfic1

cfic2

dfic1

dfic2

Todos los archivos que empiezan con las letras de a a c, que tienen al menos un segundo carcter antes de la
terminacin1o2:

$ ls [a-c]?*[12]
afic1

afic2

bfic1

bfic2

cfic1

cfic2

Todoslosarchivosquenoterminanpor3:

$ ls *[!3]
afic

afic1

dfic1

afic2

bfic

bfic1

bfic2

cfic

cfic1

cfic2

dfic

dfic2

Interpretacinporelshell
El shell es el encargado de sustituir estos caracteres antes de pasar los parmetros a un comando. As, en el
momentodeun $ cp * Documents,cpnorecibeelcarcter *,sinolalistadetodoslosarchivosydirectorios
deldirectorioactivo.
Los comodines pueden utilizarse dentro de todos los argumentos que representan archivos o rutas. As, el
comandosiguientevaavolveracopiartodoslosarchivosREADMEdetodoslossubdirectoriosdeDocumentsenla
posicinactual:

$ cp Documents/*/README

d.Cierredecaracteres
Sedebencerraralgunoscaracteresespecialesporejemplo,encasodecaracterespococorrientesenunnombre
dearchivo.

La contrabarra \ permite cerrar un carcter nico. ls

paga\ *.xls va a listar todos los archivos que

contienenunespaciodespusdepaga.
l

Lascomillas"..."permitenlainterpretacindeloscaracteresespeciales,delasvariables,dentrodeunacadena.

Losapstrofes...cierrantodosloscaracteresespecialesenunacadenaounarchivo.

Editions ENI Tous droits rservs Copie personnelle de Noe Fernando Solis May

- 13 -

También podría gustarte