Está en la página 1de 5

Comandos Unix Linux

http://www.pello.info/referencia_linux.html

Pello Xabier Altadill Izura www.pello.info Foro sobre linux

1. 2. 3. 4. 5. 6.

INTRODUCCIN REFERENCIA DE COMANDOS UNIX-LINUX COMBINACIONES TILES DIAGNOSTICO DE SISTEMA RESOLUCION DE PROBLEMAS NOTAS, ACTUALIZACIONES

INTRODUCCIN

Nota: Este gua no es para leer de forma seguida, este gua pretende ser una referencia de comandos Unix/Linux que se pueda consultar en cualquier momento. No pretende ser una gua exhaustiva, sino una referencia que sirva como recordatorio de los comandos ms utilizados. El shell: Existen distintos interpretes de comandos en el mundo Unix: csh, bash, tsh, ksh,.. pero salvo pequeas diferencias todos son parecidos. En este documento partimos sobretodo de bash, ya que esta muy extendido a travs de Linux. Asi como windows lo vemos como un entorno con ventanas, programas, etc,.. unix lo debemos ver como lo siguiente: Unix esta formado por procesos y ficheros. Y no hay nada ms. Los dispositivos como el disco, el cdrom, la pantalla, esta representado como un fichero en el sistema linux, dentro de /dev. Los sockets de comunicacin son ficheros. Los directorios son ficheros. Los ficheros son ficheros. -Redireccin de entrada/salida > : con este smbolo podemos redirigir la salida estandar de un comando a un fichero. Tngase en cuenta una cosa. Si decimos fichero siempre lo vamos a decir de manera genrica, puede ser un fichero de texto o la pantalla de terminal, ah cabe TODO. >> : con esto redirigimos el resultado a un fichero, pero sin sobrescribirlo, lo que hacemos es escribir al final de este (append en ingles). < : con esto redirigimos el contenido del fichero a un programa. Se usa para utilizar el contenido del fichero como input de un comando. << END : este redireccin se utiliza para iniciar el paso de parmetros a un programa, y se termina cuando escribimos "END" o cualquier otra palabra que hayamos especificado al inicio del comando.

DIAGNSTICO DE SISTEMA
Cmo diagnosticar el sistema en 20 segundos: Para diagnosticar el estado de un Linux de manera rpida: Por consola: basta con utilizar 5 comandos bsicos, en el siguiente orden: 0. uname -a : nos dice la version de kernel, procesador, y nombre de sistema 1. df : nos muestra la ocupacin del disco duro. 2. free : nos muestra el uso de la memoria 3. ps -aux. : nos muestra los procesos en curso 4. netstat -a : nos muestra las conexiones de red actuales Otro programa muy util para el diagnostico del sistema y las conexiones de red sera IPTRAF que se ejecuta como iptraf o /usr/bin/iptraf. ESTADO DE DISCO: lo normal es que de un dia para otro no aumente ni en un punto porcentual, a no ser que tenga algun servicio concreto de estadisticas o BBDD. Si llega al 90% hay que empezar a barrer el sistema de ficheros, localizar ficheros grandes, etc. ESTADO DE PROCESOS: normalmente veremos una serie de procesos que van desde el ID 1 al 600-700, muchos de los cuales comienzan por "[k". Todos ellos son los iniciados al arrancar del sistema. El resto son servidores iniciados posteriormente. El estado de los procesos en marcha suele mostrar siempre el mismo aspecto, aunque cada servidor tendra uno distinto. Conviene conocerlo. En cuanto a la ocupacion de la CPU ningun servicio suele ocupar mas de un 10% suele tener esos picos). Todo lo que tenga valores como

1 de 5

07-11-2011 18:17

Comandos Unix Linux

http://www.pello.info/referencia_linux.html

40% o mas se consideran niveles anormales; puede tratarse de generadores de estadisticas.Un programa UTIL para ver los porcentajes es top. ESTADO DE MEMORIA: mientras quede RAM libre no hay problema. Un servidor Linux incluso puede aguantar usando SWAP.

RESOLUCION DE PROBLEMAS
En general, los problemas pueden venir de tres partes: 1.- Conectividad: problemas de conexin a red. 2.- Servidores: servicios que no funcionan correctamente, no arrancan, etc.. 3.- Sistema: discos duros llenos, errores de dispositivos, kernel-panic, etc.. 1.- Conectividad Hay que asegurarse de que hay conectividad. Para ello seguimos los siguientes pasos: - Un ping continuo a la mquina. - Intentar acceder a alguno de los servicios del equipo (23, 22). Algunos mquinas pueden tener cerrado el ping o los ICMP en general. Si no hay conectividad, entonces es un problemas que deben solventar los responsables de las conexiones, y determinar si es responsabilidad nuestra 2.- Servidores Existen varios modos de verificar que los servicios estan en marcha, y los ms practicos son los siguientes: -Comprobar que el proceso esta en marcha (ps -axf | grep nombre_proceso) -Comprobar que el puerto que utiliza esta abierto (netstat -ln | grep puerto) -Comprobar que el puerto responde correctamente (telnet localhost 25 por ejemplo) -Comprobar que esta generando logs (en /var/log) -Comprobarlo con el script de inicio (/etc/rc.d/init.d/servicio status) A veces puede ocurrir que el proceso del servicio se pare nada mas iniciarse, por eso conviene comprobar DOS veces que el proceso esta en marcha. Proceso GENERAL de resolucion Este proceso describe el proceso genrico de resolucin de problemas de cualquier servidor de Linux: 0. Verificar si el servicio esta en marcha: Se puede hacer con: service <servicio> status

/etc/rc.d/init.d/servicio status ps -axf | grep servicio netstat -ln | grep puerto_servicio telnet localhost puerto_servicio
1. Si el servicio esta parado, iniciarlo directamente con:

/etc/rc.d/init.d/servicio start
2. Chequear dos veces si el servicio esta en marcha realmente. 3. En cualquier caso, si esta en marcha o parado, chequear los logs correspondientes al servicio para verificar o comprobar errores. 4. Segn la informacin que nos den los logs actuar en consecuencia. De todas formas, cada servicio Linux tiene sus pecualiaridades, por eso se describen por separado a continuacin. Notas: debe tenerse en cuenta que los servicios dependen a veces de otros servicios externos o internos, cosa que a veces puede provocar malentendidos.

REFERENCIA DE COMANDOS UNIX-LINUX

La siguiente lista de comandos pretende ser de utilidad como referencia rapida para utilizar comandos de sistema. Se ha agrupado en dos: los comandos de sistema corrientes y los relacionados con la administracion. Comando

ls
Descripcin: =list. listar contenido de directorios. Ejemplos: ls, ls -l, ls -fl, ls --color

cp
Descripcin: =copy. copiar ficheros/directorios. Ejemplos:cp -rfp directorio /tmp, cp archivo archivo_nuevo

rm
Descripcin: =remove. borrar ficheros/directorios. Ejemplos: rm -f fichero, rm -rf directorio, rm -i fichero

mkdir

2 de 5

07-11-2011 18:17

Comandos Unix Linux

http://www.pello.info/referencia_linux.html

Descripcin: =make dir. crear directorios. Ejemplos: mkdir directorio rmdir Descripcin: =remove dir. borrar directorios, deben estar vacios. Ejemplos: rmdir directorio mv Descripcin: =move. renombrar o mover ficheros/directorios. Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero a_directorio date Descripcin: gestion de fecha de sistema, se puede ver y establecer. Ejemplos: date, date 10091923 history Descripcin: muestra el historial de comandos introducidos por el usuario. Ejemplos: history | more more Descripcin: muestra el contenido de un fichero con pausas cada 25 lineas. Ejemplos: more fichero grep Descripcin: filtra los contenidos de un fichero. Ejemplos:cat fichero | grep cadena cat Descripcin: muestra todo el contenido de un fichero sin pausa alguna. Ejemplos: cat fichero chmod Descripcin: cambia los permisos de lectura/escritura/ejecucion de ficheros/directorios. Ejemplos: chmod +r fichero, chmod +w directorio, chmod +rw directorio -R, chmod -r fichero chown Descripcin: =change owner. cambia los permisos de usuario:grupo de ficheros/directorios. Ejemplos: chown root:root fichero, chown pello:usuarios directorio -R tar Descripcin: =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 Descripcin: descompresor compatible con ZIP. Ejemplos: gunzip fichero rpm Descripcin: gestor de paquetes de redhat. Para instalar o actualizar software de sistema. Ejemplos: rpm -i paquete.rpm, rpm -qa programa, rpm --force paquete.rpm, rpm -q --info programa mount Descripcin: montar unidades de disco duro, diskette, cdrom. Ejemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt -t vfat umount Descripcin: desmontar unidades. Ejemplos: umount /dev/hda2, umount /mnt/lnx wget Descripcin: programa para descargar ficheros por http o ftp. Ejemplos: wget http://www.rediris.es/documento.pdf lynx Descripcin: navegador web con opciones de ftp, https. Ejemplos: lynx www.ibercom.com, lynx --source http://www.ibercom.com/script.sh | sh ftp Descripcin: cliente FTP. Ejemplos: ftp ftp.ibercom.com whois Descripcin: whois de dominios. Ejemplos: whois ibercom.com who Descripcin: muestra los usuarios de sistema que han iniciado una sesion. Ejemplos: who, w, who am i mail Descripcin: envio y lectura de correo electronico. Ejemplos: mail pepe@ibercom.com < fichero, mail -v pepe@ibercom.com < fichero

3 de 5

07-11-2011 18:17

Comandos Unix Linux

http://www.pello.info/referencia_linux.html

sort Descripcin: ordena el contenido de un fichero. Ejemplos: cat /etc/numeros | sort, ls | sort ln Descripcin: =link. para crear enlaces, accesos directos. Ejemplos: ln -s /directorio enlace tail Descripcin: muestra el final (10 lineas) de un fichero. Ejemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more head Descripcin: muestra la cabecera (10 lineas) de un fichero. Ejemplos: head fichero, head -100 /var/log/maillog | more file Descripcin: nos dice de que tipo es un fichero. Ejemplos: file fichero, file * Comandos de administracion sysctl Descripcin: Configurar los parmetros del kernel en tiempo de ejuecucin. Ejemplos: sysctl -a ulimit Descripcin: muestra los limites del sistema (maximo de ficheros abiertos, etc..) Ejemplos: ulimit adduser Descripcin: aadir usuario de sistema. Ejemplos: adduser pepe, adduser -s /bin/false pepe userdel Descripcin: = eliminar usuario de sistema Ejemplos: userdel pepe usermod Descripcin: = modificar usuario de sistema Ejemplos: usermod -s /bin/bash pepe df Descripcin: = disk free. espacio en disco disponible. Muy util. Ejemplos: df, df -h uname Descripcin: =unix name. Informacion sobre el tipo de unix en el que estamos, kernel, etc. Ejemplos: uname, uname -a netstat Descripcin: la informacion sobre las conexiones de red activas. Ejemplos: netstat, netstat -ln, netstat -l, netstat -a ps Descripcin: =proccess toda la informacion sobre procesos en ejecucion. Ejemplos: ps, ps -axf, ps -A, ps -auxf free Descripcin: muestra el estado de la memoria RAM y el SWAP. Ejemplos: free ping Descripcin: heramienta de red para comprobar entre otras cosas si llegamos a un host remoto. Ejemplos: ping www.rediris.es traceroute Descripcin: herramienta de red que nos muestra el camino que se necesita para llegar a otra maquina. Ejemplos: traceroute www.rediris.es du Descripcin: =disk use. uso de disco. Muestra el espacio que esta ocupado en disco. Ejemplos: du *, du -sH /*, du -sH /etc ifconfig Descripcin: =interface config. configuracion de interfaces de red, modems, etc. Ejemplos: ifconfig, ifconfig eth0 ip netmask 255.255.255.0 route Descripcin: gestiona las rutas a otras redes. Ejemplos: route, route -n

4 de 5

07-11-2011 18:17

Comandos Unix Linux

http://www.pello.info/referencia_linux.html

iptraf Descripcin: muestra en una aplicacion de consola TODO el trafico de red IP, UDP, ICMP. Permite utilizar filtros, y es SUMAMENTE UTIL para diagnostico y depuracion de firewalls Ejemplos: iptraf tcpdump Descripcin: vuelca el contenido del trafico de red. Ejemplos: tcpdump, tcpdump -u lsof Descripcin: muestra los ficheros(librerias, conexiones) que utiliza cada proceso Ejemplos: lsof, lsof -i, lsof | grep fichero lsmod Descripcin: Muestra los modulos de kernel que estan cargados. Ejemplos: lsmod modprobe Descripcin: Trata de instalar un modulo, si lo encuentra lo instala pero de forma temporal. Ejemplos: modprobe ip_tables, modprobe eepro100 rmmod Descripcin: Elimina modulos del kernel que estan cargados Ejemplos: rmmod <nombre de modulo> sniffit Descripcin: Sniffer o husmeador de todo el trafico de red. No suele venir instalado por defecto. Ejemplos: sniffit -i

COMBINACIONES UTILES
Los comandos son muy tiles, pero con el conocimiento bsico del shell y sus comandos tenemos armas muy poderosas que muestran todo el potencial del interprete de comandos Unix. A continuacin se muestran algunos ejemplos avanzados de comandos que se usan con cierta frecuencia. comando | grep filtro A la salida de cualquier comando le podemos aplicar grep para que solo nos muestre la informacion que nos interesa. mail pepe@ibercom.com < fichero.conf Con esto nos enviamos rapidamente un fichero de sistema a nuestra cuenta. mail -v testing@dominio.com Con el parametro -v, al terminar de escribir (. enter), veremos la traza del correo hasta el servidor, si es aceptado o no. find / -name 'filtro' -print Find es un buscador de ficheros muy potente y con muchos parametros, todos los que nos podamos imaginar (tamaos, fechas, tipos de archivos, etc..) Al hacer more: /cadena : podemos hacer busqueda de cadena f : adelante b: volver arriba v: iniciar vi en la linea que estamos

NOTAS, ACTUALIZACIONES

Este documento se actualiza frecuentemente. Para tener la ltima versin conviene mirar la versin de la web. En cualquier caso, si lo que se desea es una referencia rpida basta con cualquier versin. Autor: Pello Xabier Altadill Izura Foro sobre linux Versiones: http://pello.info

Volver

5 de 5

07-11-2011 18:17