TEMA 12 INTRODUCCION A
LINUX
¿ Qué es LiNUX ?
Linux es un clon de Unix gratuito, programado inicialmente por
Linus Torvalds con la asistencia técnica de un grupo de
programadores a través de la Internet.
Cumple todas las características de los Sistemas Operativos
UNIX actuales, y con todos los modernos avances en los
Sistemas Operativos, con capacidad de multitarea real,
memoria virtual, librerías compartidas, consumición escasa de
recursos, manejo estupendo de la memoria, trabajo con
TCP/IP...
Linux se ejecuta principalmente en máquinas basadas en
PC's. Actualmente
está soportado prácticamente en el 100% de los procesadores
del mercado.
distribuciones
•
•
•
•
•
•
•
•
Slackware
Debian GNU/Linux
Knoppix
Fedora Core
SuSe
Mandriva
Gentoo Linux
Ubuntu
Slackware
•
•
•
•
•
•
•
•
•
•
•
http://www.slackware.com
Una de las primeras distribuciones que surge
Dise˜nada por Patrick Volkerding a partir de SLS Linux
Gran aceptaci´on al principio hasta llegar a ser la distribuci´on mas
popular del mercado. Actualmente ha perdido terreno a favor de
distribuciones mas modernas, siendo relegada a aplicaciones
especializadas
Sistema de instalaci´on de paquetes sin control de versiones ni
dependencias
Necesita un mayor conocimiento de Linux que la mayor´ıa de las
otras distribuciones populares
Debian GNU/Linux
• http://www.debian.org
• Distribución bastante popular que no está desarrollada por ninguna
compañía comercial sino que es fruto del trabajo de diversos
voluntarios en toda la comunidad de Internet
• Creado por Debian Project el año 1993
• Distribución completamente gratis, sin restricción de licencias en
donde todo el software es GNU/GPL y no incluye software
comercial
• Sistema de gestión e instalación de paquetes DEB
• No tiene marcado ningún entorno grafico en especial ya sea
GNOME, KDE. . .
• Tres ramas
– Stable
– Testing
– Unstable
Knoppix
•
•
•
•
•
http://www.knoppix.org
Distribución live basada en Debian y utilizando KDE
Variante GNOME: Gnoppix
Desarrollada por Klaus Knopper
Orientada al usuario domestico, puede servir para
– Enseñar y demostrar de manera sencilla el sistema Linux
– Probar rápidamente la compatibilidad de hardware bajo Linux
antes de comprarlo o utilizarlo
– Utilizar las herramientas incluidas para restaurar un sistema
corrupto
Fedora Core
• http://fedora.redhat.com
• Creada por Red Hat en su iniciativa de abrir su
distribución a las contribuciones de la
comunidad de usuarios
• Resultado de la fusión de Red Hat Linux con el
proyecto Fedora Linux
– Creación de Red Hat Enterprise Linux
– Orientada a la participación de la comunidad de
usuarios
• Centrada, en principio, en el entorno gr´afico
GNOME
SuSe
• http://www.suse.de
• Distribución de una compañía alemana, posteriormente
adquirida por Novell
• Combina el sistema de paquetes de Red Hat Linux
(RPM) con una organización derivada de Slackware
• Es una de las distribuciones mas sencillas de instalar y
administrar, ya que cuenta con varios asistentes gráficos
para completar gran cantidad de tareas
• Centrada, en principio, en el entorno grafico KDE
Mandriva
• http://www.mandrivalinux.com
• Aparecida en julio de 1998 y propiedad de
Mandrivasoft
• Originalmente basada en Red Hat Linux
• Es otra de las distribuciones mas sencillas de
instalar y administrar, estando orientada a
usuarios con pocos conocimientos
• Centrada, en principio, en el entorno gráfico
KDE
Gentoo Linux
• http://www.gentoo.org
• Orientada a usuarios con cierta
experiencia con Linux
• La piedra angular de Gentoo es Portage,
un sistema de distribución de software
basado en ports de BSD
Ubuntu
• http://www.ubuntu.com
• Patrocinada por Canonical Ltd., una
empresa privada fundada y financiada por
Mark Shuttleworth
• Basada en Debian GNU/Linux
• Gnome
• Tratamiento “exótico” del usuario root
(sudo)
Mostrando Ficheros
El comando que se utiliza en Unix, y por lo tanto en
Linux para mostrar los ficheros es el comando: "ls",
también se utiliza "dir", pero no es mas que una copia
de "ls", con otro nombre
Una vez iniciada la sesión, escribe:
$ ls
Verás los ficheros que estén en ese directorio. Esos ficheros pueden
ser:
ejecutables (binarios), de texto, directorios, scripts (conjunto de
comandos dentro de un fichero de texto).
Ejercicio (cuaderno de prácticas)
• Que comando ms-dos es equivalente al
comando ls en unix
Permisos de los ficheros
Permisos para el
dueño
Permisos para el
resto
drwx------ 3 root root
Tipo de archivo
Permisos para el
grupo
4096 Desktop/
Permisos de los ficheros
Escritura
drwx------ 3 root root
Lectura
Ejecución
4096 Desktop/
Permisos de los ficheros
Dueño
drwx------ 3 root root
Grupo
4096 Desktop/
Ejercicio (cuaderno de prácticas)
• Explica los permisos de los siguientes
ficheros
• -rw-rw-rwx uno.dat
• drwx-wxrwx dos
• ---------x tres.dat
• -rwx------ cuatro.dat
Mostrando los ficheros en color
Para ver los ficheros con colores usa:
$ ls - -color –s
Además, el parámetro "s",mostrará el tamaño del fichero
("size" en inglés)
alias
Teclea lo siguiente:
$ alias ls='ls - - color -s'
ahora, escribe ls
$ ls
¡¡SORPRESA!!
Creando Directorios
Un directorio, es un archivo el cual tiene la propiedad de
poder almacenar, ficheros y directorios.
$ mkdir directorio
Esto crearía un subdirectorio en el directorio actual
$ mkdir /home/daniel/directorio
Esto crearía un subdirectorio en el directorio /home/daniel
Ejercicio (cuaderno de prácticas)
• Crea la siguiente estructura de directorios
/
home
usuario
uno
unouno
dos
unodos
tres
Borrando Directorios (CUIDADO!)
Para borrar directorios en Linux, debes usar el
comando:
rmdir NombreDirectorio
NOTA:
rm –rf Nombredirectorio
Funcionaría igual que deltree en MS-DOS
Ejercicio (cuaderno de prácticas)
• Borra la estructura de directorios con
fondo color canela
/
home
usuario
uno
unouno
dos
unodos
tres
Renombrando Directorios
El comando que se utiliza para RENOMBRAR, es el
mismo que se utiliza para MOVER,que es: 'mv'
Para cambiar el nombre del directorio carlos a javier,
habrá que escribir:
mv carlos javier
El mismo comando se usa para renombrar tanto
FICHEROS como DIRECTORIOS.
Ejercicio (cuaderno de prácticas)
• Cambia el nombre del directorio unodos y
ponle unod, y al directorio unouno le
pones unou
/
home
usuario
uno
unouno
dos
unodos
tres
Moviendo ficheros/directorios
Para mover ficheros, o directorios usa el comando mv:
Por ejemplo queremos MOVER el fichero: 'carta_a_pepe.txt' a
/home/javier/cartas_a_amigos/, pues escribimos:
mv carta_a_pepe.txt /home/javier/cartas_a_amigos/
PERO, TAMBIÉN CON EL MISMO COMANDO SE PUEDE MOVER
UN DIRECTORIO, Por ejemplo:
mv cartas_a_amigos /
(mueve "cartas_a_amigos" a la raíz)
Ejercicio (cuaderno de prácticas)
• Realiza la siguiente transformación:
/
home
usuario
uno
unouno
dos
unodos
tres
/
home
usuario
uno
dos
unouno
unodos
tres
Accediendo a directorios, y ¿En
que directorio estoy?
Para acceder a un directorio:
cd NombreDirectorio
ruta actual:
pwd
cd
Sin parámetros regresara a "casa“. Por ejemplo la casa del usuario javier
será /home/javier.
(Este comando, hace lo mismo que si escribes: "cd ~", o "cd $HOME“)
Si quisiera ir al directorio /home/javier/programación/C, y estuviera como
el usuario "javier", escribiría (independientemente de yo donde estuviera)
cd ~/programación/C
Accediendo a directorios, y ¿En
que directorio estoy?
Ojo con los espacios en blanco
cd /
Independientemente del directorio donde te
encuentres ira directamente a la raíz
cd ..
Accederá a la carpeta/directorio inmediatamente
anterior
Árbol de directorios de
UNIX/LINUX
/
Root directory, starting point of the directory tree
/home
Personal directories of users
/dev
Device files that represent hardware components
/etc
Important files for system configuration
/etc/init.d
Boot scripts
/usr/bin
Generally accessible programs
/bin
Programs needed early in the boot process
/usr/sbin
Programs reserved for the system administrator
/sbin
/usr/share/doc
Various documentation files
/usr/share/man
System manual pages (man pages)
/usr/src
Source code of system software
/usr/src/linux
Kernel source code
/tmp, /var/tmp
Temporary files
/usr
All application programs
/var
Configuration files (such as those linked from /usr)
/var/log
System log files
/lib
Shared libraries (for dynamically linked programs)
/proc
Process file system
Crear con Vi. comandos
• :q
Salir, sólo cuando no has
realizado ningún cambio.
• :q!
Salir sin guardar cambios.
• :wq
Guardar cambios y salir.
• :w
Guardar cambios y continuar
edición.
•u
Deshace el último cambio en el
texto.
• Mayus+a
Añade texto al final de la línea
en la que está situado el cursor.
• Mayus+i
Inserta texto al principio de la
línea en la que está situado el
cursor.
•x
Elimina un carácter.
• dd
Elimina una linea
• /cadena
Buscar cadena hacia abajo del
texto.
• ?cadena
Buscar cadena hacia arriba del
texto.
EJERCICIO (cuaderno de
practicas)
• Crea la siguiente estructura de ficheros y directorios en
tu directorio home y recoge en tu cuaderno de practicas
los pasos necesarios para realizarla.
activ1
datos1
Fichero.txt
Introduce aquí tu cantante favorito
datos2
Datos.doc
Introduce aquí tu
nombre y apellidos
vacio
EJERCICIO (cuaderno de
practicas)
• Ahora el directorio home debe de contener lo siguiente.
activ1
datos1
Fichero.txt
datos2
Datos.doc
estavacio
EJERCICIO (cuaderno de
practicas)
• Ahora el directorio home debe de contener lo siguiente.
activ1
datos1
datos2
estavacio
Datos.doc
EJERCICIO (cuaderno de
practicas)
• Ahora el directorio home debe de contener lo siguiente.
activ1
datos2
estavacio
Datos.doc
EJERCICIO (cuaderno de
practicas)
• Borra todo el directorio activ1 de un golpe y apunta todo
lo que has hecho en tu cuaderno de prácticas.
Ejercicio (cuaderno de prácticas)
•
•
•
•
•
•
•
Dime que son los siguientes directorios
/
/proc
/home
/opt
/etc
/lib
Limpiando la pantalla
clear
Limpia la pantalla
Limpiar la pantalla no requiere parámetros algunos,
por lo que es bastante fácil de recordar, clear
significa en inglés "limpiar", mientras que cls, es el
acrónimo inglés de "Clear Screen", "Limpiar la
pantalla"
EJERCICIO (cuaderno de
prácticas)
• (intenta hacer un alias para cls).
• cls limpiará la pantalla, al igual que el
comando clear.
Montando Unidades
Un sistema de ficheros, no es más que una partición en tu
disco duro (que puede ser única) la cual tiene un formato,
y el formato es la forma de colocar los archivos.
Cuando se carga el sistema, automáticamente también
cargan su sistema de ficheros, y trabajan con su sistema
de ficheros, única y exclusivamente
Linux, carga automáticamente su Sistema de ficheros
Al cargar, se le denomina "montar", en ese momento, al
igual que han hecho otros sistemas operativos puedes
empezar a trabajar
con tu sistema de ficheros
Pero Linux, al contrario que otros sistemas puede además
acceder a Sistemas de Archivos que no son suyos, es decir,
puedes desde Linux, acceder a tu partición de MSDOS,
Windows, etc...
Es más, puedes acceder a tu disquete o disquetes que te
hayan pasado que estén formateados en otros sistemas, por
ejemplo de un Mac.
Para montar tu disquete haz:
(En este caso, deberás asegurarte de que existe el
directorio (/mnt o /media)/floppy, si no existiera créalo
usando: mkdir (/mnt o /media)/floppy)
1. introduce el disquete en la disquetera
2. escribe: mount -t vfat /dev/fd0 (/mnt o /media)/floppy
3. escribe cd (/mnt o /media)/floppy
Accediendo a Unidades
Para acceder a las unidades (una vez montadas),
deberás acceder escribiendo:
cd (/mnt o /media)/[directorio que haga referencia a
la unidad montada y existente en el directorio mnt]
Ejemplo:
cd (/mnt o /media)/floppy
Accederá a tu disquete.
Desmontar Unidades
Desmontar las unidades es FUNDAMENTAL, si no se
desmontan las unidades y no se cierra correctamente el
sistema se corre el riesgo de perder datos.
Para desmontar las unidades bastará con escribir:
umount /dev/[dispositivo montado que se quiera
desmontar]
Ejemplos:
umount /dev/fd0
Desmontará el disquete.
umount /dev/hda1
Desmontará la partición 1 del disco duro A
umount -a
Desmontará TODAS las unidades montadas.
Midnight Commader:
El Midnight Commader de Linux, es un entorno amigable
en modo texto que te ayudará a hacer todas, todas, las
gestiones de ficheros que normalmente usas, para
ejecutar el Midnight Commander, bastará con escribir:
mc
Y ya estarás en un entorno amigable para tu gestión de
ficheros.
ejercicio
• Con el midnight comander crea la
siguiente estructura en un disquete o en el
directorio /home
activ1
datos1
Fichero.txt
datos2
Datos.doc
estavacio
equivalencias
Las formas, MAYÚSCULAS y
minúsculas son diferentes en Linux
A partir de ahora, deberás saber que las mayúsculas y
minúsculas son distintas en Linux, ahora, deberás saber
muy bien como escribes el nombre de un fichero.
Para Linux, maria.txt es distinto de MARIA.TXT
Pidiendo ayuda, uso
Para pedir ayuda de un comando podrás hacer:
man comando
Por ejemplo:
man cp
La combinación de teclas, desde el
Terminal.
La combinación de teclas más usada es la de
[Ctrl]+[tecla de función] para abrir un nuevo terminal (una
nueva consola) en el que poder trabajar.
Lo más normal es [Ctrl]+[F1] hasta [Ctrl]+[F6], en modo
texto.
Los procesos escondidos, (Demonios)
Los demonios (del inglés daemons), son, en Linux, programas
que se encargan de gestionar y administrar el sistema. Son
varios y permiten la automatización de Linux hasta límites
insospechados.
Estos programas se llaman así porque se ejecutan (o corren)
en segundo plano, y una vez configurados no requieren solicitar
permisos al usuario para hacer tal y cual operación, con el
incremento de velocidad que esto supone.
Algunos de los más conocidos son el crond, el atd y el pppd.
Curiosamente, los archivos terminados en d suelen ser
demonios. Su uso suele estar bastante bien documentado.
AT
at se puede usar para ejecutar, solamente una
vez, un trabajo a una determinada hora.
Podemos definir los comandos a ejecutar o bien
por la entrada estandar o en un fichero. El
formato en uno u otro caso seria:
at hora:minuto o at -f fichero hora:minuto.
Un ejemplo nos aclarara las cosas. (^D significa
que pulsamos las teclas Ctrl + D). Estos dos
ejemplos hacen lo mismo (arrancan de nuevo la
maquina) aunque se definen de manera distinta:
[[email protected]]# at 12.12.2006 21:30
>reboot
^D
[[email protected]]# cat /tmp/at_reboot
reboot
[[email protected]]# at -f /tmp/at_reboot 12.12.2006
21:30
Ejercicio (cuaderno de prácticas)
• Deja programado el sistema para que
rearranque (reboot) dentro de 2 minutos.
• Anota detalladamente el proceso en tu
cuaderno de prácticas.
¿Qué procesos se están
ejecutando?
Para ver que procesos se están ejecutando
deberás usar: ps, igualmente que desde Xwindow
pulsas [Ctrl]+[Esc].
Si quieres que esa información sea constante
debes utilizar el comando top.
Añadiendo ps a, verás TODOS los procesos que
en ese momento se están ejecutando,
exceptuando los demonios.
¡Matando Procesos!
Esta posibilidad se usa cuando por algún motivo
un proceso se queda "colgado" en un terminal
(¡ojo! se puede quedar "colgado" un terminal,
pero PARA NADA el resto del sistema Linux).
Para ello haremos, como superusuario:
$ ps a
y veremos qué proceso es. Tras esto usaremos el
comando kill, que tiene esta sintaxis:
kill [-s señal] pid ...
kill –l [señal]
Ejemplo
kill 558
Matará el proceso 'gnuchessx' que está ejecutando
el usuario 'javier‘
kill –9 116
Mata a toda costa el proceso 116.
RECUERDA:
El SuperAdministrador 'root', podrá matar
todos los procesos que estén ejecutando
otros usuarios, así también, los usuarios
podrán matar sus propios procesos, y ningún
usuario podrá matar otro proceso distinto del
suyo.
Ejercicio (cuaderno de prácticas)
• Abre dos consolas. En una hazte
superusuario y realiza un kill -9 proceso a
la segunda consola que abriste como un
usuario común
¿Quién soy y dónde estoy?
• El comando whoami nos dirá quiénes somos en
la terminal en la que estemos, o sea, nuestro
nombre de usuario.
• El comando who nos dice quienes están
conectados al sistema en un momento
determinado.
• El comando w es una variación del anterior que te
ofrece otro tipo de información, como puede ser el
comando que están ejecutando los usuarios.
Del mismo modo, cuando queramos saber qué
recorrido hemos hecho por el disco duro (el path de
nuestro directorio, por ejemplo), escribiremos pwd.
Los ficheros tienen propietarios
En todo sistema Linux los archivos pertenecen a
quien los crea, que es entonces el único que puede
borrarlos, ejecutarlos, etc. Esto es así porque Unix
estaba pensado para ser manejado por muchos
usuarios a la vez, y de esta forma nadie podía
acceder a tus archivos sin tu consentimiento previo.
-rw - - - x r - - carlos users carta.txt
Los ficheros tienen propietarios
En todo sistema Linux los archivos pertenecen a
quien los crea, que es entonces el único que puede
borrarlos, ejecutarlos, etc. Esto es así porque Unix
estaba pensado para ser manejado por muchos
usuarios a la vez, y de esta forma nadie podía
acceder a tus archivos sin tu consentimiento previo.
permisos
-rw - - r - - carlos users carta.txt
Los ficheros tienen propietarios
En todo sistema Linux los archivos pertenecen a
quien los crea, que es entonces el único que puede
borrarlos, ejecutarlos, etc. Esto es así porque Unix
estaba pensado para ser manejado por muchos
usuarios a la vez, y de esta forma nadie podía
acceder a tus archivos sin tu consentimiento previo.
permisos
usuario
-rw - - r - - carlos users carta.txt
Los ficheros tienen propietarios
En todo sistema Linux los archivos pertenecen a
quien los crea, que es entonces el único que puede
borrarlos, ejecutarlos, etc. Esto es así porque Unix
estaba pensado para ser manejado por muchos
usuarios a la vez, y de esta forma nadie podía
acceder a tus archivos sin tu consentimiento previo.
permisos
usuario
grupo
-rw - - r - - carlos users carta.txt
Los ficheros tienen propietarios
En todo sistema Linux los archivos pertenecen a
quien los crea, que es entonces el único que puede
borrarlos, ejecutarlos, etc. Esto es así porque Unix
estaba pensado para ser manejado por muchos
usuarios a la vez, y de esta forma nadie podía
acceder a tus archivos sin tu consentimiento previo.
permisos
usuario
grupo
-rw - - r - - carlos users carta.txt
Nombre del
fichero
Cambiamos el propietario de un
fichero
Hay 3 utilidades para cambiar los atributos a un fichero:
•chown Cambia de dueño al fichero.
•chgrp Cambia de grupo a un fichero.
•chmod Cambia los atributos a un fichero.
Al crear un fichero, por defecto, será del dueño que lo crea,
osea, si estoy como juan carlos, y escribo:
vi carta.txt
la carta creada será de juan carlos, con los atributos propios
del mismo, pero si estoy como root, y creo la misma carta, la
carta ahora será de root.
Normas básicas
1. Sólo el dueño de un fichero, podrá cambiarles sus
propiedades, e incluso de dueño.
2. Ningún usuario podrá cambiarle las propiedades a
ningún fichero, ni su dueño
3. root, podrá cambiarle las propiedades a TODOS los
ficheros, e incluso cambiarles de dueño.
4. Lo de arriba mencionado, no servirá de nada, si al grupo
al que pertenece también tiene la propiedad de escribir
sobre el fichero, por lo cual, podrá cualquier usuario
cambiar el dueño, grupo o propiedades a un fichero.
Para cambiar de dueño a un fichero, deberás usar el
comando chown, o bien utilizar mc, que es más fácil,
siempre y cuando tenga los atributos que permitan ser
cambiados.
chown -c javier EsteFichero
Ahora "EsteFichero" pertenecerá a javier.
Si quieres cambiar de grupo al fichero "EsteFichero"
chgrp –c users EsteFichero
Y si desde el princio hubieras querido cambiar de usuario y
de grupo haber escrito:
chown –c javier.users EsteFichero
Ejemplos de modificación de permisos
de un fichero, y su significado.
1. chmod u+rwx carta.txt
Donde "u", se refiere al usuario el cual creó el archivo.
2. chmod g+rwx carta.txt
Donde "g", se refiere al grupo del usuario
3. chmod o+rwx carta.txt
Donde "o", se refiere al resto de usuarios.
usar "a", modificará todos los atributos
4. chmod a+x miscript
Le pondrá todos los atributos de ejecución al script "miscript", para
lo ejecuten, el dueño, el grupo y otros.
También puede utilizarse chmod con números OCTALES
Ejercicio (cuaderno de prácticas)
•
•
•
•
•
Que hacen los siguientes comandos:
1. chmod u+x carta.txt
2. chmod g+rw carta.txt
3. chmod o+rx carta.txt
4. chmod a+wx miscript.sh
Cambiando los permisos
(absoluto)
• Para determinar los permisos de un archivo o
directorio se utiliza el comando chmod, este
comando puede utilizar dos métodos para
establecerlos pero utilizaremos el más sencillo
llamado Absoluto. Este asigna un valor a cada
permiso:
4 r-lectura
2 w-escritura
1 x-ejecución
Dependiendo los permisos que se quieran asignar se sumaran
los valores y se utilizará un valor del 0 al 7 para cada modo
(propietario, grupo, otros).
[email protected] $ ls -l README
-rw-r- -r- - 1 usuario users 587 may 23 17:17 README
Permisos Actuales
Cambiar a:
USUARIO
GRUPO
OTROS
rwx
rwx
rwx
4+2+0
4+0+0
4+0+0
6
4
4
rwx
rwx
rwx
4+2+0
4+2+0
4+0+0
6
6
4
[email protected] $ chmod 664 README
[email protected] $ ls -l README
-rw-rw-r-- 1 luis usuario
587 may 23 17:17 README
Ahora demos permisos de lectura y ejecución a Otros en el
Archivo Xvnc
[email protected] $ ls -l Xvnc
-rwxr-x- - -
1 luis
Permisos Actuales
Cambiar a:
usuario 1508208 jun 18 14:07 Xvnc*
rwx
rwx
rwx
4+2+1
4+0+1
0+0+0
7
5
0
rwx
rwx
rwx
4+2+1
4+0+1
4+0+1
7
5
5
[email protected] $ chmod 755 Xvnc
[email protected] $ ls -l Xvnc
-rwxr-xr-x 1 luis usuario 1508208 jun 18 14:07 Xvnc*
Por último aquí esta una tabla que permite saber rápidamente
que valor asignar como permiso a cualquiera de los tres
modos.
Valor
Permisos
0
1
2
3
4
5
6
7
----x
-w-wx
r-r-x
rwrwx
Ejercicio (cuaderno de practicas)
• Ejecuta el comando apropiado para cambiar los
permisos al fichero datos.txt. Utiliza el modo absoluto.
usuario
grupo
otros
1
rw
x
w
2
x
rx
r
3
rwx
x
rw
4
rwx
w
r-x
5
r-x
w
x
6
rwx
x
r-x
Ejercicio (cuaderno de practicas)
propietario
grupo
fichero
usuario
grupo
otros
root
sambashare
F1.dat
rw
x
w
syslog
root
F2.dat
w
rx
r
nobody
root
F3.dat
rwx
x
rw
avahi
admin
F4.dat
rwx
w
r-x
usbmux
root
F5.dat
r-x
w
x
avahi
root
F6.dat
rwx
w
r-x
root
crontab
F7.dat
r-x
rwx
w
avahi
crontab
F8.dat
x
r-x
w
hplip
avahi
F9.dat
r-x
rwx
w
Ejercicios (cuaderno de practicas)
• 1. Listar todos los archivos del directorio bin.
• 2. Listar todos los archivos del directorio tmp.
• 3. Listar todos los archivos del directorio etc que
empiecen por t.
• 4. Listar todos los archivos del directorio dev
que empiecen por tty.
• 5. Listar todos los archivos del directorio dev
que empiecen por tty y acaben en 1.
• 6. Listar todos los archivos del directorio dev
que empiecen por t y acaben en C1.
Sigue…
• 7. Listar todos los archivos, incluidos los ocultos, del
directorio raíz.
• 8. Listar todos los archivos del directorio etc que
empiecen por t.
• 9. Listar todos los archivos del directorio usr y sus
subdirectorios.
• 10. Cambiarse al directorio tmp.
• 11. Verificar que el directorio actual ha cambiado.
• 12. Mostrar el día y la hora actual.
• 13. Con un solo comando posicionarse en el directorio
$HOME.
• 14. Verificar que se está en él.
Sigue…
• 15. Listar todos los ficheros del directorio HOME.
• 16. Borrar todos los archivos y directorios visibles de
vuestro directorio PRUEBA.
• 17. Crear los directorios dir1, dir2 y dir3 en el directorio
PRUEBA. Dentro de dir1 crear el directorio dir11. Dentro
del directorio dir3 crear el directorio dir31. Dentro del
directorio dir31, crear los directorios dir311 y dir312.
• 18. Copiar el archivo /etc/motd a un archivo llamado
mensaje de vuestro directorio PRUEBA.
• 19. Copiar mensaje en dir1, dir2 y dir3.
• 20. Comprobar el ejercicio anterior mediante un solo
comando.
Sigue…
• 21. Copiar los archivos del directorio rc.d que se
encuentra en /etc al directorio dir31.
• 22. Copiar en el directorio dir311 los archivos de /bin
que tengan una a como primera letra
• 23. Copiar el directorio de otro usuario y sus
subdirectorios debajo de dir11 (incluido el propio
directorio).
• 24. Mover el directorio dir31 y sus subdirectorios debajo
de dir2.
• 25. Mostrar por pantalla los archivos del directorio
HOME y sus subdirectorios.
Sigue…
• 26. Ocultar el archivo mensaje del directorio
dir3.
• 27. Borrar los archivos y directorios de dir1,
incluido el propio directorio.
• 28. Copiar al directorio dir312 los ficheros del
directorio /dev que empiecen por t y acaben en
b.
• 29. Borrar los archivos de dir312 que no acaben
en b.
• 30. Mover el directorio dir312 debajo de dir3.
Definicion de script
• El guión o archivo de procesamiento por
lotes (en inglés "script") es un conjunto de
instrucciones, sentencias de control, variables y
demás elementos de programación
generalmente almacenadas en un archivo de
texto (pueden considerarse como un archivo de
instrucciones o como un programa).
• Normalmente en Unix por regla general los
script tienen el siguiente nombre : script.sh
(extensión sh). No es obligatorio.
Convertir Script a ejecutable
Para convertir un script a ejecutable deberás hacer:
1. Crear el fichero
2. Crear el código con una salida determinada
3. Guardar el fichero, como por ejemplo "MiScript"
4. Ponerle los atributos de ejecutable escribiendo:
chmod a+x MiScript
Ejercicio (cuaderno de prácticas)
• Crea el siguiente fichero scr1.sh y escribe
en el la siguiente cadena:
• echo Este es mi primer script
• Guardalo y hazlo ejecutable mediante el
procedimiento que ya hemos visto.
Ver un archivo.
Para ver el contenido de un archivo podrás escribir:
• cat
• more
• less
• cat
cat <fichero>, y verás el contenido de un fichero, por ejemplo
cat carta.txt
verás el contenido de la carta, pero si la carta es demasiado
grande deberás escribir un parámetro para que puedas leer
detenidamente el contenido, es "| more", entonces, para
cartas largas escribe:
cat carta.txt |more
• more
more <fichero>, realiza la misma opción de
cat carta.txt |more
pero evidentemente tendrás que escribir menos, bastará
escribir el comando de la siguiente manera: more carta.txt
• less
Ya que con cat, perderás el contenido del fichero por la
parte superior de la pantalla, con less, podrás navegar por
el fichero, y con los cursores podrás ir para arriba y para
abajo dentro del mismo fichero: less carta.txt
Esto se parece un poco a lo que estuvimos viendo en
MS-DOS no ?
Ejercicio (cuaderno de practicas)
•
•
•
•
•
•
Que hacen los siguientes comandos
1 cat fichero.txt
2 tac fichero.txt ¿curioso no?
3 more fichero.txt
4 cat fichero.txt | more
5 less fichero.txt
Ver un archivo comprimido
Los archivos comprimidos suelen tener la extensión
gz.
Para ver un archivo comprimido, y sin quererlo
descomprimir podrás utilizar los comandos zcat,
zmore y zless, que realizan las mismas cosas que
cat, more y less respectivamente, pero en ficheros
NO comprimidos.
Copiar un Archivo
Para copiar un archivo deberás utilizar el comando cp, este
comando es muy potente, y podrás realizar un montón de
operaciones con el, su funcionamiento es el siguiente:
cp <origen> <destino>
Así, por ejemplo, si queremos copiar la carta "carta.txt" como
"MiCarta.txt", podrás escribir:
cp carta.txt MiCarta.txt
También podrás indicar la ruta de origen y destino
(directorios en lo que está situado), por ejemplo,
supongamos que escribimos pwd, y nos dicen que estamos
en:
/home/javier
Queremos copiar el archivo FAQ que hay en
/usr/doc/HOWTO/ a mi directorio MisDocumentos, que se
encuentra en /home/javier/MisDocumentos, podremos
escribir:
cp /usr/doc/HOWTO/FAQ MisDocumentos/
o
cp /usr/doc/HOWTO/FAQ /home/javier/MisDocumentos/
Mover un Archivo
Mover un archivo, significa, quitarlo de su posición actual
para fijarlo donde se le indique, esta operación, se hace en
Linux con mv de la siguiente manera:
mv fichero_o_directorio_a_mover ruta_donde_moverlo
Supongamos que nos encontramos en: /home/javier:
Por ejemplo para mover el fichero "mbox" que está en mi
directorio al directorio MisDocumentos/javier/ que está en
/usr, escribiré:
mv mbox /usr/MisDocumentos/javier
Ahora, el fichero mbox, se encuentra en el directorio javier,
que está en MisDocumentos que
está en usr, es decir: "/usr/MisDocumentos/javier"
Renombrar un Archivo
Para renombrar un archivo utilizarás el comando mv de la
siguiente manera:
mv NombreOriginal NuevoNombre
Por ejemplo, renombrar el fichero mbox, a EmailSaved
mv mbox EmailSaved
Borrar un Archivo
Para borrar un archivo, es tan fácil como utilizar el comando
rm de la siguiente manera:
rm fichero_a_borrar
Ejemplo:
rm mbox
Borrar un DIRECTORIO
Para borrar un directorio deberás utilizar el comando rmdir, de
la siguiente manera:
Esto es un ejemplo:
Crea un directorio que se llame ParaBorrar, con el comando
mkdir:
mkdir ParaBorrar
Vemos los ficheros que tenemos con el comando ls
ls
y lo borramos con rmdir
rmdir ParaBorrar
ls
Ya sabes, que también podrás crear un directorio o borrarlo,
sin necesidad de acceder a el, simplemente indicando su ruta:
mkdir /usr/doc/HOWTO/EstoEsMio
rmdir /usr/doc/HOWTO/EstoEsMio
Imprimir un Archivo
Para verter el contenido de un archivo sobre papel,
deberás utilizar el comando lpr, de la siguiente
manera:
lpr Fichero_a_imprimir
Comprimir un archivo. gzip
Para comprimir un archivo con gzip, deberás utilizar:
gzip ratio_compresión fichero_a_comprimir
Ejemplo:
gzip CartaExtensa.txt
Creará un fichero llamado CartaExtensa.txt.gz que
contendrá el contenido de la carta CartaExtensa, pero
comprimido.
Si ahora escribes:
gzip - 9 CartaExtensa.txt
Creará un fichero, con un ratio de compresión aún
mayor, con la misma información más comprimida.
Ejercicio (cuaderno de prácticas)
• Crea con vi un fichero amigos.txt con al
menos 5 nombres y teléfonos de tus
amigos (ficticios).
• Comprime el fichero
• Comprime el fichero con ratio de
compresión máximo (-9)
• Apunta en el cuaderno todos los pasos
que has dado.
Comprimir un directorio
Generalmente se utiliza esta estructura:
tar cvf[z] FicheroComprimido RutaAComprimir
• z Usará
gzip (recomendado)
(Bastará con ver el ejemplo)
tar cvfz TodoUsuario.tgz /home
La extensión al fichero comprimido, deberás indicárselo tú, y
tú pondrás la extensión .tgz, para indicar que se utilizó la
opción gzip.
También tú y sólo tú, deberás indicar como .tgz, o .tar.gz,
(dentro de estas dos) osea el fichero podrá ser:
TodoUsuario.tgz o TodoUsuario.tar.gz
Ejercicio (cuaderno de prácticas)
• Crea en tu directorio personal un directorio
compri con un fichero amigos.txt en él. El
fichero tendrá al menos 5 nombres y
teléfonos de tus amigos (ficticios).
• Comprime el directorio.
Ejercicio (cuaderno de practicas)
• Crea un directorio muchos con 3 ficheros dentro
de él. Los ficheros se llamarán nombre.txt
direccion.txt y pueblo.txt en el anotaras los datos
ficticios de una persona.
• Comprime el directorio muchos con el comando
tar.
• Borra el directorio muchos.
• Muestra el contenido del fichero que has creado
con el comando:
• tar tvfz muchos.tgz ( o tar.gz )
Ejercicio (cuaderno de practicas)
• Crea un script ole.sh que genere un directorio
pruebas2. En dicho directorio va a crear los
ficheros uno.txt dos.txt y tres.txt
• Una vez creados los comprime uno a uno los
ficheros anteriores
• Lista los archivos de la siguiente forma:
*******fichero uno.txt*******
Datos del fichero
• El script por ultimo deberá de comprimir con tar
el directorio pruebas2 y borrarlo (el directorio
pruebas2).
• Por último mostrará por pantalla
• ++++fin del script++++
Descomprimir un archivo.
Para descomprimir un archivo,
• gzip –d fichero.gz
• tar xvf fichero.tar
Descomprimirá un fichero creado con tar.
Descomprimir un directorio.
tar xvf fichero.tar [-C /ruta/directorio]
Ejercicio (cuaderno de prácticas)
• Descomprime los directorios y archivos
creados en ejercicios anteriores.
• Si existen los ficheros o directorios sin
comprimir, bórralos antes de
descomprimirlos
• Comprueba que el contenido es el mismo
que antes de comprimir.
RPM Package Manager
• RPM Package Manager (o RPM, originalmente llamado
Red Hat Package Manager) es una herramienta de
administración de paquetes pensada básicamente para
Linux. Es capaz de instalar, actualizar, desinstalar,
verificar y solicitar programas. RPM es el formato de
paquete de partida del Linux Standard Base.
• Originalmente desarrollado por Red Hat para Red Hat
Linux, en la actualidad muchas distribuciones Linux lo
usan dentro de los cuales las más destacadas son
Fedora Linux, MandrivaLinux, SuSE Linux, Conectiva
Linux y otros más sencillos como SabiosS Linux.
También se ha portado a otros sistemas operativos.
Instalar un .RPM
rpm –i ProgramaAINSTALAR
rpm –U ProgramaAactualizar (Upgrade)
Desinstalar un .RPM
rpm –e ProgramaADesinstalar
RPM Package Manager (o RPM, originalmente llamado Red Hat
Package Manager) es una herramienta de administración de paquetes
pensada básicamente para Linux. Es capaz de instalar, actualizar,
desinstalar, verificar y solicitar programas.
Ejercicio (cuaderno de prácticas)
• De www.nvu.com descárgate el paquete nvu
para tu versión de suse linux.
• Escoge bien el producto que vas a bajarte.
• Una vez descargado instálalo mediante el
procedimiento que hemos visto.
• Nota: nvu es un editor libre de páginas web. Es
menos potente que el dreamweaver de windows
pero funciona en linux y no tienes que pagar por
él.
• Comprueba que funciona correctamente.
Consulta de RPMs INSTALADOS
Para saber que paquetes .RPM están instalados, será tan
fácil como escribir:
rpm -qa
Pero, claro, esta información aparecerá un tanto
desordenada, porque que podemos forzar su información y
una fácil consulta escribiendo:
rpm –qa | sort | less
Te recordamos, que esto te dirá todos los programas que
están instalados vía .RPM, osea, que los que hubieran sido
instalados como .tgz, (o .tar.gz, que es lo mismo), o .deb, o
cualquier otro tipo de paquete que no fuera compatible con el
.rpm, no mostrará esta información.
Consulta de un paquete
INSTALADO
• Para saber cierta información sobre un paquete, bastara
poner:
rpm -qi nombre
• Para consultar donde está instalado...
rpm -qil nombre
• Para consultar un paquete QUE NO ESTÁ INSTALADO, y
ahora mismo lo tienes delante:
rpm -qpi nombre.xxx.xx.rpm
• Si quieres saber donde se instalará
rpm -qpil nombre.xxx.xx.rpm
Ejercicio (cuaderno de prácticas)
• Haz las consultas anteriores sobre el
paquete nvu que hemos instalado.
Forzar una instalación
• Para actualizar una instalación que deseamos a toda
costa, bastará con poner:
rpm - U programa.xxx.xx.rpm
• para forzarlo usamos: force
rpm - U - - force programa.xxx.xx.rpm
Ejercicio (cuaderno de prácticas)
• Usa [Ctrl]+[F2], Si estás desde un terminal
1. Ve al directorio raíz "/", y crea con VI una carta a un(a)
amigo(a), a la carta la llamas: "MYLETTER.txt"
2. Crea un directorio en /usr/local que se llame "amigos", de
forma que cuando hagas un ls veas tu carta
/usr/local/amigos.
3. Copia la carta "MYLETTER.txt" en el directorio "amigos"
que está en "/usr/local"
4. Renombra /usr/local/amigos, por /usr/local/mis_amigos
• Para regresar al terminal inicial deberás de pulsar [Ctr]+[F1]
Gestionando usuarios
Linux, como clónico de Unix, sistema nacido en Internet,
está pensado para servir a varios usuarios a la vez. Para
ello existe la cuenta de "root" o superususario, y la de los
demás usuarios del sistema.
Creando un usuario
Para crear un usuario, escribimos, entrando como root,
"useradd" sin las comillas más el nombre del usuario. Ej.:
useradd carlos
Habrás creado un usuario sin clave de acceso. Faltará
crear una clave de acceso para el nuevo usuario creado y
para eso veremos mas tarde el comando passwd
Borrando a un usuario
Para borrar un usuario, bastará con escribir el
comando:
"userdel" y el nombre del usuario, ejemplo.:
userdel carlos
Cambio de usuario
su [options] [username]
Con su podemos hacer login en el sistema como si fueramos
otro usuario.
Si tecleamos su – user comenzaremos una nueva shell como
si fueramos el usuario user
Ejemplo:
su – carlos
Una vez tecleado esto nos pedirá la clave del usuario carlos.
(A root no se la pedirá)
Quiero cambiar la password
passwd [usuario]
Los usuarios pueden cambiar sus password con este
comando.
Root puede cambiar la password de cualquier usuario del
sistema.
EJERCICIO (cuaderno de prácticas)
• Crea el usuario alfredo y establece la siguiente
password para su cuenta “alboran”
• Cambia de usuario a alfredo y ejecuta el
comando whoami
• Ejecuta el comando who para ver quién hay en
el sistema.
• Borra el usuario que has creado.
• Recoge en el cuaderno de prácticas los
comandos que has utilizado.
Reiniciando el sistema
• reboot
¿Qué memoria libre tengo en el sistema?
• free
¿Cuanto ocupa la información de este
directorio?
• du
¿Cuánto espacio me queda en el disco
duro?
• df
Buscando ese fichero perdido…
find directorio_a_buscar –name nombre_del_fichero
EJEMPLOS:
Buscar el fichero mio.txt en el directorio /home/antonio:
find /home/antonio –name mio.txt
Buscar el fichero mio.txt en TODO el sistema:
find / –name mio.txt
Que tendrá este fichero….
• Comando: cat nombre_fichero
cat mio.txt
Mostrara el contenido del fichero mio.txt
Buscando cadenas en ficheros
• Comando grep
Ejemplo:
grep “sofia” fichero.txt
Buscará sofia en el fichero de nombre fichero.txt
¿¿¿Serán estos dos ficheros iguales???
diff fichero1 fichero2
El comando diff compara el contenido de cualquier par de
ficheros. Nos dirá las lineas que no coinciden. Con este
comando podemos saber si nuestros ficheros son iguales o
difieren en algun dato.
Ejercicio (cuaderno de prácticas)
• Con que comando cambio de usuario
• Con que comando puedo buscar una cadena
dentro de un fichero
• Con que comando reinicio la maquina
• Con que comando veo la memoria libre que hay
en el sistema
• Con que comando veo el espacio que ocupa un
directorio
• Con que comando puedo mostrar el contenido
de un fichero.
El archivo /etc/passwd
En el archivo /etc/passwd se localiza toda la información de
los usuarios del sistema. Por ejemplo, si ejecutamos como
root el siguiente comando:
# cat /etc/passwd
Veremos algo como esto:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
......
Cada línea del archivo representa un registro único constituido
por los campos (cada cadena separada por el símbolo de dos
puntos ":") que representan la información del usuario.
Analicemos la línea para el usuario (cliente) mysql:
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
•shell por defecto
•path o ruta del directorio personal
•comentario
•ID de grupo
•ID de usuario
•la contraseña esta cifrada
•nombre del usuario
EJERCICIO (cuaderno de prácticas)
• Listar el fichero /etc/passwd y dime que
significan cada uno de los parámetros de
la linea que contiene al usuario root.
Archivo /etc/groups
El fichero de grupos contiene toda la información de
pertenencia a grupos, y opcionalmente elementos como la
contraseña del grupo (generalmente almacenado en gshadow
en los sistemas actuales), este fichero debe ser legible por el
mundo para que el sistema funcione correctamente. El
formato es:
nombregrupo:contraseña_cifrada:GID:miembro1,miembr
o2,miembro3
Un grupo puede no contener miembros (p. ej., no está usado),
sólo un miembro o múltiples miembros, y la contraseña es
opcional (y no se suele usar).
Cada línea del archivo representa un registro único constituido
por los campos (cada cadena separada por el símbolo de dos
puntos ":") que representan la información del grupo.
Analicemos la línea para el grupo users:
users:x:100:andres,perico,alonso,juan
•GID de grupo
•Nombre de los
usuarios que
pertenecen a ese
grupo
•la contraseña esta cifrada
•nombre del usuario
nombregrupo:contraseña_cifrada:GID:miembro1,miembro2,miembro3
Ejercicio (cuaderno de prácticas)
• Dime el nombre del grupo al que
pertenecen los siguientes usuarios
(mailman, root, ftp, mail y daemon)
Ejercicio para casa (cuaderno de
practicas)
•
•
•
•
•
•
•
•
•
•
Ejecuta el siguiente comando y di lo que hace:
cat /etc/passwd > /home/usuario/f1.txt
cat /etc/group >> /home/usuario/f1.txt
cat /etc/group | more
cat /etc/passwd | grep –i “usuario”
cat /etc/passwd |sort |more
echo hola > /home/usuario/f2.txt
echo holaholita >> /home/usuario/f2.txt
echo “hola que tal” >> /home/usuario/f2.txt
tac /home/usuario/f2.txt |sort |grep “tal”
Ejercicio para casa (cuaderno de
practicas)
• Crea un script que genere un
directorio “practicas” en tu directorio
home y dentro de el 5 directorios uno,
dos…cinco. Cada uno de estos
directorios contendrá un fichero f1.txt,
f2.txt…. En su respectivo directorio
(el fichero f1.txt en el directorio uno y
así sucesivamente). Con la palabra
“hola”.
Ejercicio para casa (cuaderno de practicas)
• Crea un script que genere un directorio “practicas”
en tu directorio home y dentro de el 3 directorios
uno, dos y tres. El directorio uno tiene un fichero
f1.txt con la palabra “hola”. El directorio dos tiene
un fichero f2.txt con el contenido del fichero f1.txt
por duplicado y el directorio tres tiene un fichero
f3.txt con el contenido de los ficheros f1.txt y f2.txt.
Para crear el contenido de los ficheros f2 y f3 utiliza
> y >>.
• Al final, el script muestra lo siguiente por pantalla:
+++ fichero 1++++
<contenido del fichero 1>
+++ fichero 2++++
<contenido del fichero 2>
+++ fichero 3++++
<contenido del fichero 3>
Ejercicio para casa (cuaderno de practicas)
• Crea un script que genere un directorio
“practicas” en tu directorio home y dentro de el 5
directorios uno, dos, tres... El directorio uno tiene
un fichero f1.txt con la palabra “hola”. El directorio
dos tiene un fichero f2.txt con el contenido del
fichero f1.txt por duplicado y así sucesivamente.
• Al final, el script muestra lo siguiente por pantalla:
+++ fichero 1++++
<contenido del fichero 1>
……….
Una vez mostrado el contenido de los ficheros el
script crea el directorio seis que tendrá los
ficheros f1.txt, f2.txt…. Y borra los directorios uno,
dos, tres, cuatro y cinco.
Ejercicio para casa (cuaderno de practicas)
• Crea un script que genere un fichero
amigos.txt con el nombre y teléfono
de 7 de tus amigos ficticios.
• Una vez creado el fichero crea un
fichero f1.txt con las líneas del fichero
amigos.txt que contengan la palabra
“Juan”.
• Muestra por pantalla el contenido del
fichero f1.txt
• Comprime el fichero amigos.txt
• Muestra por pantalla el contenido del
fichero amigos.txt
Ejercicio para casa (cuaderno de practicas)
• Crea un script que genere un fichero
amigos.txt con el nombre y teléfono de 7
de tus amigos ficticios.
• Una vez creado el fichero crea un fichero
f1.txt con las líneas del fichero amigos.txt
en orden inverso.
• Crea un directorio amigos y mete ahí los
dos ficheros.
• Comprime el directorio amigos en el
fichero amigosl.tar con el comando tar.
• Borra el directorio amigos.
• Lista el contenido del fichero tar creado.
ENLACES HARD (DUROS)
• Un enlace "hard" (hard link) es una nueva
referencia a un mismo archivo; consiste
en una nueva entrada de directorio que
apunta a un archivo ya existente y
apuntado desde otra entrada de directorio.
• El contenido se encuentra en un solo
lado, pero el archivo puede ser accedido
desde varios lugares, eventualmente con
diferentes nombres.
F1.TXT
DATOS DEL FICHERO
F2.TXT
EJEMPLO
echo 'Hola todos de nuevo!' > adios
ln adios adios.ln0
ln crea un segundo nombre referido al mismo archivo; no se
hace copia, crea un enlace (link). Verificar que :
ls -l adios*
muestra un conteo de 2 en la columna de enlaces. Al crear el
enlace con el comando ln, observar que el archivo existente
va en primer lugar, luego uno o más nombres de enlaces a
crear.
Cuando se borra un archivo con varios enlaces, sólo se borra
el enlace.
El archivo es realmente borrado sólo cuando desaparece el
último enlace.
ln dir2 dir2ln
da error; no se puede crear un enlace hard para un directorio.
Enlaces simbólicos.
• Un enlace simbólico (symbolic link) es un
archivo que apunta a otro archivo o
directorio.
• El archivo de enlace simbólico contiene
solamente la ruta del otro archivo o
directorio.
DATOS DEL FICHERO
F1.TXT
F2.TXT
F1.TXT
EJEMPLO
ln -s nota nota.ls0
crea nota.ls0 como enlace simbólico.
ln -s dir2 dir2ls
crea dir2ls como enlace simbólico hacia un directorio.
ls -l
muestra la letra l en el tipo de archivo para indicar que es un
enlace simbólico.
ls dir2
ls dir2ls
muestran el mismo contenido de archivos.
ls -l dir2ls
muestra que es un enlace simbólico e indica hacia donde
apunta.
Un enlace simbólico se borra con rm, y no con rmdir, puesto
que el enlace simbólico es un archivo y no un directorio, aún
cuando sea un enlace simbólico hacia un directorio.
cuando se borra un enlace simbólico, sólo se borra un archivo
puntero, y no el objeto real.
Ejercicio (cuaderno de practicas)
• Realiza un script sprac.sh que genere un
directorio pract y dentro de el 5 directorios
(uno…cinco)
• Crea dentro del directorio uno un fichero f1.txt
que contiene el siguiente texto “OK”
• Crea enlaces hard f2.lnk y f3.lnk en los
directorios dos y tres que apunten a f1.txt
• Crea enlaces simbólicos f4.lnk y f5.lnk en los
directorios cuatro y cinco que apunten a f1.txt
• Comprime con tar el directorio pract (fichero
pract.tar.gz)
• Borra el directorio pract
• Lista el contenido del fichero pract.tar.gz
•
•
•
•
•
•
•
•
•
•
•
•
•
•
mkdir pract
solución
mkdir pract/uno
mkdir pract/dos
mkdir pract/tres
mkdir pract/cuatro
mkdir pract/cinco
echo ok > pract/uno/f1.txt
ln pract/uno/f1.txt pract/dos/f2.lnk
ln pract/uno/f1.txt pract/tres/f3.lnk
ln -s pract/uno/f1.txt pract/cuatro/f4.lnk
ln -s pract/uno/f1.txt pract/cinco/f5.lnk
tar cvzf pract.tar.gz pract
rm -rf pract
tar tvzf pract.tar.gz
Ejercicio (cuaderno de practicas)
• Crea un script num.sh que genere el fichero
numeros.txt con los números (uno, dos….diez)
cada uno en una línea.
• Muestra las líneas del fichero que contengan la
palabra tres.
• Muestra el contenido del fichero de forma
inversa.
• Muestra el contenido del fichero de forma
ordenada.
• Comprime el fichero con compresión máxima.
• Muestra el contenido del fichero de forma
ordenada
•
•
•
•
•
•
•
•
•
solución
touch numeros.txt
echo uno >> numeros.txt
.....
echo diez >> numeros.txt
cat numeros.txt | grep -i tres
tac numeros.txt
cat numeros.txt | sort
gzip -9 numeros.txt
zcat numeros.txt.gz | sort
Ejercicio (ejecuta el siguiente script
schungo1.sh)
#!/bin/bash
DATE=`date +%d-%m-%y`
USER=usuario
echo “La fecha de hoy es $DATE”
echo “El usuario del equipo es $USER”
Ejercicio (ejecuta el siguiente script
schungo2.sh)
#!/bin/bash
DATE=`date +%d-%m-%y`
USER=usuario
echo 'Comenzando el backup'
tar cjvf /tmp/$USER-$DATE.tbz /home/usuario
echo 'Backup terminado'
Ejercicio (ejecuta el siguiente script
schungo3.sh)
#!/bin/bash
echo Por favor, meta su nombre
read NOMBRE
echo “ Holaholita $NOMBRE ”
Que hacen los siguientes
comandos (cuaderno de practicas)
Crea un fichero fichero1.txt con
mucho texto.
•
•
•
•
•
•
rev fichero1.txt
head fichero1.txt
tail fichero1.txt
uname -a
echo $USER
echo $HOSTNAME
Descargar

Document