Download Introducción a Linux

Document related concepts

Samba (programa) wikipedia , lookup

Filesystem Hierarchy Standard wikipedia , lookup

GNU Hurd wikipedia , lookup

Carpeta de usuario wikipedia , lookup

Núcleo Linux wikipedia , lookup

Transcript
Introducción a Linux
Linux - Introducción
Linux es un sistema operativo del tipo Unix creado por Linus Torvalds con la ayuda de
desarrolladores y programadores alrededor del mundo. Linux es una aplicación POSIX1
independiente e incluye el verdadero multitasking (multitarea), memoria virtual, bibliotecas
compartidas, carga en demanda, administrador apropiado de memoria, TCP/IP networking, y otros
rasgos comparables con los sistemas del tipo Unix2. Desarrollado bajo la GNU3 General Public
License, el código para Linux esta disponible para todos.
Hay muchos distribuidores de Linux, o versiones. Una "distribución" es el compilado del código
fuente de Linux, normalmente combinado con extras y software. Algunas distribuciones están
disponibles para bajar de internet sin ningún cargo mientras otras están disponibles a precios
económicos en CD-ROM en minoristas de Linux mundiales. Otras opciones incluyen Linux preinstalado en una computadora, o comprando un libro sobre Linux viene el CD-ROM de regalo. Cada
distribución tiene su propio propósito, y varios factores deben tomarse antes de decidir que
distribución es mejor para cada usuario. Algunas distribuciones satisfacen bien a los usuarios en el
hogar, otros son excelentes para usos comerciales. Algunos están mejor preparados para Intel y
otras para Macintosh o PC, otros son excelentes para el uso en computadoras de alto rendimiento y
requerimiento.
Las distribuciones más conocidas son RedHat, Debian, Slackware, SuSE y Mandrake, todas ellas
incluyen el software más reciente empleado, conteniendo compiladores de C/C++4, editores de
texto, juegos, programas para el acceso a Internet, así como el entorno gráfico de Linux: X
Window.
LINUX es un sistema operativo, compatible con Unix. Dos características muy peculiares lo
diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es
libre, esto significa que no tenemos que pagar ningún tipo de licencia a ninguna casa desarrolladora
de software por el uso del mismo, la segunda, es que el sistema viene acompañado del código
fuente. El sistema lo forman el núcleo del sistema (kernel) mas un gran numero de
programas/librerías que hacen posible su utilización.
LINUX se distribuye bajo la GNU Public License, por lo tanto, el código fuente tiene que estar
siempre accesible.
El sistema ha sido diseñado y programado por multitud de programadores alrededor del mundo. El
núcleo del sistema sigue en continuo desarrollo bajo la coordinación de Linus Torvalds, la persona de
la que partio la idea de este proyecto, a principios de la década de los noventa.
Día a día, mas y mas programas/aplicaciones están disponibles para este sistema, y la calidad de los
mismos aumenta de versión a versión. La gran mayoría de los mismos vienen acompañados del
código fuente y se distribuyen gratuitamente bajo los términos de licencia de la GNU Public License.
En los últimos tiempos, ciertas casas de software comercial han empezado a distribuir sus productos
para Linux y la presencia del mismo en empresas aumenta rápidamente por la excelente relación
calidad-precio que se consigue con Linux.
Historia
LINUX hace su aparición a principios de la década de los noventa, era el año 1991 y por aquel
entonces un estudiante de informática de la Universidad de Helsinki, llamado Linus Torvalds empezó,
como un aficionado y sin poderse imaginar a lo que llegaría este proyecto, a programar, para su tesis
final, las primeras líneas de código de este sistema operativo llamado LINUX.
Este comienzo estuvo inspirado en MINIX5, un pequeño sistema Unix desarrollado por Andy
Tanenbaum. Las primeras discusiones sobre Linux fueron en el grupo de noticias comp.os.minix, en
estas discusiones se hablaba sobre todo del desarrollo de un pequeño sistema Unix para usuarios de
Minix que querían mas.
Linus nunca anuncio la versión 0.01 de Linux (agosto 1991), esta versión no era ni siquiera
ejecutable, solamente incluía los principios del núcleo del sistema, estaba escrita en lenguaje
1
Introducción a Linux
ensamblador y asumía que uno tenia acceso a un sistema Minix para su compilación.
El 5 de octubre de 1991, Linus anuncio la primera versión "Oficial" de Linux, (versión 0.02). En este
estado de desarrollo ni se pensaba en los términos soporte, documentación e incluso distribución.
Después de la versión 0.03, Linux salto en la numeración hasta la 0.10, Desde entonces, mas y mas
programadores a lo largo y ancho de Internet empezaron a trabajar en el proyecto y después de
sucesivas revisiones, Linux incremento el numero de versión hasta la 0.95 (Marzo 1992). Después
de más de un año (diciembre 1993) el núcleo del sistema estaba en la versión 0.99 y la versión 1.0
no llego hasta el 14 de marzo de 1994.
Una vez que el núcleo estuvo «usable», los programadores comenzaron a buscar aplicaciones y
utilidades para agregar y hacer el sistema más útil, ese es el momento en que entra el proyecto
GNU, iniciado en 1984 por la Free Software Foundation (FSF), entidad creada por Richard M. Stallman
(o simplemente RMS), con el fin de hacer un sistema operativo libre. Dado que existía ya mucho
software en el proyecto GNU, los programadores comenzaron a unir el núcleo Linux con dichas
herramientas GNU, conformando lo que hoy conocemos como sistema GNU/Linux (o simplemente
Linux, como se suele llamar equivocadamente).
La versión actual del núcleo es la 2.4.20 y sigue avanzando día a día con la meta de perfeccionar y
mejorar el sistema.
Diferencias entre Windows y Linux
Largas discusiones se han realizado sobre el tema «GNU/Linux vs Windows», y tiempo atrás quizás
no tenía sentido compararlos por la escasa cantidad de aplicaciones aptas para el usuario disponible
en GNU/Linux, pero con el correr de los años el sistema fue evolucionando cada vez más para dar
soporte al usuario y brindarle una plataforma estable y funcional para el trabajo de todos los días.
Originalmente el GNU/Linux (como todo sistema de tipo Unix), había sido pensado para funcionar
como servidor, y es por eso que las herramientas que proveía eran algo avanzadas y de uso
específico para la administración del sistema, pero en la actualidad existe una gran variedad de
aplicaciones que permiten al usuario realizar todas sus tareas cotidianas: procesadores de texto,
planillas de cálculo, programas de correo electrónico, juegos, reproductores de CDs, generadores de
presentaciones, retocadores de imágenes, etc., lo que hace al sistema GNU/Linux especial para la
oficina o el hogar.
Un punto más a favor del GNU/Linux es que, dado que fue pensado para funcionar como servidor,
implícitamente posee una robustez y estabilidad importantes, lo que combinado con la amigabilidad
y funcionalidad del sistema de escritorio, genera un sistema sumamente fácil y seguro de utilizar.
Linux a diferencia de Windows, es multitarea real, y multiusuario, posee un esquema de seguridad
basado en usuarios y permisos de lectura, escritura y ejecución establecidos a los archivos y
directorios. Esto significa que cada usuario es propietario de sus archivos, y otro usuario no puede
acceder a estos archivos sin la expresa autorización del propietario. Esta propiedad no permite el
contagio de virus entre archivos de diferentes usuarios.
Es capaz de ejecutar varios programas (o tareas) de forma simultánea y albergar a varios usuarios de
forma simultánea. Por lo tanto, todos los usuarios de Linux deben tener una cuenta de usuario en el
sistema que establezca los privilegios del mismo. A su vez Linux organiza a los usuarios en grupos
de forma que se puedan establecer privilegios a un determinado grupo de trabajo, para el acceso a
determinados archivos o servicios del sistema. Cada uno de estos usuarios tiene su propio
subsistema de archivos, no interfiere con otros usuarios y comparte con los mismos, disco, tiempo de
CPU y dispositivos. Un usuario muy importante es el root, o el superusuario. El superusuario tiene
control total sobre la máquina y es el que la administra.
Una diferencia, quizás la más importante de todas, con respecto a cualquier sistema operativo
comercial, es el hecho de que es software libre, qué quiere decir esto? que junto con el sistema, se
puede obtener el código fuente de cualquier parte del mismo y modificarlo a gusto. Ésto da varias
ventajas, por ejemplo:
1.La seguridad de saber qué hace un programa tan solo viendo el código fuente, o en su defecto,
tener la seguridad que al estar el código disponible, nadie va a agregar «características ocultas»
2
Introducción a Linux
en los programas que distribuye.
2.La libertad que provee la licencia GPL permite a cualquier programador modificar y mejorar
cualquier parte del sistema, ésto da como resultado que la calidad del software incluido en
GNU/Linux sea muy buena.
3.El hecho de que el sistema sea mantenido por una gran comunidad de programadores y
usuarios alrededor del mundo, provee una gran velocidad de respuesta ante errores de
programas que se van descubriendo, que ninguna compañía comercial de software puede
igualar.
Además de las ventajas anteriormente enumeradas, GNU/Linux es ideal para su utilización en un
ambiente de trabajo, dos razones justifican ésto:
1.Al ser software libre, no existe el costo de las licencias, y una copia del sistema GNU/Linux
puede instalarse en tantas computadoras como se necesite.
2.Existen utilidades para el trabajo en oficina, que son compatibles con las herramientas de la
serie MS-Office.
Requerimientos
Los requerimientos mínimos para usar GNU/Linux son, tan solo, una 386 con 4 MB de RAM. Esto no
quiere decir que va a andar rápido, pero va a andar. En algunos trabajos no es necesario un equipo
más grande. Es común pensar que si no se tiene la última máquina que está en el mercado junto a
los últimos periféricos no se puede usar nada. Este es un concepto erróneo.
Es importante tener en cuenta el uso que se dará a la computadora. Por ejemplo para compartir
Internet entre varios amigos o dentro de una pequeña empresa, una 386 con 4 MB de Ram sería
suficiente. En cambio para la creación de planos en un sistema CAD esto no sería un equipo óptimo.
Si bien la computadora funciona con esa configuración, el aspecto es similar al de terminales hace
varios años atrás. Para usuarios recién iniciados y poco familiarizados con terminales, suele parecer
un entorno poco amigable. Pero si se necesita rapidez con poco hardware no queda otra opción.
Aplicaciones de texto vs aplicaciones gráficas
Linux no necesita un entorno de ventanas para funcionar. Ciertamente, cuando comenzó no existía
dicho entorno. La pantalla era un intérprete de comandos de aspecto similar a los Unix o una
ventana de MS-DOS. A diferencia de otros sistemas operativos, por defecto el trabajo con Linux no
se realiza de una forma gráfica, sino introduciendo comandos de forma manual. Las aplicaciones que
funcionan bajo terminales o consolas las llamaremos aplicaciones de texto. Linux dispone de varios
programas que se encargan de interpretar los comandos que introduce el usuario y realizar las
acciones correspondientes en respuesta. Estos programas denominados shell son el modo típico de
comunicación en todos los sistemas Unix incluido Linux. Para muchas personas el hecho de tener
que introducir los comandos de forma manual les puede parecer intimidante y dificultoso, aunque los
comandos de Linux son relativamente simples y muy poderosos.
Tiempo después se aportó un sistema de ventanas llamado X Window. X Window es el entorno
gráfico habitual de los sistemas Unix. Casi todas las distribuciones más recientes incluyen el sistema
X Window (no X Windows), el cual es el encargado de controlar y manejar la interfaz de usuario.
Como se verá más adelante X Window es mucho más poderoso que otros entornos similares como
Microsoft Windows, puesto que permite que el usuario tenga un control absoluto de la
representación de los elementos gráficos.
El sistema X Window se compone de dos parte principales el servidor X y el programa para la
gestión de las ventanas. El servidor X es el programa que se encarga realmente de dibujar en la
pantalla. Por el contrario el gestor de ventanas como su nombre indica es el encargado de crear
las ventanas y gestionar su apariencia. Debido a este modelo, la apariencia de las aplicaciones varía
según se use uno u otro gestor de ventanas, entre los que destacan por su sencillez de uso los
entornos GNOME y KDE.
3
Introducción a Linux
Al instalar Linux el sistema puede preguntar si se desea arrancar Linux en modo texto o en modo
gráfico. Si se ha seleccionado esta última opción Linux arrancará directamente X Window, en caso
contrario en la línea de comandos hay que escribir startx con lo cual se arranca el modo gráfico.
Resumiendo, X Window, es un sistema de control de mouse y pantalla, pero no maneja las ventanas
y operaciones con ventanas (como mover, minimizar, cerrar, etc.). Por lo tanto hay que utilizar algún
programa administrador de ventanas. Se eligió para este curso el KDE.
Las aplicaciones que funcionan bajo X Window las llamaremos aplicaciones gráficas. Necesitan X
Window para funcionar pero no necesitan un administrador de ventanas. Sin embargo el
administrador de ventanas facilita el uso de los programas.
Ventajas y desventajas
Las aplicaciones de texto, tienen la ventaja de ocupar poco espacio, ser rápidas y la mayoría tiene
mucho desarrollo. Hay que pensar que las terminales existen hace mucho tiempo.
Como desventajas se puede decir que los programas de texto son poco amigables y tienen una
interfaz restringida. Son ideales para administración remota, para tareas administrativas de la
computadora, terminales con enlaces lentos, y software en general para computadoras de poca
capacidad.
Como contrapartida existen las aplicaciones gráficas, con una interfaz mejorada pero con mayor
lentitud en mostrar información. Son ideales para tareas de usuarios finales, personas con poca
práctica en computación, etc.
En este curso se van a usar aplicaciones gráficas en lo posible.
Las tareas administrativas más importantes (añadir/eliminar usuarios, configurar hardware, dar
permisos, etc.) se pueden hacer en ambas interfaces, tanto en la de texto como en la gráfica.
Conocimientos necesarios para comenzar:
Hay bastantes diferencias entre DOS y Linux, una de ellas es que en Linux todas la unidades de
disco están ubicadas en el mismo árbol de archivos, es decir que por ejemplo un CD estaría ubicado
en el directorio /cdrom o /mnt/cdrom. Un disco rígido que para los usuarios de DOS o Windows es C: ,
en Linux se puede decir que se representa por la barra inclinada (/).
En Linux las nomenclaturas de las unidades con letras no existen, solo existen los directorios. Por
eso cada vez que retire un CD e introduzca otro tendrá que desmontar el que esta introducido
mediante el comando umount y montar el nuevo con la orden mount. Aunque esto no parezca mas
que una perdida de tiempo y un inconveniente, tiene muchas ventajas. Por ejemplo: cuando se
instala un programa en una partición DOS o Windows y no queda mas espacio en el disco o
borramos algo o no lo instalamos, en Linux esto es impensable ya que si nos quedamos sin
espacio se puede colocar otro disco rígido y montarlo en el sistema de archivos y tenemos mas
espacio sin borrar nada para instalar lo que necesitemos.
Las particiones del disco rígido se llaman en Linux según su posición. En hda1; "hd" indica que es
un disco rígido, la "a" indica que es el primer disco rígido de la computadora y el "1" indica que que
es la primera partición de este disco. Un diskette seria fd0; el "fd" indica que es una unidad de
diskette y el "0" que es la primera unidad de disquete. Hay que indicar que todas las unidades se
encuentran en un directorio llamado /dev, que es un directorio de sistema donde todo el harware
tiene su imagen como archivo (siendo esta su representación en el sistema y a la que tendra que
referirse cuando configure algun programa).
ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE LINUX
Archivos: Tipos
La base del sistema de archivos de Linux, es obviamente el archivo, que no es otra cosa que la
estructura empleada por el sistema operativo para almacenar información en un dispositivo físico
4
Introducción a Linux
como un disco rígido, un disquete, un CD-ROM o un DVD. Como es natural un archivo puede contener
cualquier tipo de información, desde una imagen en formato PNG o JPEG a un texto o una página
WEB en formato HTML, … El sistema de archivos es la estructura que permite que Linux maneje los
archivos que contiene.
Todos los archivos de Linux tienen un nombre, el cual debe cumplir unas ciertas reglas:
•Un nombre de archivo puede tener entre 1 y 255 caracteres.
•Se puede utilizar cualquier carácter excepto la barra inclinada “/” y no es recomendable emplear
los caracteres con significado especial en Linux, que son los siguientes: = \ ^ ~ ' " ` * ; - ? [ ]
( ) ! & ~ < >. Para emplear archivos con estos caracteres o espacios hay que introducir el nombre
del archivo entre comillas.
•Se pueden utilizar números exclusivamente si así se desea. Las letras mayúsculas y minúsculas
se consideran diferentes, y por lo tanto no es lo mismo carta.txt que Carta.txt ó carta.Txt
Como en Windows, se puede emplear un cierto criterio de "tipo" para marcar las distintas clases de
archivos empleando una serie de caracteres al final del nombre que indiquen el tipo de archivo del
que se trata. Así, los archivos de texto, HTML, las imágenes PNG o JPEG tienen extensiones .txt,
.htm (o .html), .png y .jpg (o .jpeg) respectivamente.
Pese a esto Linux sólo distingue tres tipos de archivos:
•Archivos comunes, son los mencionados anteriormente.
•Directorios (o carpetas), es un archivo especial que agrupa otros archivos de una forma
estructurada.
•Archivos especiales, son la base sobre la que se asienta Linux, puesto que representan los
dispositivos conectados a una computadora, como puede ser una impresora. De esta forma
introducir información en ese archivo equivale a enviar información a la impresora. Para el
usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.
Enlaces
Los enlaces son un tipo de archivo ordinario cuyo objetivo es crear un nuevo nombre para un archivo
determinado. Una vez creado el enlace simbólico éste permite acceder al archivo que enlaza de igual
modo que si se hubiera copiado el contenido del mismo a otro archivo, con la ventaja de que este
realmente no se ha copiado. Los enlaces simbólicos son especialmente útiles cuando se quiere que
un grupo de personas trabajen sobre un mismo archivo, puesto que permiten compartir el archivo
pero centralizan las modificaciones.
Como ejemplo se puede suponer la existencia de un archivo llamado balance.1999.txt, al que se
crea un enlace simbólico balance.txt. Cualquier acceso a balance.txt es traducido por el sistema
de forma que se accede al contenido de balance.1999.txt.
El camino o Path
En cualquier sistema operativo moderno la estructura de archivos es jerárquica y depende de los
directorios. En general la estructura del sistema de archivos se asemeja a una estructura de árbol,
estando compuesto cada nudo por un directorio o carpeta, que contiene otros directorios o archivos.
En Windows cada unidad de disco se identifica como una carpeta básica que sirve de raíz a otras, y
cuyo nombre es especial a:, c:, d: etc. En los sistemas
Unix, y por lo tanto en Linux, existe una única raíz
llamada / de la que cuelgan todos los archivos y
directorios, y que es independiente de qué dispositivos
estén conectados a la computadora.
El camino o path de un archivo o directorio es la
secuencia de directorios que se ha de recorrer para
5
Figura 1-1
Introducción a Linux
acceder a un determinado archivo separados por /. Supongamos la estructura de archivos de la
Figura 1-1.
Existen dos formas del path o camino:
•El camino absoluto que muestra toda la ruta a un archivo, /home/luis/Carta.txt.
•El path relativo a un determinado directorio, por ejemplo si nos encontramos en el directorio /home,
el path relativo al archivo Carta.txt es luis/Carta.txt
Para complicar aun más las cosas, todos los directorios contienen dos directorios especiales:
•El directorio actual, representado por el punto (.)
•El directorio padre representado por dos puntos (..)
Estructura del sistema de archivos de Linux
El sistema de archivo de Linux sigue todas las convenciones de Unix, lo cual significa que tiene una
estructura determinada, compatible y homogénea con el resto de los sistemas Unix. Al contrario que
en Windows o MS-DOS el sistema de archivos en cualquier sistema Unix no está ligado de una forma
directa con la estructura del hardware, esto es, no depende de si una determinada computadora
tiene 1, 2 o 7 discos rígidos para crear las unidades c:\, d:\ o m:\.
Todo el sistema de archivos de Unix tiene un origen único, la raíz o root representada por “/”. Bajo
este directorio se encuentran todos los archivos a los que puede acceder el sistema operativo. Estos
archivos se organizan en distintos directorios cuya misión y nombre son estándar para todos los
sistema Unix.
/ Raíz del sistema de archivos.
/dev Contiene archivos del sistema representando los dispositivos que estén físicamente instalados
en la computadora, como impresoras, discos rígidos, terminales, etc...
/etc Este directorio esta reservado para los archivos de configuración del sistema. En este directorio
no debe aparecer ningún archivo binario (programas). Bajo este deben aparecer otros subdirectorios:
/etc/X11 Archivos de configuración de X Window
/etc/skel Archivos de configuración básica que son copiados al directorio del usuario cuando
se crea uno nuevo.
/etc/passwd donde se guardan las claves de acceso de todos los usuarios.
/lib Contiene las librerías necesarias para que se ejecuten los programas que residen en /bin (no las
librerías de los programas de los usuarios).
/home es el directorio donde se guardan los subdirectorios de los usuarios.
/proc Contiene archivos especiales que o bien reciben o envían información al kernel del sistema
(Se recomienda no modificar el contenido de este directorio y sus archivos).
/sbin Contiene programas que son únicamente accesibles al superusuario o root.
/usr Este es uno de los directorios más importantes del sistema puesto que contiene los programas
de uso común para todos los usuarios, así como las librerías necesarias para que éstos funcionen. Su
estructura suele ser similar a la siguiente:
/usr/X11R6 Contiene los programas para ejecutar X Window.
/usr/bin Programas de uso general, lo que incluye el compilador de C/C++.
/usr/doc Documentación general del sistema.
6
Introducción a Linux
/usr/etc Archivos de configuración generales.
/usr/include Archivos de cabecera de C/C++ (.h).
/usr/info Archivos de información de GNU.
/usr/lib Librerías generales de los programas.
/usr/man Manuales accesibles con el comando man.
/usr/sbin Programas de administración del sistema.
/usr/src Código fuente de programas.
Existen además de los anteriores otros directorios que se suelen localizar en el directorio /usr, como
por ejemplo las carpetas de los programas que se instalen en el sistema.
/var Este directorio contiene información temporal de los programas. Abarca los archivos que suelen
tender a crecer rápidamente, por ejemplo los correos de los usuarios, los spooler de impresora o los
logs del sistema.
/tmp Guarda los archivos temporales, creados por los diferentes procesos. Generalmente es borrado
automaticamente al reiniciar el sistema. No se debe usar para guardar nada importante.
Acceso a los diferentes sistemas de archivos
Como se ha visto anteriormente el sistema de archivos de Linux sólo tiene una raíz y su estructura
es independiente de los dispositivos de almacenamiento existentes. Esto implica que el
procedimiento a emplear para acceder a la información almacenada en los distintos sistemas de
almacenamiento de una computadora no es tan sencilla como en Windows, y requiere un proceso
llamado “montado”, que se verá más adelante. Cuando se ha terminado de trabajar con un
determinado dispositivo hay que “desmontarlo” (¡No físicamente!).
Por ejemplo el proceso para leer un disquete sería el siguiente:
1. Introducir el disquete en la disquetera.
2. Montar el sistema de archivos del mismo.
3. Leer, grabar, y manipular el contenido del disquete.
4. Desmontar el sistema de archivos del disquete.
5. Extraer el disquete de la disquetera.
El proceso puede parecer complejo pero es el precio a pagar por la seguridad, puesto que de esta
forma se garantiza que no exista ninguna aplicación que esté usando el disquete cuando se extraiga.
(En el caso de los CD-ROM, Linux impide su extracción hasta que se desmonta).
Para complicar más las cosas sólo el administrador o root tiene permiso para montar y desmontar
un sistema de archivos (por motivos de seguridad), aunque esto puede ser arreglado.
Permisos
Linux, al igual que todos los sistemas Unix, mantiene un sistema de permisos de acceso a los
archivos muy estricto, a fin de controlar qué es lo que se puede hacer con ellos, y quien lo puede
hacer. Estos permisos se identifican con letras y son:
r permiso de lectura del archivo
w permiso de escritura en el archivo
x permiso de ejecución del archivo
7
Introducción a Linux
Al contrario que en Windows o MS-DOS los programas ejecutables de Linux no están marcados por
una determinada extensión (.exe) sino por un atributo, el permiso de ejecución x. Si se elimina este
atributo a un programa, Linux no será capaz de ejecutarlo.
Cada uno de estos permisos se aplica: al dueño del archivo (u), al grupo de usuarios al que
pertenece el dueño (g), ó al resto de usuarios (o). Así un archivo determinado puede tener permiso
para ser leído, escrito y ejecutado por su dueño, leído y ejecutado por el grupo al que pertenece y no
tener ningún tipo de acceso para los demás usuarios. Como se puede entender este tipo de
mecanismo es especialmente útil cuando se trabaja en grupo en un determinado proyecto.
NOTA: Linux hace distinción entre mayúsculas y minúsculas así que estos comandos deben ser
teclados EN MINÚSCULA sin ninguna letra en mayúscula salvo que lo indique en la explicación,
algunos de los comandos que aquí figuran solo pueden ser ejecutados como root aunque no lo
indique.
8
POSIX Es un estándar que debe cumplir todo sistema operativo que pretenda ser considerado como UNIX; este estándar está
formado por un conjunto de especificaciones técnicas que aseguran una evolución previsible en estos sistemas.
1
UNIX Es una familia de sistemas operativos tanto para computadoras personales (PC) como para macrocomputadoras
(mainframes). Soporta gran número de usuarios y posibilita la ejecución de distintas tareas de forma simultánea (multiusuario y
multitarea). Su facilidad de adaptación a distintas plataformas y la portabilidad de las aplicaciones (está escrito en lenguaje C) que
ofrece hacen que se extienda rápidamente. Unix fue desarrollado a finales de los sesenta en los laboratorios Bell, y hasta principios
de los ochenta su uso estuvo restringido fundamentalmente al entorno académico. La firma AT&T fue la primera en comercializarlo
en 1983. Para UNIX el universo es un sistema de archivos. No existen periféricos, sólo archivos. De este modo se unifican todos
los procesos E/S. Los directorios son archivos que contienen enlaces con otros archivos. Terminales, discos compactos e
impresoras son archivos, en teoría se puede escribir y leer de todos ellos.
2
GNU: El Proyecto GNU comenzó en 1984 con el propósito de desarrollar un sistema operativo completo tipo Unix, el cual es
software libre. El sistema GNU es un acrónimo recursivo para ``GNU No es Unix''; y se pronuncia "gnu", tal y como se escribe.
Variantes del sistema operativo GNU, que utilizan el núcleo Linux, son bastante utilizadas hoy en día; aunque estos sistemas son
frecuentemente referidos como ``Linux'', deberían llamarse más exactamente sistemas GNU/Linux.
3
C++ es la versión orientada a objetos del lenguaje de programación C. La mayoría de los programas verdaderamente grandes se
escriben en este lenguaje porque facilita la programación orientada a objetos. Desarrollado en en la última parte de los 1970s, C se
constituyó en un enorme éxito debido al desarrollo de UNIX que fue escrito casi por completo en este lenguaje. En contraste con
otros lenguajes de alto nivel, C fué escrito por programadores para programadores. El lenguaje de programación C se caracteriza
por ser de uso general, con una sintaxis sumamente compacta y de alta portabilidad. C++ es la evolución de C. Actualmente,
algunos sistemas operativos se escriben en C y C++.
4
MINIX es un clon libre/gratuito de UNIX de codigo abierto. Debido a su pequeño tamaño, diseño basado en microkernel, y amplia
documentacion, esta adaptado para la gente que quiere utilizar un sistema de tipo UNIX en sus computadoras personales y
aprender como funcionan dichos sistemas por dentro.
5