miércoles, 9 de abril de 2014

Comandos Basicos LINUX

4.4   Comandos Básicos de LINUX


En el entorno de trabajo Linux se tendrán que tener conocimiento sobre ciertos comandos ya que es más fácil trabajar por medio de la consola cuando se está trabajando con más usuarios o con sistemas operativos que no cuentan con un ambiente grafico por motivos de recursos etc.


4.4.1    Gestión de Archivos y Directorios

ls


Lista el contenido de directorios del sistema, la cual puede contener algunos argumentos como son los siguientes:

-a  (all): se muestran archivo y directorios ocultos
-l    : Lista el formato largo del archivo
-m : lista los archivos separándolos por una coma
-S  : Lista los archivos por tamaño
-X   : lista los archivos mostrándolos por orden alfabético
-1 :   muestra los archivo 1 por línea.

Ejemplo:

Maquina1@vm-1:/etc$ ls -ls                                                 
total 912
-rw-r--r-- 1 root root    2981 Dec  3 02:43 adduser.conf
drwxr-xr-x 2 root root   12288 Dec  3 03:09 alternatives
drwxr-xr-x 7 root root    4096 Dec  3 02:52 apache2
drwxr-xr-x 3 root root    4096 Dec  3 02:48 apm
drwxr-xr-x 3 root root    4096 Dec  3 02:49 apparmor
drwxr-xr-x 8 root root    4096 Dec  3 03:05 apparmor.d
drwxr-xr-x 6 root root    4096 Dec  3 02:53 apt
drwxr-xr-x 2 root root    4096 Dec  3 03:04 at-spi2
drwxr-xr-x 3 root root    4096 Dec  3 02:47 auth-client-config
-rw-r--r-- 1 root root    2208 Dec  3 02:59 bash.bashrc
-rw-r--r-- 1 root root      45 Jun 17  2012 bash_completion
drwxr-xr-x 2 root root    4096 Dec  3 03:08 bash_completion.d
-rw-r--r-- 1 root root     356 Jan  1  2012 bindresvport.blacklist
-rw-r--r-- 1 root root     321 Feb  4  2013 blkid.conf


pwd

Imprime en pantalla la ruta completa del directorio donde se encuentre actualmente, no tiene parámetros su ejecución es sencilla.

ejemplo:

Maquina1@vm-1:~$ pwd

/home/ Maquina1

Maquina1@vm-1:~$ cd /etc

Maquina1@vm-1:/etc$ pwd                                                     

/etc


cd

Permite cambiar de directorio mediante una sintaxis basica cd ,si se teclea cd sin argumentos retornara al directorio HOME del usuario en cuestion.

ejemplo:

Maquina1@vm-1:/$ pwd                                                        
/
Maquina1@vm-1:/$ ls  
                                                       
bin   dev  home  lib64       media  opt   PublicKey  run   selinux  sys  usr
boot  etc  lib   lost+found  mnt    proc  root       sbin  srv      tmp  var

Maquina1@vm-1:/$ cd home/Maquina1/
Maquina1@vm-1:~$ pwd
/home/ Maquina1

Maquina1@vm-1:~$ cd /

Maquina1@vm-1:/$ pwd
/


mkdir

Permite crea directorios puede contener los siguientes argumentos.

-p    (padres):   crea los directorios padres si es que no existen
-v   (verbose):  imprime un mensaje por cada directorio creado

Maquina1@vm-1:~/ Maquina1$ ls -l
total 0

Maquina1@vm-1:~/ Maquina1$ mkdir uno 
                                         
Maquina1@vm-1:~/ Maquina1$ mkdir dos tres                                     

Maquina1@vm-1:~/ Maquina1$ ls -l

drwxr-xr-x 2  Maquina1 Maquina1 4096 Mar 13 19:32 dos
drwxr-xr-x 2 Maquina1 Maquina1  4096 Mar 13 19:32 tres
drwxr-xr-x 2 Maquina1 Maquina1  4096 Mar 13 19:32 uno

cp

Comando con el cual se puede copiar un archivo especifico hacia otra ruta, se ejecuta con la siguiente sintaxis y con los siguientes argumentos.

-r, -R    :   copia archivos recursivamente
-i   :    manda el prom antes de sobre escribir un archivo

Maquina1@vm-1:~$ ls /home/ Maquina1/Maquina1                         
dos  uno

Maquina1@vm-1:~$ ls -l /home/ Maquina1/Maquina2                      
total 0

Maquina1@vm-1:~$ cp -r /home/ Maquina1/Maquina1/. /home/ Maquina1/Maquina2

Maquina1@vm-1:~$ ls -l /home/ Maquina1/Maquina2/                     
total 2
drwxr-xr-x 2 Maquina1 Maquina1  4096 Mar 13 20:09 dos
drwxr-xr-x 2 Maquina1 Maquina1  4096 Mar 13 20:09 uno


mv
Renombra un archivo o directorio o mueve un archivo de un directorios otro, dependiendo del uso su sintaxis varia.

Maquina1@vm-1:~/Maquina1$ ls

dos.txt  uno.txt

Maquina1@vm-1:~/Maquina1$ mv dos.txt tres.txt

Maquina1@vm-1:~/Maquina1$ ls                                                

tres.txt  uno.txt


rm
Elimina archivos o directorios, su sintaxis es muy simple   rm [-rfi]  
sus tres opciones son :

-r  :  borrado recursivo de directorios
-f :  no pregunta acerca de los archivos
-i : solicita información antes de borrar

Maquina1@vm-1:~/Maquina1$ ls
dos.txt  tres.txt  uno.txt
Maquina1@vm-1:~/Maquina1$ rm -i uno.txt                                     
rm: remove regular empty file ‘uno.txt’? y
Maquina1@vm-1:~/Maquina1$ l
dos.txt  tres.txt


4.4.2    Información del sistema


date
Esta orden imprime en pantalla la fecha y la hora que tiene el sistema en ese momento

Maquina1@vm-1:~$ date
Tue Mar 18 22:30:03 UTC 2014


uname
Esta orden imprime el nombre y algunas características del sistema con el que se está trabajando
-a  (all)   : engloba características como lo es (nombre del sistema operativo, nombre del nodo de red,  versión del kernel, el modelo del microprocesador de la maquina).
-r  (kernel- release):  muestra la versión de kernel que tiene el sistema

-p (processor ): muestra el tipo de procesador.

Maquina1@vm-1:~$ uname –a
Linux vm-1.Maquina1.koding.kd.io 3.13.0-5-generic #20 SMP Mon Jan 20 19:56:12 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

Who
Esta orden muestra quien está conectado en el sistema y ciertas características de dichas conexiones: origen, terminal asignada, hora de conexión, nombre del usuario, etc.
Maquina1@vm-1:~$ who
Maquina1 pts/3        2014-03-18 21:58 (:pts/2:S.0)
Maquina1 pts/5        2014-03-18 22:40 (:pts/1:S.0)


last
La orden last proporciona información acerca de los últimos usuarios que han entrado en el sistema. Lugar desde donde se conectaron, tiempo de conexión, hora.

Maquina1@vm-1:~$ last
reboot   system boot  3.13.0-5-generic Tue Mar 18 21:50 - 22:41  (00:51)   
reboot   system boot  3.13.0-5-generic Sat Mar 15 02:51 - 03:34  (00:43)   
reboot   system boot  3.13.0-5-generic Thu Mar 13 19:01 - 21:59  (02:57)   
reboot   system boot  3.13.0-5-generic Thu Mar 13 16:44 - 18:01  (01:17)


ps
Informa del estado de los procesos en el sistema (Process Status), Sin opciones, ps informara de los procesos e la sesión de trabajo actual. Con la opción ‘-u’ se proporcionara informacion más detallada (usuario que posee el proceso, estado del mismo, consumo de memoria y CPU )

Maquina1@vm-1:~$ ps                                                                                                                                               
  PID TTY          TIME CMD
  335 pts/4    00:00:00 bash
  489 pts/4    00:00:00 p

4.4.3    Tratamiento  de archivos


cat
La orden ‘cat’ muestra en pantalla el contenido de un archivo.
-n [number]: enumera todas las líneas de salida.

Maquina1@vm-1:~/Maquina1$ cat hola.c                                                                                                                               
#include
main(){
        printf("hola, Mundo\n");
      }


Maquina1@vm-1:~/Maquina1$ cat -n hola.c 
     1  #include
     2  main(){
     3          printf("hola, Mundo\n");
     4        }


more

Visualiza un archivo pantalla a pantalla, no de forma continua, el cual permite una cómoda lectura de un archivo. Al final de cada pantalla aparecerá un mensaje indicando -- More – Si se pulsa enter se desplazara un línea más en el archivo si se pulsa la barra espaciadora se desplazara una pantalla mas.

Maquina1@vm-1:~/Maquina1$ more hola.c
#include
main(){
        printf("hola, Mundo\n");
      }


head
La orden head muestra las primeras líneas (10 por defecto) de un archivo que recibe como parámetro. La principal opción de este comando es la que especifica el número de líneas a visualizar (‘-n’)

Maquina1@vm-1:~/Maquina1$ head suma.c

#include
#include
main()
{
int num1,num2,num3,num4,num5;
printf("\t*****SUMA*****\n");
printf("introduce numero 1: ");
scanf("%d",&num1);
printf("introduce numero 2: ");
scanf("%d",&num2);

  
tail
Visualiza las últimas líneas de un archivo, al igual que head se puede especificar el número de líneas a visualizar, si no se coloca el parámetro mostrara por defecto las diez últimas líneas del archivo.

Maquina1@vm-1:~/Maquina1$ tail suma.c

printf("introduce numero 3: ");
scanf("%d",&num3);
printf("introduce numero 4: ");
scanf("%d",&num4);
printf("introduce numero 5: ");
scanf("%d",&num5);
printf("\nel resultado de la usma es:%d",num1+num2+num3+num4+num5);
getch;
return 0;
}

cmp
Esta orden compara el contenido de dos archivos, imprime en pantalla la primera diferencia encontrada (si existe): recibe como parámetros los dos nombres de los ficheros a comparar.

Maquina1@vm-1:~/Maquina1$ cmp suma.c suma2.c 
suma.c suma2.c differ: byte 74, line 5

Diff
Esta orden compara dos archivos indicando las líneas que difieren  uno con respecto al otro.
Maquina1@vm-1:~/Maquina1$ diff suma.c suma2.c                             
5c5
< int num1,num2,num3,num4,num5;
---
> int num1,num2,num3,num4,num6;
16,17c16,17
< scanf("%d",&num5);
< printf("\nel resultado de la usma es:%d",num1+num2+num3+num4+num5);
---
> scanf("%d",&num6);
> printf("\nel resultado de la usma es:%d",num1+num2+num3+num4+num6);

grep
Es una de las órdenes más utilizadas e importantes en cualquier sistema Linux, grep busca un patrón (que recibe como parámetro) en un archivo. Su sintaxis es sencilla
grep  [optciones]
-i   [ignorar mayúsculas]: no distingue entre mayúsculas y minúsculas.
-c  [count]: cuenta el número de patrones  que fueron encontrados dentro del archivo

Maquina1@vm-1:~/Maquina1$ grep -i include prueba.c
#include                                                                                                                                                
#include                                                                                                                                                #include


Maquina1@vm-1:~/Maquina1$ grep -ic include prueba.c

Practicas de Electrónica.

hola en estos enlaces le dejo algunas de las practica de laboratorio de electrónica de Fesc Cuautitlan que se tomaron con el profesor Marcelo espero les pueda servir de algo estas practicas.








lunes, 7 de abril de 2014

VoIP Asterisk

les dejo un enlace a uno de los mejores libros de VoIP (Asterisk) este libro ya esta a la venta en su forma fisica es uno de los  mejores libros para aprender sobre asterisk desde su instalación haste el manejo de este.

 
http://www.voipelia.com/asterisk-the-definitive-guide-4/


miércoles, 26 de marzo de 2014

Principales distribuciones LINUX

Imagine que su familia planea comprar su primer automóvil, ¿cuáles son los factores que tomaran en cuenta antes de comprar el automóvil?, Por ejemplo el presupuesto, las finanzas de la familia, el tamaño, etc.

Es muy similar con Linux, ya que este cuenta con varias distribuciones creadas para diferentes necesidades, algunas de estas se muestran en la figura 1


como se puede observar en la iamgen anterior , Existen distribuciones para servidores, para computadoras de escritorio (personales), e incluso para sistemas embebidos como lo son los teléfonos actuales (Smartphone).

Algunas de las preguntas que debe de responder la persona encargada instalar el sistema operativo deben de ser.

v  Cuál será la principal función del Equipo (servidor o Escritorio)
v  Cuanto espacio en disco duro y memoria requería el equipo.
v  Cuáles serán las principales aplicaciones que se implementaran en el equipo

Una vez que se resolvieron las preguntas anteriores aun queda por seleccionar que tipo de soporte es el que necesita la empresa Como se puede observar en la figura 2



El soporte comercial  es una gran alternativa para las empresas grandes las cuales pueden amortiguar los gastos de un soporte comercial (una entidad que resuelve problemas de ciertas distribuciones), para las empresas pequeñas e incluso medianas solo queda el apoyo de la comunidad (son foros donde una persona coloca una pregunta en concreto y tal vez alguna persona con los conocimientos pueda encaminar la respuesta, esto es que nadie está obligado a dar la respuesta).

Una vez seleccionado el tipo de soporte que se puede esperar solo queda seleccionar la distribución que más se acomode a los requerimientos de la empresa entre las cuales hay tres principales familias las cuales contienen diferentes versiones dependiendo de los programas pre-instalados, las 3 principales familias son DEBIAN, SUSE y FEDORA y cada familia tiene sus representantes (distribuciones) más conocidas las cuales son las que se muestran en la figura 3



Los escritorios de cada una de estas distribuciones son los que se muestran
en la figura 4


UBUNTU:


Ubuntu es un sistema operativo completo basado en GNU/Linux. Su desarrollo está orientado tanto al ámbito hogareño como al profesional, brindando las herramientas necesarias para cada tipo de usuario.

Pero lo que se destaca en Ubuntu es su creciente comunidad, construida según la Filosofía Ubuntu: que el software debe estar disponible gratis, que las herramientas de software deben ser utilizables por la gente en su idioma local y sin distinguir discapacidades, y que la gente deberá tener la libertad de personalizar y alterar su software de cualquiera manera que quiera.



REDHAT:


Esta es una distribución que tiene muy buena calidad, contenidos y soporte a los usuarios por parte de la empresa que la distribuye. Es necesario el pago de una licencia de soporte. Enfocada a empresas.


FEDORA:

Federa es patrocinado por Red Hat, el proveedor de tecnología de código abierto más confiable en todo el mundo. Red Hat invierte en Federa para estimular la colaboración y la innovación en tecnologías de software libre.


DEBIAN:

Debian es una organización formada totalmente por voluntarios dedicada a desarrollar software libre y promocionar los ideales de la comunidad del software libre. El Proyecto Debian comenzó en 1993, cuando Ian Murdock hizo una invitación a todos los desarrolladores de software a contribuir a una distribución completamente coherente basada en el, entonces relativamente nuevo, núcleo Linux. Ese grupo relativamente pequeño de entusiastas, al principio patrocinados por la Free Software Foundation e influenciados por la filosofía GNU, ha crecido a lo largo de los años hasta convertirse en una organización de alrededor de 951 desarrolladores Debian.



SUSE LINUX ENTERPRISE:

Su nombre "SuSE" es el acrónimo del alemán "Software- und Systementwicklung", el cual formaba parte del nombre original de la compañía y que se podría traducir como "desarrollo de software y sistemas". El nombre actual de la compañía es SuSE LINUX, habiendo perdido el primer término su significado







LINUX

LINUX




LINUX (o GNU/LINUX, más correctamente) es un Sistema Operativo como OS X ó Windows. Es decir, Linux es el software necesario para que un ordenador  permita utilizar programas como: editores de texto, juegos, navegadores de Internet, etc. Linux puede usarse mediante un interfaz gráfica al igual que Windows o OS X, pero también puede usarse mediante línea de comandos.

Historia de LINUX


En el año de 1991 linus torvalds, que en aquel entonces era un estudiante de informática de la universidad de Helsinki, empezó a programar las primeras líneas de código de un sistema operativo (el cual sería Linux) como una afición.
Linux es un sistema operativo compatible con UNIX, sus dos características principales y que los diferencian del resto de los sistemas operativos que encontramos en el mercado son:

1.- Es software libre, esto significa que no tenemos que pagar por el uso del mismo.
2.- el sistema viene acompañado del código fuente (el sistema lo forman el núcleo del sistema (kernel) más un gran número de librerías que hacen posible su utilización).

En aquellos momentos el proyecto GNU (GNU's Not Unix), que Richard Stallman había iniciado, comprendía un sistema básico casi completo. La excepción más importante era el kernel o núcleo, que controla el hardware.

Linux consiguió rápidamente desarrolladores y usuarios que adoptaron códigos de otros proyectos de software libre para usarlo con el nuevo sistema operativo.

Jerarquía de Directorios


En el sistema de ficheros de  GNU/Linux, existen varias sub-jerarquías de directorios que poseen múltiples y diferentes funciones de almacenamiento y organización en todo el sistema. Estos directorios pueden clasificarse en:

/(raiz): Es el nivel más alto dentro de la jerarquía de directorios. Desde aquí se divide el resto de las carpetass, particiones y otros dispositivos.

/bin (binarios): En este fichero se encuentran los archivos ejecutables de los programas propios del sistema operativo, entre ellos comandos como cp, mv, cat, chown, etc.

/boot (arranque): En este fichero se encuentran los archivos necesarios para el inicio del sistema desde los                                archivos de configuración  hasta el propio kernel del sistema.

/dev (dispositivos): Linux trata a los dispositivos como si fueran ficheros más para facilitar el flujo de la                                         información, en este fichero se encuentran los dispositivos del sistema por ejemplo los USB.

/etc (etcétera): En este fichero se guardan los los ficheros de configuración de los programas instalados, así como ciertos scripts que se ejecutan en el inicio del sistema.

/home(carpeta personal): Es una carpeta que contiene un directorio por cada  usuario dado de alta en el                                             sistema, y en estos directorios cada usuario tiene sus archivos que el puede eliminar, modificar o crear en cada una de sus cesiones.

/lib (bibliotecas): Este fichero contiene las bibliotecas o librerias del sistema así como sus controladores.
 
/lost+found: En este fichero se guardaran archivos que por algún motivo se mal-guardo debido a un cierre inesperado del sistema (como lo puede ser un apagon).

/media (medios): Es el fichero donde se montan las unidades extraibles como los dispositivos USB,                                         Unidades de CD/DVD y las particiones adicionales.

/mnt (montajes): En este fichero se suele usar para montajes temporales de unidades.

/opt (opcionales): Destinado para guardar paquetes adicionales de aplicaciones

/proc: Información para la visualización del sistema de ficheros de Linux

/root : Es el home del administrador, es el único archivo que no se incluye en el directorio home.

/sbin (binarios del sistema): Son los ejecutables de administración, tales como mount, umount, shutdown.

/srv (servicios): Información del sistema sobre ciertos servicios que ofrece (FTP, HTTP....).

/sys (sistema): Informacion sobre los dispositivos tal y como los ve el kernel Linux

/tmp (temporales): En este fichero es donde se almacenan ficheros temporales cada vez que se inicia el                                      sistema este directorio se limpia.
  
/usr : jerarquía secundaria de los datos de usuario; contiene la mayoría de las utilidades y aplicaciones multiusuario, es decir, accesibles para todos los usuarios. pero que no obstante son de sólo lectura. Este directorio puede incluso ser compartido con otras computadoras de red local.

/var :  Archivos variables, tales como logs, archivos spoolbases de datos, archivos de e-mail temporales, y algunos archivos temporales en general. Generalmente actúa como un registro del sistema.