4party Taller Shell, comandos y programación
Comandos linux unix y
programación shell
Documento de la charla de Iñigo Tejedor & Pello Altadill
http://4party.cuatrovien...
4party Taller Shell, comandos y programación
Introducción .........................................................................................................22
V...
4party Taller Shell, comandos y programación
1.INTRODUCCIÓN
Este guía no es para leer de forma seguida, este guía pretende ser una referencia de
comandos Unix/Linux y ...
4party Taller Shell, comandos y programación
El mapa de ficheros y directorios en linux
Hay directorios que pueden cambiar segun la distribucion que sea. Las de linux ...
4party Taller Shell, comandos y programación
2.El shell
Al entrar en un Linux en modo consola estamos usando un shell o interprete de comandos.
Un shell no es más que ...
4party Taller Shell, comandos y programación
3.Guía de comandos
Comandos básicos y manejo de ficheros
cd Descripción: =chage dir. comando para cambiarnos de directorio...
4party Taller Shell, comandos y programación
date Descripción: gestión de fecha de sistema, se puede ver y establecer. Ejemplos:
date, date 10091923
history Descripció...
4party Taller Shell, comandos y programación
rpm Descripción: gestor de paquetes de redhat y fedora. Para instalar o actualizar
software de sistema. Ejemplos: rpm ­i p...
4party Taller Shell, comandos y programación
file Descripción: nos dice de que tipo es un fichero. Ejemplos: file fichero, file *
diff Descripción: muestra las diferen...
4party Taller Shell, comandos y programación
Descripción: la informacion sobre las conexiones de red activas. Ejemplos: netstat, netstat
­ln, netstat ­l, netstat ­a
ps...
Upcoming SlideShare
Loading in …5
×

Comandos Linuxunix y Programacion enshell.pdf

7,662 views

Published on

Comandos de Shell

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Comandos Linuxunix y Programacion enshell.pdf

  1. 1. 4party Taller Shell, comandos y programación
  2. 2. Comandos linux unix y programación shell Documento de la charla de Iñigo Tejedor & Pello Altadill http://4party.cuatrovientos.org Índice de contenido 1.INTRODUCCIÓN........................................................................................................3 El mapa de ficheros y directorios en linux.........................................................4 2.El shell......................................................................................................................5 Buscar ayuda..........................................................................................................5 3.Guía de comandos...................................................................................................6 Comandos básicos y manejo de ficheros..............................................................6 Comandos de administración: usuarios, procesos, kernel.....................................9 Comunicaciones....................................................................................................10 Comunicación entre procesos..............................................................................12 Redirección de entrada/salida..............................................................................12 Compresión de ficheros y directorios...................................................................13 Accediendo a dispositivos y particiones...............................................................14 4.Usando el shell......................................................................................................16 Las flechas............................................................................................................16 El historial de comandos.......................................................................................16 Relleno de comandos y ficheros...........................................................................17 Comodines............................................................................................................18 Ejecución de comandos........................................................................................18 Comandos en segundo plano..........................................................................19 5.Programación de scripts de shell..........................................................................22 ­ 1
  3. 3. 4party Taller Shell, comandos y programación
  4. 4. Introducción .........................................................................................................22 Variables................................................................................................................23 arrays................................................................................................................24 Otros usos.........................................................................................................24 Operaciones..........................................................................................................25 Aritméticas........................................................................................................25 Lógicas..............................................................................................................26 Condicionales........................................................................................................27 case...................................................................................................................30 Iteraciones............................................................................................................31 for......................................................................................................................31 while..................................................................................................................32 until...................................................................................................................33 select.................................................................................................................34 Funciones..............................................................................................................34 Librerías................................................................................................................35 Señales..................................................................................................................36 Colores..................................................................................................................36 6.Bibliografía, referencias y enlaces........................................................................38 ­ 2
  5. 5. 4party Taller Shell, comandos y programación
  6. 6. 1.INTRODUCCIÓN Este guía no es para leer de forma seguida, este guía pretende ser una referencia de comandos Unix/Linux y de programación de scripts de shell que se pueda consultar en cualquier momento. No pretende ser una guía exhaustiva, sino una referencia que sirva como recordatorio de los comandos más utilizados. ¿Y qué es Linux? Los sistemas operativos del tipo Linux esta formado por procesos y ficheros. Y no hay nada más. Los dispositivos como el disco, el cdrom, la pantalla, esta representado como un fichero en el sistema linux, dentro de /dev. Los sockets de comunicación son ficheros. Los directorios son ficheros. Los ficheros son ficheros. ­ 3
  7. 7. 4party Taller Shell, comandos y programación
  8. 8. El mapa de ficheros y directorios en linux Hay directorios que pueden cambiar segun la distribucion que sea. Las de linux se parecen bastante, pero en general tienen lo mismo. / +­/bin : los binarios MAS basicos como: ls, cd, pwd, cp, rm +­/boot : archivos de arranque, imagen de kernel. +­/cdrom : punto de montaje del cdrom +­/etc : configuracion. Todas las configuraciones (red,scripts de inicio,firewall,usuarios) +­­­­­/mail/ : configuracion de sendmail +­­­­­/rc.d/ : ficheros con scripts de inicio de sistema +­­­­­/sysconfig/ : configuracion de sistema (red,rutas,interfaces) +­/dev : todos los dispositivos de sistema (pantalla,raton,impresora,disco duro) representados por un fichero +­/home : directorios particulares de los usuarios +­/lib : librerias de sistema, modulos de kernel +­/lost+found : directorio en el que se guarda contenido perdido tras un chequeo de disco +­/mnt : punto de montaje (opcional) para particiones locales, remotas (nfs),.. +­/proc : sistema de ficheros que refleja el estado y configuracion del sistema +­/sbin : binarios basicos que influyen en configuraciones (firewall, rutas,) de kernel +­/usr : binarios de servidores, programas, manuales, documentos, etc (este ocupa el que mas) +­/opt : binarios opcionales o programas que no se instalan desde el principio. +­/root : directorio home de superusuario. +­/tmp : directorio temporal, utilizado para guardar sesiones, sockets, etc.. +­/var : directorio en el que se guarda informacion variable: logs, BBDD (postgres, mysql) +­­­­­/log/ : todos los logs de sistema y servidores +­­­­­/lib/pgsql/ : postgres +­­­­­/lib/mysql/ : mysql +­­­­­/spool/mqueue/ : cola de correo del servidor (entregas sendmail) +­­­­­/spool/mail/ : buzones de correo El mapa de ficheros y directorios en linux ­ El mapa de ficheros y directorios en linux 4
  9. 9. 4party Taller Shell, comandos y programación
  10. 10. 2.El shell Al entrar en un Linux en modo consola estamos usando un shell o interprete de comandos. Un shell no es más que un programa que le facilita al usuario interactuar con el sistema operativo: administrar el sistema, programar, crear todo tipo de contenidos de texto, etc... para hacer todo eso el usuario debe utilizar una serie de comandos que le permiten manipular ficheros, procesos, etc... En los sistemas Windows el shell es un entorno visual intuitivo y fácil de utilizar, aunque también tiene otro shell disponible, una herencia del sistema MS­DOS que no ha evolucionado mucho. En Linux disponemos de multitud de entornos visuales para elegir, pero la gran diferencia respecto a Windows es que en Linux el entorno gráfico no es más que un programa más; es algo opcional que podemos lanzar desde un shell o intérprete de comandos. La otra diferencia importante es que el shell de linux es una herramienta muy poderosa. Existen distintos interpretes de comandos en el mundo Unix: csh, bash, tsh, ksh,.. pero salvo pequeñas diferencias todos son parecidos. En este documento partimos sobretodo de bash2, ya que esta muy extendido a través de Linux. Buscar ayuda Todos los comandos tienen ayuda sobre sus opciones y más de una forma de llegar a esa ayuda: man comando : a través de man accedemos a la página de manual de cualquier programa. El manual de comandos nos da TODA la información de un comando e incluso al final nos sugiere otros comandos similares o relacionados. Es la forma clásica de acceder a la ayuda extendida aunque para los usos más frecuentes de comandos siempre se puede usar opciones más simples que pueden variar de un comando a otro: comando ­h comando –help comando ­? info comand El mapa de ficheros y directorios en linux ­ Buscar ayuda 5
  11. 11. 4party Taller Shell, comandos y programación
  12. 12. 3.Guía de comandos Comandos básicos y manejo de ficheros cd Descripción: =chage dir. comando para cambiarnos de directorio. Ejemplos: cd, cd /ruta/de/directorio, cd ../../directorio/ pwd Descripción: nos dice en qué directorio nos encontramos actualmente Ejemplos: pwd ls Descripción: =list. listar contenido de directorios. Ejemplos: ls, ls ­l, ls ­fl, ls ­­color cp Descripción: =copy. copiar ficheros/directorios. Ejemplos:cp ­rfp directorio /tmp, cp archivo archivo_nuevo rm Descripción: =remove. borrar ficheros/directorios. Ejemplos: rm ­f fichero, rm ­rf directorio, rm ­i fichero mkdir Descripción: =make dir. crear directorios. Ejemplos: mkdir directorio rmdir Descripción: =remove dir. borrar directorios, deben estar vacios. Ejemplos: rmdir directorio mv Descripción: =move. renombrar o mover ficheros/directorios. Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero a_directorio nano Descripción: editor de fichero muy simple. Vi o emacs son para la 31337. Ejemplo: nano ­w clear Descripción: limpia la pantalla. Ctrl­L tiene el mismo efecto. exit Descripción: termina la sesión del shell. Ctrl­D tiene el mismo efecto. El mapa de ficheros y directorios en linux ­ Comandos básicos y manejo de ficheros 6
  13. 13. 4party Taller Shell, comandos y programación
  14. 14. date Descripción: gestión de fecha de sistema, se puede ver y establecer. Ejemplos: date, date 10091923 history Descripción: muestra el historial de comandos introducidos por el usuario. Ejemplos: history | more more Descripción: muestra el contenido de un fichero con pausas cada 25 lineas. Ejemplos: more fichero Al hacer more: /cadena : podemos hacer búsqueda de cadena f : adelante b: volver arriba v: iniciar vi en la linea que estamos Nota: estas opciones también sirven para el comando man grep Descripción: filtra los contenidos de un fichero. Ejemplos:cat fichero | grep cadena, grep ­il “cadena” directorio/ cat Descripción: muestra todo el contenido de un fichero sin pausa alguna. Ejemplos: cat fichero chmod Descripción: cambia los permisos de lectura/escritura/ejecucion de ficheros/directorios. Ejemplos: chmod +r fichero, chmod +w directorio, chmod +rw directorio ­R, chmod ­r fichero chmod +x fichero : da permiso de ejecucion chown Descripción: =change owner. cambia los permisos de usuario:grupo de ficheros/directorios. Ejemplos: chown root:root fichero, chown pello:usuarios directorio ­R tar Descripción: =Tape ARchiver. archivador de ficheros. Ejemplos: tar cvf fichero.tar directorio , tar xvf fichero.tar, tar zcvf fichero.tgz directorio, tar zxvf fichero.tgz gunzip Descripción: descompresor compatible con ZIP. Ejemplos: gunzip fichero El mapa de ficheros y directorios en linux ­ Comandos básicos y manejo de ficheros 7
  15. 15. 4party Taller Shell, comandos y programación
  16. 16. rpm Descripción: gestor de paquetes de redhat y fedora. Para instalar o actualizar software de sistema. Ejemplos: rpm ­i paquete.rpm, rpm ­qa programa, rpm ­­force paquete.rpm, rpm ­q ­­info programa dpkg Descripción: gestor de paquetes de Debian. Para instalar o actualizar software en el sistema. Ejemplos: dpkg ­i paquete.deb alias Descripción: para crear alias de comandos. Útil para comandos largos. mount Descripción: montar unidades de disco duro, diskette, cdrom. Ejemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt ­t vfat umount Descripción: desmontar unidades. Ejemplos: umount /dev/hda2, umount /mnt/lnx who Descripción: muestra los usuarios de sistema que han iniciado una sesion. Ejemplos: who, w, who am i sort Descripción: ordena el contenido de un fichero. Ejemplos: cat /etc/numeros | sort, ls | sort ln Descripción: =link. para crear enlaces, accesos directos. Ejemplos: ln ­s /directorio enlace tail Descripción: muestra el final (10 lineas) de un fichero. Ejemplos:tail ­f /var/log/maillog, tail ­100 /var/log/maillog | more head Descripción: muestra la cabecera (10 lineas) de un fichero. Ejemplos: head fichero, head ­100 /var/log/maillog | more file Descripción: nos dice de que tipo es un fichero. Ejemplos: file fichero, file * cmp Descripción: compara dos ficheros y nos dice si son distintos Ejemplos: cmp fichero1 fichero2 El mapa de ficheros y directorios en linux ­ Comandos básicos y manejo de ficheros 8
  17. 17. 4party Taller Shell, comandos y programación
  18. 18. file Descripción: nos dice de que tipo es un fichero. Ejemplos: file fichero, file * diff Descripción: muestra las diferencias entre dos ficheros. Muy usado para parchear software. Ejemplos: diff fichero1 fichero2 wc Descripción: word count, calcula número de palabras y otros datos similares de un fichero. Ejemplos: wc fichero, wc ­l fichero Comandos de administración: usuarios, procesos, kernel sysctl Descripción: Configurar los parámetros del kernel en tiempo de ejuecución. Ejemplos: sysctl ­a ulimit Descripción: muestra los limites del sistema (maximo de ficheros abiertos, etc..) Ejemplos: ulimit adduser Descripción: añadir usuario de sistema. Ejemplos: adduser pepe, adduser ­s /bin/false pepe userdel Descripción: = eliminar usuario de sistema Ejemplos: userdel pepe usermod Descripción: = modificar usuario de sistema Ejemplos: usermod ­s /bin/bash pepe df Descripción: = disk free. espacio en disco disponible. Muy util. Ejemplos: df, df ­h uname Descripción: =unix name. Informacion sobre el tipo de unix en el que estamos, kernel, etc. Ejemplos: uname, uname ­a netstat El mapa de ficheros y directorios en linux ­ Comandos de administración: usuarios, procesos, kernel 9
  19. 19. 4party Taller Shell, comandos y programación
  20. 20. Descripción: la informacion sobre las conexiones de red activas. Ejemplos: netstat, netstat ­ln, netstat ­l, netstat ­a ps Descripción: =proccess toda la informacion sobre procesos en ejecucion. Ejemplos: ps, ps ­axf, ps ­A, ps ­auxf pstree Descripción: =proccess tree, muestra los procesos en forma de árbol Ejemplos: pstree kill Descripción: envía señales a procesos. La más común es la de matar el proceso. Ejemplo: kill ­9 34 (la señal ­9 es KILL y mata el proceso numero 34) free Descripción: muestra el estado de la memoria RAM y el SWAP. Ejemplos: free vmstat Descripción: muestra el estado de la memoria virtual Ejemplos: vmstat, vmstat ­s du Descripción: =disk use. uso de disco. Muestra el espacio que esta ocupado en disco. Ejemplos: du *, du ­sH /*, du ­sH /etc lsof Descripción: muestra los ficheros(librerias, conexiones) que utiliza cada proceso Ejemplos: lsof, lsof ­i, lsof | grep fichero lsmod Descripción: Muestra los modulos de kernel que estan cargados. Ejemplos: lsmod insmod Descripción: instala modulos de kernel Ejemplo: insmod e1000, insmod usb_core modprobe Descripción: Trata de instalar un modulo, si lo encuentra lo instala pero de forma temporal. Ejemplos: modprobe ip_tables, modprobe eepro100 rmmod Descripción: Elimina modulos del kernel que estan cargados Ejemplos: rmmod <nombre de modulo> fdisk El mapa de ficheros y directorios en linux ­ Comandos de administración: usuarios, procesos, kernel 10

×