Enlaces duros y simbólicos

Tenemos la posibilidad de crear alias para archivos cualesquiera. Estos alias se conocen técnicamente como enlaces, y los hay de dos tipos:

• Enlaces duros (fisicos, fuertes): son simples sobrenombres para los archivos y se caracterizan por no ocupar espacio adicional en el disco (enlace y archivo enlazado tienen el mismo inodo). No se pueden crear enlaces duros a directorios.

• Enlaces simbólicos (lógicos, blandos): son apuntadores a archivos y contienen las rutas de los archivos hacia los que señalan. Desde luego, los enlaces simbólicos sí que consumen espacio en disco, aunque éste sea mínimo. Los enlaces simbólicos se crean con todos los permisos posibles, es decir rwxrwxrwx (777, en octal).

Los comandos empleados para crear enlaces son ln y link. Pasemos a describirlos.

Comando ln
Crea un enlace físico o lógico a un archivo dado.
• Sintaxis:
ln [ -s ] archivo [enlace-archivo]
• Opciones:
-s crea un enlace simbólico (enlace lógico) al archivo dado
• Ejemplos:
$ ln factura.agua fagua # fagua será alternativo para factura.agua
$ ln -s factura.agua elog # elog –> factura.agua
$ cat factura.agua # se visualiza factura.agua
$ cat fagua # se visualiza fagua que, realmente, es el mismo archivo que factura.agua
$ cat elog # se visualiza el archivo apuntado por elog

Si dos o más archivos tienen el mismo número de inodo (bloque de disco) entonces, en verdad, estamos hablando de un único archivo, al que podemos acceder con varios nombres.

Comando link
Crea un enlace físico a un archivo dado.
• Sintaxis:
link archivo enlace-archivo
• Ejemplos:
$ link factura.agua fagua
$ link fagua fa

Filtros head y tail.

Si sólo queremos visualizar la cabecera (las primeras líneas) de un archivo de texto, lo más cómodo es emplear el comando head. Salvo indicación en contrario, head saca las 10 primeras líneas del archivo suministrado. Ahí van un par de ejemplos:

$ head -2 notas # saca las dos primeras líneas del archivo notas
ramiro asi vespertino 9
ana dai nocturno 8

$ head -5 /etc/*.conf | less # para cada archivo de configuración que encaje en la plantilla dada,
# se sacan sus cinco primeras líneas

Si, por contra, lo que se pretende es visualizar el pie (las últimas líneas) de un archivo texto, entonces nuestro aliado natural es el comando tail:

$ tail -2 notas # saca las dos últimas líneas del archivo notas
anibal asi nocturno 6
lorena dai nocturno 9

$ tail -n +4 notas # saca desde la línea cuatro en adelante (las tres últimas líneas)
elisa asi vespertino 7
anibal asi nocturno 6
lorena dai nocturno 9

Filtros de paginación: more y less.

Cuando el archivo a visualizar es muy grande se impone la paginación. Esto es, la descomposición del documento original en páginas del tamaño de una pantalla. Después serán visualizadas una a una, al ritmo marcado por el usuario. En MS-DOS se utiliza el comando more. En Unix tenemos dos alternativas: more y less. Mi consejo es que utilices less porque:
a) Dentro del texto soporta movimientos hacia atrás. No así more.
b) Acepta el empleo de teclas de movimiento tales como los cursores (flechas), avance de página, retroceso de página, comienzo de documento y fin de documento. No así more.
c) Cuando se alcanza el final del último archivo a mostrar, less no termina automáticamente su ejecución. Algo que sí acontece con more.

Al igual que cat, los comandos more y less tienen versiones especiales para paginar archivos de texto
comprimidos. Hablamos de zmore y zless, respectivamente. Lo que sigue es la ficha técnica de los filtros de paginación:

• Sintaxis:
more [opciones] [ +/patrón ] [archivo]…
less [opciones] [archivo]…
zmore [archivo]…
zless [archivo]…

• Opciones:
-s elimina las líneas en blanco (menos una)
-? resumen de comandos interactivos (sólo válida para less)

• Ejemplos:
$ more /etc/group
$ less /etc/passwd /etc/group
$ cat /etc/passwd /etc/group | less # equivale a la orden anterior
$ ls /dev | less # less recibe y pagina el listado de dispositivos

Comando cat

Este comando concatena (concatenate) dos o más archivos y, posteriormente, muestra el resultado en la salida estándar (pantalla). Si no se le pasa ningún argumento, cat lee de la entrada estándar (teclado); esto es algo corriente para la mayoría de los comandos de Unix. Existe también la orden zcat que hace lo mismo pero con archivos de texto comprimidos con gzip (terminan en .gz).

• Sintaxis:
cat [opciones] [archivo]…
zcat [archivo]…

• Opciones:
-b numera sólo las líneas de salida que no están en blanco.
-n numera todas las líneas de salida.

SMR - SOM - PRIMERA EVALUACIÓN - 2014/2015

SMR - SOM - PRIMERA EVALUACIÓN - 2013/2014

SOM - U8 - SOLUCIONES

Soluciones pendientes U8

Fundamentos de las computadoras cuánticas

SOM - LINUX - ORIGINAL - 2013

Modelo de examen

Cognitive Computing: 5 Future Technology Innovations from IBM