Arranque de linux

download Arranque de linux

If you can't read please download the document

Transcript of Arranque de linux

  • 1. Inicio del sistema El arranque de un sistema GNU/Linux consta de las siguientes fases: Ejecucin del gestor de arranque (ej.: LILO o GRUB). Carga y ejecucin del kernel. Ejecucin de init (proceso nmero 1)* Ejecucin de scripts de iniciacin genricos en /etc/rcS.d. Entrada en el runlevel por defecto: ejecucin de scripts del runlevel en /etc/rcX.d, donde X el el nmero del runlevel. A grandes rasgos el proceso ocurre as: al conectar o reiniciar el ordenador, la w:BIOS busca en su configuracin el dispositivo de arranque por defecto, el cual suele ser un disco duro, indicado generalmente en la configuracin de la BIOS por C. Entonces carga en memoria el primer sector del dispositivo de arranque y le transfiere el control. Cuando se trata de un disco duro, este primer sector es el w:Master Boot Record (MBR) y contiene, adems del cdigo cargado por la BIOS, la tabla de particiones del disco. El cdigo en el MBR, generalmente, lee en la tabla de particiones cul es la particin activa y carga en memoria el primer sector de la misma, transfirindole el control. En nuestro caso, este sector estar ocupado por un gestor de arranque que nos permitir arrancar GNU/Linux u otro sistema operativo. Opcionalmente, puede instalarse el gestor en el MBR, tomando antes el control. Una vez cargado el gestor de arranque, ste se ejecuta, busca el kernel de Linux en una posicin conocida del disco, carga el kernel en memoria y le cede el control. El kernel se almacena comprimido en disco, por lo que lo primero que hace el cdigo del kernel que se ejecuta inicialmente es descomprimir el propio kernel y situarlo en memoria. Entonces se ejecuta realmente el kernel y empieza una lista de comprobaciones y activacin de mdulos internos del mismo Una vez funcionando, el kernel monta el disco principal donde se almacena el sistema operativo (root filesystem y ejecuta el primer proceso: init. La misin de init es ejecutar el resto de procesos del sistema: comprobacin de discos, deteccin/configuracin de hardware adicional, apertura de terminales, servidores, etc. Una vez que el kernel se ha cargado en memoria, ejecuta el programa init, que se convierte en el proceso nmero 1 y se encarga de ejecutar el resto de programas que hacen que el sistema funcione. La operacin de init se configura en el fichero /etc/inittab. Empezando en este fichero se puede seguir paso a paso el proceso de arranque (y parada) del sistema. Lo importante a saber aqu es que init no hace demasiado por si mismo, sino que se limita a ejecutar una serie de guiones o scripts que activan ordenadamente los diferentes servicios que hacen funcionar el sistema. En primer lugar se ejecutan por orden alfabtico todos los scripts que se encuentren bajo el directorio /etc/rcS.d que comiencen por S con start como argumento. Por convenio estos scripts se nombran comenzando por un nmero de dos cifras para establecer el orden adecuado. Cada script tiene una funcin particular, por ejemplo: S10checkroot.sh comprueba el sistema de ficheros. S20adjtimex ajusta el reloj del sistema. S40networking activa los interfaces de red. En realidad, y por convenio, estos scripts no se sitan directamente en /etc/rcS.d, sino que se guardan en el directorio /etc/init.d y desde ah se hacen enlaces simblicos a /etc/rcS.d. De esta forma es ms fcil aadir, eliminar y ordenar los componentes. Las tareas realizadas por los scripts en /etc/rcS.d son las bsicas para arrancar el sistema. Luego se ejecutan otra serie de scripts correspondientes a un runlevel o nivel de ejecucin.

2. Los runlevels (niveles de ejecucin) son un mecanismo para permitir que el ordenador trabaje con diferentes configuraciones de arranque (diferentes servicios, etc.). Los runlevels se numeran del 0 al 6. El 0 se ejecuta para parar el sistema (halt), el 6 para reiniciar (reboot) y el 1 para arrancar en modo single user, que viene a ser una cofiguracin mnima para realizar tareas de administracin. El resto de los runlevels son para funcionamiento normal. El runlevel por defecto es el 2 (se configura en /etc/inittab), empleando los otros slo en situaciones especiales. En Debian, los runlevels del 2 al 5 se configuran inicialmente de forma idntica. As, el proceso de arranque suele continuar ejecutando los scripts del runlevel correspondiente situados en /etc/rcX.d, donde X es el nmero del runlevel. La forma de ejecutar estos scripts es anloga al caso anterior, salvo que ahora se ejecutan primero los scripts que comiencen con K con argumento stop y luego los que comienzan con S con argumento start. La idea es que cada script gestione una tarea o servicio. Este servicion se inicia cuando el script se ejecuta con el argumento start y se detiene cuando se usa el argumento stop. De esta forma en cada runlevel puden detenerse los servicios que no se necesiten y activarse aquellos que interese. Este sistema tambin facilita el arranque y parada de servicios, ejecutando estos scripts manualmente con el argumento apropiado. En cualquier momento, el administrador puede hacer que el sistema cambie a otro runlevel ejecutando el comando telinit con un argumento numrico indicando el nuevo runlevel. Por ejemplo: # telinit 3En general, no hay que preocuparse por la configuracin del arranque, ya que el sistema de instalacin se ocupa automticamente de actualizar la configuracin en funcin de los paquetes instalados.Cierre del sistema Para detener correctamente un sistema Unix hemos de situar el proceso INIT en un determinado [[w:runlevel|runlevel, generalmente 0 o 6 (podemos comprobarlo simplemente echando un vistazo a /etc/inittab). Para ello, el sistema ofrece al superusuario varios mandatos que pueden ser invocados desde el shell, y que se suelen encontrar en el directorio /sbin/, como shutdown, halt o reboot. Tanto halt como reboot detienen el sistema; la diferencia entre ellos es que la segunda orden lo reinicializa. En principio slo vamos a poder invocar estas rdenes cuando nos encontremos en los runlevels 0 o 6; si nos encontramos en otro nivel de operacin habremos de utilizar shutdown para poder asegurar la estabilidad del sistema. Sin embargo, en la mayora de Unices no existen problemas por esta causa, ya que INIT detecta el estado actual del sistema, y si no es alguno de los anteriores, invoca de forma automtica a shutdown con los parmetros adecuados Shutdown (reinicio) va a detener la mquina de una forma ordenada, siguiendo unos pasos definidos. En primer lugar, notifica el hecho a todos los usuarios conectados (mediante wall) y bloquea el proceso de registro (login). Posteriormente invoca a INIT' en un runlevel 0 (para simplemente detener el sistema), 6 (para reinicializarlo) o incluso 1 (monousuario, para realizar tareas administrativas). Entonces NIT ejecuta el script correspondiente (ledo de /etc/inittab), que suele encargarse de eliminar todos los procesos de la mquina, notificar el evento en el fichero de log correspondiente, desmontar los sistemas de ficheros que existan, desactivar el rea de swap (intercambio) y, segn se haya invocado la orden, detener el sistema o reinicializarlo. La forma habitual (que se da en el 90% de los casos, y por supuesto es la que estudiaremos nosotros) de invocar a shutdown es: 3. shutdown -r/-h nowCon el parmetro -r hacemos un reboot, y con -h un halt (simplemente detenemos el sistema, sin reinicializar). El parametro "now" puede ser substituido por una hora o puede indicarse el tiempo que deber esperar el sistema para proceder al reinicio/parado del sistema. Algn ejemplo sobre el reinicio del sistema sera: shutdown -h/-r 20:00 shutdown -h/-r +10Intrprete de rdenes El proceso login (de registro/ingreso) nos asigna un intrprete de mandatos, ledo de nuestra entrada en /etc/passwd. Ya sabemos que un shell no es ms que un programa del sistema que nos va a permitir relacionarnos con la mquina, introducindole rdenes desde el teclado; es la interfaz de usuario que nos ofrece cualquier sistema operativo. En nuestro sistema Unix podemos tener instalados diversos intrpretes de rdenes; en el archivo /etc/shells tenemos los disponibles para cada usuario, incluido el root. Por defecto se asigna el Bourne Again Shell (bash), el ms cmodo, que incluye lo mejor de todos los anteriores intrpretes, como el C-Shell (csh) o el Korn Shell (ksh). El bash incluye rodillo de mandatos, histrico de rdenes (en el archivo .bash_history del directorio $HOME de cada usuario), uso de tabuladores para completar rdenes, etc. Cualquier intrprete de Unix nos ofrece un entorno de programacin completo con herramientas similares a las de la mayora de lenguajes de programacin secuencial (if, for, while, ...). Tambin nos va a ofrecer una serie de rdenes, denominadas rdenes internas, que no encontramos como archivos ejecutables en el sistema, y que por supuesto no va a ser necesario cargar en memoria para oder ejecutarlas; un ejemplo tpico de este tipo de instrucciones es exit: no encontraremos ningn ejecutable en todos los sistemas de ficheros de Unix que se denomine as. En Unix existe el mandato chsh, que permite a cualquier usuario modificar el shell que el sistema le asigna por defecto (recordemos que este dato est grabado en /etc/passwd). En determinados clones, chsh no va a comprobar que el shell sea vlido (esto es, que sea una entrada de /etc/shells). Esto puede suponer un problema: imaginemos que un usuario inexperto cambia su shell de entrada a /bin/login; ser imposible para l volver a entrar al sistema mediante conexin remota hasta que el administrador modifique la informacin de /etc/passwd. Por tanto, desde hace algn tiempo la mayora de Unix del mercado (y por supuesto tambin GNU/Linux) hacen la comprobacin oportuna. Analizando el funcionamiento de chsh, vemos que una de las cosas que realiza es modificar el fichero de contraseas para cambiar el shell de entrada de un usuario; por tanto, el archivo est setuidado. Puede ser interesante para nosotros resetear el bit setuid del archivo (chmod -s) para as conseguir un mayor nivel de seguridad del sistema, ya que, como veremos ms adelante, es conveniente mantener al mnimo el nmero de archivos "setuidados" en la mquina. Si lo hacemos as y algn usuario quiere cambiar su intrprete de rdenes cada vez que entre al sistema puede incluir en su .profile una orden como: exec 4. La cuenta de administrador Por razones de seguridad, las tareas administrativas en Ubuntu slo pueden ser realizadas por usuarios con privilegios especiales. Un usuario normal puede realizar todas las tareas habituales que se necesitan a diario, pero las tareas de administracin del sistema solo podrn realizarlas usuarios autorizados.root En GNU/Linux (y Unix en general) existe un superusuario llamado root. Este usuario tiene acceso total al sistema, pudiendo instalar, modificar y eliminar cualquier archivo o programa, trabajar con este usuario es potencialmente peligroso, por lo que solo en recomendable para gente experimentada, que sepa la que hace. Adems, solo debera usarse para tareas de administracin del sistema, nunca para realizar las actividades habituales de un usuario normal. Por defecto, Ubuntu tiene la cuenta de root parcialmente deshabilitada. No podemos logearnos como root para entrar en el sistema puesto que no tiene definida ninguna contrasea de acceso. Para poder logearnos como root la primera vez deberemos asignarle un password. Esto podemos hacerlo en la aplicacin Sistema> Administracin> Usuarios y Grupos. O desde la Terminal, Aplicaciones > Accesorios > Terminal Primero nos hacemos root sudo suY despus creamos la contrasea con sudo passwdsudo Independientemente del debate sobre las ventajas e inconvenientes de habilitar la cuenta root, lo cierto es que en Ubuntu, un usuario normal no necesita hacerlo. Se puede autorizar a los usuarios normales para que realicen tareas administrativas mediante el comando sudo. La primera cuenta de usuario que se crea en el sistema durante la instalacin, por defecto, est capacitada para usar sudo y realizar las tareas administrativas necesarias. Adems, Podemos restringir o permitir el acceso a sudo al resto de usuarios del sistema, con la utilidad de Usuarios y grupos que encontramos en el panel de administracin. Cuando ejecute una aplicacin que requiera privilegios administrativos, se le pedir que introduzca su contrasea de usuario. De esta forma se dificulta que aplicaciones maliciosas puedan daar su sistema, y sirve como un recordatorio de que usted est a punto de realizar acciones administrativas que requieren que usted tenga cuidado. Cada vez que usted escribe su contrasea, el sistema recuerda que durante 15 minutos a fin de que usted no tiene que escribirla de nuevo.Notas Hay que notar que siempre que usemos sudo el sistema nos pedir nuestra clave. La contrasea se guarda por defecto durante 15 minutos. Despus de ese tiempo, tendrs que volver a introducir tu contrasea. Tu contrasea no se mostrar en la pantalla, ni siquiera con los clsicos asteriscos, sin embargo, la estas escribiendo. 5. Para ejecutar las utilidades de configuracin grfica con sudo, simplemente lanza las aplicaciones desde el men. Para ejecutar un programa utilizando sudo que normalmente se ejecuta como usuario normal, como por ejemplo gedit presiona Alt+F2 y escribe gksudo gedit. Si eres usuario de Kubuntu, utiliza kdesu en vez de gksudo. Para utilizar sudo en la lnea de comandos, escribe sudo antes del comando.Sistema de archivos El sistema de archivos de Ubuntu est basado en el Filesystem Hierarchy Standard. Este es un estndar que con mayor o menor rigor siguen la mayora de las distribuciones GNU/Linux y algunos otros sistemas operativos basados en UNIX. Algunas de sus principales caractersticas son: Todo est organizado en una nica estructura de directorios. Todo est dentro del directorio raz, representado por el signo '/'. Todo es un archivo. Dentro de / est representado todo el sistema, los directorios y archivos presentes en los discos duros y dems dispositivos de almacenamiento montados, todo el hardware de la computadora, todos los procesos en ejecucin, etc... Cada cosa en su sitio y un sitio para cada cosa. Todos los directorios tienen una finalidad concreta, todos los contenidos tienen una ubicacin predeterminada segn su naturaleza y funcin. Aunque todo aparente formar parte de un nico sistema de archivos en realidad hay varios. Adems de los sistema de archivo de disco que contienen los archivos normales, incluye diversos sistemas de archivos virtuales que cumplen diversas funciones.Estructura de directorios Si listamos el contenido del directorio raiz desde la consola obtendremos algo parecido a esto: ls --almost-all bin dev boot doc-pak vmlinuz.old cdrom etc/ home initrd.imglib lib64media mntproc rootselinux srvtmp usrinitrd.img.oldlost+foundoptsbinsysvarvmlinuz El directorio raz es / De aqu cuelgan todos los directorios del sistema: /bin Aqu tenemos los programas bsicos que pueden lanzar todos los usuarios del sistema. /boot Aqu tenemos los archivos de configuracin del arranque del sistema (como por ejemplo GRUB) el Kernel y un disco RAM para el arranque (initrd). cdrom Antiguamente aqu se montaban los CD-ROM's. Actualmente es un enlace a /media/cdrom, est ah por compatibilidad con programas antiguos. /dev Aqu encontramos todos los dispositivos fsicos del sistema (todo nuestro 6. hardware). La mayora de su contenido es generado durante el arranque. /dev/disk contiene los archivos que representan las discos y sus particiones. /dev/psaux Representa al ratn. /dev/ram* Representa la memoria RAM. /etc Aqu encontramos los archivos de configuracin generales del sistema y los programas. /home Es un directorio donde tenemos los directorios personales de los usuarios. /home/(usuario) Es nuestro directorio personal. Aqu es donde guardaremos nuestros documentos, msica, pelculas, fotos y los archivos de configuracin personalizados de los programas que usamos.Tambin podemos referirnos a este directorio por su abreviatura '~' ~/Desktop Aqu tenemos nuestro escritorio. initrd.img Es un eslace a /boot/initrd-img-xxx, est ah por compatibilidad con programas antiguos. /lib Contiene las bibliotecas necesarias para que se ejecuten los programas que tenemos en /bin y /sbin. Si usas un sistema de 64bits tendrs un enlace lib64 que apunte a /lib. /lost+found Este directorio es usado por el programa fsck, cuando fsck no puede reparar completamente un sistema de archivos, guarda aqu todo lo que no sepa donde ubicar. /media Aqu encontramos todas las unidades fsicas que tenemos montadas. Discos duros, unidades de dvd, pendrive, ... /mnt Este ha sido el lugar tradicional para montar unidades, ha perdido gran parte de su funcin en favor de /media pero sigue siendo til para el montaje puntual de algunas cosas. /opt Es el lugar apropiado para la instalacin de programas que no forman parte de la distro y que pueden no encajar bien en la estructura de /usr /proc Su contenido representa a las procesos en ejecucin. Aqu se encuentra archivos que reciben o envan informacin al ncleo. Es un sistema de archivos virtual, en realidad en el disco duro ese directorio est vaco. /root Es el directorio personal del usuario root. /sbin Aqu se encuentran los ejecutables de los demonios (servicios) instalados en el sistema. /selinux selinux es un sistema que extiende el sistema de permisos tpico de Unix. /srv Pensado para contener los archivos compartidos por los servidores. No es muy usado. /sys Contiene informacin sobre el sistema y el kernel. Es un sistema de archivos virtual, en realidad en el disco duro ese directorio est vaco. /tmp Este directorio contiene informacin temporal de los programas. No se conserva su contenido, suele borrarse al arrancar el sistema. /usr Este directorio contiene los archivos de los programas no esenciales. Es el directorio ms grande del sistema. /usr/X11R6 Aqu tenemos los programas de X-Window, el servidor grfico. /usr/bin Aqu tenemos programas de uso general para los usuarios. /usr/doc Aqu tenemos documentacin de los programas. 7. /usr/etc Aqu tenemos archivos de configuracin de uso global. /usr/include Aqu tenemos las cabeceras de C y C++. Son archivos con extensin .h. Los programadores comprendern su significado. /usr/lib Aqu tenemos las bibliotecas de nuestros programas. /usr/man En este directorio encontramos los manuales (man). /usr/sbin Este directorio contiene los ejecutables de los demonios correspondientes a los programas de usuario. /usr/src Aqu se almacenan los cdigos fuentes de nuestros programas. /var Este directorio contiene informacin variable, como registros, datos de los servidores, etc. vmlinuz Suele ser un enlace a /boot/vmlinuz-xxx, est ah por compatibilidad con programas antiguos.Archivos de configuracin importantes Cmo editarlos Antes de editar cualquier archivo de configuracin es importante que realices una copia de seguridad del mismo. En ocasiones nos surge editar un archivo y no disponemos de entorno grfico, para ello podemos utilizar algn editor de texto como vi o nano: vi nano Archivos /etc/fstab Este archivo contiene informacin sobre los dispositivos que se montaran automticamente durante el arranque del sistema. /etc/apt/sources.list Aqu encontramos la lista de repositorios. /etc/passwd Este archivo controla el uso de usuarios, en contraseas, con permisos y grupos que pertenecen a cada usuario, archivo muy importante si uno quiere tener un superusuario adems que el ya conocido root. /boot/grub/menu.lst Aqu tenemos la configuracin de GRUB (gestor de arranque). /etc/X11/xorg.conf Este archivo contiene la configuracin del entorno grfico (pantalla, teclado, ratn, tarjeta grfica ...). /etc/network/interfaces interfaces Este archivo contiene los datos de configuracin de la red.Comandos de uso frecuente En esta pgina encontrs comandos que se utilizan habitualmente en la administracin de un sistema GNU/Linux (particularmente Ubuntu) a travs de la lnea de comandos. Ordenados por temtica. 8. Aclaracin sobre este artculo En el siguiente artculo se incluyen comandos acompaados de opciones/parmetros. Los elementos entre corchetes se han de escribir sin los corchetes a la hora de ponerlos en la consola. Ejemplo: Mostrar el contenido del fichero carta.txt En este artculo veramos: cat [fichero]pero en realidad tendremos que escribir en la consola: cat carta.txtFicheros y miscelnea Comando lsAccin Lista los archivos de un directorio concretoComentarios ls -l = Aade informacin sobre los atributos ls -a = Lista todos los archivos incluyendo los ocultos ls -R = Lista el contenido del directorio y todos sus subdirectorios recursivamente cat -n [fichero] = Muestra el contenido de un fichero numerando sus lineascat [fichero]Muestra el contenido de un ficheromore [fichero]Muestra un fichero de forma tabulada como una pgina del manless [fichero]Similar a more, permite tanto avanzar como retroceder entre las pginasecho [cadena]Repite la cadenaecho -e [cadena] = Habilita la interpretacin de caracteres de escapestat [fichero]Muestra el estado de un ficherostat -f [fichero] = Muestra el estado del sistema de ficherostail [archivo]Muestra las ultimas lineas de un archivotail -n [n] [archivo] = Muestra las ultimas n lineas del archivohead [archivo]Muestra las primeras lineas de un archivohead [n] [archivo] = Muestra las n primeras lineas de un archivoBusca las coincidencias con el patrn dentro del directorio y susfind [ruta] [patron] = Busca las coincidencias con el patronfind [patron] 9. subdirectoriosdentro de la ruta find [patron] -print = Busca las coincidencias y muestra la ruta completa de estas. find -size [tam] = Busca aquellos archivos menores que el tamao sealado man find = Muestra un listado las mltiples opciones y usos de findwhereis [programa]Busca la ruta donde se encuentra el programa, su ayuda, etc. grep cadena archivo = Muestra las lneas del archivo que contienen la cadenagrep [opciones] [expresin regular] nombredearchivoToma una expresin regular de la lnea de comandos, lee la entrada estndar o una lista de archivos, e imprime las lneas que contengan coincidencias para esa expresin regular. Tambin podemos redireccionar la salida de un determinado comando por medio de una tubera (Alt Gr+ 1) y filtrarla con grep usando la expresin regular como criterio.type [comando]Busca la ruta donde se encuentra el comandowhich [programa]Busca la ruta donde se encuentra el programa o comandopwdMuestra el directorio actualhistoryMuestra los comandos utilizados por el usuario en orden cronolgicofc -lMuestra los ltimos comandos usados por el usuarioeject [unidad ptica]Expulsa la unidad ptica seleccionada (Podemos encontrarlas en /media)eject -t [unidad ptica] = Cierra la bandeja de la unidad ptica (cdrom, dvd ...)cdCambia al home o al directorio raz si se lanza como rootcd [ruta] = Se desplaza al directorio especificado en la rutaps -ef | grep nombredeproceso = Lista los procesos que se estn ejecutando y que contengan la cadena nombredeproceso grep palabra * = Muestra todas las lneas que contienen la cadena "palabra" en una lista de archivos (donde "*" representa todos los archivos en el directorio actual)cd .. = Se mueve al directorio anterior cd ../.. = Se mueve dos 10. directorios atrs. cp [origen] [destino]Copia el archivo origen al directorio destinocp -R [origen] [destino] = Copia un directorio recursivamente (directorio y subdirectorios) cp -p [origen] [destino] = Copia preservando los permisos y las fechas cp [archivo] [archivo nombre cambiado] = Copia el archivo y lo cambia de nombremv [origen] [destino]Mueve al archivo origen al directorio destinomv [archivo] [archivo_nombre_cambiado] = Cambia de nombre un archivo mv se parece a cp, excepto que borra el archivo original despus de copiarlo. Se puede entender como la utilizacin conjunta de cp y rm. mv renombra un archivo (que es el primer parmetro) si el segundo parmetro es un archivo. Si el segundo parmetro es un directorio, mv mover el archivo al nuevo directorio, manteniendo el mismo nombre simple.mkdir [directorio]Crea un nuevo directorio dentro del directorio.rmdir [directorio vaco]Elimina el directorio vacorm [archivo]Elimina un archivo completamenterm -r [directorio] = Elimina un directorio recursivamente (directorio y subdirectorios)ln [archivo]Crea un enlace duro (mismo archivo con distintos nombre)ln -s [archivo] = Crea un enlace blandoCompara los dos ficherosdiff -w [fichero1] [fichero2] = Descarta el espacio en blanco cuando compara las lineasdiff [opciones] [fichero1] [fichero2]diff -q [fichero1] [fichero2] = Informa solo si los ficheros son distintos diff -y [fichero1] [fichero2] = Muestra la salida a dos columnas 11. passwdPermite al usuario cambiar su contraseasudo passwd = Permite al usuario cambiar o crear la contrasea de rootman comandoMuestra el manual de un comando, un paquete, etc. Resulta muy til para aprender a utilizar dicho comando, sus modificadores y argumentos.man aptitude = Nos despliega la ayuda de aptitude, sus opciones y posibilidades.clearLimpia la pantallaresetReinicia la terminaldateMuestra la hora y la fecha en formato completodate -u = Muestra la hora y fecha en formato completo en UTC date '+format' = Formatea la hora y la fecha -> date '+Dia: %m/%d/%y%n Hora:%H:%M: %S' man date = Muestra un listado con todos los posibles formatoswhoMuestra los usuarios que hay logeados en el sistemawhoamiMuestra la informacin del propio usuariowrite [user]Permite mandar un mensaje a un usuario conectado al sistema (valido para red), para finalizar pulsar Ctrl+DmesgMuestra el estado actual de la terminalmail [usuario]mesg [y | n] = Esta orden permite al usuario que la ejecuta habilitar (y) o inhibir (n) el permiso de escritura sobre su terminalPermite intercambiar correo electrnico con otros usuarios. Similar a write solo que el usuario no necesita estar conectado.unameMuestra el sistema UNIX sobre el que estamos trabajandouname -a = Muestra toda la informacin sobre el tipo de sistema que se esta utilizando uname -m = Muestra el tipo de arquitectura que se esta utilizando uname -s = Muestra el nombre del sistema 12. uname -n = Muesta el nombre por el que se identifica el sistema en la red uname -r = Muestra la revision (release) del kernel que estamos usuando uname -v = Muestra la version del kernel que estamos usando chmod [+|-][rwx] [archivo]Aade(+) o elimina(-) los permisos de lectura(r), escritura(w) o ejecucion(x) del archivo o directorio.g|o|a][+|-][rwx] [archivo] = Cambia los persmisos al usuario(u), grupo(g), otros(o) o a todos(a) chmod [mascara] [archivo] = Cambia los permisos al archivo segun la mascara, donde 000 quita todos los permisos y 777 da todos los permisos.umaskMuestra los permisos con los que el usuario creara sus archivos por defectochown [nuevo propietario] [archivos]Cambia de propietario a los archivoschgrp [grupo nuevo][archivos]Cambia de grupo a los archivosmkfs.msdos /dev/fd0Formatea en formato MsDos un disquettefdformat /dev/fd0Formatea en formato MsDos un disquette y despues verifica el formateosleep [tiempo]Congela la terminal durante los segundos especificadosexport [identificador] [=valor]Define, marca y/o asigna el identificador(es) como variables de entorno que seran exportada a los subprocesos que se generen.unset [identificador]Permite eliminar una variable identificada por su nombre o identificador|Redirecciona la salida de un comando con la entrada del siguiente comandoumask [mascara] = Fija los permisos que tendra por defecto cualquier archivo creado por el usuario. 777 quita todos los permisos y 000 da todos los permisos.Se escribe mediante Alt Gr + 1 13. alias Asigna un nombre simbolico a un nombre='comando' comandoEjecutables ComandoAccinsh nombredeejecutable.shEjecuta un archivo ejecutable .shComentarios bash nombredeejecutable.sh = Otra forma de ejecutar un archivo ejecutable .sh ./nombredeejecutable.sh = Otra forma de ejecutar un archivo ejecutable .shImpresin ComandoAccinComentarioslpr ficherolpr -#n fichero = Realiza "n" copias del Aade el fichero a la cola de fichero, donde n es un numero natural impresion (1,2,3,4,5 ...)lpqMuestra los documentos en la colalprmCancela la impresion del documento actuallprm nCancela la impresion del trabajo n, siendo n un numero natural. -t = No imprimira cabeceras ni pies de pagina l70 = Establece la longitud de la pgina de 70 lineas (66 por defecto)pr +2 l70 -w 80 -h Formatea un archivo de texto -w 80 = Establece el ancho de linea en "Comandos" fichero -t para la impresion 80 caracteres(72 por defecto). -h "Comandos" = Establece "Comandos" como cabecera de cada pgina. pr l70 -d comandos.txt | lprUna vez formateado el texto lo manda a la cola de impresionFormatos Comando tidy fichero.htmlAccin Analiza el codigo de un documento htmlComentarios tidy -m fichero.html = Corrige modificando el codigo del fichero html 14. tidy -m -asxml fichero.html = Convierte el fichero html a xml tidy -m -asxhtml fichero.html = Convierte el fichero html a xhtml tidy -m -ashtml fichero.xhtml = Convierte un fichero xhtml a html pdftops fichero.pdf fichero.psConvierte un fichero pdf a psCompresin y descompresin ComandoAccinComentarioszip -r fichero.zip ficherosComprime en formato .zipunzip archivo.zip = Descomprime un .ziprar a -r0 fichero.rar ficherosComprime los ficheros en unrar e -r archivo.rar = Descomprime el formato .rar fichero.rar en el directorio actualunzip -v archivo.zip = Muestra el contenido de un .zip sin descomprimirlounrar x -r archivo.rar ruta_destino = Extrae el fichero.rar en la ruta especificada unrar v archivo.rar = Muestra el contenido del fichero.rar sin descomprimirlo gzip -r ficherosComprime ficheros a gzgzip -d fichero.gz = Descomprime un fichero.gz gzip -c fichero.gz = Muestra el contenido de un fichero.gz sin descomprimirlobzip2 ficherosComprime ficheros al formato bz2bzip2 -d fichero.bz2 = Descomprime un fichero.bz2 bzip2 -c fichero.bz2 = Muestra el contenido de un fichero.bz2 sin descomprimirlotar -vcf archivo.tar /fichero1 /fichero2 ...Empaqueta ficheros o directorios en tartar -vxf archivo.tar = Desempaqueta el archivo.tar tar -vtf archivo.tar = Muestra el contenido del archivo.tar sin descomprimirlotar -zvcf archivo.tgz directoriotar -jvcf archivo.tbz2 directorioEmpaqueta y comprime (tgz) directorios o ficherostar -zvxf archivo.tgz = Desempaqueta y descomprime un archivo.tgzEmpaqueta y comprime (tbz2) directorios otar -jvxf archivo.tbz2 = Desempaqueta y descomprime el archivo.tbz2tar -zvtf archivo.tgz = Muestra el contenido de un tgz sin descomprimirlo ni desempaquetarlo 15. ficherostar -jvtf archivo.tbz2 = Muestra el contenido sin desempaquetar ni descomprimir el .tbz2Renombrado ComandoAccinComentarios *.zip indica el tipo de archivos a renombrar (llamado con * renombra todos). A-Z indica el patron a modificar.rename 'y/AZ/a-z/' *.zipCambia mayusculas por minisculas en todos los .zip.a-z indica el patron por el que se modifica. rename 'y/ /_/' * cambia espacios por _ en todos los archivos. rename 's/expresin //' *.mp3 = Elimina una expresion de todos los mp3.Grficos ComandoAccinglxinfoInformacion sobre OpenGl y GlxshowrgbComentarios glxinfo | grep "direct rendering" = Indica si esta activada la aceleracion 3DMuestra los colores reconocidos por el sistema y su codigo RGBbanner texto figlet textoMuestra un cartel ascii con el texto de forma verticalbanner -w[n] texto = Hace el banner con el tamao indicado por n, siendo n un numero (Sin los corchetes)Muestra un cartel ASCII con el texto de forma horizontalfiglet -w[n] texto = Similar a banner pero en formato horizontal figlet -t texto = La salida se mostrara con su anchura maxima figlet -c texto = La salida se mostrara centradaxwd > ventana.xwdCaptura una ventanaxwd -root -screen > pantalla.xwd = Captura la pantallagnome-screenshotCaptura la pantalla en el escritorio gnomegnome-screenshot --window = Captura la ventana en el escritorio gnome 16. import -window - ventana.jpgCaptura una ventana en cualquier formatoxwud -in pantalla.xwdMuestra imagenes en formato .xwdidentify imagen.gifMuestra las propiedades de una imagenpdfimages fichero.pdf nombre_para_las_imgenesExtrae las imagenes de un .pdfconvert *.jpg catlogo.pdfCrea un catalogo pdf con las imagenesdisplay "vid:*.jpg"Crea un indice grafico con las miniaturasconvert imgen_color.jpg -monochrome imgen_b/n.jpgConvierte una imagen a blanco y negroconvert imagen_original.ppm imagen_nueva.jpgCambia el formato de una imagenconvert -sample 100x50 imagen_original.jpg imagen_nueva.jpgCambia las dimensiones de una imagenmogrify -format jpg *.ppmConvierte a .jpg todas las imagenes .ppmmogrify -format png -sample 20%x20% *.jpgCrea miniaturas de varias imagenesconvert -delay 15 imag1.jpg imag2.jpg imag3.jpg remero.gifCrea un gif animado con varias imgenes (15 es el tiempo entre imagenes en centsimas)convert imagen.gif -adjoin imagen.jpgExtrae los fotogramas de un .gif animadoconvert -font courier -fill yellow -pointsize 25 -draw 'text Aade texto a una imagen 100,250 texto' imagen.jpg imagen_con_txt.jpgImgenes ComandoAccinmkisofs -R -J -T -o imagen1.iso fichero1Crea una imagen de un fichero que se encuentre en nuestro disco duro.dd if=/dev/cdrom of=imagen.isoCrea una imagen del cd-rom y la vuelca en imagen.isoComentarios 17. cat /dev/cdrom > archivo.isoSimilar al anteriornrg2iso imagen.nrg imagen.isoConvierte una imagen .nrg a .isoPara usar este comando es imprescindible instalar el paquete nrg2isobin2iso imagen.cueConvierte una imagen .bin o .cue a .isoPara usar este comando es imprescindible instalar el paquete bin2isoccd2iso imagen.img imagen.isoConvierte una imagen img/ccd/sub/cue a .isoPara usar este comando es imprescindible instalar paquete ccd2isomdf2iso imagen.mdf imagen.isoConvierte una imagen .mdf o .mds a .isoPara usar este comando es imprescindible instalar paquete mdf2isomount -t iso9660 -o loop imagen.iso punto_montajeMonta una imagen .isoumount punto_montajeDesmonta una imagenmd5sum archivo.iso > archivo.iso.txtGenera la suma md5 de un archivo .txtmd5sum -w -c archivo.iso.txtVerifica la suma md5 de un archivoGrabacin de CD y DVD ComandoAccincdrecord -v dev=0,0,0 fs=16M speed=30 imagen.isoGrabar un cd de datos/imagencdrecord -v dev=0,0,0 fs=16M speed=30 -eject -isosize /dev/sr1Copiar un cd de datos/imagencdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wavGrabar un cd de audiocdrdao copy -v 2 --device 0,0,0 --source-device 0,1,0 --reload--eject --on-the-fly --fast-toc --paranoiamode 0Copia un cd de audiocdrecord -v dev=0,0,0 fs=16M speed=30 -pad -audio *.wav -data imagen.isoGraba un cd mixtocdrecord -v blank=fastBorrar un cd regrabablegrowisofs -Z /dev/sr0 -R -J archivoGrabar un cd de datos/imagengrowisofs -M /dev/sr0 -R -J archivoAade ms datos a un dvd multisesinComentarios 18. growisofs -dvd-compat -Z /dev/sr0=imagen.isoGraba una imagen previamente creadadvdrecord -v dev=0,0,0 blank=fastBorra un dvd regrababledvdbackup -M -i/dev/sr0 -o ~/copia_dvd/Ripea un video dvdvobcopy -i /dev/sr0 -m -o ~/copia_dvd/Similar a la anteriorExtraccin de CD ComandoAccincdda2wav -B -H -D /dev/sr1 -s -xExtrae un disco de audio completo en archivos .wav separadoscdda2wav -H -D /dev/sr1 -s -x -t 5Extrae la pista nmero 5cdparanoia -B -d /dev/sr1Extrae un disco de audio completo en archivos .wav separadoscdparanoia 5 -d /dev/sr1ComentariosExtrae la pista nmero 5 abcde -d /dev/sr1 -N -x -o mpc = Extrae el disco completo en archivos .mpc separadosabcde -d /dev/sr1 -N -x -o mp3Extrae disco completo en archivos mp3 separados (es necesario instalar paquete abcde)abcde -d /dev/sr1 -N -x -o ogg = Extrae el disco en archivos .ogg separados abcde -d /dev/sr1 -N -x -o ogg tracks 1-3 5 = Extrae las 3 primeras canciones y la quintaAudio ComandoAccinComentarioslame -b 192 -m j tema.wavConvierte una cancion .wav a .mp3 con bitrate de 192Elvalor 192 puede cambiarse y la opcin -h indica mxima calidad)lame -h -m j --nogap *.wavConvierte todos los archivos .wav a .mp3oggenc -b 128 -q 5 tema.wavConvierte un archivo .wav a .ogg con bitrate de 128 (-b 128) y calidad 5 (-q 5) en un rango de 0 a 10.oggenc *.wav = Convierte todos los wav en un unico fichero ogg oggenc -a -l -t *.wav = Convierte todos los .wav en sus respectivos ogg 19. oggdec tema.ogg = Convierte un archivo .ogg a .wav oggdec *.ogg = Convierte todos los .ogg a .wav lame -h --decode Convierte un archivo .mp3 a .wav tema.mp3 tema.wav mplayer -ao pcm fichero.asfConvierte un archivo .asf o .wma a .wavplay cancionReproduce una cancion en la terminalVarios Comando man comandoAccin Muestra informacin sobre el comandoComentarios apropos palabra_clave = Busca dentro de las declaraciones de man la palabra exacta apropos -e palabra_clave = Busca la palabra exactacalMuestra el calendario del mes actualcal -my = Muestra el calendario de todo el aouptimeMuestra la hora,tiempo de funcionamiento,no usuarios conectados y la carga mediatzconfigPermite seleccionar la zona horariatzselectPermite seleccionar la zona horariadateMuestra la fecha del sistema en formato localhwclock --showMuestra el reloj Hardware o reloj hwclock -systohc = Pone el reloj de Bios Hardware a la hora del sistemawatch -n tiempo comandoEjecuta un comando cada x segundos (defecto = 2)clearLimpia la pantallaresetReinicia la terminalCtrl+CTermina un proceso.date --help = Muestra todas las opciones de date en castellanoCtrl+Z = Suspende temporalmente la ejecucin de un programa. Ctrl+S = Para la transferencia de datos a la terminal. Ctrl+Q = Resume,reinicia la 20. tranferencia de datos Ctrl+Alt+F2 = Salir del entorno grfico a un terminal.(Fn segn gettys activados en /etc/inittab) Ctrl+Alt+Supr = Estando en una terminal reinicia(si no se indica otra cosa en /etc/inittab) hostnameMuestra el nombre de la maquinattyMuestra el nombre del fichero de la terminal conectada a la salida estandar./etc/init.d/servicio stopPara un servicio o demonio/etc/init.d/servicio start = Inicia un servicio o demonio /etc/init.d/servicio restart = Reinicia un servicio o demoniostartxArranca el entorno graficosh scriptEjecuta un scriptjava -jar fichero.jarEjecuta un programa java./[archivo.bin]Ejecuta un archivo binario (tambin puede usarse con scripts)consolechars -f fuente.psf.gzCambiar la fuente de la consola. Las fuentes se encuentran en /usr/share/consolefonts/reportbugEnviar bugsexitTermina la ejecucion del programa actualshutdown -t1 -h nowApaga el pcsuEntrar como superusuarioadduser usuarioCrea un nuevo usuarioshutdown -t1 -r now = Reinicia el pcadduser usuario grupo = Aade un usuario existente a un grupo existente adduser --no-create-home usuario = Crea un usuario pero sin directorio personaladdgroup grupoCrea un grupo nuevodeluser usuarioElimina un usuariodeluser usuario grupo = Elimina un usuario del grupo especificado 21. deluser --remove-home usuario = Elimina un usuario y su directorio personal delgroup grupo --only-if-empty = Elimina el grupo solo si no tiene ningun usuariodelgroup grupo = Elimina el grupo usermod -l nuevo_loginCambia el nombre del usuariousermod -e AAAA-MM-DD loginFecha en que la cuenta de usuario sera desactivadagroupmod -n nuevo_nombre grupoCambia el nombre de un grupolocaleMuestra la zona geografica configuradadpkg-reconfigure localesReconfigura los localesdpkg-reconfigure console-dataReconfigura el tecladoloadkeys ruta_mapa_teclad o.gzCarga el mapa de teclado que le indicamos,que estar en: /usr/share/keymapslocale charmapMuestra el codigo de caracteres en usosetMuestra las variables locales definidasenvMuestra las variables de entorno definidasexportusermod -d nueva_home -m login = Cambia el nombre del usuario (lo crea si no existe) y tranfiere su contenido.Muestra las variables de entorno declaradasProcesos ComandoAccinmemtestHace una comprobacion del estado de la memoriafree -m -s 3Muestra el uso de la memoriatopMuestra informacin detallada sobreComentarios-m en megabytes -s 3 con una demora de 3 segundos 22. los procesos en curso (tecla z colorea los activos) pstreeMuestra los procesos en curso en forma de arbolpidof [comando]Muestra el id del comandokillall [proceso]Para el procesostrace [comando]Muestra las llamadas al sistema originadas por el comandofuser -v [archivo]Muestra los procesos que estan usando un archivo o directorio lsof -c [comando] = Lista los ficheros abiertos por un procesolsofLista los ficheros abiertos por los procesoslsof +D [Directorio] = Lista los procesos que estan usando el directorio lsof -i :60627 = Muestra los procesos que se encuentren detras del puerto 60627[comando] &Ejecuta un comando en segundo planonohup [comando] Ejecuta un comando de forma que si & cerramos la terminal siga ejecutandose jobsLista los procesos en segundo plano identificandolo con su numero de tareafg no_tareaPasa un comando a primer planobgPasa a segundo plano un proceso que hemos suspendido temporalmente con Ctrl-Znice -n prioridad [comando]Ejecuta un comando con una prioridad determinadarenice prioridad PID_del_procesoCambia la prioridad de un proceso en marchaat [-f script] [tiempo]Ejecuta un script a una hora y/o fecha concretasbatchIgual que at, salvo que batch slo ejecuta el script si la carga de cpu es inferior al 80%atq = Muestra la lista de tareas programadas de forma numerada atrm no = Elimina una tarea indentificada por su no 23. Disco duro ComandoAccindu -h [fichero]Muestra el espacio que ocupa el fichero o directoriotree -a -s -L 2Igual que el anterior pero lo muestra en forma de arboldfMuestra informacin sobre particiones montadascfdiskComentariosMuestra informacin sobre particionesmountMuestra un listado de los dispositivos montadosdf -h = Medida humanamount punto_montaje = Monta un dispositivo establecido en fstab umount punto_montaje = Desmonta un dispositivo establecido en el fstab mount -t [Sistema_Archivos] /dev/ [dispositivo] [punto_montaje] = Monta el dispositvo, ej: mount -t ext3 /dev/hda1 /media/disco1 umount /dev/[dispositivo] = Desmonta un discofsck /dev/[dispositivo] Chequea y repara el sistema de archivos de una particion no montadafsck.ext2 -vpf /dev/hdx = Chequea y repara el sistema de archivos de una particion ext2 no montada fsck.ext3 -vpf /dev/hdx = Igual pero con una particion ext3mkfs.ext2 /dev/hdXXCrea un sistema ext2 en la particion seleccionadamkfs.ext3 /dev/hdXX = Crea un sistema ext3 en la particion seleccionada mkfs.ext2 /dev/fd0 = Crea un sistema ext2 en el disquettemkswap /dev/hdXXCrea un sistema de ficheros swap en la particin hdXXtune2fs -O ^has_journal /dev/hdXXConvierte la particion de ext3 a ext2tune2fs -j /dev/hdXXConvierte la particion de ext2 a ext3dd if=/dev/hda of=/dev/hdb bs=1MClona el disco hda en el disco hdb en bloques de 1 Megabyte (para no sobrecargar el sistema) 24. dd if=/dev/hda of=mbr count=1 bs=512Copia el MBR (Master Boot Sector)dd if=/dev/hda2 Copia el VBS (Volume Boot of=/sector_arranque_ Sector) hda2 count=1 bs=512dd if=mbr of=/dev/hda = Restaura el MBR dd if=sector_arranque_hda2 of=/dev/hda2 = Restaura el VBSInstalacin de software ComandoAccinComentarios dpkg -r paquete = Desinstala un paquete dpkg --purge paquete = Desisntala un paquete y sus archivos de configuracion dpkg --force -r paquete = Fuerza la desinstalacion de un paquetedpkg -i paquetedpkg --force-all -r paquete = Fuerza aun mas la desinstalacion de un paquete (Puede comprometer el sistema) Instala un paquetedpkg -c paquete = Muestra el contenido de un paquete dpkg -L paquete = Muestra todos los ficheros que se instalaron con un paquete dpkg -S fichero = Muestra a que paquete pertenece un fichero dpkg --get-selections = Muestra un listado con todos los paquetes instalados dpkg-reconfigure paquete = Reconfigura el paquete aptitude upgrade = Actualiza el sistema (no instala ni elimina paquetes) aptitude dist-upgrade = Actualiza el sistema eliminando e instalando paquetes si fuera necesario aptitude install [paquetes] = Instala los paquetes indicadosaptitude updateActualiza la lista de paquetesaptitude reinstall [paquetes] = Reinstala los paquetes indicados aptitude remove [paquetes] = Elimina los paquetes indicados aptitude purge [paquetes] = Elimina los paquetes y sus ficheros de configuracion aptitude download [paquetes] = Descarga los paquetes en el directorio actual aptitude hold [paquetes] = Bloqua los paquetes indicados 25. aptitude unhold [paquetes] = Desbloquea los paquetes seleccionados aptitude unmarkauto [paquetes] = Desmarca paquetes como instalados manualmente aptitude markauto = Marca paquetes como instalados manualmente aptitude search [expresion] = Busca un paquete por nombre o expresion aptitude show [paquetes] = Muestra informacin detallada de un paquete aptitude clean = Elimina los paquetes .deb descargadosInformacin de hardware ComandoAccinsudo lshwLista tu hardwaresudo lshw -C diskLista tu hardware especifico (en este caso, discos)Comentarios-C es la abreviatura del comando -class, que hace lo mismo.sudo lshw -html > Lista tu hardware especfico y guarda un nombre_del_archivo.h archivo .html en tu directorio de usuario tml con toda la informacinKernel ComandoAccinComentariosuname -aVersion del kernellsmodLista los modulos cargadosmodinfo [mdulo]Muestra informacion sobre un modulomodprobe [mdulo]modprobe -r [mdulo] = Elimina Inserta un modulo y sus dependecias en un modulo del kernel y los que el kernel dependen de linsmod [mdulo] Inserta un modulo en el kernel rmmod [modulo] Elimina un modulo del kernel echo [mdulo] >> Inserta un modulo en el kernel /etc/modules permanentemente depmod [modulo]Comprueba las dependencias del modulomodconfPrograma grfico para cargar mdulos 26. last hdparm /dev/hdXMuestra los usuarios conectados y desconectados en los ultimos dias Verifica el DMA de nuestro disco (sustituir "hdX" por nuestro disco correspondiente)lsdevMuestra los dispositivos PCI conectadoslsusbhdparm -d1 /dev/hdX = Activar el dma en nuestro discoMuestra informacin sobre los dispositivoslspcihdparm -I /dev/hdx = Muestra informacin sobre el discoMuestra los dispositivos USB conectadosless /var/log/kern.logMensajes del nucleo.less /var/log/syslog = Registro de mensajes relativos a la seguridad. less /var/log/debug = Registro de informacin de depuracin de los programas. less /var/log/messages = Mensajes del sistema de carcter informativo. less /var/log/user.log = Informacin del usuario. less /var/log/XFree86.0.log = Informacin sobre las X less /var/log/Xorg.0.log = Informacin sobre las X less /var/log/auth.log = Accesos al sistema(incluye los intentos fallidos).lastLista los usuarios conectados/desconectados (fichero /var/log/wtmp).lastbMuestra los intentos de conexin fallidos (fichero /var/log/btmp).cdda2wav -scanbusComprobar el interfaz SCSI.cdrecord -scanbusComprobar el interfaz SCSI.cat /proc/meminfoInformacin sobre la memoria.cat /proc/cpuinfo = Informacin sobre el procesador. cat /proc/devices = Informacin sobre dispositivos en uso. 27. FTP Comando ftpAccinComentariosAbre la interface de usuario paraopen servidor = Conectar con el servidorel protocolo de transferencia de ficheros (FTP)append = Anexar a un archivo ? = Imprimir informacin de ayuda local bell = Emitir sonido cuando se complete el comando binary = Establecer transferencia binaria (todas salvo .txt) bye = Finalizar la sesin ftp y salir ascii = Establecer tipo de transferencia ascii (slo para .txt) cd = Cambiar el directorio de trabajo remoto close = Finalizar la sesin ftp ls = Mostrar el contenido del directorio remoto dir = Mostrar el contenido del directorio remoto delete = Eliminar archivo remoto debug = Alternar modo de depuracin get = Recibir archivo help = Ayuda sobre un comando 1-help y luego el comando lcd = Cambiar el directorio de trabajo local mdir = Mostrar el contenido de mltiples directorios remotos mdelete = Eliminar mltiples archivos mget = Obtener mltiples archivos mkdir = Crear directorio en el equipo remoto mls = Mostrar el contenido de mltiples directorios remotos mput = Enviar mltiples archivos open = Conectar a tftp remoto put = Enviar un archivo pwd = Imprimir el directorio de trabajo del equipo remoto 28. quit = Finalizar la sesin ftp y salir quote = Enviar un comando arbitrario ftp recv = Recibir archivo rename = Cambiar el nombre del archivo rmdir = Quitar directorio en el equipo remoto remotehelp = Obtener ayuda del servidor remoto send = Enviar un archivo status = Muestra el estado actual trace = Alternar trazado de paquetes type = Establecer el tipo de transferencia de archivos user = Enviar nueva informacin de usuario verbose = Alternar modo detalladoIRC Comando ircAccin Deberemos instalar el paquete irssi (sudo aptitude install irssi)Comentarios /server = Lista,aade o elimina servidores. /server [nombre:puerto:clave] = Conecta con un servidor. /info [servidor] = Obtener informacin sobre servidor. /lusers = Obtener estadsticas del servidor. /users = Usuarios conectados al servidor. /links = Lista los servidores de la red actual. /list = Lista e informa sobre los canales. /admin = Informa sobre el admin. del servidor. /help [comando] = Muestra la ayuda sobre un comando. /ison [nick] = Comprobar si un usuario est conectado. /join [canal] = Unirse a un canal. /names = Listar usuarios en canales. /whois [nick] = Muestra informacin sobre un usuario. /whowas [nick] = Informa sobre un usuario que ya no est. /who [patrn] = Muestra informacin sobre patrn. 29. /msg NiCK SET PASSWORD [clave] = Cambiar de contrasea(en irc-hispano) /msg [nick | canal][texto] = Envia un mensaje a un usuario o canal. /amsg [texto] 'a = Envia un mensaje a todos los canales en los que ests. /notice [nick | canal] = Envia un mensaje privado a un usuario/os /query [usuario texto] = Envia un mensaje privado a un usuario. /ignore = Lista los usuarios ignorados. /ignore nick = Ignora los mensajes de un usuario. /unignore [nick | *] = Deja de ignorar el/los mensajes. /ctcp [nick texto] = Envia un mensaje mediante CTCP /me [texto] = Envia un mensaje precedido de nuestro nick /ame [texto] = Envia un mensaje todos los canales en los que ests. /dcc [chat nick ] = Pide y/o inicia charla con un usuario. /dcc [close nick] = Cierra charla. /dcc [send nick fichero] = Ofrece y/o envia un fichero. /dcc [get nick fichero] = Permite recibir un fichero. /time = Muestra fecha y hora. /clear = Limpia la ventana de texto actual. /away [texto] = Pasar a estado ausente. /away = Volver de la ausencia. /nick [nuevonick] = Cambiar el nick. /nick [nuevonick][clave] = Cambiar un nick registrado. /nick [nick:contrasea] = Identificarse en irc-hispano. /part [canal] = Abandonar un canal. /quit = Cerrar todas las conexiones y salir.Calculadora Comando bcAccin Abrimos la calculadora bc.Comentarios 20 + 5.4 = Suma. 30. 77 - 4.2 = Resta. 25.2 * 86 = Multiplica. 47 / 3 = Muestra el cociente de la divisin. 47 % 3 = Muestra el resto de la divisin. 4 ^ 2 = Calcula la potencia 4 sqrt (16) = Calcula la raiz cuadrada de 16 (2*3+2) / sqrt (2^3/2.5) = Un poco de cada. quit = Salimos de bc.Redes ComandoAccinComentarios/ Inicia los servicios de red. etc/init.d/network ing start/etc/init.d/networking restart = Reinicia los servicios de red.ifconfig [interfaz opciones IP]ifconfig = Muestra el estado de los interfaces activos.Informacin y configuracin de interfaces de red./etc/init.d/networking stop = Para los servicios de red.ifconfig -a = Muestra el estado de todos los interfaces. ifconfig ppp0 = Muestra el estado de ppp0 ifconfig eth0 up = Activa eth0. ifconfig eth0 down = Cierra eth0. ifconfig eth1 address 192.168.1... = Asigna una direccin al interfaz especificado. iwconfigSimilar a ifconfig pero slo para interfaces wirelessifup interfaceHabilita la interface especificada.ifup eth0 ifup ppp0ifdown interfaceDeshabilita la interface especificada.ifdown eth0 ifdown ppp0dhclient eth0/eth1Inicia conexin dhcp mediante el cliente dhcp-client.pump -i eth0/eth1Inicia conexin dhcp mediante el cliente pump. 31. pppoeconfPrograma para configurar conexiones pppoe.pppconfigPrograma en modo texto para configurar una conexin ppp.ponEstablece la conexin ppp a internet.plogMonitoriza la conexin ppp.poffFinaliza la conexin ppp a internet.finger usuarioInforma sobre un usuario conectado al sistema.finger @servidor = Informa sobre todos los usuarios conectados a un servidor (nombre o IP) finger usuario@servidor = Informa sobre un usuario conectado a un servidor ping google.com = Verifica la conexin, en este caso con www.google.com (Ctrl+Z pone fin)traceroute microsoft.esMuestra la ruta que los paquetes de datos han seguido hasta la mquina de destino, en este caso un server de microsoft.esmtr rediris.esCombinacin de ping y traceroute.whois ubuntues.orgInformacin sobre un dominio, en este caso el dominio ubuntu-es.org.host -v -a telefonica.comDetermina la ip de un nombre. En este caso, la IP de telefonica.com.iptrafMonitoriza trfico de redes (ncurses).tetherealVersin para consola de ethereal,un analizador del trfico de red (sniffer).ettercapSniffer/interceptor/logger para redes LAN con switchs basado en ncurses.nmapEscner de puertos.fail2banEscanea logs como /var/log/auth.log y banea las IP con demasiados errores de conexin.snortSniffer de paquetes y un detector de intrusiones en una red (NIDS).aideDetector de intrusiones en un nico Servidor, PC o host.(HIDS).host -v -a 194.224.55.221 = Determina el nombre de una IP. En este caso, el nombre de 194.224.55.221. 32. portsentryIDS que detecta escaneos de puertos y reacciona a un ataque.chkrootkitDetector de rootkit.w3mNavegadores web.lynx irssi links weeChat-curses links2Clientes IRC (Internet Relay Chat) )elinks muttelinks es compatible con SSL, con lo que podremos acceder a correo web.Clientes de correo(MUA).cabber mush pine centericq elmCliente jabber (protocolo libre para mensajera instantnea). Cliente de mensajeria multiprotocolo (ICQ,Yahoo,AIM,MSN,IRC,Jabber)ncftpCliente FTP (File Transfer Protocol) basado en ncursesftp-sslCliente FTP compatible con cifrado SSL y TSL (dependiendo de la otra parte)telnet-sslCliente telnet (acceso remoto) compatible con cifrado SSL (dependiendo de la otra parte)sshCliente SSH (Secure SHell). Acceso remoto cifrado. Forma parte del paquete openssh-client Clientes bittorrent.Bittornado es una versin mejorada del cliente homnimo bittorrent.Entabla una conversacion con un usuario del sistema.talk usuario@sistema = Entabla conversacion con un usuario de otro sistema (entre mquinas UNIX)mesg -nAnula la notificacion de comunicacion de talk o write.mesg -y = Habilita la llegada de notificaciones de talk o write.write usuarioManda un mensaje a un usuario del sistema.rtorrent bittornado talk usuarionetstat -naptSaber qu puertos tiene abiertos nuestro sistema.-n = No resuelve las direcciones a sus nombres DNS. Esto hace ms rpida la ejecucin. -a = Muestra todos las conexiones,includas las que estn escuchando. -p = Muestra el nmero y nombre del proceso,dueo de dicha 33. conexin. -t = slo muestra conexiones tcp wget [opciones] URLGestor de descargas.-p = Descarga la web completa. -r = recursivo. -k = Convierte los enlaces absolutos en relativos. -c = Reanuda la descarga de un fichero parcialmente descargado. -l6 = profundidad de recursin (5 por defecto) -A formato = formato para descargar. -nH = hace que no se cree el subdirectorio localhost. --cut-dirs=n = elimina n nmero de directorios dentro de la jerarquia.Permisos El sistema de permisos de Linux es simple y efectivo. Existen tres tipos de permisos: Ejecucin: Si es para un archivo ser ejecutable y si es para un directorio significa que podemos pasar por l. Es representado por una X. Lectura: Si es para un archivo significa que podemos leerlo y si es un directorio es que podemos leerlo tambin. Es representado por una R. Escritura: Si es para un archivo ser que podemos escribir en l y si es para un directorio significa que podemos crear ficheros dentro de l. Es representado por una W Tambin existen tres tipos de roles sobre los que se aplican estos permisos. Un archivo pertenece a un usuario y a un grupo: Usuario: El propietario del archivo. Grupo: Grupo al que pertenece el archivo. Otros: Los dems usuarios. Veamos un ejemplo: $ ls -l pg_backup.sh -rwxr-x--- 1 pepito usuarios4532005-02-1709:35pg_backup.shEl archivo pg_backup.sh pertenece al usuario pepito y al grupo usuarios. Los permisos que tiene para el usuario son rwx lo que significa que el usuario pepito puede leer el archivo, escribir en l y ejecutarlo. Por la extensin vemos que es un script, por lo que es normal que se pueda ejecutar. Para el grupo tiene los permisos r-x. Eso significa que los miembros del grupo usuarios pueden leer el archivo y ejecutarlo, pero no modificarlo. Los permisos para los dems usuarios (otros) son ---, por lo que un usuario que no sea pepito ni pertenezca al grupo usuarios no podr leer, escribir ni ejecutar el archivo. 34. Consola El comando chmod se usa para designar los permisos de un archivo. Slo el dueo del archivo y el root pueden cambiar los permisos. La sintaxis de chmod es: chmod {a, u, g, o} {+, -} {r, w, x} nombre del archivodonde: u: corresponde al dueo del archivo g: corresponde al grupo o o a: corresponde al resto de los usuarios, a para todos (all) y o para otros (others)Para autorizar o desautorizar el permiso: +: autoriza -: desautoriza =: resetea los permisosLos tipos de permisos son: r: lectura w: escritura x: ejecucinEl comando chmod tambin acepta otros valores para cambiar los permisos. Es probable que hayas visto algo como: sudo chmod 751 [nombre del archivo]Es otro modo de gestionar los permisos; de forma binaria. El sistema es muy simple y cmodo: se considera un bit para lectura (r) otro para escritura (w) y otro para ejecucin (x). Las combinaciones posibles son ocho y se muestran en la tabla siguiente: Decimal r w x 00001001201030114100510161107111Un uno equivale a activar y un cero a desactivar los permisos. El equivalente decimal de los permisos se aplica en orden: dueo, grupo y cualquiera (u,g,a). Entonces en el ejemplo anterior el valor 751 acta: 1. Cediendo todos los permisos al dueo. 2. Cediendo permiso de lectura y ejecucin al grupo. 3. Cediendo permiso de ejecucin a cualquiera. 35. Cambio de propietario El cambio de propietario se hace empleando el comando chown : chown (propietario):(grupo) (archivo)Pondremos un ejemplo, supongamos que el usuario gaccardo desea darle una copia del archivo test.sxw al usuario pigu, el usuario pigu debe ser propietario de su copia para poder modificarla. Para esto debe cambiar el propietario y el grupo utilizando el comando chown. Haciendo "ls -l" nos encontramos con un fichero asi: -rwx-rw-r-- gaccardo gaccardo 435 sep 4 11:38 test.sxwPor lo que en este caso el usuario gaccardo (actual propietario) deber hacer : [gaccardo@servidor priv]chown pigu:pigu test.sxwSi vuelve a hacer "ls -l" encuentra que ha cambiado el actual propietario -rwx-rw-r-- pigu pigu 435 sep 4 11:38 test.sxwServicios en ubuntu:Para tener la lista completa de servicios, instala sysv-rc-conf: sudo apt-get install sysv-rc-conf Luego ejectalo: sudo sysv-rc-conf Importante: Los runlevel 0 y 6 tienen una funcin determinada en linux: Cerrar y reiniciar el sistema, respectivamente. En cambio, el resto de los runlevel, pueden configurarse para arrancar y parar determinados servicios. Ejemplo: El runlevel 0, que cierra el sistema, enva la seal terminar a todos los procesos, desactiva las particiones de intercambio, desmonta los sistemas de ficheros local y remoto, si lo hay, etc. Con independencia del runlevel seleccionado se ejecutarn todos los script/servicios de /etc/rcS.d/ El script /etc/init.d/rc recibe un argumento con el runlevel a arrancar. Va al directorio /etc/rcX.d/, donde X es el runlevel, y en dicho directorio hay enlaces simblicos que apuntan a scripts en /etc/init.d que son los que realmente arrancan los servicios e inicializan el teclado, sincronizan el reloj hardware, etc Los enlaces simblicos en /etc/rcX.d empiezan por S o K (start) o (kill), seguidos de dos dgitos y apunta a un script con el mismo nombre pero sin S ni K ni los dos dgitos en /etc/init.d Para que un servicio NO se cargue en el arranque cambiarle en /etc/rcX.d la S, de start, inicial por la K, de kill. sudo mv SnombreServicio KNombreServicio Para que SI se cargue : sudo mv KNombreServicio SNombreServicio Lo que hemos hecho es renombrar el enlace: sudo mv nombreantiguo nombrenuevo, o 36. ms exactamente en linux, mover el archivo dentro del mismo directorio con un nombre nuevo En ambos casos incluir los dos dgitos entre S K y el nombre del servicio. ste nmero indica el orden en que arrancar el servicio. A un nmero menor se arrancar antes que otro con uno mayor. Si lo que queremos es parar o arrancar un servicio despus del arranque del sistema: /etc/init.d/nombreServicio start/stop En Suse se puede utilizar el comando insserv para hacer tambin exactamente lo mismo: sudo insserv -r /etc/init.d/nombre_servicio Y para ponerlo: sudo insserv -d /etc/init.d/nombre_servicio Lo que hace insserv es crear o borrar los enlaces directos en el directorio del runlevel por defecto para que arranquen o no. (Crear/borrar del directorio /etc/init.d/rcX.d el enlace a /etc/init.d) Si por un error se borra el script de arranque de un servicio en /etc/init.d pero sigue su enlace en el runlevel por defecto /etc/rcX.d aparecer un error en el inicio indicando que no puede leer el script XX no existe el fichero