El Sistema Operativo Linux. Tabla de Contenido. Por Luis Garreta (Version 0.1)



Documentos relacionados
El Sistema Operativo Linux INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

El Sistema Operativo Linux

4.- ESTRUCTURA DEL SISTEMA DE ARCHIVOS DE LINUX

Informática 4º ESO Tema 1: Sistemas Informáticos. Sistemas Operativos (Parte 2)

MANUAL COPIAS DE SEGURIDAD

Correo Electrónico: Webmail: Horde 3.1.1

Introducción al Linux y software libre. Marcelino Vicens Universidad de Valencia

TERMINAL DE COMANDOS (RED HAT, CENTOS Y FEDORA)

Guía de instalación de la carpeta Datos de IslaWin

TP N 9 Compresión de Archivos

Cómo capturar páginas web con el programa GNU Wget

WINDOWS : TERMINAL SERVER

RELACIÓN DE PRÁCTICAS DEL TEMA 2

Shell de Unix ProgPLN

Arquitectura del sistema operativo GNU/Linux. Luis Eduardo Sepúlveda R.

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)

GUIA DE LABORATORIO 1(Tercera Parte) Sistemas operativos

Tutorial DC++ Usarlo es muy sencillo y configurarlo también, aunque tiene algunos trucos importentes.

Práctica 1: Herramientas básicas:

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

( Segunda Parte ) 9 de Octubre de Versión 1.0

Curso de PHP con MySQL Gratis

Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web.

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

TEMA 2: GESTIÓN DE ARCHIVOS

Pasamos ahora a definir brevemente cual es el método de conexión más habitual usando un entorno gráfico.

MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

Manual de utilización y uso del Winrar

Tutorial: Primeros Pasos con Subversion

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04.

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Guía N 1: Fundamentos básicos(i)

Introducción a Linux. II.

Instalación y Registro Versiones Educativas 2013

Manual de Gunaguaro Instalación y Uso

Uso básico de la terminal

Person IP CRM Manual MOBILE

Archivo de correo con Microsoft Outlook contra Exchange Server

Notas para la instalación de un lector de tarjetas inteligentes.

Capítulo 2. Cuestiones previas

Guardar y abrir documentos

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Manual de iniciación a

PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:

Para descargar la versión más reciente de Skype accedemos al sitio web de Skype y luego hacemos clic en Descargar Skype para escritorio de Windows.

MANUAL DE SHAREPOINT Por: Área de Administración de Aplicaciones.

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

Crear la base de datos antes de la instalación de Wordpress.

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

Acronis License Server. Guía del usuario

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Tutorial del administrador de la web del departamento

Guía de instalación de la carpeta Datos de ContaWin

Selección de los puntos de montaje

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

Linux Open Suse 10.2 (Básico + Avanzado)

Reparar diagramas FUP o MMI con errores de código desde un Backup anterior.

Módulo I - Word. Iniciar Word Finalizar Word Definición de elementos de pantalla Escribir texto en un documento El cursor...

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

Instructivo de Instalación y Uso de software MasterControl

10. El entorno de publicación web (Publiweb)

La ventana de Microsoft Excel

Seguidamente se muestra una pantalla para seleccionar nuestra localización, y comprobamos que la hora y demás es correcto. Podemos hacerlo fácilmente

Manual de Winzip. Introducción

Manual de NetBeans y XAMPP

MANUAL DE USUARIO DE CUENTAS DE CORREO

SISTEMA DE CONTROL DE PRESENCIA

Manual CMS Mobincube

Programa Una laptop por niño

Manual hosting acens

PLANTILLAS DE DOCUMENTOS EN WORD 2007

Creación de imágenes. Pablo Sanz Mercado.

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

REGISTRAR LOS SITIOS WEB MÁS INTERESANTES

MINI MANUAL PARA CREAR FORMULARIOS CON PHP Marzo 2007

UTILIZACIÓN DE UNA CUENTA DE CORREO ELECTRÓNICO (NUEVO) Acceso al correo electrónico

WINDOWS. Iniciando Windows. El mouse

Para trabajar este tema vamos a situarlo un poco más en el lenguaje común:

ORGANIZAR LA INFORMACIÓN: EL EXPLORADOR DE WINDOWS

IS23 Mantenimiento de Instalaciones Informáticas Práctica 6. Acceso remoto a ordenadores tipo PC

6.1. Conoce la papelera

INSTALACIÓN DE MEDPRO

Uso de Visual C++ Pre-Practica No. 3

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

MACROS. Automatizar tareas a través del uso de las macros.

Transcripción:

El Sistema Operativo Linux Por Luis Garreta (Version 0.1) Tabla de Contenido 1 Linux: Un poco de Historia.....2 2 Características......3 2.1 Linux es un Sistema operativo cliente-servidor......3 2.2 Es multitarea, y multiusuario......3 2.3 Hace uso de superusuario o root......4 2.4 Existen varias distribuciones, pero todas comparten el mismo kernel....4 2.5 Si deseas actualizar el kernel, no debes reinstalar, solo hay que compilar el kernel!!!...4 3 Archivos......4 3.1 Nombres de archivos......4 3.2 Tipos de archivos......5 4 El Sistema de Archivos de Linux......5 4.1 El camino o path......6 4.2 Estructura del sistema de archivos de Linux......6 4.3 Acceso a los diferentes sistemas de archivos......7 5 Linux y sus entornos gráficos......8 5.1 Conceptos básicos del entorno gráfico......8 6 Consola de Línea de comandos......10 6.1 Sintaxis de los comandos......11 6.2 El prompt del sistema......11 7 Comandos de Linux......12 7.1 Comodines......12 7.2 Comandos para movers por el sistema de archivos......12 7.3 Comandos para crear/borras directorios......12 7.4 Comandos para mover, renombrar y copiar archivos......12 7.5 Comandos para listar archivos......13 7.6 dot slash./......13 7.7 Comandos de superusuario SU......13 7.8 Comando para ejecutar tareas en segundo plano......14 7.9 Comandos que sirven para hacer llamado de aplicaciones útiles......14 7.10 Comandos para búsquedas, despliegue y ordenamiento de archivos...14 7.10.1 Comando find......14 7.10.2 Comando grep......15 7.10.3 Comando cat......15 7.10.4 Comando sort......15 7.11 Comandos para descomprimir archivos en Linux desde la consola......16 7.12 tar......16 7.13 gz......16 7.14 tgz, tar.gz......16 7.15 bz2....16 7.16 tar.bz2.....16 7.17 zip......16 7.18 rar......17 7.19 Resumen de Comandos Básicos y Miscelaneos......17 8 Pipes o tuberías......18 9 Referencias......20

1 Linux: Un poco de Historia Para empezar, GNU/Linux es un sistema operativo. Esto significa que es un conjunto de instrucciones que nos va a permitir "hacer cosas", cualquier tipo de tarea, con nuestro computador. Sus características más notables son: Proviene de UNIX, otro sistema operativo, y es casi un derivado de él. Es parte del proyecto GNU, lo que significa, entre otras muchas cosas, que es libre y que muchas veces no estás obligado a pagar por él. Puedes usarlo de modo gratuíto y además puedes modificar su código fuente, para adaptarlo a tus propias necesidades o para contribuir en su continuo desarrollo, en el que toman parte programadores de todo el mundo (tú puedes ser uno de ellos). Antes de seguir leyendo y aprendiendo sobre él, conviene que visites la página web del proyecto GNU en la que se dan algunos detalles sobre qué es el proyecto, qué puedes hacer y qué no puedes hacer con el código fuente además de algunos otros detalles importantes. Es potente, seguro y estable. Debido a ello resulta un sistema operativo ideal para servidores ya que cumple muy bien esta función aunque como sistema operativo de oficina, de escritorio o de publicación también es excelente. Existen infinidad de programas para cualquier tipo de tarea que se quiera desarrollar y aunque muchos de ellos son gratuitos (no por ello de menos calidad que los comerciales, pues muchas veces los superan), también existen aplicaciones comerciales. Es un sistema multiusuario real y multitarea y funciona de manera muy productiva en redes. Desde sus raíces UNIX siempre lo ha sido. En definitiva Linux pone todo lo bueno de los grandes UNIX y algunas cosas más al alcance de todo el mundo. Lo vas a dejar ahí? Lo vas a desaprovechar? Un consejo, yo no lo haría. Hablemos un poco de la historia de GNU/Linux. Comencemos presentando a quien podemos considerar como el creador de Linux. Su nombre es Linus Trovalds. Puede decirse que Linus Trovalds creó este sistema operativo en 1991. Escribió un KERNEL (parte principal de un sistema operativo) y lo dejó a disposición de sus amigos y luego de toda la Internet para que cualquiera pudiese mejorarlo. Siempre se ha seguido la regla POSIX para que el sistema operativo sea compatible con otros UNIX y de esta manera tener mayor software a su disposición, y que el que se cree para Linux valga también en otros UNIX. Algún tiempo más tarde, para adaptar el sistema operativo y facilitar la instalación, nacieron las compañías distribuidoras de Linux. Entre ellas destacan RedHat, Debian, Caldera, SuSE, Mandrake... Estas distribuidoras pueden cobrar por ofrecer sus productos en CD o en algún otro soporte, pero deben poner su código a disposición del público, si han utilizado software GNU (bajo licencia GPL, que dice entre otras cosas que si usas código GPL en tu programa, tu programa se convierte automáticamente en GPL). Actualmente Linus Torvalds sigue coordinando el trabajo de los programadores de todo el mundo en el núcleo del sistema operativo para mejorarlo y adaptarlo al nuevo hardware. Cabe la posibilidad de preguntarse cuál es la mejor distribución de Linux? GNU/Linux tiene muchas distribuciones, y por lo general, no existe una distribución mejor que las demás, cada una de ellas tiene

sus puntos a favor en determinados aspectos. Así, Debian es una distribución que no es realmente comercial en sí como lo son la mayoría de las otras. El desarrollo de Debian es muy parecido al voluntariado que existe en el desarrollo del kernel de Linux. Para los que se aproximan por primera vez a Linux, es cierto que Mandrake, si se tiene una máquina con recursos suficientes, ofrece una instalación y configuración sencillas y un entorno gráfico personalizado ideal para no perderse al principio. Claro que siempre depende de tí y si tienes la oportunidad de tratar con varias distribuciones, trabaja con la que te sientas más cómodo. Puede haber problemas? Dependiendo del hardware que tengas en tu computador, porque Linux no soporta algunos dispositivos como Winmódems (módems diseñados para funcionar sólo con M$ Windows, en su mayoría internos), algunas tarjetas de sonido, etc. Puedo tener Windows y Linux en la misma máquina? Claro! La clave está en particionar el disco duro, para que Windows use una parte y Linux use otra, de manera que no interfieran. 2 Características 2.1 Linux es un Sistema operativo cliente servidor. Lo que significa que existen procesos clientes que hacen peticiones a procesos servidores. En medio de estos dos está el núcleo o kernel que controla la comunicación entre ellos. 2.2 Es multitarea, y multiusuario. Como la mayoría de sistemas operativos modernos, linux te permite tener activo (funcionando) más de un programa al mismo tiempo. Puedes estar navegando por internet y a la vez estar ejecutando un programa para escuchar música. Además mientras haces todo esto, al mismo tiempo el mismo sistema operativo tiene varios procesos activos también. Así mismo, linux es multiusuario, es decir se puede conectar varias personas a un computador con sistema operativo linux y trabajar en aplicaciones o programas distintos. Por eso es bien conocido que linux es bueno como sistema operativo para equipos servidores (como los que te conectas cuando navegas por internet). Cada usuario va a tener entonces una cuenta o espacio de trabajo único que no interfiere con el de los demás usuario y todo esto lo coordina el sistema operativo (administra los recursos). 2.3 Hace uso de superusuario o root. En linux pueden existir varios usuarios y trabajar de forma normal con lo que le está perimitido por el sistema. Pero, entre esos usuarios existe uno que es el más poderoso y puede hacer lo que quiera y se los conoce como root (raíz, superusuario). Debido a su poder, el encargado de este usuario debe ser el alguien que conozca del sistema operativo y que administre el equipo, es decir, el encargado de crear nuevas cuentas de usuarios, de instalar nuevas aplicaciones, de guardar la información relevante para que no se pierda (backups), y otras múltiples tareas.

2.4 Existen varias distribuciones, pero todas comparten el mismo kernel. Una de los primeros conceptos que aparecen al iniciarse en Linux es el concepto de distribución. Una distribución es un agrupamiento del núcleo del sistema operativo Linux (la parte desarrollada por Linus Torvalds) y otra serie de aplicaciones de uso general o no tan general. En principio las empresas que desarrollan las distribuciones de Linux están en su derecho al cobrar una cierta cantidad por el software que ofrecen, aunque en la mayor parte de las ocasiones se pueden conseguir estas distribuciones desde Internet, de revistas o de amigos, siendo todas estas formas gratuitas y legales. Las distribuciones más conocidas son RedHat, Debian, Slackware, SuSE y Corel Linux, todas ellas incluyen el software más reciente y empleado lo cual incluye compiladores de C/C++, editores de texto, juegos, programas para el acceso a Internet, así como el entorno gráfico de Linux: X Window. 2.5 Si deseas actualizar el kernel, no debes reinstalar, solo hay que compilar el kernel!!! Normalmente en los sistemas operativos propietarios como Windows, cada que quieres actualizar el sistema tienes que reinstalar, es decir, borrar el antiguo sistema (no del todo) e instalar el nuevo. Esto es algo engorroso y muchas veces en la reinstalación también tienes que reisntalar tus programas (los de hacer tus trabajos, los de escuchar música, etc.). En cambio en linux sólo tienes que descargar de algún sitio de internet el nuevo sistema (kernel), colocarlo en tu máquina, y generar el nuevo kernel usando un compilador, que por lo general va a estar disponible en tu computador. 3 Archivos 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 como un disco duro, 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. 3.1 Nombres de archivos 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 ficheros con estos caracteres o espacios hay que introducir el nombre del fichero 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

ficheros empleando una serie de caracteres al final del nombre que indiquen el tipo de fichero del que se trata. Así, los ficheros de texto, HTML, las imágenes PNG o JPEG tienen extensiones.txt,.htm (o.html),.png y.jpg (o.jpeg) respectivamente. 3.2 Tipos de archivos Pese a esto Linux sólo distingue cuatro tipos de archivos: Archivos o ficheros ordinarios, son los mencionados anteriormente. Directorios (o carpetas), es un archivo especial que agrupa otros ficheros de una forma estructurada. 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 fichero que enlaza de igual modo que si se hubiera copiado el contenido del mismo a otro fichero, 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 fichero, puesto que permiten compartir el fichero pero centralizan las modificaciones. Archivos especiales, son la base sobre la que se asienta Linux, puesto que representan los dispositivos conectados a un computador, 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. Como ejemplo se puede suponer la existencia de un fichero 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. 4 El Sistema de Archivos de Linux 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 ficheros y directorios, y que es independiente de qué dispositivos estén conectados al computador. 4.1 El camino o path El camino o path de un fichero o directorio es la secuencia de directorios que se ha de recorrer para acceder a un determinado fichero separados por /. Supongamos la estructura de archivos de la siguiente figura:

Existen dos formas del path o camino: el camino absoluto que muestra toda la ruta a un fichero, /home/luis/carta.txt. el path relativo a un determinado directorio, por ejemplo si no encontramos en el directorio /home, el path relativo al fichero 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.. Estando en el directorio /home/pedro se puede acceder a Carta.txt con /home/luis/carta.txt (path absoluto) o bien../luis/carta.txt (path relativo). En luis como./carta.txt o simplemente Carta.txt. 4.2 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 un determinado computador tiene 1, 2 o 7 discos duros para crear las unidades c:, d: o m:. Todos el sistema de archivos de Unix tiene un origen único la raíz o root representada por /. Bajo este directorio se encuentran todos los ficheros a los que puede acceder el sistema operativo. Estos ficheros 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 ficheros del sistema representando los dispositivos que estén físicamente instalados en el computador. /etc Este directorio esta reservado para los ficheros de configuración del sistema. En este directorio no debe aparecer ningún fichero binario (programas). Bajo este deben aparecer otros

dos subdirectorios: /etc/x11 Ficheros de configuración de X Window /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). /proc Contiene ficheros 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 ficheros). /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. 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. /usr/etc Ficheros de configuración generales. /usr/include Ficheros de cabecera de C/C++ (.h). /usr/info Ficheros de información de GNU. /usr/lib Librerías generales de los programas. /usr/man Manuales accesibles con el comando man (ver más adelante). /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 (lo cual no implica que se pueda borrar su contenido, de hecho, no se debe hacer!) 4.3 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 un computador 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. 5 Linux y sus entornos gráficos Si hastrabajado con Windows, estarás acostumbrado a las interfases gráficas. En Linux hay varias posibilidades si necesita o quieres usarlas, y otras tantas si no lo deseas. Por ejemplo existe el entorno Gnome y el entorno KDE, entre otros. Una interfase gráfica de trabajo tiene la ventaja (si está bien diseñada) de ser más evidente e intuitiva que una línea de comandos; de presentar una curva de aprendizaje menos empinada. Por otro lado, se pierde en la maniobrabilidad y en la potencia para determinadas tareas. 5.1 Conceptos básicos del entorno gráfico Si observamos con detenimiento la pantalla de un entorno gráfico cualquiera veremos que se compone de distintas partes definidas: Iconos, Ventanas, Menúes y el Puntero del mouse, todo en el marco de un Escritorio. de trabajo. Ese Escritorio es la metáfora aquí, el espacio en el que usted dispone sus aplicaciones y otras cosas para trabajar, como si fueran hojas y carpetas en un escritorio real. En la imagen verá las partes más importantes de un entorno de escritorio. El Escritorio

Dentro del escritorio encontraremos entonces: Ventanas, que representan aplicaciones (programas). Las ventanas tienen a su vez una barra de título, una barra de menúes, a veces una barra de acciones, y un área principal. Menúes, que pueden estar en las ventanas o no. La característica de los menúes es de ser desplegables: normalmente están identificados por una opción, una palabra que los resume. También puede tratarse de un ícono, en el caso de los menúes de aplicaciones. Los menúes contienen opciones, accesos a programas y submenúes, estos últimos marcados por una flecha. En la imagen debajo puede ver un menú de la ventana abierta, con un par de submenúes y algunas acciones posibles. Al lado de ellas aparecen los atajos de teclado: las combinaciones de teclas alternativas para esa acción. Barra de menúes y el menú Archivo Iconos: Los íconos son imágenes que refieren a un archivo, un programa o una carpeta. Podemos verlos como etiquetas para identificar fácilmente a cada cosa. A veces, un panel principal. El panel está representado por un ícono. En el caso de KDE es el ícono K, en el de GNOME es el pie. Al hacer click sobre el ícono, se despliega el menú. El Botón K

El botón G Si te fijas, ambos muestran una flecha. Ella indica que son íconos de menú. 6 Consola de Línea de comandos La línea de comandos que generalmente la vas a poder acceder a través de una consola o ventana para ejecutar comandos, no es más que una ventana en la cual puedes dar las mismas ordenes que realizas a través de la interfaz gráfica. Es decir, arrancar aplicaciones, ver archivos, comprimir datos, etc., lo puedes hacer a través de comandos que te memorizas y los escribes en la consola. En Linux es frecuente el uso de la linea de comandos. Esto es así en primer lugar porque el sistema operativo tiene centenares de utilidades a las que no podrás llegar desde el entorno gráfico. Y porque la línea de comandos permite ejecutar programas con mas opciones (y rapidez) de la que tendriamos usando la interfaz gráfica. Linux ha sido el sistema de linea de comandos por excelencia, y de hecho hasta hace pocos años, el arranque del computador por defecto era modo consola, arrancando el servidor X (para el entrono gráfico) solo cuando necesitabas utilizar un programa que lo requería, con el comando startx. Hoy en dia ocurre justo al revés. Por defecto tu sistema linux arrancará con Gnome o KDE, y para acceder a la linea de comandos deberás lanzar desde el menú de aplicaciones un emulador de terminal o consola. Así se ve la consola:

6.1 Sintaxis de los comandos Los comandos tienen la siguiente sintaxis: # programa arg1 arg2... argn Se observa que, en la ``línea de comandos'', se introduce el programa seguido de uno o varios argumentos. Así, el intérprete ejecutará el programa con las opciones que se hayan escrito. Cuando se quiere que el comando sea de varias líneas, se separa cada línea con el carácter barra invertida (). Además, cuando se quiere ejecutar varios comandos en la misma línea, los separa con punto y coma (;). Por ejemplo: # make modules ; make modules_install En los comandos, también se puede utilizar los comodines: El asterisco () es equivalente a uno o más caracteres en el nombre de un archivo. Ejm: ls *.c lista todos los archivos con extensión c. El signo de interrogación (?) es equivalente a un único carácter. Ejm: ls curso.te? lista el archivo curso.tex completando el último carácter. Un conjunto de caracteres entre corchetes es equivalente a cualquier carácter del conjunto. Ejm: ls curso_linux.t[aeiou]x lista curso_linux.tex seleccionando la e del conjunto.. 6.2 El prompt del sistema El prompt del sistema es el conjunto de carácteres que te indican la línea donde debes teclear tus órdenes. Altamente configurable, por defecto es posible que te encuentres con algo parecido a: ignacio@localhost:~$ donde te informa que estas logeado en el sistema como usuario ignacio, en la máquina localhost 7 Comandos de Linux 7.1 Comodines prácticamente todas las utilidades que emplean la linea de comandos admiten comodines *? el comodin? representa cualquier caracter. Por ejemplo, ls diari?.log te mostraria la existencia tanto de diario.log como de diaria.log Y * coincide con cualquier secuencia de caracteres. ls foto.* te indicaria la existencia de foto.jpg, foto.gif etc 7.2 Comandos para movers por el sistema de archivos El comando pwd nos devuelve la ruta en la que estamos en ese momento. Para cambiar de directorio usamos cd, que tiene varias opciones:

cd /path/deseado/ nos lleva a /path/deseado cd. directorio actual cd.. directorio padre cd (sin parametros) lleva al home de tu usuario cd ~ nombreusuario te lleva al home de nombreusuario, si tienes permisos para ello. cd ~ te lleva al home de tu usuario. cd / te lleva al home de tu usuario. cd - te lleva al ultimo directorio en que hallas estado 7.3 Comandos para crear/borras directorios Para crear nuevos directorios, la opción es mkdir. Para borrar archivos o directorios, rm: rm -r carpeta, usando la opción -r para borrar cualquier subcarpeta 7.4 Comandos para mover, renombrar y copiar archivos Usamos cp /ruta/archivo/original /ruta/para/copia para copiar archivos. mv ruta/archivo nueva/ruta/archivo sirve tanto para mover un archivo o carpeta como para renombrarlo 7.5 Comandos para listar archivos El comando ls muestra una lista de los archivos de un directorio. ls [opciones] [archivo directorio] [archivo directorio...] ls (sin parametros) lista archivos del directorio actual. ls -a muestra todos los archivos, incluido ocultos ls -A igual que a menos los archivos "." y ".." ls -R listado recursivo ls -l muestra permisos de cada fichero y ultimo acceso ls -s muestra el tamaño de cada fichero listado 7.6 dot slash./ Y ya que esto es una breve introducción a la consola, hay que recordar que en linux las rutas a los archivos siempre se separan con la barra /, no la invertida propia de windows. Y otra diferencia con windows que a veces pasa desapercibida. Cuando intentamos ejecutar un comando en windows, este siempre busca el ejecutable en primer lugar en el archivo desde el cual se ejecuta la orden, y luego en cualquier otro directorio incluido en el path. Por el contrario linux no buscará el ejecutable en el directorio actual, salvo claro está que dicho directorio esté en el path.

Por tanto la forma de asegurarnos la correcta ejecución de cualquier ejecutable, si estamos en el directorio donde se encuentra, es usar un punto y barra para indicar que busque en nuestro directorio: por ejemplo, root@localhost: ignacio/home #./miscript.sh serviría para ejecutar miscript.sh solo si este se encuentra en ignacio/home Y ya que hablamos del path, si quieres ver que rutas tienes en esta variable, simplemente escribe echo $PATH 7.7 Comandos de superusuario SU Siempre se ha dicho que la buena práctica en linux es acceder al sistema como usuario con derechos limitados, y ganar los privilegios de root solo cuando nos sea necesario, y ello para evitar ejecutar por error algun comando que se cargue el sistema (y porque linux es un sistema multiusuario, presumiendo que varias personas haran uso de el, y no todas ellas serán administradores). Pues bien, desde tu linea de comandos, logueado como usuario, puedes ganar privilegios de root con el comando su. Por ejemplo, tras la orden: [lgarreta@localhost] ~ $ sudo kedit /etc/fstab el sistema te preguntará por la contraseña de root, y si es correcta, editará el archivo /etc/fstab con el programa kedit, con permisos de root. sudo permite ejecutar como root solamente la instruccion de la línea donde se ejecuta. Como alternativa puedes simplemente escribir su, introducir la contraseña y ganar privilegios de root para esa sesion de consola. Fijate como el promt te identifica como root, no solo por el nombre del usuario, sino también por el signo # que reemplaza el signo $ 7.8 Comando para ejecutar tareas en segundo plano Si quieres ejecutar un comando o programa que prevees que va a tardar tiempo en completarse, y no deseas cambiar de terminal, puedes ordenar que se ejecute en segundo plano simplemente añadiendo un carácter & al final de la orden, antes de ejecutarla. Para regresar a cualquier proceso que has dejado en segundo plano, generalmente se utilizan los comandos fg o exit. 7.9 Comandos que sirven para hacer llamado de aplicaciones útiles acroread, xpdf : para abrir archivos.pdf. ooffice: para inicializar Open Office. mozilla, firefox, opera: para abrir un navegador.

kate, pico, vi: para abrir un editor de texto. gv: para abrir archivos.ps Recuerda poner & al final del comando para liberar la consola de la aplicación que se lanza. Claro que si lo olvido... presione la tecla control +Z y despues bg (se cierra la aplicación). 7.10 Comandos para búsquedas, despliegue y ordenamiento de archivos Existen comandos que facilitan la realización de tareas, tales como buscar archivos, inspeccionarlos, unirlos y ordenarlos. 7.10.1 Comando find Se utiliza para buscar archivos. Busca "prueba.txt" en /mnt y los subdirectorios que tenga $ find /mnt -name prueba.txt Busca archivos que empiecen por up (ignorando sensibilidad) desde el directorio actual $ find. -iname up\* Buscar archivos "core" con más de 2 Mb en el directorio del usuario $ find ~/ -name core -size +2048k Cambiar permisos de ficheros y directorios dentro del public_html del usuario: $ find ~/public_html -type d -exec chmod 711 {} \; $ find ~/public_html -type f -exec chmod 644 {} \; 7.10.2 Comando grep grep busca líneas que concuerden con un patrón, dentro de algún/os archivo/s. Sintaxis: grep <patrón> <archivo1> <archivo2>... <archivon> Ejemplos: Busca líneas que contengan users dentro de /etc/passwd $ grep users /etc/passwd Busca líneas que contengan enlaces en una página web index.htm, ignorando case e imprimiento número de línea $ grep -in <a href= index.htm 7.10.3 Comando cat Cat es aparentemente una herramienta usada para concatenar (esto es, encadenar uno con otro) un número

de archivos a la salida estándar, pero en la práctica es frecuentemente usado para mostrar los contenidos de un archivo a la salida estándar, o usándolo para crear pequeños archivos o usarla terminal como un bloc de notas (usando redirección de shell). Ejemplo de concatenación de archivos en salida estándar: [lgarreta@bioinfo ~]$ cat /proc/ide/hda/driver /proc/ide/hdc/driver ide-disk version 1.18 ide-cdrom version 4.61 7.10.4 Comando sort El comando sort ordena las ĺíneas de un texto. Acepta un archivo o lista de archivos para ordenar, y si no se da ninguna o se le pasa ' ', la lee de la salida estándar. Ejemplo [lgarreta@ bioinfo ~]$ rpm -qa sort head a2ps-4.13b-8mdk a320raid-3.00.047-4mdk acpi-0.07-6mdk acpid-1.0.4-6.2.20060mdk alsa-utils-1.0.9-4mdk amarok-1.4.1-0.5mdv2007.0 amarok-engine-xine-1.4.1-0.5mdv2007.0 amarok-scripts-1.4.1-0.5mdv2007.0 apmd-3.2.2-5mdk apt-0.5.15cnc6-10mdk 7.11 Comandos para descomprimir archivos en Linux desde la consola En modo gráfico tenemos el gestor de archivadores para facilitarnos la vida. Pero, cómo tratar con archivos comprimidos o empaquetados como los tgz, tar, bz2 o rar en la consola? 7.12 tar Se trata de un archivo que combina varios archivos en uno, no hay compresión de datos. Para extraer el contenido usamos el comando tar con los flags x (extract, extraer) y f (file, desde un archivo), y opcionalmente v (verbose) para mostrar por pantalla el proceso o vv para mostrar no solo los archivos y carpetas creadas, sino información sobre estas. tar xvf archivo.tar 7.13 gz Se trata de un archivo comprimido con gzip. Para descomprimir utilizamos el comando gzip con el flag d (descomprimir) o bien el comando gunzip, que no es más que un enlace a gzip. gunzip archivo.gz gzip -d archivo.gz

7.14 tgz, tar.gz Un archivo empaquetado con tar y comprimido con gunzip. Se descomprime de la misma forma que los tar, añadiendo el flag z para indicarle que use gzip para descomprimir. tar xvzf archivo.tar.gz 7.15 bz2 Archivo comprimido con bzip2. Para descomprimir se usa el comando bzip2 con el flag d (descomprimir) o bien el comando bunzip2, que no es más que un enlace a bzip2. bunzip2 archivo.bz2 bzip2 -d archivo.bz2 7.16 tar.bz2 Similar a los archivos tar.gz, pero se usó bzip2 para comprimirlo. Para descomprimir se usa también tar, con el flag j en lugar de z: tar xvjf archivo.tar.bz2 7.17 zip Archivo comprimido con zip. Se descomprime usando el comando unzip: unzip archivo.zip 7.18 rar Formato propietario de RarLab, creadores del famoso Winrar. Normalmente el comando rar no está instalado en el sistema sudo aptitude install rar Se descomprime con el flag x (extract, extraer) rar -r archivo.rar 7.19 Resumen de Comandos Básicos y Miscelaneos Los comandos son esencialmente los mismos que cualquier sistema UNIX. En la tablas siguientes se tiene la lista de comandos mas frecuentes. Comando/Sintaxis Descripción Ejemplos cat fich1 [...fichn] Concatena y muestra un archivos cat /etc/passwd archivos cat dict1 dict2 dict cd [dir] Cambia de directorio cd /tmp chmod permisos fich Cambia los permisos de un archivo chmod +x miscript

chown usuario:grupo fich Cambia el dueño un archivo chown nobody miscript cp fich1...fichn dir Copia archivos cp foo foo.backup diff [ e]arch1 arch2 Encuentra diferencia entre archivos diff foo.c newfoo.c du [ sabr] fich Reporta el tamaño del directorio du s /home/ file arch Muestra el tipo de un archivo file arc_desconocido find dir test acción Encuentra archivos. find. name ``.bak'' print grep [ cilnv] expr archivos Busca patrones en archivos grep mike /etc/passwd head count fich Muestra el inicio de un archivo head prog1.c mkdir dir Crea un directorio. mkdir temp mv fich1...fichn dir Mueve un archivo(s) a un directorio mv a.out prog1 mv fich1 fich2 Renombra un archivo. mv.c prog_dir less / more fich(s) Visualiza página a página un archivo. more muy_largo.c less acepta comandos vi. less muy_largo.c ln [ s] fich acceso Crea un acceso directo a un archivo ln s /users/mike/.profile. ls Lista el contenido del directorio ls l /usr/bin pwd Muestra la ruta del directorio actual pwd rm fich Borra un fichero. rm foo.c rm r dir Borra un todo un directorio rm rf prog_dir rmdir dir Borra un directorio vacío rmdir prog_dir tail count fich Muestra el final de un archivo tail prog1.c vi fich Edita un archivo. vi.profile Comandos Linux/Unix de manipulación de archivos y directorios Comando/Sintaxis Descripción Ejemplos at [ lr] hora [fecha] Ejecuta un comando mas tarde at 6pm Friday miscript cal [[mes] año] Muestra un calendario del mes/año cal 1 2025 date [mmddhhmm] [+form] Muestra la hora y la fecha date echo string Escribe mensaje en la salida estándar echo ``Hola mundo'' finger usuario Muestra información general sobre finger nn@maquina.aca.com.co un usuario en la red id Número id de un usuario id usuario

kill [ señal] PID Matar un proceso kill 1234 man comando Ayuda del comando especificado man gcc man k printer passwd Cambia la contraseña. passwd ps [axiu] Muestra información sobre los procesos ps ux que se están ejecutando en el sistema ps ef who / rwho Muestra información de los usuarios who conectados al sistema. 8 Pipes o tuberías Hasta ahora hemos visto como algunos comandos toman datos de alguna parte (por ejemplo, un archivo) y lo envían a otra parte (a la consola u a otro archivo). Lo siguiente que tenemos que plantearnos sería... no podríamos "conectar" de alguna forma la salida de un programa y hacer que otro programa lea de ella? Efectivamente, podemos conseguir esto. El caracter nos permite crear estas conexiones entre programas en el shell. Ejemplo: $ cat mifichero grep gato Lo que este comando hará será lo siguiente: La primera parte antes de la barra vertical, conseguirá el contenido del fichero mifichero, y con la barra vertical, en lugar de sacarlo por la pantalla, lo enviará a la entrada estándar (stdin) de tal forma que el programa grep leerá desde stdin el contenido del fichero mifichero. El concepto del efecto que esto produce es fácil de entender: el comando que va detrás de la barra lee de la salida que dió el comando anterior. Es obvio que lo que obtendremos serán las líneas del fichero mifichero que contienen la palabra "gato" por la pantalla (stdout). Como ves, no estamos pasando ninguna opción ni al comando cat ni al comando grep. Esto es porque el primero (cat) envía la salida por defecto a stdout, y grep, si recuerdas, lee por defecto de stdin (que al usar la barra vertical, hemos hecho que stdin sea la salida del primer comando y no las líneas que tecleemos a continuación como hicimos anteriormente). Pero los pipes con la barra vertical podremos emplearlos con otros programas que no tengan este comportamiento por defecto, esto es, que su salida no apunte por defecto a stdout (podría apuntar, por ejemplo, a un fichero) o que no lean por defecto de stdin. Podremos hacer que tengan este comportamiento pasándoles determinadas opciones si disponen de ellas. Es muy común la opción - (un solo guión) para hacer que un programa lea de stdin o escriba a stdout si tiene esta funcionalidad; seguro que te encuentras algun comando que tenga esta posibilidad más adelante. Otros caracteres que nos permiten crear "pipes", son < y >. Generalmente, este par de caracter trabajan con un fichero a un lado y un comando a otro. Me explico; veamos primero el caracter <:

$ grep gato < mifichero Esta línea es equivalente a la del ejemplo anterior. El contenido del fichero que ponemos a la derecha del signo se va a la entrada estándar de la que lee el comando que ponemos a su izquierda, por lo tanto esta línea conseguiría exactamente el mismo efecto que la del ejemplo anterior. Ahora el signo contrario. A la izquierda del signo > ponemos un comando, y a la derecha el nombre del fichero al que queremos que se escriba la salida del comando. Por ejemplo: $ ls -la > listado La lista del contenido del directorio actual que el comando ls sacaría normalmente por pantalla, en vez de eso se ha escrito en el fichero listado. Si el fichero no existía, se ha creado, y si existía y tenía contenido, ha sido sobreescrito, asi que tengamos cuidado. El uso de los signos >> juntos, tiene una funcionalidad similar al uso de un signo solamente, y puede sernos útil muchas veces: $ echo "Esta es otra línea" >> texto Vemos en qué es similar a lo anterior; la línea "Esta es otra línea se ha escrito al fichero texto. Si el fichero no existía, ha sido creado, y la diferencia, si existía y tenía contenido, la línea se ha escrito al final del fichero, debajo del contenido que ya tenía. Este comportamiento nos puede ser muy útil de cara a ir añadiendo líneas a un archivo sin necesidad de tener que abrirlo con un editor. 9 Referencias Curso de Linux: http://www.wikilearning.com/curso_de_linux wkc 4230.htm Tutoriales Linux: http://moranar.com.ar/lin/main.html Manual básico de Linux: http://www.monografias.com/trabajos13/mabas/mabas.shtml Manual Linux eminentemente práctico: http://www.zonasiete.org/manual/ Curso de Linux Version 2.0: http://es.tldp.org/tutoriales/cursolinux/curso_linux/curso_linux.html Comandos básicos para Linux y ejemplos de utilización: http://www.ajpdsoft.com/modules.php?name=news&file=article&sid=155