You are on page 1of 11

Fundamentos de Linux Como parte del tutorial de Fundamentos de Linux he incorporado un Emulador de Linux, que corre dentro del

navegador, no es necesario instalar nada en tu computadora. Aunque todas las distribuciones de Linux tienen interfaz grafica parecida a MS-Windows, es muy frecuente el uso de terminales en modo texto, en especial para la gestion y administracion de servidores en forma remota, el servidor de Elastix no instala ninguna interfaz grafica para la administracion de Linux propiamente , lo que hace importante el conocimiento de los comandos de uso frecuente y como utilizarlos desde la linea de comandos (CLI). EMULADOR DE LINUX Puedes practicar los comandos basicos de linux en el siguiente emulador de terminal Linux. Si no te carga intenta refrescar la pagina, la primera vez tarda unos 15 segundos en cargar; de preferencia utiliza Mozilla Firefox, no funciona con todos los navegadores. Para ingresar unicamente da Clic sobre la pantalla negra y tendras acceso a la consola, como si estubieras en una sesion remota en un servidor Linux con privilegios de root. Get a better browser! Una vez tengas acceso a la linea de comandos (indicador o prompt verde) comienza ejecutando los siguientes comandos para que veas como funciona:, tomar en cuenta que Linux es sensible a mayusculas y minusculas. clear cd / ls -l uname -a pwd date cal -y "Utiliza las teclas de las flechas arriva y abajo" CURSO BASICO DE COMANDOS LINUX Elastix es una distribucion de Asterisk, que incorpora una plataforma completa para la implementacion de un sistema de Telefonia IP y Comunicaciones Unificadas, utiliza como sistema operativo base la distribucion Linux Centos. Aunque la administracion del servidor Elastix para configurar todas las funcionalidades de la PBX-IP se realiza por medio de una interfaz grafica Web, este no incorpora por defecto ningun interfaz grafica de gestion del servidor Linux como tal, todas las operaciones se realizan directamente en modo texto o linea de comandos, es por esto la importancia de conocer los fundamentos de gestion de un servidor Linux asi como el uso de los comandos mas importantes y utilizados en la gestion del mismo, en modo texto o Linea de Comandos (CLI).

Linux es un ncleo libre de sistema operativo basado en Unix. Es uno de los principales ejemplos de software libre. Linux est licenciado bajo la GPL v2 y est desarrollado por colaboradores de todo el mundo. A las variantes de esta unin de programas y tecnologas, a las que se les adicionan diversos programas de aplicacin de propsitos especficos o generales se las denomina distribuciones. Su objetivo consiste en ofrecer ediciones que cumplan con las necesidades de un determinado grupo de usuarios. Algunas de ellas son especialmente conocidas por su uso en servidores y supercomputadoras donde tiene la cuota ms importante del mercado. Segn un informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500 servidores del mundo, otro informe le da una cuota de mercado de 89% en los 500 mayores supercomputadores Con menor cuota de mercado el sistema GNU/Linux tambin es usado en el segmento de las computadoras de escritorio, porttiles, computadoras de bolsillo, telfonos mviles, sistemas embebidos, videoconsolas y otros dispositivos. Interprete de Comandos de Linux (Shell) El intrprete de comandos es la interfaz entre el usuario y el sistema operativo. Se le da el nombre en ingls de shell. La shell acta como un intermediario entre el sistema operativo y el usuario gracias a lneas de comando que este ltimo introduce. Su funcin es la de leer la lnea de comandos, interpretar su significado, llevar a cabo el comando y despus arrojar el resultado por medio de las salidas. La shell es un archivo ejecutable que debe interpretar los comandos, transmitirlos al sistema y arrojar el resultado. Existen varios shells. La ms comn es sh (llamada Bourne shell), bash (Bourne again shell), csh (C Shell), Tcsh (Tenex C shell), ksh (Korn shell) y zsh (Zero shell). Generalmente, sus nombres coinciden con el nombre del ejecutable. Cada usuario tiene una shell predeterminada, la cual se activar cuando se abra un indicador del comando. La shell predeterminada se especifica en el archivo de configuracin /etc/passwd en el ltimo campo de la lnea que corresponde al usuario. Es posible cambiar de shell durante una sesin. Para esto, slo debe ejecutar el archivo ejecutable correspondiente, por ejemplo: /bin/bash Indicador del sistema La shell se inicia al leer su configuracin completa (en un archivo del directorio /etc/) y despus al leer la configuracin propia del usuario (en un archivo oculto cuyo nombre comienza con un punto y que se ubica en el directorio bsico del usuario, es decir /home/user_name/.configuration_file). A continuacin, aparece el siguiente indicador ( prompt en ingls): equipo:/directorio/actual$

De manera predeterminada, para la mayora de las shells, el indicador consiste en el nombre del equipo, seguido de dos puntos (:), el directorio actual y despus un carcter que indica el tipo de usuario conectado:

$ especifica un usuario normal # especifica el administrador, llamado root

El usuario root en GNU/Linux es el usuario que tiene acceso administrativo al sistema. Los usuarios normales no tienen este acceso por razones de seguridad. En sistemas operativos del tipo Unix, root es el nombre convencional de la cuenta de usuario que posee todos los derechos en todos los modos (mono o multi usuario). root es tambin llamado superusuario. Normalmente esta es la cuenta de administrador. El usuario root puede hacer muchas cosas que un usuario comn no puede, tales como cambiar el dueo o permisos de archivos y enlazar a puertos de numeracin pequea. No es recomendable utilizar el usuario root para una simple sesin de uso habitual, ya que pone en riesgo el sistema al garantizar acceso privilegiado a cada programa en ejecucin. Es preferible utilizar una cuenta de usuario normal y utilizar el comando su para acceder a los privilegios de root en caso de ser necesario. Esto asegura que aplicaciones incontroladas no puedan daar su sistema, y sirve como recordatorio de que est a punto de realizar acciones administrativas que requieren que tenga cuidado. Para usar su en la lnea de comandos, simplemente escriba su le pedir la contrasea de root. Todos los archivos de un sistema Linux tienen permisos que permiten o impiden a otros verlos, modificarlos o ejecutarlos. El superusuario root tiene acceso a cualquier archivo del sistema. Los usuarios con algo de experiencia en GNU/Linux ya conocen la importancia de los privilegios de root. Los recin llegados desde Windows, quizs no, es por este motivo que se debe tener mucha precaucion al usarlo. Linea de comandos Una lnea de comandos es una cadena de caracteres formada por un comando que corresponde a un archivo ejecutable del sistema o, ms bien, un comando de shell como as tambin argumentos opcionales (parmetros): ls -al /home/elastixtech/ En el comando anterior, ls es el nombre del comando, -al /home/elastixtech/ son argumentos. Los argumentos que comienzan con - se denominan opciones. Por lo general, para cada comando, hay una cierta cantidad de opciones que se pueden detallar al introducir uno de los siguientes comandos: comando help comando -? man comando

Directorios y sistemas de archivos En Linux y Unix todo es un archivo. Los directorios son archivos, los archivos son archivos, y los dispositivos son archivos. A veces a los dispositivos se les llama nodos, pero siguen siendo archivos. Los sistemas de archivos de Linux y Unix se organizan en una estructura jerrquica, de tipo rbol. El nivel ms alto del sistema de archivos es / o directorio raz. Todos los dems archivos y directorios estn bajo el directorio raz. Por ejemplo, /home/elastixtech/cheeses.odt muestra la ruta completa al archivo cheeses.odt que est en el directorio elastixtech, que a su vez est bajo el directorio home, que por su parte est bajo el directorio raz (/). Por debajo del directorio raz (/) hay un importante grupo de directorios comn a la mayora de las distribuciones de GNU/Linux. A continuacin hay una lista de los directorios que aparecen normalmente bajo el directorio raz (/):

/bin aplicaciones binarias importantes /boot Ficheros de configuracin del arranque, ncleos y otros ficheros necesarios para el arranque (boot) del equipo. /dev los ficheros de dispositivo /etc ficheros de configuracin, scripts de arranque, etc. /home directorios personales (home) para los diferentes usuarios. /initrd usado cuando se crea un proceso de arranque initrd personalizado. /lib libreras del sistema (libraries) /lost+found proporciona un sistema de perdido+encontrado (lost+found) para los ficheros que existen debajo del directorio raz (/) /media particiones montadas (cargadas) automticamente en el disco duro y medios (media) extrables como CDs, cmaras digitales, etc. /mnt sistemas de archivos montados manualmente en el disco duro. /opt proporciona una ubicacin donde instalar aplicaciones opcionales (de terceros) /proc directorio dinmico especial que mantiene informacin sobre el estado del sistema, incluyendo los procesos actualmente en ejecucin /root directorio personal del usuario root (superusuario); tambin llamado barra-root. /sbin binarios importantes del sistema /srv puede contener archivos que se sirven a otros sistemas /sys archivos del sistema (system) /tmp temporary files /usr aplicaciones y archivos a los que puede acceder la mayora de los usuarios /var archivos variables como archivos de registros y bases de datos

Todos los archivos de un sistema Linux tienen permisos que permiten o impiden a otros verlos, modificarlos o ejecutarlos. El superusuario root tiene acceso a cualquier archivo del sistema. Cada archivo tiene restricciones de acceso, restricciones de usuario y est asociado a un propietario y un grupo. Cada archivo est asegurado por las tres capas de permisos siguientes, en orden de importancia:

usuario: se aplica al usuario que es el propietario del archivo

grupo: se aplica al grupo asociado al archivo otros: se aplica a todos los dems usuarios

Los permisos reales estn dentro de cada uno de los tres conjuntos de permisos. Los permisos, junto con los distintos modos en que afectan a los archivos y a los directorios, se describen a continuacin:

lectura: los archivos pueden ser visualizados/abiertos, el contenido del directorio se puede visualizar escritura: los archivos se pueden modificar o eliminar, el contenido del directorio se puede modificar ejecucin: los archivos ejecutables se pueden arrancar como un programa, se puede entrar en los directorios.

Comandos de administracion de archivos en Linux Estos son los comandos tipicos/comunes de administracion de archivos de linux/unix cd Descripcin: =change dir. comando para cambiarnos de directorio. Ejemplos: cd, cd /ruta/de/directorio, cd ../../directorio/ pwd Descripcin: nos dice en qu directorio nos encontramos actualmente Ejemplos: pwd ls Descripcin: =list. listar contenido de directorios. Ejemplos: ls, ls -l, ls -fl, ls color cp Descripcin: =copy. copiar archivos/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 archivos/directorios. Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero a_directorio nano Descripcin: editor de archivo muy simple. Vi o emacs son otros editores. Ejemplo: nano -w clear Descripcin: limpia la pantalla. Ctrl-L tiene el mismo efecto. exit Descripcin: termina la sesin del shell. Ctrl-D tiene el mismo efecto date Descripcin: gestin 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 archivo con pausas cada 25 lineas. Ejemplos: more archivo Al hacer more: /cadena : podemos hacer bsqueda de cadena f : adelante b: volver arriba v: iniciar vi en la linea que estamos Nota: estas opciones tambin sirven para el comando man grep Descripcin: filtra los contenidos de un archivo Ejemplos:cat fichero | grep cadena, grep -il cadena directorio/ cat Descripcin: muestra todo el contenido de un archivo sin pausa alguna. Ejemplos: cat fichero chmod Descripcin: cambia los permisos de lectura/escritura/ejecucion de archivos/directorios. Ejemplos: chmod +r fichero, chmod +w directorio, chmod +rw directorio -R, chmod -r fichero chmod +x fichero : da permiso de ejecucion

chown Descripcin: =change owner. cambia los permisos de usuario:grupo de archivos/directorios. Ejemplos: chown root:root fichero, chown pello:usuarios directorio -R tar Descripcin: =Tape ARchiver. archivador de archivos. Ejemplos: tar cvf fichero.tar directorio , tar xvf archivo.tar, tar zcvf archivo.tgz directorio, tar zxvf archivo.tgz gunzip Descripcin: descompresor compatible con ZIP. Ejemplos: gunzip archivo rpm Descripcin: gestor de paquetes de redhat, fedora y Centos. Para instalar o actualizar software de sistema. Ejemplos: rpm -i paquete.rpm, rpm -qa programa, rpm force paquete.rpm, rpm -q info programa dpkg Descripcin: gestor de paquetes de Debian. Para instalar o actualizar software en el sistema. Ejemplos: dpkg -i paquete.deb alias Descripcin: para crear alias de comandos. til para comandos largos. 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 who Descripcin: muestra los usuarios de sistema que han iniciado una sesion. Ejemplos: who, w, who am i sort Descripcin: ordena el contenido de un archivo. 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 archivo. Ejemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more head Descripcin: muestra la cabecera (10 lineas) de un archivo. Ejemplos: head fichero, head -100 /var/log/maillog | more file Descripcin: nos dice de que tipo es un archivo. Ejemplos: file fichero, file * cmp Descripcin: compara dos archivos y nos dice si son distintos Ejemplos: cmp archivo1 archivo2 diff Descripcin: muestra las diferencias entre dos archivos. Muy usado para parchear software. Ejemplos: diff archivo1 archivo2 wc Descripcin: word count, calcula nmero de palabras y otros datos similares de un archivo. Ejemplos: wc archivo, wc -l archivo Tabla comandos de uso frecuente en Linux Comando DOS (Consola Windows) cd directorio dir, dir/w chdir (directorio actual) del (borra un archivo) deltree (borra un directorio y todo su contenido) copy xcopy (copia todo el contenido de un directorio) rename, move type (imprime el contenido de un archivo a la pantalla) help, [comando] /? cls (limpia la pantalla) find (busca por una palabra(s) en un determinado archivo) fc (compara 2 archivos y encuentra diferencias entre ellos) set (muestra variable de entorno) set variable (fija una variable de entorno) Comando Linux cd directorio ls, ls -l pwd rm rm -r cp cp -R mv cat man clear grep diff env export

Comando DOS (Consola Windows) edit nombre-de-archivo attrib +h archivo (fija un archivo como oculto) mem (muestra la memoria disponible) scandisk defrag c:\ format pkzip (crea un paquete de archivos)

tracert ipconfig (visualiza direccin IP y configuracin de red) nbtstat -a nombrehost (toma la informacin DNS de un deternslookup nombrehost minado host) route print (muestra tablas de ruteo) route -n net send host/ip message (envia un mensaje a otro compu- smbclient -M Windows Host, talk tador) (Linux hosts) El editor de Vi en Linux

Comando Linux vi archivo, pico archivo, nano -w archivo (varios basados en el editor de tu preferencia) mv file .file free, top fsck debugfs mke2fs, mk32fs -j, mkreiserfs, mkswap, etc. (varios basados en el sistema de archivos de tu preferencia) tar, utilizado en conjunto con gzip para compresin) traceroute ifconfig

A pesar de su ergonoma muy limitada, Vi es uno de los editores de texto ms populares de los sistemas Unix (con Emacs, nano y pico). En Linux, hay una versin gratuita de Vi denominada Vim (Vi Improved [mejorada]). Vi (que se pronuncia vi-i) es un editor completamente en modo texto, lo cual significa que todas las acciones se llevan a cabo con la ayuda de comandos de texto. Si bien en principio este editor parece tener poco uso prctico, es muy eficaz y puede ser muy til en caso de que falle la interfaz grfica. La sintaxis para abrir Vi es la siguiente: vi nombre_del_archivo Una vez que se abri el archivo, podr desplazarse en l con los cursores o las teclas h, j, k y l (si el teclado no posee ningn cursor de flecha). Modos Vi Vi posee tres modos operativos:

Modo regular: ste es el modo que introduce cada vez que abre un archivo. Este modo permite la introduccin de comandos.

Modo de insercin: Este modo permite la insercin de caracteres que se capturan dentro del documento. Para pasar al modo de insercin, simplemente pulse la tecla Insert en su teclado o la tecla i predeterminada. Modo de reemplazo: Este modo le permite reemplazar el texto existente por el texto que captura. Solo pulse r nuevamente para ir al modo de reemplazo y pulse la tecla Esc para regresar al modo regular.

Comandos basicos Comando :q Descripcin Salir del editor (sin guardar la informacin) Obliga al editor a cerrarse sin guardar la informacin (incluso si se realizaron cambios :q! en el documento) :wq Guarda el documento y cierra el editor :filenombre Guarda el documento con el nombre especificado Comandos de edicion Comando Descripcin x Elimina el carcter que est en ese momento bajo el cursor dd Elimina la lnea que est en ese momento bajo el cursor dxd Elimina x lneas empezando por la que en ese momento est bajo el cursor nx Elimina n caracteres empezando por el que en ese momento est bajo el cursor x>> Indenta x lneas a la derecha empezando por la que en ese momento est bajo el cursor x<< Indenta x lneas a la izquierda empezando por la que en ese momento est bajo el cursor Buscar y reemplazar Para buscar una palabra en un documento, en modo regular, slo introduzca / seguido de la cadena de caracteres que se buscarn. Despus pulse la tecla Enter para confirmar. Utilice la tecla n para ir de aparicin en aparicin. Para reemplazar una cadena de caracteres por otra en una lnea, encontrar un comando muy eficaz en Vi al utilizar las expresiones regulares. Su sintaxis es la siguiente::s/chaine_a_remplacer/chaine_de_remplacement/ :s/cadena_a_ser_reemplazada/cadena_de_reemplazo/ Se puede realizar el reemplazo a lo largo de todo el documento con la siguiente sintaxis: %s/chaine_a_remplacer/chaine_de_remplacement/ :%s/cadena_a_ser_reemplazada/cadena_de_reemplazo/ Copiar y pegar y cortar y pegar

10

En Vi es posible copiar y pegar una seleccin de lneas. Para hacerlo, slo debe introducir el siguiente comando para copiar n lneas: nyy Para hacer esto, slo debe introducir el siguiente comando para copiar n lneas: nyy Por ejemplo, el siguiente comando copiar 16 lneas en el portapapeles: 16yy Para pegar la seleccin, slo debe introducir la letra p. El proceso de cortar y pegar n lneas es similar mediante el comando: ndd Despus, introduzca la tecla p para pegar.

11