Imprimir esta Página

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.

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).

Fundamentos de Linux para ElastixLinux es un núcleo 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 unión de programas y tecnologías, a las que se les adicionan diversos programas de aplicación de propósitos específicos 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 más importante del mercado. Según 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 también es usado en el segmento de las computadoras de escritorio, portátiles, computadoras de bolsillo, teléfonos móviles, sistemas embebidos, videoconsolas y otros dispositivos.

Interprete de Comandos de Linux (Shell)

Linux ShellEl intérprete de comandos es la interfaz entre el usuario y el sistema operativo. Se le da el nombre en inglés de “shell“.

La shell actúa como un intermediario entre el sistema operativo y el usuario gracias a líneas de comando que este último introduce. Su función es la de leer la línea de comandos, interpretar su significado, llevar a cabo el comando y después 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 más común 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 configuración /etc/passwd en el último campo de la línea que corresponde al usuario. Es posible cambiar de shell durante una sesión. Para esto, sólo debe ejecutar el archivo ejecutable correspondiente, por ejemplo:

/bin/bash

Indicador del sistema

La shell se inicia al leer su configuración completa (en un archivo del directorio /etc/) y después al leer la configuración propia del usuario (en un archivo oculto cuyo nombre comienza con un punto y que se ubica en el directorio básico del usuario, es decir /home/user_name/.configuration_file). A continuación, aparece el siguiente indicador (prompt en inglés):

equipo:/directorio/actual$

De manera predeterminada, para la mayoría de las shells, el indicador consiste en el nombre del equipo, seguido de dos puntos (:), el directorio actual y después un carácter que indica el tipo de usuario conectado:

  • “$” especifica un usuario normal
  • “#” especifica el administrador, llamado “root

Linux 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 también llamado superusuario. Normalmente esta es la cuenta de administrador. El usuario root puede hacer muchas cosas que un usuario común no puede, tales como cambiar el dueño o permisos de archivos y enlazar a puertos de numeración pequeña. No es recomendable utilizar el usuario root para una simple sesión de uso habitual, ya que pone en riesgo el sistema al garantizar acceso privilegiado a cada programa en ejecución. 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 dañar 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 línea de comandos, simplemente escriba “su”  le pedirá la contraseña 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 recién llegados desde Windows, quizás no, es por este motivo que se debe tener mucha precaucion al usarlo.

Linea de comandos

Linux shellUna línea de comandos es una cadena de caracteres formada por un comando que corresponde a un archivo ejecutable del sistema o, más bien, un comando de shell como así también argumentos opcionales (parámetros):

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 jerárquica, de tipo árbol. El nivel más alto del sistema de archivos es / o directorio raíz. Todos los demás archivos y directorios están bajo el directorio raíz. 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 raíz (/).

Por debajo del directorio raíz (/) hay un importante grupo de directorios común a la mayoría de las distribuciones de GNU/Linux. A continuación hay una lista de los directorios que aparecen normalmente bajo el directorio raíz (/):

  • /bin – aplicaciones binarias importantes
  • /boot – Ficheros de configuración del arranque, núcleos y otros ficheros necesarios para el arranque (boot) del equipo.
  • /dev – los ficheros de dispositivo
  • /etc – ficheros de configuración, scripts de arranque, etc.
  • /home – directorios personales (home) para los diferentes usuarios.
  • /initrd – usado cuando se crea un proceso de arranque initrd personalizado.
  • /lib – librerías del sistema (libraries)
  • /lost+found – proporciona un sistema de “perdido+encontrado” (lost+found) para los ficheros que existen debajo del directorio raíz (/)
  • /media – particiones montadas (cargadas) automáticamente en el disco duro y medios (media) extraíbles como CDs, cámaras digitales, etc.
  • /mnt – sistemas de archivos montados manualmente en el disco duro.
  • /opt – proporciona una ubicación donde instalar aplicaciones opcionales (de terceros)
  • /proc – directorio dinámico especial que mantiene información sobre el estado del sistema, incluyendo los procesos actualmente en ejecución
  • /root – directorio personal del usuario root (superusuario); también llamado “barra-root”.
  • /sbinbinarios importantes del sistema
  • /srv – puede contener archivos que se sirven a otros sistemas
  • /sys – archivos del sistema (system)
  • /tmptemporary files
  • /usr – aplicaciones y archivos a los que puede acceder la mayoría 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 demás usuarios

Los permisos reales están 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 continuación:

  • 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
  • ejecución: 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
Descripción: =change dir. comando para cambiarnos de directorio.
Ejemplos: cd, cd /ruta/de/directorio, cd ../../directorio/

pwd
Descripción: nos dice en qué directorio nos encontramos actualmente
Ejemplos: pwd

ls
Descripción: =list. listar contenido de directorios.
Ejemplos: ls, ls -l, ls -fl, ls –color

cp
Descripción: =copy. copiar archivos/directorios.
Ejemplos:cp -rfp directorio /tmp, cp archivo archivo_nuevo

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

mkdir
Descripción: =make dir. crear directorios.
Ejemplos: mkdir directorio

rmdir
Descripción: =remove dir. borrar directorios, deben estar vacios.
Ejemplos: rmdir directorio

mv
Descripción: =move. renombrar o mover archivos/directorios.
Ejemplos: mv directorio directorio, mv fichero nuevo_nombre, mv fichero a_directorio

nano
Descripción: editor de archivo muy simple. Vi o emacs son otros editores.
Ejemplo: nano -w

clear
Descripción: limpia la pantalla. Ctrl-L tiene el mismo efecto.

exit
Descripción: termina la sesión del shell. Ctrl-D tiene el mismo efecto

date
Descripción: gestión de fecha de sistema, se puede ver y establecer.
Ejemplos: date, date 10091923

history
Descripción: muestra el historial de comandos introducidos por el usuario.
Ejemplos: history | more

more
Descripción: muestra el contenido de un archivo con pausas cada 25 lineas.
Ejemplos: more archivo
Al hacer more:
/cadena : podemos hacer búsqueda de cadena
f : adelante
b: volver arriba
v: iniciar vi en la linea que estamos
Nota: estas opciones también sirven para el comando man

grep
Descripción: filtra los contenidos de un archivo
Ejemplos:cat fichero | grep cadena, grep -il “cadena” directorio/

cat
Descripción: muestra todo el contenido de un archivo sin pausa alguna.
Ejemplos: cat fichero

chmod
Descripción: 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
Descripción: =change owner. cambia los permisos de usuario:grupo de
archivos/directorios.
Ejemplos: chown root:root fichero, chown pello:usuarios directorio -R

tar
Descripción: =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
Descripción: descompresor compatible con ZIP.
Ejemplos: gunzip archivo

rpm
Descripción: 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
Descripción: gestor de paquetes de Debian. Para instalar o actualizar software en el sistema.
Ejemplos: dpkg -i paquete.deb

alias
Descripción: para crear alias de comandos. Útil para comandos largos.

mount
Descripción: montar unidades de disco duro, diskette, cdrom.
Ejemplos: mount /dev/hda2 /mnt/lnx, mount /dev/hdb1 /mnt -t vfat

umount
Descripción: desmontar unidades.
Ejemplos: umount /dev/hda2, umount /mnt/lnx

who
Descripción: muestra los usuarios de sistema que han iniciado una sesion.
Ejemplos: who, w, who am i

sort
Descripción: ordena el contenido de un archivo.
Ejemplos: cat /etc/numeros | sort, ls | sort

ln
Descripción: =link. para crear enlaces, accesos directos.
Ejemplos: ln -s /directorio enlace

tail
Descripción: muestra el final (10 lineas) de un archivo.
Ejemplos:tail -f /var/log/maillog, tail -100 /var/log/maillog | more

head
Descripción: muestra la cabecera (10 lineas) de un archivo.
Ejemplos: head fichero, head -100 /var/log/maillog | more

file
Descripción: nos dice de que tipo es un archivo.
Ejemplos: file fichero, file *

cmp
Descripción: compara dos archivos y nos dice si son distintos
Ejemplos: cmp archivo1 archivo2

diff
Descripción: muestra las diferencias entre dos archivos. Muy usado para parchear software.
Ejemplos: diff archivo1 archivo2

wc
Descripción: word count, calcula número 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) Comando Linux
cd directorio cd directorio
dir, dir/w ls, ls -l
chdir (directorio actual) pwd
del (borra un archivo) rm
deltree (borra un directorio y todo su contenido) rm -r
copy cp
xcopy (copia todo el contenido de un directorio) cp -R
rename, move mv
type (imprime el contenido de un archivo a la pantalla) cat
help, [comando] /? man
cls (limpia la pantalla) clear
find (busca por una palabra(s) en un determinado archivo) grep
fc (compara 2 archivos y encuentra diferencias entre ellos) diff
set (muestra variable de entorno) env
set variable (fija una variable de entorno) export
edit nombre-de-archivo vi archivo, pico archivo, nano -w archivo (varios basados en el editor de tu preferencia)
attrib +h archivo (fija un archivo como oculto) mv file .file
mem (muestra la memoria disponible) free, top
scandisk fsck
defrag c:\ debugfs
format mke2fs, mk32fs -j, mkreiserfs, mkswap, etc. (varios basados en el sistema de archivos de tu preferencia)
pkzip (crea un paquete de archivos) tar, utilizado en conjunto con gzip para compresión)
tracert traceroute
ipconfig (visualiza dirección IP y configuración de red) ifconfig
nbtstat -a nombrehost (toma la información DNS de un determinado host) nslookup nombrehost
route print (muestra tablas de ruteo) route -n
net send host/ip message (envia un mensaje a otro computador) smbclient -M Windows Host, talk (Linux hosts)

El editor de Vi en Linux

A pesar de su ergonomía muy limitada, Vi es uno de los editores de texto más populares de los sistemas Unix (con Emacs, nano y pico). En Linux, hay una versión 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 práctico, es muy eficaz y puede ser muy útil en caso de que falle la interfaz gráfica.

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 ningún 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 introducción de comandos.
  • Modo de inserción: Este modo permite la inserción de caracteres que se capturan dentro del documento. Para pasar al modo de inserción, 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 Descripción
:q Salir del editor (sin guardar la información)
:q! Obliga al editor a cerrarse sin guardar la información (incluso si se realizaron cambios en el documento)
:wq Guarda el documento y cierra el editor
:filenombre Guarda el documento con el nombre especificado

Comandos de edicion

Comando Descripción
x Elimina el carácter que está en ese momento bajo el cursor
dd Elimina la línea que está en ese momento bajo el cursor
dxd Elimina x líneas 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 líneas a la derecha empezando por la que en ese momento está bajo el cursor
x<< Indenta x líneas 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, sólo introduzca / seguido de la cadena de caracteres que se buscarán. Después pulse la tecla Enter para confirmar. Utilice la tecla n para ir de aparición en aparición.

Para reemplazar una cadena de caracteres por otra en una línea, 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

En Vi es posible copiar y pegar una selección de líneas. Para hacerlo, sólo debe introducir el siguiente comando para copiar n líneas:

nyy
Para hacer esto, sólo debe introducir el siguiente comando para copiar n líneas: nyy

Por ejemplo, el siguiente comando copiará 16 líneas en el portapapeles:

16yy

Para pegar la selección, sólo debe introducir la letra p.

El proceso de cortar y pegar n líneas es similar mediante el comando:

ndd

Después, introduzca la tecla p para pegar.



Descargar Tutoriales de Elastix

 

!!! AYUDANOS A MANTENER ESTE SITIO ACTIVO…!!!

Si piensas que te hemos ayudado y merecemos tu apoyo. !!! GRACIAS !!!

Cuando lo hagas tendras acceso inmediato a la documentacion en formato PDF para que la descargues. Encontraras tambien otros tutoriales mas avanzados no publicados en el sitio. Si no puedes o no quieres, no hay problema igual tendras acceso a toda la informacion publicada en este sitio.

!!CLICK AQUI.!! para ver Tutoriales a descargar

!!! GRACIAS POR TU DONACION !!!





52,165 total views, 27 views today

Enlace permanente a este artículo: http://elastixtech.com/curso-basico-de-elastix/fundamentos-de-linux/