Está en la página 1de 6

INTRODUCCIN

2. REFERENCIA DE COMANDOS UNIX-LINUX


3. COMBINACIONES TILES
4. DIAGNOSTICO DE SISTEMA
5. RESOLUCION DE PROBLEMAS
6. 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
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
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
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
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

También podría gustarte