• No se han encontrado resultados

2.Sistemas Operativos GNU-Linux

N/A
N/A
Protected

Academic year: 2020

Share "2.Sistemas Operativos GNU-Linux"

Copied!
14
0
0

Texto completo

(1)

República Bolivariana de Venezuela Aldea Universitaria Fray Pedro de Agreda

PNFSI http://aldeafraypedrodeagreda.wordpress.com Elaborado por Prof. Elías Cisneros

cisneros.elias@gmail.com 23/12/09

Introducción a Sistemas Operativos GNU/Linux Guía II

Creative Commons Usted es libre de:

• Copiar, distribuir y comunicar públicamente la obra . • Hacer obras derivadas .

Bajo las condiciones siguientes:

Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera que tiene su apoyo o apoyan el uso que hace de su obra).

No comercial. No puede utilizar esta obra para fines comerciales.

(2)

Contenido

Núcleo o Kernel...2

Línea de Comandos o Shell...3

Algunos sistemas operativos comerciales...5

GNU / Linux...5

Sistemas de Archivos Linux...6

Documentación del sistema en línea...7

Comandos básicos Linux...8

Núcleo o Kernel

En informática, el núcleo (también conocido en español con el anglicismo kernel, de raíces germánicas como kern) es la parte fundamental de un sistema operativo. Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma más básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, el núcleo también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. En el siguiente gráfico se muestra el esquema de relaciones por capas del computador.

En informática, el núcleo de un sistema operativo, es el programa informático que se asegura de:

• La comunicación entre los programas informáticos y el hardware.

• Gestión de los distintos programas informáticos (tareas) de una máquina.

• Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.)

(3)

un núcleo, es decir, de un único programa responsable de la comunicación entre el hardware y el programa informático, resulta de compromisos complejos referentes a cuestiones de resultados, seguridad y arquitectura de los procesadores. El núcleo tiene grandes poderes sobre la utilización de los recursos materiales (hardware), en particular, de la memoria. En la siguiente figura se observa más detalladamente las capas operativas de un sistema de computación.

Línea de Comandos o Shell

(4)
(5)

Algunos sistemas operativos comerciales

● GNU/Linux.

● Debian ( Distribución basada en Kernel de Linux). ● Ubuntu ( Distribución basada en Debian).

● Canaima( Distribución nacional basada en Debian). ● Fedora.

● Redhat. ● Suse. ● Ututo

● Microsoft Windows 2000. ● Microsoft Windows XP. ● Microsoft Windows Vista. ● Sun Microsystems Solaris. ● UNIX.

GNU / Linux

(6)

GNU (GNU GPL), es decir que es software libre. Su nombre proviene del Núcleo de Linux, desarrollado desde 1991 por Linus Torvalds. Es usado ampliamente en servidores y super-computadores y cuenta con el respaldo de corporaciones como Dell, Hewlett-Packard, IBM, Novell, Oracle, Red Hat y Sun Microsystems.

Puede ser instalado en gran variedad de hardware, incluyendo computadores de escritorio y portátiles (PCs x86 y x86-64 así como Macintosh y PowerPC), computadores de bolsillo, teléfonos celulares, dispositivos empotrados, videoconsolas (Xbox, PlayStation 3, PlayStation Portable, Dreamcast, GP2X) y otros (como enrutadores o reproductores de audio digital como el iPod).

Las variantes de estos sistemas se denominan "distribuciones" y su objetivo es ofrecer una edición que cumpla con las necesidades de determinado grupo de usuarios. Algunas son gratuitas y otras de pago, algunas insertan software no libre y otras contienen solo software libre. La marca registrada Linux (Número de serie: 1916230 ) pertenece a Linus Torvalds y se define como "un sistema operativo para computadoras que facilita su uso y operación".

Sistemas de Archivos Linux

En GNU/Linux se pueden encontrar estándares como el FHS (Filesystem Hierarchy Standard), el cual explica qué se puede encontrar, o dónde buscarlo, en la estructura del sistema de archivos de nuestro sistema. O el LSB (Linux Standard Base), el cual comenta diferentes componentes que suelen ser encontrados en los sistemas.

En el estándar FHS (Filesystem Hierchachy Standard) se describen la estructura de árbol del sistema de archivos principal (/), donde se especifica la estructura de los directorios y los principales archivos que contendrán. Este estándar se utiliza en mayor o menor medida también para los UNIX comerciales, en los cuales al principio hubo muchas diferencias que hicieron que cada fabricante cambiara la estructura a su gusto. El estándar pensado en un principio para GNU/Linux se hizo para normalizar esta situación y evitar los cambios drásticos. Aun así, el estándar es seguido con diferentes grados, la mayoría de distribuciones siguen en un alto porcentaje el FHS, realizando cambios menores o aportando archivos o directorios que no existían en el estándar.

Un esquema básico de directorios podría ser:

● /bin: son utilidades de base del sistema, en general programas utilizados por los usuarios, ya sea

desde los comandos básicos del sistema, como /bin/ls, listar directorio, pasando por los shells (/bin/bash), etc.

● /boot: son los archivos que se necesitan durante el arranque del sistema, por ejemplo la imagen

del kernel Linux, en /boot/vmlinuz.

● /dev: aquí se encuentran los archivos especiales que representan los dispositivos posibles en el

(7)

También se pueden encontrar archivos como /dev/console, /dev/modem, /dev/mouse, /dev/cdrom, /dev/floppy, los cuales son en general, enlaces a dispositivos más específicos del tipo de controlador o interfaz que utilizan los dispositivos: /dev/mouse fi /dev/psaux, un ratón de tipo PS2; o /dev/cdrom fi /dev/hdc,un CD-ROM que es un dispositivo del segundo conector IDE y máster. Aquí se encuentran los dispositivos IDE como /dev/hdx, los scsi /dev/sdx, ... con x variando según el dispositivo.

● /etc: son archivos de configuración. La mayoría de tareas de administración necesitarán

examinar o modificar los archivos contenidos en este directorio. Por ejemplo: /etc/passwd contiene la información de las cuentas de los usuarios del sistema.

● /home: aquí se encuentran las cuentas de los usuarios, es decir, los directorios personales de

cada usuario.

● /lib: son las bibliotecas del sistema, compartidas por los programas de usuario, ya sean estáticas

(extensión .a) o dinámicas (extensión .so). Por ejemplo, la biblioteca C estándar, en archivos libc.so o libc.a.

● /mnt: este es el punto para montar, comando mount, los sistemas de archivos extraíbles; por

ejemplo: /mnt/cdrom, para montar el lector de CD-ROM.

● /opt: con esto se coloca, en general, el software añadido al sistema posterior a la instalación;

otra instalación válida es en /usr/local.

● /sbin: son utilidades de base del sistema. Son normalmente comandos reservados para el

administrador (root). Por ejemplo: /sbin/fsck para verificar el estado de los sistemas de archivos.

● /tmp: son archivos temporales de las aplicaciones o del propio sistema.

● /usr: son los diferentes elementos instalados en el sistema. Aquí se instala cualquier software de

sistema más completo, además de los complementos multimedia, como iconos, imágenes, sonidos, por ejemplo en: /usr/share, y la documentación del sistema (/usr/doc. Esto se suele utilziar también en /usr/local para instalar algún software.

● /var: son los archivos de registro de sesión o de estado, los archivos de tipo log, y/o los errores

del propio sistema y de diversos servicios, tanto locales como de red. Por ejemplo, los archivos de sesión en /var/log, los contenido de los mails en /var/spool/mail, o los trabajos de impresión en /var/spool/lpd.

Documentación del sistema en línea

(8)

para el sistema y el software instalado. Existen muchas fuentes de información, pero se destacarán las presentadas a continuación:

● man es la ayuda por excelencia. Ésta permite consultar el manual de GNU/Linux, que se

encuentra agrupado en varias secciones, correspondientes a comandos de administración, formatos de archivos, comandos de usuario, llamadas de lenguaje C, etc. Normalmente, para obtener la ayuda asociada con este elemento sólo se necesita: man comando En cada página se describe el comando junto con sus opciones y, en general, algunos ejemplos de su uso. Algunas veces, puede existir más de una entrada en el manual. Por ejemplo, puede que haya una llamada C con igual nombre que un comando; en este caso, hay que especificar qué sección se desea revisar:

man n comando siendo n el número de sección.

También, existen unas cuantas herramientas de exploración de los manuales, por ejemplo xman y tkman, que por medio de la interfaz gráfica hacen más fácil el análisis de las diferentes secciones, así como de los índices de los comandos. Otro comando interesante es apropos palabra, que nos puede servir para localizar páginas man que traten un tema específico, en general, asociado con la palabra buscada.

Documentación de las aplicaciones: aparte de ciertas páginas man, es normal incluir algo de documentación extra en las aplicaciones, ya sea en forma de manuales o tutoriales, o simples guías de usuario. En general, estos componentes de documentación se instalan en el directorio /usr/doc, en donde se crea un directorio por paquete de aplicación.

Sistemas propios de las distribuciones. Debian presenta los manuales como un paquete de software más y suelen instalarse en /usr/doc. Por otro lado, dispone de herramientas que clasifican la documentación presente en el sistema, y la organizan por menús para su visualización, como dwww o dhelp, las cuales presentan interfaces Web para revisar la documentación del sistema.

Comandos básicos Linux

Ahora es importante conocer algunos comandos básicos, para esto pruebe los siguientes comandos desde su cuenta de usuario:

● pwd --> muestra el nombre del directorio actual de trabajo. ● whoami --> muestra el nombre del usuario actual.

Manejando archivos y directorios Comando ls

(9)

opciones del comando, cuya sintaxis general es: ls [-alsF] archivo

● -a --> lista además los archivos invisibles (es decir, los que empiezan por punto). ● -l --> muestra la siguiente información de los archivos :

● -s --> el tamaño del archivo en kilobytes (1024 bytes) precede al nombre de cada archivo. ● -F --> Añade un / a los archivos directorios y un * a los archivos ordinarios ejecutables. ● archivo --> Nombre de un archivo o un directorio.

Algunos Ejemplos:

● ls --> lista el contenido de un directorio (archivos comunes y directorios). ● ls -a --> lista el contenido de un directorio (todos los archivos y directorios).

● ls -A --> lista el contenido de un directorio (casi todos los archivos y directorios, es decir, omite

los ".." y ".")

● ls -la --> lista todo el contenido de un directorio con información detallada. ● ls -d --> Lista todos los directorios del directorio actual.

● lsof prueba --> muestra información sobre el archivo prueba abierto por procesos.

Comando grep

El comando grep busca una cadena de caracteres en uno o más archivos y lista todas las líneas que la contienen. La sintaxis del comando es: grep [- v l i w n r ] cadena1 archivo(s), donde:

● -v --> lista las líneas que no contienen la cadena de caracteres.

● -l --> lista el nombre del archivo que contiene la cadena de caracteres. ● -i --> ignora la diferencia entre letras mayúsculas y minúsculas.

● -w --> se debe de utilizar cuando la cadena de caracteres es una única palabra. ● -n --> muestra el número de la línea en la que se encuentra la cadena de caracteres. ● -r --> en caso que sea un directorio, para buscar en todos los que dependen de él. ● cadena --> cadena de caracteres que se quiere buscar.

● archivo(s) --> nombre o nombres de los archivos en los que se quiere buscar la ● cadena de caracteres especificada.

Ejemplos

● Para mostrar todas las líneas que contienen la cadena "tal" en una lista de archivos (donde "*"

representa todos los archivos en el directorio actual): grep tal *

● Para mostrar todas las líneas que no contengan la cadena "tal", se usa "-v":

grep -v tal *

● Para mostrar sólo el nombre de tales archivos, se usa "-l":

grep -l tal *

● Para buscar recursivamente, no sólo en los archivos del directorio actual sino también en los de

sus subdirectorios (donde "." representa el directorio actual), se usa "-r": grep -r tal .

La opción -r puede no estar disponible en todas las plataformas Unix.

(10)

una cantidad arbitraria de espacio en blanco (nótese que el carácter ^ representa el inicio de la línea, así como $ representa el final):

grep '^Ahora.*siempre *$'

● Para hacer que grep lea de la entrada estándar, no se especifica archivo alguno. Por ejemplo,

como ps -ef lista todos los procesos actualmente en ejecución, el siguiente comando imprime todos los procesos que está ejecutando el usuario actual:

ps -ef | grep $USER ó

ps -efa | grep $USER ( Mostrará las cuentas de usuarios que presenten actividad en ese momento).

Comando more

El comando more se utiliza para editar archivos por la pantalla; la principal diferencia con cat es que se puede controlar el número de líneas que aparecen en pantalla, utilizando las teclas siguientes:

● Barra Espaciadora --> se avanza una página. ● Tecla Return --> se avanza una línea.

● Tecla DEL ó q se sale de la edición.

● La sintaxis de este comando es: more [-cd] [+número de líneas] [+/path] archivo(s) donde ● -c --> edita pantalla a pantalla.

● -d --> número de líneas que se van a editar.

● +número de líneas --> número de la línea a partir de la cual se va a editar. ● +/path --> path correspondiente al archivo que se va a editar.

● archivo(s) --> Nombre o nombres de los archivos que se van a editar.

Por ejemplo: more -c10 +25 +/usr/share/doc/gedit/README mostrará 10 líneas, empezando por la 25, del archivo llamado README que se encuentra en el directorio /usr/share/doc/gedit. También se puede usar con otros comandos para paginar la salida por pantalla.

Comando cp

El comando cp se utiliza para copiar archivos. Su sintaxis es:

cp [-i] archivo_entrada archivo_destino

● -i --> origina que el comando requiera una confirmación, en el caso de que el archivo destino

ya exista; es decir, pregunta si se desea hacer la copia.

● -r --> para copiar un directorio completo.

● archivo_entrada --> nombre del archivo que se va a copiar.

● archivo_destino --> nombre del archivo en el que se va a copiar el contenido del archivo de

entrada

Comandos du, df -h, fdisk -l

Uso estimado del directorio y espacio disponible du -s /home/vcasti df -h

(11)

El comando rm se utiliza para borrar archivos. La sintaxis de este comando es: rm [-i] archivo(s)

● -i --> origina que el comando requiera confirmación para ejecutarse. Esta opción se debe de

utilizar para pedir confirmación antes de proceder al borrado.

● archivo(s) --> nombre o nombres de los archivos que se van a borrar.

Comando mv

El comando mv se utiliza para renombrar archivos; es decir, el contenido del archivo no cambia, sólo cambia el nombre; o para mover archivos entre directorios. La sintaxis del comando es: mv [-i]. archivo_entrada archivo_destino

● -i --> origina que el comando requiera una confirmación, en el caso de que el archivo destino

ya exista; es decir, pregunta si se desea hacer la copia.

● archivo_entrada --> nombre del archivo que se va a renombrar.

● archivo_destino --> nombre del archivo en el que se va a copiar el contenido del archivo de

entrada.

Nota: en el caso de que el archivo destino exista, ¡lo sobreescribe!

Comando pwd

Este comando pwd muestra la ruta completa del directorio en el que estamos.

usuario@pc001:~$ pwd

usuario@pc001:~$ /home/usuario

Comando cd

El comando cd nos permite movernos entre directorios. Ejemplos de su uso:

● cd nombre_directorio --> cambia al directorio nombre_directorio del directorio actual o del

directorio que figura en la variable CDPATH.

● cd / --> cambia al directorio raíz.

● cd --> cambia al directorio personal del usuario actual.

● cd /nombre_directorio --> cambia al directorio /nombre_directorio ● cd .. --> cambia al directorio padre.

● cd ~prueba --> cambia al directorio prueba del directorio personal del usuario. ● cd - --> cambia al directorio anterior.

Comando mkdir

Comando que permite crear directorios.

Sintaxis: mkdir nombre_directorio --> crea un directorio nuevo llamado nombre_directorio en el directorio actual.

Comando rmdir

(12)

prueba. Si el directorio no está vacío se puede usar la sintaxis rm -r directorio

Comando gzip

gzip es el compresor por excelencia en cualquier sistema Unix. Operaciones básicas:

● Comprimir un archivo: gzip [-n] archivo (siendo n un número del 1 al 9), 1 más rapido, ● 9 más comprimido.

● Descomprimir un archivo: gzip -d archivo.gz

● También existe otro compresor, bzip2, que a pesar de ser mas lento es bastante más ● eficiente. La sintaxis es prácticamente la misma, solo que el sufijo del archivo es .bz2

Ejemplo:

● bzip2 prueba --> comprime prueba para crear prueba.bz2 (mejor compresión que gzip). ● bunzip2 prueba.bz2 --> descomprime prueba.bz2 para crear prueba

● En cualquier caso, la forma estándar de juntar y comprimir varios archivos consiste en hacer

un .tar con todos ellos y luego comprimir el archivo con gzip

Comando tar

tar es la forma estándar de hacer un volumen de archivos (un archivo que contiene varios archivos). Hay que notar que tar no comprime el volumen resultante. Somos nosotros los que elegimos el algoritmo de compresión mediante otro programa (normalmente gzip). Sintáxis básica: tar [OPERACIONES Y OPCIONES] archivos_involucrados

Operaciones básicas:

● Creación de un volumen: tar -cf archivo.tar archivo_o_dir1 [archivo_o_dir2] ... ● Añadir archivos a un volumen: tar -rf archivo.tar archivo_o_dir1 [archivo_o_dir2] .... ● Extraer archivos de un volumen: tar -xf archivo.tar [archivo_o_dir1] [archivo_o_dir2] ● Listar los archivos contenidos: tar -tf archivo.tar

Algunos Ejemplos:

● tar -xvvf prueba.tar --> extrae los archivos de prueba.tar ● tar -xvvzf prueba.tar.gz --> extrae los archivos prueba.tar.gz

● tar -xvvf --bzip2 prueba.tar.bz2 --> extrae los archivos de prueba.tar.bz2.

● tar -cvvf prueba.tar prueba/ --> empaqueta el contenido de la carpeta prueba/ en prueba.tar. ● tar -cvvzf prueba.tar.gz prueba_uno/ --> empaqueta el contenido de la carpeta prueba/ en el

archivo comprimido prueba_uno.tar.gz.

● tar -cvvf --bzip2 prueba.tar.bz2 prueba_uno/ --> empaqueta el contenido de la carpeta

prueba_uno/ en el archivo comprimido prueba.tar.bz2

Comando gunzip

Es muy común encontrarse en internet este tipo de formato y es tan fácil de descomprimir con solo colocar en el interprete de comandos: gunzip nombre_del_archivo.gz

Ejemplos:

(13)

Comando ln

En Linux pueden definirse enlaces a elementos del sistema de archivos para poder acceder a ellos desde distintos lugares en la jerarquía. Un enlace no es más que un nombre que apunta a un determinado recurso del sistema de archivos, sea físico o lógico. Debido a esto se clasifican en dos tipos:

Fuertes o duros: son aquellos que no se diferencian en nada del archivo original.

Realmente un archivo existe físicamente (ocupa una zona en algún dispositivo de almacenamiento) y su nombre no es más que un enlace fuerte a él. Si se creara otro enlace fuerte, solo se estaría apuntando a la misma zona física a través de otro nombre. De esta forma se obtendrían dos o más copias lógicas de un archivo, pero solo habría una copia física. De aquí se deduce que un archivo no desaparece físicamente hasta que no se borren todos los enlaces fuertes que apunten a él. Los enlaces duros a un archivo determinado se almacenan en la estructura del i-nodo que lo representa. Si modificamos un archivo, los mismos cambios aparecerán en cualquier enlace fuerte. Imaginemos que queremos compartir en red un archivo situado en nuestro directorio de trabajo, pero que no queremos compartir todo el directorio. La solución más simple consiste en crear un enlace fuerte desde dentro de un directorio que sí queramos compartir.

Simbólicos o débiles: son apuntadores al nombre del archivo, no a su contenido. Si desaparece el archivo original (todos los enlaces duros a este) los enlaces simbólicos correspondientes quedan inconsistentes.

No se pueden crear enlaces fuertes a directorios, ni a archivos en particiones distintas. Para crear enlaces se emplea el comando ln.

Sintaxis: ln [opciones] archivo_o_directorio [nombre_del_enlace]

Opción:

-s --> se utiliza para crear enlaces simbólicos en lugar de fuertes (como es por defecto).

Es importante destacar que el nombre del archivo o el directorio al que queremos hacer el enlace debe escribirse con todo el path, es decir, "/ruta_al_archivo/archivo"

Ejemplos:

● ln -s /home/pepe/public_html/raiz.html index.html --> hace que al acceder al archivo

"index.html" nos envíe al archivo "raiz.html".

● ln -s /usr/bin /binarios --> si entramos en el directorio "/binarios" nos enviará al directorio

"/usr/bin"

Actividades de estudios independientes

(14)

http://es.youtube.com/watch?v=3T2l2nExMlw

Ubuntu

http://es.youtube.com/watch?v=eYU4QA-ddOA

Debian

http://es.youtube.com/watch?v=684OLRsTrrs

Windows Vista vs Ubuntu

http://es.youtube.com/watch?v=xC5uEe5OzNQ

Lecturas

http://es.wikipedia.org/wiki/N%C3%BAcleo_(inform%C3%A1tica)

Referencias

Documento similar

El comando RENAME cambia el nombre del archivo, su extensión o ambos, puede usar caracteres comodín para renombrar un conjunto de archivos.. Que es el DOS y que

Material Theme Icons: cambia los íconos de los archivos para identificarlos visualmente con sus logos y colores respectivos. Beautify: indenta el código HTML, CSS, JS

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

❑ Para conectar pulsadores en las entradas digitales de Arduino, se utiliza la conexión mediante resistencias pull-down o pull up (como veremos sólo cambia el circuito, el software

Primeros ecos de la Revolución griega en España: Alberto Lista y el filohelenismo liberal conservador español 369 Dimitris Miguel Morfakidis Motos.. Palabras de clausura

En el espacio in del anuncio se observa una sucesión de planos alusivos a las distintas facetas de la vida de una persona – íntimo (palabras, pensamientos, recuerdos y

de mutuo acuerdo y en igual de condiciones, otras veces de mutuo acuerdo pero en desigualdad porque no le queda más remedio a una de ellas (se encuentra en