Skip to document

Introlinux - Breve resumen de como manejar Linux

Breve resumen de como manejar Linux
Course

Introduction to Databases and Databases Management Systems:Part 1 (CSIQ2634)

37 Documents
Students shared 37 documents in this course
Academic year: 2021/2022
Uploaded by:
Anonymous Student
This document has been uploaded by a student, just like you, who decided to remain anonymous.
Universidad de Buenos Aires

Comments

Please sign in or register to post comments.

Preview text

Introducción a

Linux

Javier Blanco blanco@mate.uncor

Damián Barsotti damian@famaf.unc.edu

Copyright c© 2003 Damián Barsotti y Javier Blanco. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover, and no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.

I

III

  • A. Breve historia de la computación (el porque de los S., la administración y el Software Libre)
    • A. Sus inicios
    • A. Surge la computación con fines comerciales
    • A. Multitarea y multiusuario
    • A. Surge Unix
    • A. Crisis del Software
    • A. Surgimiento del Software Libre
    • A. Linux
  • B. Información adicional
    • B. Ubicacion de las man pages
    • B. Otras fuentes de información
      • B.2. HOWTO y mini HOWTO
      • B.2. SAG y NAG
      • B.2. En Internet
      • B.2. Documentación de Red Hat
      • B.2. Recomendaciones de búsqueda de información
    • B. Otras características de Linux
      • B.3. Árbol de procesos
      • B.3. Demonios
      • B.3. Configurable por archivos de texto
      • B.3. Estructura del S. Linux
      • B.3. Proceso de arranque del sistema
  • C. GNU Free Documentation License
    • C. Applicability and Definitions
    • C. Verbatim Copying
    • C. Copying in Quantity
    • C. Modifications
    • C. Combining Documents
    • C. Collections of Documents
    • C. Aggregation With Independent Works
    • C. Translation
    • C. Termination
    • C. Future Revisions of This License
  • Índice de Tareas
  • Bibliografía

Capítulo 1

Introducción

Este apunte pretende ser una guía para las personas que comienzan a utilizar el sistema operativo Linux. El mismo fue concebido como material para la materia Algoritmos y Estructuras de Datos I de la carrera Licenciatura en Ciencias de la Computación que se dicta en la Facultad de Matemática Astronomía y Física de la Universidad Nacional de Córdoba. Su contenido está orientado al uso de las plataformas de trabajo que se encuentran actualmente en el laboratorio de computación de dicha facultad, pero puede ser útil como introducción al uso del sistema operativo Linux en general.

1. Presentación de Linux

El sistema operativo Linux (S. Linux) es una implementación con características de Software Libre (ver sección A (pág. 51)) del sistema operativo UNIX para computadoras personales. Uno podría utilizar el sistema sin preguntarse el porque de la existencia de Linux y de manera más general, del Software Libre. Pero estas preguntas son importantes ya que nos ayudan a comprender la filosofía con la que fue desarrollado este sistema operativo y por ende poder entenderlo y aplicarlo en la solución de problemas concretos. El nacimiento de Linux puede ser entendido como un resultado necesario en el desarrollo de la historia de la computación. Este desarrollo también abarca el nacimiento de la idea de sistema operativo. Además, la historia de la evolución de estos sistemas sirve para comprender sus características en la actualidad y en particular de Linux. Un bosquejo de esta historia puede encontrarse en el apéndice A (pág. 47). Un desarrollo más detallado (principalmente de la historia de Unix y Linux) se puede encontrar en [Ray03].

1. Características de Linux

En esta sección se hará una resumen de la principales características de Linux. A medida que se expliquen estas características se mostrará en un Linux corriendo, algunas manifesta- ciones de las mismas. Para ello primero tendremos que autenticarnos al sistema.

Tarea 1 Ingresar al sistema En Linux lo primero que debemos hacer antes de poder trabajar con el, es ingresar como un usuario previamente acreditado. Para ello debemos ingresar este, en una pantalla que se vería similar a esto:

Importante: Lo único que maneja el sistema para corroborar la identidad de un usuario es el login y la contraseña. Esto quiere decir que si otra persona conoce esta información puede utilizar nuestros recursos indiscriminadamente. Es por ello que no debe brindar la contraseña a otras personas.

Tarea 1 Ver terminales virtuales Linux permite que varios usuarios ingresen al sistema al mismo tiempo en la misma consola, utilizando lo que se denomina terminales virtuales. Una vez que ya ingresamos al sistema oprimiendo conjuntamente las teclas [Alt][F2] vamos a ver una pantalla similar a la siguiente:

Red Hat Linux release 7 (Seawolf) Kernel 2.4 on an i hp01 login:

Esta es idéntica a la primera pantalla de ingreso al sistema y aquí cualquier usuario (generalmente el mismo) puede utilizarlo también. Por lo general están definidas 6 terminales virtuales (esto es configurable en el sistema), las cuales pueden ser accedidas con las combinaciones de teclas [Alt][F1] a [Alt][F6]. Volvamos ahora a la pantalla original oprimiendo [Alt][F1].

Orientado a Shell

Ya entramos al sistema como usuario y vimos que se muestra una pantalla en modo texto con algo parecido a:

Red Hat Linux release 7 (Seawolf) Kernel 2.4 on an i hp01 login: martin Password: Last login: Wed Jan 9 17:45:09 on tty [martin@maq martin]$ _

En este momento se activó un proceso llamado shell que se encarga de atender los pedidos del usuario para utilizar el sistema; de aquí en adelante el sistema espera que el usuario ingrese nombres de programas para ser ejecutados. Esta es la forma predefinida para utilizar el sistema. Por lo general se utiliza el shell para ejecutar programas. De esta forma funciona como interfase entre el usuario el sistema operativo para indicarle a este último que los ejecute. Se denomina proceso a un programa en ejecución. Cada proceso tiene un programa asociados: un mismo programa puede estar ejecutándose muchas veces hasta por distintos usuarios. El mismo shell también tiene un programa asociado. Si bien Linux cuenta con potentes entornos gráficos la interfase por defecto y más potente para usar Linux es el shell, por varios motivos:

Es tremendamente estable, a diferencia de los entornos gráficos que son muy inestables, en todos los sistemas operativos, incluso en Linux.

Es totalmente programable, lo que lo hace muy versátil.

Tiene la rapidez del entorno carácter.

Vienen muchas mas herramientas para este, que para los entornos gráficos.

Es más, los entornos gráficos en Linux son programas que se pueden lanzar desde el shell (generalmente el programa startx). La comunicación con el sistema por medio del shell es una característica heredada desde los primeros Unix. En la sección 1.2 (pág. 5) se verán algunos programas que se pueden ejecutar por medio del shell.

Abstracción “sistema de archivos”

El sistema de archivos de linux es mucho más que una representación o abstracción de los almacena- mientos de memoria. Los archivos pueden también representar otros dispositivos como teclados, monitores, impresoras o dispositivos de sonido. Así, por ejemplo, si se escribe sobre el archivo que representa el mo- nitor de video se escribirán caracteres en la pantalla del mismo. De la misma forma si se lee el archivo que representa un micrófono conectado a la placa de sonido se estará viendo un archivo de sonido en algún formato predefinido. También el sistema de archivos permite representar enlaces de comunicación entre procesos locales o en red. Así, si se quiere enviar cierta información a algún proceso, solo hay que escribir en el archivo que representa una conexión con el mismo. La comunicación para comprobar o modificar el comportamiento del sistema operativo también se rea- liza leyendo o modificando ciertos archivos especiales (generalmente estos archivos están en el directorio /proc). Como se puede observar, todo en Linux es un archivo. Esta inclinación a basar toda la interfase entre las funcionalidades del hardware con el usuario a través del sistema de archivos es también heredada de los viejos sistemas Unix y provee cierta uniformidad en el manejo del sistema operativo.

Software Libre

Linux no es un programa de dominio público, varios de sus componentes tienen derecho de autor; los derechos de autor del kernel básico 2 son de propiedad de Linus Torvals. La mayoría de los componentes de Linux están regidos bajo las leyes del GNU General Public License. El software GNU tiene copyright, pero sus autores han dado su autorización para que se distribuya de acuerdo a algunas condiciones. Estas condiciones se refieren a la necesidad de suministrar el código fuente y que a ninguna de las partes del software se las someta a copyright. Esto significa que si un programador, por ejemplo, tomara el código fuente de algún programa GNU y lo modificara en alguna parte, este a su vez debe permitir al acceso a ese código modificado. En ocasiones esta licencia se denomina GNU Copyleft, cubre todos los programas producidos por GNU y por la Free Software Fundation. El GNU Copyleft o GPL permite a los creadores de programas conservar sus derechos de autor, pero permitiendo al resto de los usuarios la posibilidad de copiarlos y modificarlos a sus necesidades. Esta licencia beneficia fuertemente la distribución de Linux. Es así que existen empresas que se encargan de “empaquetar” el kernel junto con otros programas (editores, juegos, entorno gráfico, etc.) y creando programas instaladores del sistema (generalmente bajo la misma licencia). Las más representativas quizá sean la Red Hat, Slackware, Suse, Caldera, Debian, etc.

Auto-documentado

El sistema operativo Linux, por su característica de software libre beneficia la documentación de todas sus funcionalidades. Todas las distribuciones brindan esta documentación en varios formatos aunque la documentación más importante es el código de los programas en sí.

2 El kernel de Linux es el sistema que provee los servicios básicos, como por ejemplo administrador de procesos, memoria virtual, drivers, manejo de archivos, etc. En otras palabra es el “nivel más bajo” del sistema operativo.

Tarea 1 Ver en que directorio nos encontramos Ejecutemos el mismo:

[martin@maq martin]$ pwd /home/martin [martin@maq martin]$ _

Este seria equivalente al comando “cd” de DOS sin ningún argumento.

ls Otra función muy útil es listar los archivos del directorio donde nos encontramos. Para ello usamos el comando ls.

Tarea 1 Usemos ls Ejecutemos el comando:

[martin@maq martin]$ ls Desktop [martin@maq martin]$ _

Como podemos observar, ls nos presenta los archivos que tenemos en nuestro directorio, sin embargo es conveniente usarlo con algunos argumentos para que se nos muestre mas información de estos archivos:

[martin@maq martin]$ ls -la total 88 drwx------ 6 martin martin 4096 ene 25 00:. drwxr-xr-x 6 root root 4096 feb 6 1996 .. -rw------- 1 martin martin 233 ene 24 02:15 .bash_history -rw-r--r-- 1 martin martin 24 dic 4 17:47 .bash_logout -rw-r--r-- 1 martin martin 224 dic 4 17:47 .bash_profile -rw-r--r-- 1 martin martin 124 dic 4 17:47 .bashrc drwxr-xr-x 3 martin martin 4096 dic 5 21:21 Desktop -rw-r--r-- 1 martin martin 747 dic 4 17:47 .emacs drwxr-xr-x 4 martin martin 4096 dic 4 17:54 .kde -rw-r--r-- 1 martin martin 3728 dic 4 17:47 .screenrc -rw-rw-r-- 1 martin martin 52 dic 4 17:57 .sversionrc -rw------- 1 martin martin 0 dic 5 21:21 .Xauthority -rw------- 1 martin martin 1763 dic 5 21:21 .xsession-errors [martin@maq martin]$ _

El argumento -la hace que se muestre todos los archivos incluidos los ocultos (en Unix son los que comienzan con un .) y que utilice el formato de salida completa, que incluyen los permisos, propietarios, tamaño, fecha y hora de creación de cada archivo.

cd En el caso de que queramos movernos por la estructura de subdirectorios, tenemos el comando cd que sirve para tal motivo. Este cumple las mismas funciones que su par de DOS, sirve para cambiar de un directorio a otro.

Tarea 1 Cambiemos de directorios Ejecutemos el comando:

[martin@maq martin]$ cd Desktop [martin@maq Desktop]# _

Con él ingresaremos al subdirectorio "Desktop", si es que queremos retornar al subdirectorio ante- rior usaremos:

[martin@maq Desktop]# cd .. [martin@maq martin]$ _

para movernos al directorio raíz usaremos:

[martin@maq martin]$ cd / [martin@maq /]# _

O si queremos simplemente volver a nuestro home, tenemos que escribir:

[martin@maq /]# cd [martin@maq martin]$ _

Existe otra forma de referirnos a nuestro directorio personal cuando utilizamos el shell bash. Si hacemos: [martin@maq /]# cd ~/ [martin@maq martin]$ _

obtenemos el mismo resultado anterior. La ventaja de esta abreviación es que sirve con cualquier comando, por ejemplo para copiar o mover archivos como veremos más adelante.

Existen dos archivos en todos los directorios ellos son el punto (.) y los dos puntos (..). El primero mkdir referencia al directorio donde estamos posicionados, el segundo al directorio anterior. Ahora si lo que queremos es crear un subdirectorio usaremos el comando mkdir.

Tarea 1 Creemos subdirectorios Ejecutemos el comando:

[martin@maq martin]$ mkdir trabajos [martin@maq martin]$ _

Con esto generamos un subdirectorio al que llamamos trabajos Que podemos utilizar para guar- dar los archivos que hagamos en la materia.

cp El comando cp sirve para copiar archivos. los dos argumentos mas importantes e imprescindibles son el archivo o directorio origen y el destino.

exit Si quisiéramos terminar la sesión para que pueda utilizar la máquina otro usuario, utilizaremos el co- mando exit. Importante: Hay que acordarse siempre se salir de todas las terminales que tengamos abiertas con este comando. Si nos olvidamos de hacerlo, el sistema no tiene forma de comprobar que otra persona use nuestros recursos indiscriminadamente (ver sección 1.2 (pág. 2)). Esto quiere decir que por ejemplo puede venir alguien y borrar nuestros documentos sin ningún problema.

  1. Esquema inicial de Internet

Un esquema muy simplificado de Internet es verla como una red interconectada con forma de grafo. Los nodos de este grafo son computadoras o routers y sus aristas son los medios de conexión (cable, enlaces satelitales, fibras ópticas, etc.). En la figura 1 (pág. 9) se puede ver un dibujo de este grafo donde los routers están representados por círculos y las computadoras con rectángulos.

Cliente de web

Cliente de web

Servidor de mail

de web y

Cliente de web

Cliente

Cliente

Cliente de web

de chat

Servidor de mail

de mail

Servidor de chat y cliente de mail

Figura 1: Red como grafo

Los nodos, como ya dijimos son básicamente 2 tipos de máquinas: computadoras y routers. Las prime- ras son las que ya conocemos; son máquinas de estados que son ejecutadas por software que implementan tanto programas de usuarios como los protocolos de comunicación en red. Los routers son computadoras especializadas en la transferencia de comunicación en red. Estas tienen solo la clase de software que im- plementan los protocolos de comunicación. Esta separación en la realidad no es tan tajante; por ejemplo las computadoras con Linux también pueden funcionar como routers y como computadoras comunes. El software de red de los nodos implementa el protocolo TCP/IP de comunicación. El software del protocolo esta organizado en capas jerárquicas (ya veremos de que se trata esto). Por lo general los routers solo implementan hasta la capa IP.

Los nodos que son computadoras tienen software a nivel aplicación. El software de Internet (para web, mail, etc.) está organizado en una arquitectura cliente servidor; por ejemplo en las máquinas existe tanto el software para leer los mails (clientes de mails) como los servidores de este servicio que se encargan de transportar los mails desde su origen a su destino.

  1. Fuentes de información

El sistema Linux comienza su desarrollo con el nacimiento del S. UNIX ya que la mayoría de las aplicaciones desarrolladas para este último fueron portadas a Linux. Además, por la misma esencia de Linux (sistema operativo de código abierto desarrollado en forma libre) la cantidad de aplicaciones y recursos nuevos que puede brindar crece con mucha velocidad día a día. Por razones de tiempo, en este curso no se enseñará el manejo y administración de todas estas aplica- ciones y recursos. En vez de ello se hará hincapié en brindar el conocimiento necesario para acceder a esta información. Como se mencionó en la subsección 1.2 (pág. 4) las distribuciones Linux contienen documentación para su uso y administración. Además existen fuentes de información en Internet que son de mucha utilidad. A continuación enumeraremos las más comunes.

1.4. Manuales de sistema (man pages) Las distribuciones de Linux (incluso las de la mayoría de “los distintos Unix”) proveen información de uso de comandos, archivos de configuración e incluso funciones de librerías de sistema para programadores man en forma de man pages. Para acceder a esta información se utiliza el programa man seguido con el nombre del ítem a buscar.

Tarea 1 Comando man Por ejemplo ejecutando en el shell

[martin@maq martin]$ man ls

Con ello se ejecuta un visor donde se pueden ver todos los parámetros posibles y su significado para el comando en cuestión. Este visor permite avanzar o retroceder el texto con la información a través de las flechas del teclado. Al final de cada man page hay una lista de comandos relacionados que es muy útil cuando queremos saber como realizar cierta tarea. Una acción frecuente dentro de este visor es buscar algún texto. Para hacerlo, dentro del visor opri- mimos la tecla [/] y escribimos el texto a buscar. Una vez efectuado este paso, se oprime [Enter] y el visor señala la primera ocurrencia del texto. Si después de esto oprimimos la combinación de teclas [/][Enter] buscará la próxima ocurrencia. Hacer: Busquemos la opción -l y veamos que significa. Para ir al principio del documento oprimamos la tecla [g]. Para ir al final oprimamos la tecla [G] Para terminar la ejecución del visor se oprime la tecla [q].

[martin@maq martin]$ man 3 printf [martin@maq martin]$ _

Una cuestión que hay que mencionar es el carácter de la información que brindan las man pages. La información de las mismas se supone que es solo para consulta y suele ser de poca ayuda en el caso que se quiere aprender algún tópico sin ningún conocimiento previo. De todas formas, como es muy fácil de accederlas (solo hay que usar el comando man) es siempre el primer paso que se da cuando queremos resolver algún problema. Además están disponibles en todas las distribuciones.

1.4. Manuales en formato info (info pages) Otra fuente de información que suele estar incluida en muchas distribuciones son la info pages. Suelen tener los mismos ítem de información que las man pages, pero de forma más detallada. Están en info casi todas las distribuciones. Las info pages se acceden con el comando info.

Tarea 1 Uso de info Ejecutemos el programa info:

[martin@maq martin]$ info

Observemos que existe un cursor que se mueve con las flechas del teclado y permite recorrer la página, similar a un editor de textos.

Las info pages tienen una estructura de hiper-texto. Esto quiere decir que existe una página principal y desde ella se puede navegar por la documentación de programas y funciones de librería, de forma similar a la que se hace desde un navegador de Web. Es por ello que las mismas tienen una estructura de árbol, con páginas “padres” e “hijos”. La forma de manipular este entorno es por medio del teclado. Algunos comandos son:

[Enter] sobre el ítem: baja a la página “hijo”. [u] : (up) Va a la página “padre”. [p] : (previous) Va a la página “hermano” anterior. [n] : (next) Va a la página “hermano” siguiente. [l] : (last) Va a la página anterior visitado. [/] : Búsqueda. Funciona igual que las man pages. [q] : Salir.

Otras fuentes de información alternativas y más orientadas a la administración de sistemas puede en- contrarse en el apéndice B (pág. 55).

Capítulo 2

Herramientas útiles

Este capítulo se verán algunos programas para realizar las actividades más comunes que se suelen realizar como usuario. Se mostrarán solo las opciones más comunes de los mismos. Si se quiere profundizar sobre ellos ya se dieron las fuentes de información donde se puede acceder a este conocimiento (sección 1. (pág. 10)).

2. Cambiar el password

passwd El usuario ya está creado pero falta asignarle una clave de acceso. Para ello usaremos el comando passwd.

Tarea 2 Cambiar un password En la consola de root ejecutemos el comando:

[root@maq root]# passwd Changing password for user martin. Changing password for martin (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully

Primero se nos pedirá que ingresemos la contraseña vieja. Si la hemos introducido bien, se nos pedirá la nueva. Luego se nos pedirá que la confirmemos para lo cual tendremos que volverla a ingresar. Ver que no aparece la clave en pantalla cuando la escribimos. Recordemos que las claves en Unix tienen en cuenta minúsculas y mayúsculas. Además deben ser palabras que no aparezcan en el diccionario (ni en inglés). Una buena costumbre es que tengan más de seis caracteres y que incluyan letras y números.

2. Mail

pine Uno de los clientes de mail más utilizados en los ambientes Unix es el pine. Veamos como recibir mails:

En la parte superior aparece también un menú que se puede navegar con las flechas 1. Cada una es una representa una carpeta donde se almacenan distintas clases de mails 2 :

INBOX representa el contenedor de los mails que me llegan. Cuando quiero ver si tengo nuevos mails tengo que revisar esta carpeta. sent-mail contiene los mails que he enviado. saved-messages contiene los mails que he guardado. Por lo general son mails que se encontra- ban en INBOX pero que los quiero tener separados

Ahora veamos los mails que han llegado oprimiendo la tecla[Enter] sobre la opción INBOX. Haciendo esto aparecerá lo siguiente: 1 En la parte de abajo aparece una ayuda con las teclas asignadas para ejecutar distintas funciones. Esta característica se mantendrá en la mayor parte de las pantallas. 2 Puede haber otras carpetas dependiendo como se haya configurado el programa.

Aquí se muestra una lista de mails que han llegado. Los que comienzan con la una letra N son mails que todavía no he leído. Para leer alguno hay que seleccionarlo con las flechas y apretar la tecla [Enter]:

Para ejecutar algunas acciones con el mail actual se utilizan las siguientes teclas:

[<] para volver a la lista de mails.

[r] para responder el mail.

[d] para borrarlo.

[m] para volver a la pantalla inicial.

Was this document helpful?

Introlinux - Breve resumen de como manejar Linux

Course: Introduction to Databases and Databases Management Systems:Part 1 (CSIQ2634)

37 Documents
Students shared 37 documents in this course
Was this document helpful?
Introducción a
Linux
Javier Blanco
blanco@mate.uncor.edu
Damián Barsotti
damian@famaf.unc.edu.ar