• Like
Tema 12 Introduccion A Linux
Upcoming SlideShare
Loading in...5
×

Tema 12 Introduccion A Linux

  • 4,285 views
Uploaded on

introduccion a linux

introduccion a linux

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
4,285
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
243
Comments
1
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. TEMA 12 INTRODUCCION A LINUX
  • 2. ¿ 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.
  • 3. distribuciones
    • Slackware
    • Debian GNU/Linux
    • Knoppix
    • Fedora Core
    • SuSe
    • Mandriva
    • Gentoo Linux
    • Ubuntu
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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)
  • 12. 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).
  • 13. Ejercicio (cuaderno de prácticas)
    • Que comando ms-dos es equivalente al comando ls en unix
  • 14. Permisos de los ficheros drwx------ 3 root root 4096 Desktop/ Tipo de archivo Permisos para el dueño Permisos para el grupo Permisos para el resto
  • 15. Permisos de los ficheros drwx------ 3 root root 4096 Desktop/ Lectura Escritura Ejecución
  • 16. Permisos de los ficheros drwx------ 3 root root 4096 Desktop/ Grupo Dueño
  • 17. 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
  • 18. 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)
  • 19. alias Teclea lo siguiente: $ alias ls='ls - - color -s' ahora, escribe ls $ ls ¡¡SORPRESA!!
  • 20. 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
  • 21. Ejercicio (cuaderno de prácticas)
    • Crea la siguiente estructura de directorios
    / home usuario uno dos tres unouno unodos
  • 22. 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
  • 23. Ejercicio (cuaderno de prácticas)
    • Borra la estructura de directorios con fondo color canela
    / home usuario uno dos tres unouno unodos
  • 24. 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.
  • 25. Ejercicio (cuaderno de prácticas)
    • Cambia el nombre del directorio unodos y ponle unod, y al directorio unouno le pones unou
    / home usuario uno dos tres unouno unodos
  • 26. Moviendo ficheros/directorios PERO, TAMBIÉN CON EL MISMO COMANDO SE PUEDE MOVER UN DIRECTORIO, Por ejemplo: 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/ mv cartas_a_amigos / (mueve "cartas_a_amigos" a la raíz)
  • 27. Ejercicio (cuaderno de prácticas)
    • Realiza la siguiente transformación:
    / home usuario uno dos tres unouno unodos / home usuario uno dos tres unouno unodos
  • 28. 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
  • 29. cd / Independientemente del directorio donde te encuentres ira directamente a la raíz cd .. Accederá a la carpeta/directorio inmediatamente anterior Accediendo a directorios, y ¿En que directorio estoy? Ojo con los espacios en blanco
  • 30. Árbol de directorios de UNIX/LINUX
  • 31.  
  • 32. / 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
  • 33. /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
  • 34. 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.
  • 35. 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.
    Fichero.txt Datos.doc activ1 datos1 datos2 vacio Introduce aquí tu nombre y apellidos Introduce aquí tu cantante favorito
  • 36. EJERCICIO (cuaderno de practicas)
    • Ahora el directorio home debe de contener lo siguiente.
    Fichero.txt Datos.doc activ1 datos1 datos2 estavacio
  • 37. EJERCICIO (cuaderno de practicas)
    • Ahora el directorio home debe de contener lo siguiente.
    Datos.doc activ1 datos1 datos2 estavacio
  • 38. EJERCICIO (cuaderno de practicas)
    • Ahora el directorio home debe de contener lo siguiente.
    Datos.doc activ1 datos2 estavacio
  • 39. 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.
  • 40. Ejercicio (cuaderno de prácticas)
    • Dime que son los siguientes directorios
    • /
    • /proc
    • /home
    • /opt
    • /etc
    • /lib
  • 41. 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"
  • 42. EJERCICIO (cuaderno de prácticas)
    • (intenta hacer un alias para cls).
    • cls limpiará la pantalla, al igual que el comando clear.
  • 43. 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
  • 44. 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.
  • 45. 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
  • 46. 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.
  • 47. 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.
  • 48. 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.
  • 49.  
  • 50.  
  • 51. ejercicio
    • Con el midnight comander crea la siguiente estructura en un disquete o en el directorio /home
    Fichero.txt Datos.doc activ1 datos1 datos2 estavacio
  • 52. equivalencias
  • 53.  
  • 54.  
  • 55. 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
  • 56. Pidiendo ayuda, uso Para pedir ayuda de un comando podrás hacer: man comando Por ejemplo: man cp
  • 57. 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.
  • 58. 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. Los procesos escondidos, (Demonios)
  • 59. 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:
  • 60.
    • [ralf@servidor1]# at 12.12.2006 21:30
    • >reboot
    • ^D
    • [ralf@servidor1]# cat /tmp/at_reboot
    • reboot
    • [ralf@servidor1]# at -f /tmp/at_reboot 12.12.2006 21:30
  • 61. 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.
  • 62. ¿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.
  • 63. ¡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]
  • 64. Ejemplo kill 558 Matará el proceso 'gnuchessx' que está ejecutando el usuario 'javier‘ kill –9 116 Mata a toda costa el proceso 116.
  • 65. 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.
  • 66. 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
  • 67. ¿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 .
  • 68. 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 - - r - - carlos users carta.txt
  • 69. 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 - - r - - carlos users carta.txt permisos
  • 70. 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 - - r - - carlos users carta.txt permisos usuario
  • 71. 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 - - r - - carlos users carta.txt permisos usuario grupo
  • 72. 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 - - r - - carlos users carta.txt permisos usuario grupo Nombre del fichero
  • 73. 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.
  • 74. 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.
  • 75. 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
  • 76. 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+rxw 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
  • 77. 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
  • 78. 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
  • 79. 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). luis@kamaleon $ ls -l README -rw-r- -r- -    1 usuario users    587 may 23 17:17 README   USUARIO GRUPO OTROS 4 4 6 4+0+0 4+0+0 4+2+0 Permisos Actuales r w x r w x r w x 4 6 6 4+0+0 4+2+0 4+2+0 Cambiar a: r w x r w x r w x
  • 80. luis@kamaleon $ chmod 664 README luis@kamaleon $ ls -l README -rw-rw-r--    1 luis     usuario       587 may 23 17:17 README
  • 81. l uis@kamaleon $ ls -l Xvnc -rwxr-x- - -    1 luis     usuario   1508208 jun 18 14:07 Xvnc*   Ahora demos permisos de lectura y ejecución a Otros en el Archivo Xvnc 0 5 7 0+0+0 4+0+1 4+2+1 Permisos Actuales r w x r w x r w x 5 5 7 4+0+1 4+0+1 4+2+1 Cambiar a: r w x r w x r w x
  • 82. luis@kamaleon $ chmod 755 Xvnc luis@kamaleon $ ls -l Xvnc -rwxr-xr-x    1 luis     usuario   1508208 jun 18 14:07 Xvnc*
  • 83. Por último aquí esta una tabla que permite saber rápidamente que valor asignar como permiso a cualquiera de los tres modos. rwx 7 rw- 6 r-x 5 r-- 4 -wx 3 -w- 2 --x 1 --- 0 Permisos Valor
  • 84. Ejercicio (cuaderno de practicas)
    • Ejecuta el comando apropiado para cambiar los permisos al fichero datos.txt . Utiliza el modo absoluto.
    usuario grupo otros rw x w x rx r rwx x rw rwx w r-x r-x w x rwx x r-x 1 2 3 4 5 6
  • 85. Ejercicio (cuaderno de practicas) usuario grupo otros rw x w w rx r rwx x rw rwx w r-x r-x w x rwx w r-x rwx w r-x r-x w x rwx w r-x propietario grupo root users alumno root alumno2 root alumno2 users alumno root alumno2 root dialout root dialout alumno rwx alumno2 fichero Fich1.dat Fich2.dat Fich3.dat Fich4.dat Fich5.dat Fich6.dat Fich7.dat Fich8.dat Fich9.dat
  • 86. 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 en orden inverso.
    • 4. Listar todos los archivos del directorio dev que empiecen por tty y tengan 5 caracteres.
    • 5. Listar todos los archivos del directorio dev que empiecen por tty y acaben en 1,2,3 ó 4.
    • 6. Listar todos los archivos del directorio dev que empiecen por t y acaben en C1.
  • 87. 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.
  • 88. 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.
  • 89. 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 segunda letra y su nombre tenga cuatro letras.
    • 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 ordinarios del directorio HOME y sus subdirectorios.
  • 90. 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, acaben en una letra que vaya de la a a la b y tengan cinco letras en
    • su nombre.
    • 29. Borrar los archivos de dir312 que no acaben en b y tengan una q como
    • cuarta letra.
    • 30. Mover el directorio dir312 debajo de dir3.
  • 91. 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.
  • 92. 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
  • 93. 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.
  • 94. 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 &quot;| more&quot;, entonces, para cartas largas escribe:
    • cat carta.txt |more
  • 95. • 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 ?
  • 96. 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
  • 97. 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.
  • 98. 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 &quot;carta.txt&quot; como &quot;MiCarta.txt&quot;, podrás escribir: cp carta.txt MiCarta.txt
  • 99. 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/
  • 100. 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 &quot;mbox&quot; 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: &quot;/usr/MisDocumentos/javier&quot;
  • 101. 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
  • 102. 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
  • 103. 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
  • 104. 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
  • 105. 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.
  • 106. 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.
  • 107. 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
  • 108. 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.
  • 109. 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 )
  • 110. 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]
  • 111. 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.
  • 112. 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.
  • 113. 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.
  • 114. 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.
  • 115. 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.
  • 116. 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
  • 117. Ejercicio (cuaderno de prácticas)
    • Haz las consultas anteriores sobre el paquete nvu que hemos instalado.
  • 118. 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
  • 119. Ejercicio (cuaderno de prácticas) • Usa [Ctrl]+[F2], Si estás desde un terminal 1. Ve al directorio raíz &quot;/&quot;, y crea con VI una carta a un(a) amigo(a), a la carta la llamas: &quot;MYLETTER.txt&quot; 2. Crea un directorio en /usr/local que se llame &quot;amigos&quot;, de forma que cuando hagas un ls veas tu carta /usr/local/amigos. 3. Copia la carta &quot;MYLETTER.txt&quot; en el directorio &quot;amigos&quot; que está en &quot;/usr/local&quot; 4. Renombra /usr/local/amigos, por /usr/local/mis_amigos • Para regresar al terminal inicial deberás de pulsar [Ctr]+[F1]
  • 120. 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 &quot;root&quot; o superususario, y la de los demás usuarios del sistema.
  • 121. Creando un usuario Para crear un usuario, escribimos, entrando como root, &quot;useradd&quot; 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
  • 122. Borrando a un usuario Para borrar un usuario, bastará con escribir el comando: &quot;userdel&quot; y el nombre del usuario, ejemplo.: userdel carlos
  • 123. 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á)
  • 124. 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.
  • 125. 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.
  • 126. 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
  • 127. 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
  • 128. Que tendrá este fichero….
    • Comando: cat nombre_fichero
    • cat mio.txt
    • Mostrara el contenido del fichero mio.txt
  • 129. Buscando cadenas en ficheros
    • Comando grep
    Ejemplo: grep “sofia” fichero.txt Buscará sofia en el fichero de nombre fichero.txt
  • 130. ¿¿¿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.
  • 131. 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.
  • 132. El a rchivo /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 ......
  • 133. Cada línea del archivo representa un registro único constituido por los campos (cada cadena separada por el símbolo de dos puntos &quot; : &quot;) 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
    • nombre del usuario
    • la contraseña esta cifrada
    • ID de usuario
    • ID de grupo
    • comentario
    • path o ruta del directorio personal
    • shell por defecto
  • 134. 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.
  • 135. 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,miembro2,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).
  • 136. Cada línea del archivo representa un registro único constituido por los campos (cada cadena separada por el símbolo de dos puntos &quot; : &quot;) que representan la información del grupo. Analicemos la línea para el grupo users: users:x:100:andres,perico,alonso,juan
    • nombre del usuario
    • la contraseña esta cifrada
    • Nombre de los usuarios que pertenecen a ese grupo
    • GID de grupo
    nombregrupo:contraseña_cifrada:GID:miembro1,miembro2,miembro3
  • 137. Ejercicio (cuaderno de prácticas)
    • Dime el nombre del grupo al que pertenecen los siguientes usuarios (mailman, root, ftp, mail y daemon)
  • 138. ENLACES HARD (DUROS)
    • Un enlace &quot;hard&quot; (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.
  • 139. DATOS DEL FICHERO F1.TXT F2.TXT
  • 140. EJEMPLO ln crea un segundo nombre referido al mismo archivo; no se hace copia, crea un enlace (link). Verificar que : echo 'Hola todos de nuevo!' > adios ln adios adios.ln0   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.
  • 141. 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.
  • 142. 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.
  • 143. DATOS DEL FICHERO F1.TXT F2.TXT F1.TXT
  • 144. 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.
  • 145. 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.
  • 146. Variables de entorno
  • 147. $BASH El path al binario Bash $BASH_VERSION version de Bash instalada en el sistema Mirar $BASH_VERSION es un buen metodo para saber que shell se está ejecutando, normalmente $SHELL no proporciona una respuesta correcta. bash$ echo $BASH /bin/bash bash$ echo $BASH_VERSION 3.00.14(1)-release tcsh% echo $BASH_VERSION BASH_VERSION: Undefined variable.
  • 148. $GROUPS Grupos al que pertenece el usuario $HOME home directory del usuario, usualmente /home/username root# echo $GROUPS 0
  • 149. $HOSTNAME El comando hostname asigna el nombre del sistema en el momento de boot en el script init. $HOSTTYPE host type como $MACHTYPE , identifica el sistema hardware. bash$ echo $HOSTTYPE i686
  • 150. $PATH path, usualmente /usr/bin/ , /usr/X11R6/bin/ , /usr/local/bin , etc. Cuando se ejecuta un comando, la shell hace una busqueda en los directorios de la variable path en busca de ejecutables. PATH=${PATH}:/opt/bin añade el directorio /opt/bin al actual path. bash$ echo $PATH /bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/sbin:/usr/sbin
  • 151. $PPID El $PPID de un proceso es el process ID (pid) de su proceso padre. $PWD working directory (directorio actual) $SECONDS Numero de Segundos que el script lleva ejecutandose.
  • 152. $UID user ID number ver el fichero /etc/passwd ENV para ver el entono