jueves, 15 de diciembre de 2011

Comandos de manipulación de Directorios

Comando cd   ( change directory )  
 Se  utiliza para navegar por la estructura de directorios  del sistema de archivos.
FORMATO:

                      cd [camino][nombre de directorio]

En Unix para referirse a un determinado directorio debe especificarse su nombre
y el camino hasta éste. Hay dos formas de especificar el camino relativa o absoluta.
Supongamos que el directorio actual es novali, para cambiar al directorio Docu-
mentos se puede  introducir:
                       cd  Documentos                                     (camino relativo)

                       cd   /home/novali/Documentos                (camino absoluto)

 Para cambiar del directoria Documentos al directorio vídeo en un solo comando cd aremos:

                       cd ../video                     (camino relativo)
                                              
                       cd  /home/novali/viedo   (camino absoluto)  


Dentro de cada directorio siempre hay dos directorios llamados  . y ..  que tiene un significado especial. Un  simple punto  (.)  indica  el  directorio actual, mientras 
que dos puntos seguidos(..) indican el directorio principal o directorio padre. Si el directorio en el que nos encontrásemos ahora fuese /home/novali/Documentos, por ejemplo, podría cambiar al directorio padre /home/novali/ usando este comando:
  
                        cd ..          (canimo relativo)

Para Saber en que directorio nos encontramos actualmente tenemos el comando pwd  (print working directory, )
  pwd
Mostrara  el directorio actual, si seguimos los ejemplos, sera  /home/novali.                        

      

lunes, 28 de noviembre de 2011

Directorios en GNU/LINUX

 Estructura de directorios de Gnu/Linux

Todas las distribuciones Gnu/Linux siguen un convenio común (estándar)  en la forma de organizar su estructura de directorios. Este convenio común, es el proyecto Filesystem Hierarchy Standard, abreviado FHS (Estándar de jerarquías de sistemas de ficheros)

Gnu/Linux, como el resto de las versiones de Unix almacena los distintos ficheros que lo componen  mediante una estructura jerárquica. Cada directorio está destinado a contener un tipo determinado de archivo.
Estructura de directorios:

 (Directorio raíz)
   La estructura de directorios en linux, que es muy similar a la de UNIX , se ha diseñado como una jerarquía en árbol. En el nivel superior se encuentra el directorio principal, al que se suele llamar directorio raíz ( o directorio raíz del sistema ). Es el único directorio que hay en este nivel. Se hace referencia a todos los demás directorios siempre en  relación al directorio raíz. Al directorio raíz también    se le llama directorio / (barra).

/bin
    El  directorio /bin contiene  programas ejecutables básicos  del sistema y del usuario , como pueden ser cp, rm, mv, cd, ls, etc.

/boot 
    Este directorio contiene los archivos relacionados con el proceso de arranque. Dentro de este directorio se incluye el directorio del gestor de arranque grub (/boot/grub).

 /dev 
   El directorio /dev es el lugar  que contiene los nodos o definiciones de dispositivos hardware como los discos duros  (/dev/sda), la tarjeta de sonido ( /de/dsp) , impresora (/dev/usblp0 -> usb/lp0), micrófonos y muchos mas...
   Este directorio desde la versión del kernel 2.6 esta gestionado por udev que básicamente se encarga de crear las entradas de los distintos dispositivos que detecta en /dev y borrarlas del  directorio cuando ya no se utilicen. De esta forma se evita tener el directorio lleno de archivos especiales que ya no son de utilidad.

/etc
   Ficheros  de configuración. La configuración general del sistema se encuentra almacenada normalmente en el propio directorio, encontrando en subdirectorios la configuración general  de las distintas aplicaciones.

/home
   Es donde  se crean los directorios  personales de los usuarios del sistema. Al iniciar una sesión, el usuario queda ubicado en el directorio /home/usuario. Al directorio del usuario también se le conoce como directorio principal del usuario. Un ejemplo, si una persona llamada Novali fuera una usuaria que se ha  añadido  recientemente al sistema, entonces su directorio principal correspondiente seria /home/novali    

/lib
   En este directorio se guardan las bibliotecas compartidas básicas y comunes del sistema, como la biblioteca de programación c libc-2.11.3.so que contiene funciones comunes a todos los programas c del sistema.

/media
   Contiene los puntos de montaje de los medios extraíbles de almacenamiento, tales como lectores de CD-ROM (aparecido en la versión 2.3 de FHS), Pendrives (memoria USB), e incluso sirve para montar otras particiones del mismo disco duro, como por ejemplo, alguna partición que sea utilizada por otro sistema operativo.

/mnt
    Sistema de archivos montados temporalmente. Es una directorio semejante a /media, pero es usado mayoritariamente por los usuarios. Sirve para montar discos duros y particiones de forma temporal en el sistema.

/opt
   Contiene Paquetes de programas opcionales de aplicaciones estáticas, es decir, que pueden ser compartidas entre los usuarios. Dichas aplicaciones no guardan sus configuraciones en este directorio; de esta manera, cada usuario puede tener una configuración diferente de una misma aplicación, de manera que se comparte la aplicación pero no las configuraciones de los usuarios, las cuales se guardan en su respectivo directorio en /home.

/proc
    Contiene  los  ficheros de información del estado de los diversos procesos del sistema. No son ficheros fisicos, no ocupan espacio en el disco duro, apuntan a determinadas direcciones de memoria. Es un sistema de archivos virtual que se crea cuando se inicia el sistema y se destruye  al apagar el sistma

/root
    Este directorio es el directorio principal del usuario root. Aquí sólo se guardan archivos específicos del usuario root.

/sbin
    El directorio /sbin  contiene archivos ejecutables dedicados a la administración del sistema tales como shutdown (apaga el sistema ordenadamente) , fdisk (gestiona particiones de disco duro), etc. Es  accesible únicamente por el superusuario o root.

/tmp
     Directorio de almacenamiento de los ficheros temporales del sistema. A veces las aplicaciones hacen uso de ficheros temporales para su correcto funcionamiento. El administrador tiene que borrar periódicamente  el contenido de /tmp o /var/tmp.

/usr
     Contiene las aplicaciones, utilidades, archivos en general no básicos del sistema. La documentación está en el directorio /usr/doc. El código fuente de diversas aplicaciones así como del nucleo (kernel) se almacena en /usr/src.

/var
    El directorio /var está configurado para mantener datos variables. Contiene directorios de colas de correo, noticias, trabajos de impresión y los registros de actividad del sistema entre otros muchos registros .





viernes, 22 de abril de 2011

La Historia

Entre Los años 1964 y 1969, el Departamento de investigación de computadores de los laboratorios Bell de la AT&T, junto con General Electric y el proyecto Mac del Instituto Tecnológico de Massachusetts participaron en el desarrollo de un sistema operativo llamado Multics que operaba sobre  mainframe GE-645 de General Electric.
El sistema Multics (Multiplexed Information and Computing Service) proyecto cooperativo liderado por Fernando J. Corbató del MIT, fue uno de los primeros sistemas operativos de tiempo compartido y tuvo una gran influencia en el desarrollo de los posteriores sistemas operativos como Unix . En 1969, los Laboratorios Bell se retiraron del proyecto Multics. Ese mismo año un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken ThompsonDennis Ritchie y Douglas McIlroy  y otros comenzaron a plasmar sus ideas en un PDP-7 en los Laboratorios Bell, lo que se convertiría mas tarde en UNIX, un sistema operativo multitarea y multiusuario.
Unix,  aunque de un modo superficial muestra la influencia de Multics en muchas áreas, incluido el nombre de los comandos. La filosofía de diseño fue muy diferente, centrándose en mantener el sistema tan pequeño y simple como fuese posible, y de este modo corrigiendo lo que se veía como una deficiencia de Multics. El nombre "Unix" (originalmente "Unics", por "UNIplexed information and Computing Service" en vez de "MULTIplexed Computer and Information Service") es un hack de "Multics". Se rumorea que la U de UNIX significia "Uniplexado" en oposición al concepto "Multiplexado" de Multics, resaltando la intención de los diseñadores de rechazar la complejidad de Multics en favor de una aproximación práctica más directa.
La primera versión del sistema UNIX se realizó en lenguaje ensamblador para una computadora  PDP-7 de Digital Equipament Corporation (DEC). Pero no seria hasta 1971  cuando podemos habla oficialmente del sistema operativo UNIX ejecutado en una PDP-11/20. Se incluía en él un programa para dar formato a textos (runoff) y un editor de texto. Tanto el sistema operativo como los programas fueron escritos en el lenguaje ensamblador de la PDP-11/20. 
Pero un sistema operativo escrito en lenguaje ensamblador es dependiente de la maquina, por esta razón Thompson desarrolló el lenguaje transportable B, el cual fue modificado por Dennis Ritchie. Richie desarrollo el lenguaje C, con el cual  se decide en 1973 reescribir todos los programas del sismeta UNIX haciendo a este mas portable y facilitar su desarrollo futuro.
La decisión de realizar el sistema operativo Unix en el lenguaje C, hizo que el sistema Unix incorporase una mejor interfaz para acceder a las llamadas básicas del sistema operativo, lo que hizo de C el lenguaje habitual para quien quisiera programar sistemas operativos Unix y sus derivados. 
Las primeras distribuciones de Unix de los laboratorios Bell en los años 70 incluían el código fuente del sistema operativo, permitiendo a los desarrolladores de las universidades modificar y extender Unix. Una de estas licencias fue otorgada al Departamento de Computación de la Universidad de California, con sede en Berkeley.  En 1975 esta institución desarrolló y publicó su propio sucedáneo de UNIX, conocida como Berkeley Software Distribution (BSD), que se convirtió en una fuerte competencia para la familia UNIX de AT&T.
La primera versión de BSD de Berkeley era descendiente de la versión 6 de los laboratorios Bell. En 1984 BSD libera 4.2BSD con la primera especificaciones del protocolo TCP/IP, sobre el que crecer la red arpanet y posterior mente la red internet.
Fue en noviembre de 1982 cuando Bell anuncia System III como el primer sistema Unix claramente comercial.
En 1983,  AT&T  puso a la venta la versión UNIX System V, que recogia una serie de características tales como el editor Vi y la biblioteca curses, desarrolladas por Berkeley Software Distribution en la Universidad de California, Berkeley. También contaba con compatibilidad con las máquinas VAX de la compañía DEC.
En 1991 Linus Benedict Torvalds inicia el desarrollo del  kernel linux que unido a las herramientas y comandos creados por el  proyecto GNU se crea el sistema GNU/Linux un sistema operativo  libre  que posee todas la cualidades de un Unix  System V.  
Versiones de Unix Libres  son:

Para mas información: