le101 - linux enterprise operacional v1-0

Upload: alexis-daniel-gomez-honig

Post on 02-Mar-2016

74 views

Category:

Documents


2 download

DESCRIPTION

Linux desde cero

TRANSCRIPT

  • LE-101 - Linux Enterprise Operacional

  • Tabla de contenido

    ndice de contenido

    Introduccin al sistema operativo LINUX...............................................................................7El sistema operativo Linux......................................................................................................9

    Usuarios y grupos.................................................................................................................11

    El usuario root.......................................................................................................................12

    Organizacin del rbol de archivos ....................................................................................12

    El directorio raz: / ................................................................................................................13

    Introduccin a la lnea de comandos....................................................................................14

    Ejecucin de comandos y opciones.....................................................................................14

    Obtener ayuda......................................................................................................................15

    El comando info....................................................................................................................16

    Fecha, hora, calendario........................................................................................................16

    Manipulacin de contraseas...............................................................................................18

    Utilizacin de consolas virtuales...........................................................................................18

    Otros comandos bsicos tiles.............................................................................................18

    Manipulacin de archivos......................................................................................................20Directorio actual de trabajo...................................................................................................22

    Nombres de archivos............................................................................................................22

    Rutas absolutas y relativas...................................................................................................22

    El directorio HOME...............................................................................................................23

    Cambiando directorios..........................................................................................................23

    Listar el contenido de directorios..........................................................................................24

    Comodines de la lnea de comandos...................................................................................25

    Comprobando espacio disponible........................................................................................26

    Crear y borrar archivos y directorios....................................................................................28

    Borrar archivos y directorios.................................................................................................29

    Mover o renombrar archivos.................................................................................................29

    Copiando archivos y directorios...........................................................................................30

    Determinando el tipo de un archivo......................................................................................31

    Visualizar archivos de texto..................................................................................................32

  • Usuarios y grupos..................................................................................................................34Usuario y grupos, concepto..................................................................................................36

    El usuario root y otros usuarios del sistema........................................................................ 36

    Modelo de seguridad de Linux.............................................................................................36

    Comandos para obtener informacin de usuarios...............................................................37

    Cambiando la identidad del usuario.....................................................................................37

    Permisos de acceso a archivos y directorios......................................................................39Seguridad de archivos en Linux...........................................................................................41

    Tipos de permisos de archivos.............................................................................................41

    Examinando los permisos de archivos y directorios............................................................41

    Cambiando permisos de archivos........................................................................................42

    Permisos especiales.............................................................................................................44

    Permisos por defecto de los archivos..................................................................................46

    El sistema de archivos...........................................................................................................48Sistemas de archivos ext2/ext3............................................................................................50

    Enlaces o vnculos simblicos (blandos) y duros.................................................................50

    Los enlaces o vnculos.........................................................................................................51

    Los vnculos simblicos y la limitacin de los vnculos duros..............................................52

    Buscando y procesando archivos.........................................................................................53

    bzip2 y gzip: comandos de compresin de datos ...............................................................56

    El comando zip.....................................................................................................................57

    Copias de seguridad con el comando tar.............................................................................57

    Nombres de archivos comprimidos comunes y programas asociados................................58

    El editor vi................................................................................................................................60Ejecutar vi ............................................................................................................................62

    Comandos de movimiento del cursor ..................................................................................62

    Borrar texto ..........................................................................................................................63

    Cambiar texto........................................................................................................................63

    Deshaciendo y rehaciendo cambios ...................................................................................63

    Grabando y saliendo.............................................................................................................64

    Cortando, copiando y pegando............................................................................................64

    Otras operaciones tiles.......................................................................................................65

    Buscando, reemplazando y usando de expresiones regulares...........................................65

  • Bsqueda y sustituciones.....................................................................................................65

    El intrprete de comandos BASH..........................................................................................67GNU Bourne-Again Shell y las variables de en .................................................................. 69

    Volviendo a llamar a comandos...........................................................................................70

    Expansin de la linea de comandos.....................................................................................71

    Valores de retorno de los comandos....................................................................................72

    Sobrenombres......................................................................................................................72

    Scripts de inicializacin y finalizacin...................................................................................72

    Historial.................................................................................................................................74

    Bsqueda de comandos previamente ejecutados...............................................................74

    Substitucin de comandos...................................................................................................74

    Redirecciones y tuberas.......................................................................................................76Descriptores de archivos, entrada, salida y error estndar................................................. 78

    Redireccionando la entrada y la salida................................................................................78

    Redireccionando el error estndar.......................................................................................79

    Sobrescritura y agregado de las redirecciones....................................................................80

    Redireccionando la salida estndar y el error estndar.......................................................80

    Tuberas................................................................................................................................80

    Filtros y procesamiento de cadenas.....................................................................................82Concepto de filtro .................................................................................................................84

    Traduccin de caracteres ...................................................................................................84

    Paginador de la salida por impresora...................................................................................85

    Mostradores de ficheros por porciones: tail y head ............................................................86

    El comando de ordenacin...................................................................................................87

    Supresin de lneas repetidas .............................................................................................88

    El comando de seleccin de campos del fichero.................................................................88

    El comando de fusin de campos de diferentes ficheros....................................................89

    Expresiones regulares...........................................................................................................91Expresiones regulares..........................................................................................................93

    Correspondencia de principio y fin de lnea.........................................................................93

    Correspondecia con cualquier caracter................................................................................93

    Conjuntos de caracteres.......................................................................................................94

    Correspondencia repetida de patrones................................................................................94

  • Anulacin del significado especial de un caracter...............................................................95

    Grupos de caracteres...........................................................................................................95

    Bsqueda de patrones dentro de archivos..........................................................................96

    Buscando archivos segn su contenido...............................................................................97

    Editores fuera de lnea.........................................................................................................97

    Editor de flujo sed.................................................................................................................98

    El awk..................................................................................................................................100

    Variables del awk................................................................................................................101

    Programacin en awk.........................................................................................................102

    Scripts del shell....................................................................................................................104Conceptos bsicos de scripts del shell..............................................................................106

    Los caracteres especiales ms comunes..........................................................................106

    read.....................................................................................................................................107

    Parmetros posicionales ...................................................................................................107

    Tests de ficheros................................................................................................................108

    Tests de comparacin de enteros......................................................................................108

    Tests de comparacin de cadenas....................................................................................109

    Condicionales.....................................................................................................................109

    Bucles.................................................................................................................................111

    Bucles for............................................................................................................................111

    Bucle while..........................................................................................................................112

    Case....................................................................................................................................113

    Scripts de ejemplo..............................................................................................................114

    Impresin y comunicacin...................................................................................................116Imprimir bajo Linux.............................................................................................................118

    Viendo la cola de impresin...............................................................................................119

    Cancelando un trabajo de impresin..................................................................................119

    La variable de entorno PRINTER ......................................................................................119

    Enviar correo electrnico....................................................................................................120

    Leer el correo......................................................................................................................120

    Redireccin de correo.........................................................................................................121

    Control de procesos y herramientas del sistema.............................................................122El rbol de procesos...........................................................................................................124

  • Las seales.........................................................................................................................125

    kill, killall..............................................................................................................................125

    Usando el control de trabajos.............................................................................................126

    Agendando la ejecucin peridica de procesos................................................................ 127

    Agendando procesos para su ejecucin ...........................................................................128

    Nociones bsicas de red......................................................................................................130Introduccin a las redes IP.................................................................................................132

    El comando ping.................................................................................................................132

    Obteniendo informacin sobre rutas e interfaces..............................................................133

    Informacin sobre rutas......................................................................................................134

    Listando las rutas a un host particular................................................................................135

    Traduccin entre nombres y direcciones IP.......................................................................135

    Listando los registros de un DNS.......................................................................................136

    Transfiriendo archivos a travs de la red...........................................................................138

    Verificando el estado de los puertos de red.......................................................................141

    Shell Seguro (ssh)..............................................................................................................142

    Usando el comando scp.....................................................................................................143

    Uso del comando sftp.........................................................................................................144

    Generar pares de claves....................................................................................................144

    Generacin de un par de claves DSA para la versin 2....................................................144

  • 1Introduccin al sistema operativo LINUX

  • Introduccin al sistema operativo LINUX

    Acerca de esta unidad

    En esta unidad se cubren los siguientes tpicos:

    El sistema operativo Linux

    Interfaz del usuario con el sistema operativo

    Usuarios e inicios de sesin locales

    Exploracin del sistema de archivos

    Linea de comandos

    Ejecucin de comandos y opciones

    Ayuda

    Fecha, hora, calendario

    Manipulacin de contraseas

    Utilizacin de consolas virtuales

    8 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    Introduccin al sistema operativo Linux

    El sistema operativo Linux

    LINUX es un sistema operativo, compatible Unix. Dos caractersticas 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 ningn tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompaado del cdigo fuente. El sistema lo forman el ncleo del sistema (kernel) mas un gran numero de programas / libreras que hacen posible su utilizacin.

    LINUX se distribuye bajo la GNU Public License: Ingls , por lo tanto, el cdigo fuente tiene que estar siempre accesible.

    El sistema ha sido diseado y programado por multitud de programadores alrededor del mundo. El ncleo del sistema sigue en continuo desarrollo bajo la coordinacin de Linus Torvalds, la persona de la que parti la idea de este proyecto, a principios de la dcada de los noventa.

    Da a da, ms y ms programas / aplicaciones estn disponibles para este sistema, y la calidad de los mismos aumenta de versin a versin. La gran mayora de los mismos vienen acompaados del cdigo fuente y se distribuyen gratuitamente bajo los trminos de licencia de la GNU Public License.

    Las funciones principales de este magnfico sistema operativo son: Sistema multitarea: En Linux es posible ejecutar varios programas a la vez sin

    necesidad de tener que parar la ejecucin de cada aplicacin.

    Sistema multiusuario: Varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez (multitarea).

    Shells programables: Un shell conecta las ordenes de un usuario con el Kernel de Linux (el ncleo del sistema), y al ser programables se puede modificar para adaptarlo a tus necesidades. Por ejemplo, es muy til para realizar procesos en segundo plano.

    Multiplataforma: Corre en muchas CPUs distintas, no slo Intel, tambin el Alpha, PowerPC, Itanium, etc.

    Consolas virtuales mltiples: Varias sesiones de login a travs de las consolas virtuales entre las que se puede cambiar con las combinaciones adecuadas de

    9 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    teclas.

    La memoria se gestiona como un recurso unificado para los programas de usuario y para el cach de disco, de tal forma que toda la memoria libre puede ser usada para cach y ste puede a su vez ser reducido cuando se ejecuten grandes programas.

    Linux permite un acceso transparente a particiones Windows (VFAT) y acceso de slo lectura a particiones NTFS.

    El sistema operativo Linux comnmente puede ser estructurado en capas como se muestra en la figura:

    El hardware se encuentra en el centro. El sistema operativo es la interfaz entre los procesos del usuario y el hardware.

    El kernel de Linux es intencionalmente compacto y diseado para incluir aquellas operaciones que requieren privilegios especiales del sistema para ejecutarse.

    El kernel es el programa de control central que provee los servicios bsicos del

    10 Ing. Ivan Ferreira

    Programas de aplicacin

    Shell

    Demonios y servicios

    Kernel

    Device drivers

    Hardware

  • Introduccin al sistema operativo LINUX

    sistema. Es un archivo ejecutable, se compila desde los archivos fuente, archivos objetos y parmetros configurables. Se carga en memoria cuando el sistema inicia y ejecuta programas y administra los recursos del computador.

    El kernel espera solicitudes de los procesos del usuario para acceder a los recursos del sistema, como memoria, CPU y dispositivos. Los programas del usuario solicitan servicios al kernel por medio de llamadas del sistema o system calls. Los dispositivos de hardware se comunican con el kernel por medio de interrupciones.

    El shell rodea al kernel y acta como una interfaz del usuario. El shell es conocido como intrprete de comandos. Administra la ejecucin de procesos en primer y segundo plano, posee un entorno configurable, un lenguaje flexible y proporciona redireccin de la entrada y la salida.

    Usuarios y grupos

    El concepto de usuarios y grupos es extremadamente importante, ya que tiene una influencia directa sobre todos los dems conceptos que iremos presentando a lo largo de la unidad.

    Linux es un sistema multi-usuario verdadero, y para poder usar su sistema GNU/Linux debe poseer una cuenta en el mismo.

    Los dos parmetros importantes son, el nombre de conexin (comnmente abreviado login) y la contrasea. Estos son los que usar para poder ingresar al sistema. Otra accin que ocurri cuando se cre una cuenta de usuario es la creacin de un grupo.

    Por defecto, el programa de instalacin habr creado un grupo por usuario. Como veremos ms adelante, los grupos son tiles cuando varias personas tienen que compartir archivos. Por lo tanto, un grupo puede contener tantos usuarios como Ud. desee, y es muy comn ver tal separacin en sistemas grandes.

    En una universidad, por ejemplo, Ud. puede tener un grupo por cada departamento, otro grupo para los profesores, y as sucesivamente. La inversa tambin vale: un usuario puede ser miembro de uno o ms grupos, hasta un mximo de treinta y dos. Por ejemplo, un profesor de matemticas puede ser un miembro del grupo de profesores y tambin ser miembro del grupo de sus queridos estudiantes de matemticas. Sin embargo, todo esto no le dice como conectarse.

    Para poder conectarse, tendr que ingresar su nombre de conexin en el prompt Login: y presionar Intro, despus de lo cual aparecer el programa de conexin (denominado login ) que mostrar el prompt Password:, donde deber ingresar la contrasea para esta cuenta.

    Debido a que la conexin en la consola no hace eco de los caracteres que

    11 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    representan a la contrasea, deber tener cuidado cuando teclea su contrasea a ciegas. Note que Ud. se puede conectar varias veces usando la misma cuenta sobre consolas adicionales y bajo X .

    Cada sesin que abra es independiente de las otras, e incluso es posible tener varias sesiones X abiertas concurrentemente.

    El usuario root

    Normalmente esta es la cuenta que tiene el administrador del sistema, que es muy probable que sea Ud. Para la seguridad de su sistema, es muy importante que la cuenta de root siempre est protegida por una buena contrasea! Si se conecta como root regularmente es muy fcil cometer un error que puede hacer que su sistema quede intil; un nico error puede hacer que esto ocurra. En particular, si no ha proporcionado una contrasea para la cuenta root, cualquier usuario puede conectarse usando dicha cuenta y alterar cualquier parte de su sistema (incluso de otros sistemas operativos presentes en su mquina!).

    Obviamente, esto no es una idea muy buena. Vale la pena mencionar que, internamente, el sistema no lo identifica con su nombre de conexin sino con un nmero nico asignado a este nombre de conexin: el UID (User ID, Identificador del usuario). Similarmente, cada grupo se identifica no por su nombre sino por su GID o Group ID, (Identificador del grupo). El UID del usuario root es 0 y el GID es tambin 0.

    Un sistema de archivos consta de de tipos de datos abstractos (que representan la informacin y las operaciones posibles sobre ellas), que son necesarios para el almacenamiento, organizacin jerrquica, manipulacin, navegacin, acceso y consulta de datos. La mayora de los sistemas operativos poseen su propio sistema de archivos.

    Organizacin del rbol de archivos

    Hoy da, un sistema Unix es grande, muy grande. Esto es particularmente cierto con GNU/Linux : la profusin de software disponible lo haran un sistema inmanejable si no hubieran guas para la ubicacin de los archivos en la estructura del rbol. Respecto a eso, la norma reconocida es FHS (Filesystem Hierarchy Standard, Norma para la jerarqua del sistema de archivos).

    El documento que describe la norma est disponible en diferentes formatos en la Internet en la direccin http://www.pathname.com/fhs/ (http://www.pathname.com/fhs/ ). Slo da un breve sumario, pero debera ser suficiente para que Ud. sepa en que directorio debera buscar (o poner) un archivo dado.

    12 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    El directorio raz: /

    El directorio raz contiene toda la jerarqua del sistema. Aqu tiene una lista de los directorios y subdirectorios principales:

    /bin - Archivos binarios esenciales del sistema. Este directorio contiene los comandos bsicos que usarn todos los usuarios y son necesarios para la operacin del sistema: ls, cp, login, etc.

    /boot - Contiene los archivos que necesita el administrador de arranque de GNU/Linux, incluyendo el kernel y el disco RAM inicial.

    /dev - Archivos de los dispositivos del sistema (dev por DEVices, Dispositivos).

    /etc - Este directorio contiene todos los archivos de configuracin especficos a la mquina.

    /home - Contiene todos los directorios personales de los usuarios del sistema. Este directorio puede, o no montado a travs de NFS.

    /lib - Este directorio contiene las bibliotecas esenciales al sistema y los mdulos del kernel, en /lib/modules. Todas las bibliotecas que necesitan los binarios presentes en los directorios /bin y /sbin se deben ubicar aqu, junto con el vinculador ld.so.

    /mnt - Directorio que contiene los puntos de montaje para los sistemas de archivos temporales.

    /media - El directorio /media/ contiene los subdirectorios utilizados como puntos de montaje para la media removible, tales como CD-ROMs y discos Zip.

    /misc Este directorio es utilizado por el servicio autofs el cual permite montar y desmontar automticamente dispositivos y sistemas de archivos de red .

    /net Este directorio es utilizado por el servicio autofs el cual permite montar y desmontar automticamente dispositivos y sistemas de archivos de red.

    /opt - Este directorio contiene los paquetes que no son necesarios para la operacin del sistema y generalmente son compilados e instalados desde el fuente, no desde un formato RPM.

    /proc - El directorio /proc/ contiene "archivos" especiales que o bien extraen informacin del kernel o bien la envan a ste.

    /root - Directorio personal del usuario root.

    13 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    /usr - contiene los binarios del sistema esenciales para el arranque del mismo, utilizables por cualquier usuario.

    /sbin - contiene los binarios del sistema esenciales para el arranque del mismo,

    slo utilizables por root. Un usuario no privilegiado tambin puede ejecutarlos pero no llegar muy lejos.

    /selinux Punto de montaje para el sistema de archivos virtual SELinux cuando este esta habilitado en el kernel.

    /sys El directorio /sys/ utiliza el nuevo sistema de archivos virtual sysfs especfico al kernel 2.6. Ahora con el soporte ms extendido para los dispositivos de conexin en caliente (hot plug) en el kernel 2.6, el directorio /sys/ contiene informacin similar a la que se encuentra en /proc/, pero muestra una vista jerrquica de la informacin de dispositivos especfica con relacin a los dispositivos de conexin en caliente.

    /tmp - Directorio destinado a contener archivos temporales que pueden crear ciertos programas.

    /var - Ubicacin para los datos que los programas pueden modificar en tiempo real (ej: el servidor de correo electrnico, los programas de auditoria, el servidor de impresin, etc.)

    Introduccin a la lnea de comandos

    La lnea de comandos es la manera ms directa de enviar comandos a la mquina. Si usa la lnea de comandos de GNU/Linux , rpidamente ver que es mucho ms potente y tiene ms capacidades que los intrpretes de comandos que puede haber usado con anterioridad. La razn de esto es que tiene un acceso directo, no slo a todas las aplicaciones X , sino tambin a los miles de utilitarios en modo consola (en oposicin al modo grfico) que no tienen su equivalente grfico, o nunca (o al menos todava!) ser posible mostrar en forma de mens y botones todas las opciones y combinaciones posibles.

    Ejecucin de comandos y opciones

    Lo que obtiene en realidad al iniciar este emulador de terminal es un shell. Este es el nombre del programa con el cual Ud. interacta. Ud. se encontrar frente al prompt:

    [usuario@localhost ~]$

    Esto supone que su nombre de usuario es usuario y que el nombre de su mquina es

    14 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    localhost (este es el caso si su mquina no es parte de una red existente). Todo lo que aparece despus del prompt es lo que tiene que teclear. Note que cuando Ud. es root el signo $ del prompt cambia por un signo #. (esto slo es vlido con la configuracin predeterminada, ya que puede personalizar todos estos detalles en GNU/Linux ).

    Todos los comandos Unix consisten de una secuencia de letras, nmeros y caracteres. No son validos los espacios dentro del nombre del comando. Algunos comandos validos son mail, cat, man. Linux adems hace diferencia entre maysculas y minsculas, lo que significa que Cat y cat son comandos distintos.

    Obtener ayuda

    El comando man muestra las pginas de la gua de referencia para un comando dado.

    Hay aproximadamente una pgina completa de informacin sobre cat. Pruebe correr man este momento. No espere entender la pagina de manual que se le muestra. Las paginas de manual suponen un cierto conocimiento de Unix, conocimiento que tal vez Ud. no tenga en este momento.

    Cuando termine de leer la pagina, es probable que vea un bloque en video inverso al nal de la pagina, parecido a --more--" o a Line 1". Se trata del pedido de mas (informacin), que pronto le ser a muy familiar. En lugar de dejar escapar el texto fuera de los limites de la pantalla, man se detiene al final de cada pagina, y espera para ver que ha decidido hacer Ud.. Si desea seguir leyendo, oprima Barra espaciadora y avanzar a una pagina. Si desea terminar con la lectura de la pagina del manual, oprima q .

    Cuando el autor describe los argumentos de un comando:

    comando [--opcin={arg1,arg2,arg3}] [argumento_opcional ...]

    Los signos (mayor que) denotan un argumento obligatorio que no debe ser copiado textualmente, sino que debe reemplazarse de acuerdo con sus necesidades. Por ejemplo, se refiere al nombre real de un archivo. Si dicho nombre es pepe.txt, usted debera teclear pepe.txt, y no o .

    Los corchetes "[ ]" denotan argumentos opcionales, los cuales puede o no incluir en el comando.

    Los puntos suspensivos "..." significan que en ese lugar se puede incluir un nmero arbitrario de elementos.

    Las llaves "{ }" contienen los argumentos permitidos en este lugar. Uno de ellos debe ser puesto aqu.

    15 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    El man provee adems una funcin de bsqueda de palabras clave. Por ejemplo, digamos que Ud. est interesado en el tema PostScript, el lenguaje de control de impresoras desarrollado por Adobe. Si escribe:

    $ man -k ps$ man -k Postscript

    Recibir como resultado una lista de todos los comandos, llamadas al sistema, y otras partes documentadas de Linux que contengan la palabra ps" (o Postscript") en su nombre o descripcin breve. Esto puede llegar a ser muy til cuando quiere buscar una herramienta para hacer algo, pero no conoce su nombre o si existe.

    El comando info

    El comando info nos sirve cuando el texto de ayuda de man es insuficiente, o directamente no existe una entrada en su base de datos sobre lo que buscamos. El programa info tiene una interfaz navegable: muchas de las pginas tienen enlaces a otras pginas relacionadas, muy similar a como tienen las pginas web. Los enlaces se indican mediante un asterisco (*) seguido por el ttulo del enlace, seguido por un doble dos puntos (::). Para seguir los enlaces, hay que situar el cursor sobre ellos y pulsar la tecla .

    Para ayudar la navegacin por los documentos, tambin estn las siguientes teclas:

    b Ir un paso hacia atrs, a la ltima pgina visitadau Ir al nivel superior en el rbol de pginasn Ir a la siguiente pginap Ir a la pgina previaq Salir de info

    Fecha, hora, calendario

    Para obtener la fecha y hora del sistema se debe ejecutar el comando date. El comando date sin argumentos devuelve la fecha y la hora actual. El comando date puede ser formateado de tal forma a obtener la fecha como sea requerido. Ejemplos:

    Mostrar la hora actual:

    $ date

    Mostrar la hora en el formato ao, mes, da:

    16 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    $ date "+%Y-%m-%d"

    $ date "+Ao: %Y Mes: %m Dia: %d"

    La fecha de un mes antes a partir de hoy:

    $ date -d '1 month ago' El mes hace cinco meses del actual:

    $ date +%B -d '5 month ago'

    La fecha de ayer: $date --date "yesterday" La fecha de maana:

    $date --date "tomorrow" La fecha del viernes de la prxima semana:

    $ date -d "next week friday" El comando date tambin puede ser utilizado por el usuario root para cambiar la hora del sistema, el formato del comando es:

    # date [MMDDhhmm[[CC]YY][.ss]]

    El comando cal muestra un calendario en pantalla, sin opciones, el comando cal mostrar el calendario para el mes corriente. Podemos especificar al comando que muestre un mes determinado o un ao especfico. Por ejemplo:

    Calendario del mes corriente de este ao:

    $ cal

    Calendario del ao 2010:

    $ cal 2010

    Calendario de diciembre de 2010:

    $ cal 12 2010

    17 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    Manipulacin de contraseas

    Muchas veces es necesario cambiar la contrasea del inicio de sesin. Esto puede ser tan solo por gusto, para mantener la seguridad, por que la contrasea actual ha sido conocida o por polticas que requieren que la contrasea sea cambiada.

    Para cambiar la contrasea se utiliza el comando passwd. Un usuario no privilegiado puede cambiar tan solo su propia contrasea, ejecutando el comando passwd sin opciones.

    El usuario root puede cambiar la contrasea de cualquier usuario utilizando el comando passwd nombre_usuario.

    Ejemplos:

    $ passwd

    # passwd juan

    Utilizacin de consolas virtuales

    Las consolas virtuales permiten el acceso en simultneo de un usuario a ms de una sesin en el sistema operativo.

    Por defecto, Linux tiene seis consolas virtuales adems de la reservada para la interfaz grfica. Puede cambiarse a cualquiera de ellas ingresando la secuencia de teclas Ctrl-Alt- F1, donde es el nmero de consola a la cual desea cambiarse.

    Por defecto, la interfaz grfica est sobre la consola nmero 7.

    Otros comandos bsicos tiles

    Puede utilizar el comando bc para realizar clculos matemticos. Es una calculadora bsica. Los operadores bsicos son + (suma), - (resta), * (multiplicacin), / (divisin). Para finalizar la calculadora presione las teclas CTRL+D.

    El comando tty le ayudar a determinar en qu terminal est conectado actualmente.

    El comando echo le permite desplegar mensajes en la pantalla. Es muy til para la programacin de scripts del shell. Ejemplo:

    $ echo Mensaje de informacin

    18 Ing. Ivan Ferreira

  • Introduccin al sistema operativo LINUX

    El comando clear le permite limpiar la pantalla, tambin puede utilizar el mtodo abreviado CTRL-L.

    19 Ing. Ivan Ferreira

  • 2Manipulacin de archivos

  • Manipulacin de archivos

    Acerca de esta unidad

    En esta unidad se cubren los siguientes tpicos:

    Directorio actual de trabajo

    Nombres de archivos

    Rutas absolutas y relativas

    El directorio HOME y directorios de sistema

    Cambiando directorios

    Listar el contenido de directorios

    Comprobando espacio disponible

    Copiar, mover, renombrar archivos y directorios

    Crear y borrar archivos y directorios

    Determinando el tipo de un archivo

    Visualizar y editar archivos de texto

    21 Ing. Ivan Ferreira

  • Manipulacin de archivos

    Manipulacin de archivos

    Directorio actual de trabajo

    Si queremos averiguar en que directorio estamos, basta con digitar pwd y en la linea siguiente saldr el directorio completo donde estamos posicionados. Ejemplo:

    $ pwd

    Nombres de archivos

    Un nombre de archivo puede contener cualquier caracter (excepto el caracter nulo - caracter ASCII 0 - y una / que es el separador de directorio), incluso los no imprimibles. Linux distingue entre maysculas y minsculas. Los archivos pueden contener hasta 255 caracteres.

    Como debe haber notado, un nombre de archivo no contiene extensin alguna a menos que Ud. lo prefiera as. Bajo GNU/Linux las extensiones no caracterizan el contenido de un archivo, y tampoco lo hacen bajo otros sistemas operativos si es por eso. No obstante, las as llamadas extensiones del archivo siempre son muy convenientes. El caracter del punto (.) bajo Unix es simplemente un caracter entre otros. Vale la pena mencionar que, bajo Linux los nombres de archivo que comienzan con un punto son archivos ocultos.

    Rutas absolutas y relativas

    Una trayectoria o ruta absoluta, indica la forma de ubicar un archivo en el sistema de archivos a partir del directorio raz. Comienza con una /" y especifica todos lo directorios que existen antes del archivo que Ud. desea. Ejemplo:

    $ /home/juan/archivo.bash

    Una trayectoria o ruta relativa esta referida a su directorio actual. Existen dos directorios que se utilizan solamente para trayectorias relativas: ." y ..". El directorio ." se refiere al directorio actual, y .." es el directorio anterior o directorio padre: son abreviaturas" de directorio, y existen en todos los directorios, aun el directorio raz tiene un directorio anterior: el es su propio directorio anterior. Ejemplo:

    Un archivo en el directorio actual:

    $ ./archivo.bash

    Un archivo en el directorio inmediatamente superior:

    22 Ing. Ivan Ferreira

  • Manipulacin de archivos

    $ ../archivo.bash

    Un archivo 2 directorios por encima del actual

    $ ../../archivo.bash

    Un archivo en el directorio tmp que se encuentra 2 directorios por encima del actual

    $ ../../tmp/archivo.bash

    El directorio HOME

    Cada usuario tiene su propio directorio (denominado su directorio personal, o home en ingls). El es el dueo de este directorio, y de los archivos que va a crear posteriormente en l.

    El directorio home es el directorio al cual accede automticamente luego de haber iniciado una sesin en el sistema.

    Cambiando directorios

    cd: Cambiar de directorio (Change Directory) El comando cd es exactamente el mismo que en DOS , con alguna funcionalidad extra. Puede usar . para referirse al directorio corriente y .. para referirse al directorio padre del directorio corriente.

    Si ingresa cd solo, ser llevado de vuelta a su directorio personal. Si ingresa cd - ser llevado al ultimo directorio en el cual estuvo.

    Finalmente, puede especificar el directorio personal del usuario juan ingresando:$ cd ~juan

    Usando ~ solo o seguido de / significa el directorio personal suyo. Note que, como usuario no privilegiado, normalmente no puede ingresar a los directorios personales de otros usuarios (a menos que esos usuarios lo hayan autorizado explcitamente o esa sea la configuracin predeterminada del sistema), excepto si Ud. es root.

    Ejemplos:

    $ cd ..$ cd ../../$ cd -$ cd /tmp$ cd ~

    23 Ing. Ivan Ferreira

  • Manipulacin de archivos

    $ cd ~juan

    Listar el contenido de directorios

    ls: listar archivos.

    El comando ls (LiSt, LiStar) es equivalente a dir de DOS , pero puede hacer mucho ms. De hecho, esto se debe en gran parte al hecho de que los archivos tambin pueden hacer ms.

    La sintaxis del comando ls es la siguiente:

    ls [opciones] [archivo|directorio] [archivo|directorio...]

    Si no se especifica archivo o directorio alguno en la lnea de comandos, ls mostrar la lista de los archivos del directorio corriente.

    Sus opciones son muchas y slo citaremos unas pocas:

    -a Listar todos los archivos, incluyendo los archivos ocultos (en Linux los archivos ocultos son aquellos cuyo nombre comienza con un . ); la opcin -A lista casi todos los archivos, lo que significa que se mostrarn todos los archivos que mostrara la opcin -a excepto . y ..

    -l Muestra informacin adicional sobre cada archivo (formato largo)-s Muestra el tamao en kilobytes junto a cada archivo-h Muestra el tamao en formato fcilmente leble por el humano junto a cada

    archivo-R Listar recursivamente, es decir, todos los archivos y subdirectorios del directorio

    que se menciona en la lnea de comandos-d Trata a los directorios de la lnea de comandos como si fueran archivos

    normales en vez de listar su contenido-S Organiza el listado por tamao de archivo -r Lista los archivo en orden inverso-t lista los archivos ordenados por fecha de creacin o modificacin

    Puede combinar ms de una opcin en la lnea de comandos, por ejemplo puede listar todos los archivos, en formato largo, ordenados por fecha de modificacin en orden inverso:

    $ ls -latr

    24 Ing. Ivan Ferreira

  • Manipulacin de archivos

    Comodines de la lnea de comandos

    Los comodines permiten especificar de forma ms eficiente mltiples archivos en la lnea de comandos.

    * Es reemplazado por el shell por "cualquier conjunto de caracteres"? Es reemplazado por un y solo un caracter en cualquier posicin [] Corresponde a cualquier caracter que se encuentre entre corchetes[!] Corresponde a cualquier caracter que no se encuentre entre corchetes ' El caracter ' (comilla simple), elimina el significado especial de los patrones

    de englobamiento, tambin la barra invertida \{c1,c2} Corresponde con c1 o con c2

    Ejemplos:

    Listar todos los sub-directorios de directorio:

    $ ls /directorio/*

    Listar todos los archivos README un nivel por debajo de dir:

    $ ls /dir/*/README

    Listar los archivos que comianzan con a y tienen exactamente cuatro caracteres:

    $ ls a???

    Listar archivos cuyo nombre comience con a, A, b, B:

    $ ls [aAbB]*

    Listar archivos uyo nombre comience con cualquier letra del alfabeto:

    $ ls [a-zA-Z]*

    Listar archivos con nombre que comiencen con un nmero del 0 al nueve, seguido del nmero 5, es decir 05, 15, 25, 35, 45, 55, 65, 75, 85, 95:

    $ ls [012345789]5

    Un listado igual al anterior pero simplificado con el uso de rangos:

    $ ls [0-9]5

    25 Ing. Ivan Ferreira

  • Manipulacin de archivos

    Listar todos los archivos cuyo nombre no comience con una vocal:

    $ ls [!aeiou]*

    Listar todos los archivos cuyo nombre no comience con letras minsculas:$ ls [!a-z]*

    Listar el archivo salarios o el archivo sueldos:

    $ ls {salario,sueldo}

    Listar cualquier archivo que comience con sal o con sel:

    $ ls {sal*,sel*}

    $ ls {sal,sel}*

    Listar los archivos README de los directorios /usr/share/doc/pam y /usr/share/doc/dovecot:

    $ ls /usr/share/doc/{pam,dovecot}/README

    Ejemplos de diferencias entre comillas simples y comillas dobles. Comillas dobles:

    $ echo El valor de la variable $PS1 es $PS1El valor de la variable [\u@\h \W]\$ es [\u@\h \W]\$

    Comillas simples:

    $ echo 'El valor de la variable $PS1 es $PS1'El valor de la variable $PS1 es $PS1

    Comillas dobles con carcter de escape para evitar la interpretacin de la variable de entorno PS1:

    $ echo El valor de la variable \$PS1 es $PS1El valor de la variable $PS1 es [\u@\h \W]\$

    Comprobando espacio disponible

    El comando df muestra la cantidad de espacio en disco disponible en el sistema de archivos que contiene cada archivo proporcionado como argumento. Si no se especifica ningn argumento, muestra el espacio disponible en todos los sistema de archivos existentes montados.

    Las opciones ms interesantes son:

    26 Ing. Ivan Ferreira

  • Manipulacin de archivos

    -k Muestra los tamaos en bloques de 1024 bytes (1K). Si no se especifica esta opcin, se mostrarn los tamaos en bloques de 512 bytes. Para convertir los tamaos de bloques a MB, es necesario dividir el tamao reportado por 2048.

    -l Muestra informacin adicional sobre cada archivo (formato largo)-s Muestra el tamao en kilobytes junto a cada archivo-H Muestra en un formato fcil de interpretar -t Mustra solamente los sistemas de archivos del tipo indicado

    Ejemplos:

    Tamaos de todos los sistemas de archivos:

    $ df -k

    Tamaos del sistema de archivos que contiene el directorio actual en formato fcil de interpretar:

    $ df -h .

    Tamaos del sistema de archivos que contiene el archivo /etc/hosts:

    $ df /etc/hosts

    El comando du est relacionado a la obtencin de informacin de espacio en disco. Si deseamos conocer el tamao que ocupa en disco un directorio especfico y todo su contenido, utilizaremos el comando du.

    El comando du tambin muestra el resultado en bloques de 512 bytes y tambin acepta la opcin -k para mostrarlos en bloques de 1024 bytes.

    La opcin mas til es la opcin -s, que sumariza el total para el argumento dado.

    Ejemplos:

    Tamao que ocupan todos los directorios del directorio actual:

    $ du -sk *

    Tamao que ocupa el directorio actual:

    $ du -sk .

    27 Ing. Ivan Ferreira

  • Manipulacin de archivos

    Crear y borrar archivos y directorios

    mkdir: creacin de directorios vacos.mkdir (MaKe DIRectory, Crear directorio) se usa para crear directorios. Su sintaxis es simple:

    mkdir [opciones] [directorio ...]

    Slo una opcin es digna de inters: la opcin -p. La misma hace dos cosas:

    1. Crear los directorios padre si es que an no existen. Si no se especifica esta opcin y los directorios padre no existen, mkdir simplemente fallar, quejndose que dichos directorios padre no existen;

    2. Retornar silenciosamente si el directorio que Ud. desea crear ya existe. Similarmente, si no especifica la opcin -p, mkdir fallar, quejndose que el directorio ya existe.

    Aqu tiene algunos ejemplos. Crea un directorio denominado pepe en el directorio actual:

    $ mkdir pepe

    Crea un directorio misc en el directorio images creando primero el ltimo si es que no existe:

    $ mkdir -p images/misc/

    touch: Creacin de archivos vacos.Inicialmente, el comando touch no est orientado a la creacin de archivos sino a la actualizacin de la hora de acceso y modificacin de los archivos. Sin embargo, touch crea los archivos mencionados como archivos vacos si es que no existan.

    La sintaxis es:

    touch [opciones] archivo [archivo...]

    Entonces, ejecutar el comando:

    $ touch archivo1 imagenes/archivo2

    Crea un archivo vaco denominado archivo1 en el directorio corriente y un archivo vaco denominado archivo2 en el directorio imgenes.

    28 Ing. Ivan Ferreira

  • Manipulacin de archivos

    Borrar archivos y directorios

    rm: borrar archivos o directorios El comando rm (ReMove, Quitar) es utilizado para eliminar archivos o directorios. Su sintaxis es la siguiente:

    rm [opciones] [archivo|directorio...]

    Las opciones incluyen:

    -r -R Borrar recursivamente. Esta opcin es obligatoria para borrar un directorio, vaco o no. Sin embargo, tambin puede usar el comando rmdir para borrar

    directorios vacos.-i Pedir confirmacin antes de cada supresin. -f La opuesta de -i, fuerza la supresin de los archivos o directorios.-H Muestra en un formato fcil de interpretar -t Muestra solamente los sistemas de archivos del tipo indicado

    Algunos ejemplos:

    Borrar todos los archivos cuyo nombre termina en .jpg en el directorio imagenes y borrar el archivo archivo1 en el directorio actual, pidiendo confirmacin para cada uno de los archivos

    $ rm -i imagenes/*.jpg archivo1

    Borra todo el directorio misc/ del directorio images/

    rm -Rf images/misc/*

    Mover o renombrar archivos

    mv: mover o renombrar archivos La sintaxis del comando mv (MoVe, mover) es la siguiente:

    mv [opciones] [archivo|dir. ...]

    Algunas opciones:

    29 Ing. Ivan Ferreira

  • Manipulacin de archivos

    -f Fuerza la operacin no hay advertencia alguna en caso de que la operacin sobre-escriba un archivo que ya existe.

    -i Lo contrario a -f, pedir confirmacin al usuario antes de sobre-escribir un archivo existente.

    -v Modo verboso, reportar todos los cambios y la actividad.

    Algunos ejemplos.

    Mover todos los archivos del directorio /tmp/pics/ cuyos nombres terminan en .png al directorio corriente (.), pidiendo confirmacin antes de sobre-escribir cualquier archivo.

    $ mv -i /tmp/pics/*.png .

    Cambiar el nombre del archivo pepe a pepito.

    $ mv pepe pepito

    Mover, sin pedir confirmacin, todos los archivos del directorio corriente cuyos nombres comiencen con archivo junto con todo el directorio imagenes/ al directorio tacho/, y mostrar cada operacin llevada a cabo.

    mv -vf archivo* imagenes/ tacho/

    Copiando archivos y directorios

    cp: copiar archivos y directorios

    cp (CoPy, Copiar) permite copiar archivos y directorios. Su sintaxis es la siguiente:

    cp [opciones] [archivo|dir. ...]

    cp tiene muchas opciones. Estas son las ms comunes:

    -R Copiar recursivamente; obligatoria para copiar un directorio, incluso si est vaco.

    -i Pedir confirmacin antes de obre-escribir cualquier archivo que pudiera sobre-escribirse.

    -f La opuesta de -i, reemplazar cualquier archivo existente sin pedir confirmacin alguna.

    -v Muestra en un formato fcil de interpretar -t Modo verboso , reporta todas las acciones realizadas.

    30 Ing. Ivan Ferreira

  • Manipulacin de archivos

    Algunos ejemplos:

    Copia todos los archivos del directorio /tmp/imagenes al directorio imagenes/ ubicado en el directorio corriente. Si se va a sobre-escribir un archivo se pide confirmacin:

    $ cp -i /tmp/imagenes/* imagenes/

    Copia todo el directorio docs ms todos los archivos del directorio /shared/mp3s al directorio miscosas ubicado en el directorio actual.

    $ cp -vR docs/ /shared/mp3s/* miscosas/

    Hace una copia del archivo pepe bajo el nombre pepito en el directorio actual.

    $ cp pepe pepito

    Determinando el tipo de un archivo

    file: determina el tipo de archivoEl comando file prueba cada argumento e intenta clasificar el tipo de archivo.

    En Linux todo est representado por medio de archivos, inclusive ciertos dispositivos del sistema, como discos, unidades de cinta y puertos de entrada y salida.

    Existen dos tipos de archivos:

    Archivos convencionales: son aquellos que contienen informacin y que generalmente sirven a los programas de aplicacin.

    Archivos especiales: son aquellos que proveen un interfaz uniforme entre los programas y la E/S al hardware del ordenador

    Los archivos pueden clasificarse en:

    Archivo regular ( - ): Archivos comunes del sistema operativo, tipo ASCII o binario.

    Directorios ( d ): Archivos contenedores de otros archivos.

    Enlaces ( l ): Archivos que referencian a otros archivos.

    Tuberas ( p ): Archivos que permiten el intercambio de informacin entre procesos.

    31 Ing. Ivan Ferreira

  • Manipulacin de archivos

    Archivos especial de bloques ( b ): Archivos que permiten el acceso a dispositivos que manejan la E/S de la informacin por bloques y de forma aleatoria, como los discos duros.

    Archivos especial de caracter ( c ): Archivos que permiten el acceso a dispositivos que manejan la E/S de la informacin en forma secuencial y por caracter, como las terminales, teclado y mouse.

    Archivos socket ( s ): Archivos relacionados a una conexin de red.

    Visualizar archivos de texto

    cat: mostrar el contenido de uno o ms archivos en la pantalla No hay mucho ms que decir, este comando simplemente hace eso: mostrar el contenido de uno o ms archivos en la salida estndar, normalmente la terminal. Utilizando redireccin de la salida estndar, puede concatenar uno o ms archivos usando cat. Por ejemplo:

    $ cat archivo1 archivo2 > archivo3

    less: un paginador Su nombre es un juego de palabras relacionado al primer paginador existente bajo Unix, que se denomina more. Un paginador es un programa que permite al usuario ver archivos largos pgina por pgina (o, ms precisamente, pantalla por pantalla).

    Hablamos primero de less que de more porque su uso es mucho ms intuitivo. Utilice el comando less para ver archivos grandes, que no entran en una pantalla.

    Por ejemplo:

    $ less /etc/termcap

    Para acceder a la pantalla siguiente, pulse [barra espaciadora]; para volver a la pantalla anterior, pulse [b]; para salir, presione [q]. Tambin puede usar las flechas de direccin para navegar con less.

    Para buscar palabras dentro de un archivo de texto usando less, presione [/] y luego escriba la palabra que quiere buscar. Por ejemplo:

    /Linux

    De esta forma buscar las coincidencias dentro del texto de la palabra Linux. Para avanzar a la siguiente coincidencia, presione la tecla [n], para ir a la coincidencia

    32 Ing. Ivan Ferreira

  • Manipulacin de archivos

    anterior presione la tecla [N].

    De hecho, simplemente presione [h] para la ayuda (en ingls) y eche un vistazo. Pero de todas formas, el objetivo de esta seccin es que Ud. sea capaz de leer archivos largos, y dicho objetivo ya est cumplido.

    more: paginador de archivosEl comando more permite la visualizacin de un archivo por pginas, as como el comando less, excepto que las teclas de control son diferentes. La [barra espaciadora] es utilizada para avanzar una pgina del archivo, la tecla [Enter] para avanzar por lnea y la tecla [b] para retroceder una pgina. Para salir, utilice la tecla [q]. Puede buscar texto de la misma forma que en less, usando la tecla [/].

    33 Ing. Ivan Ferreira

  • 3Usuarios y grupos

  • Usuarios y grupos

    Acerca de esta unidad

    En esta unidad se cubren los siguientes tpicos:

    Usuario y grupos, concepto

    Modelo de seguridad de Linux

    El usuario root y otros usuarios del sistema

    Comandos para obtener informacin de usuarios

    Cambiando la identidad del usuario

    35 Ing. Ivan Ferreira

  • Usuarios y grupos

    Usuarios y grupos

    Usuario y grupos, concepto

    El Linux es un sistema operativo multiusuario. Cada usuario debe tener un login para iniciar sesin en el sistema y pertenece a uno o ms grupos. Los grupos permiten organizar usuarios de funciones o caractersticas similares de tal modo que stos puedan compartir archivos, hacer ms fcil la administracin de la seguridad y configuracin restricciones del sistema.

    Cada usuario y grupo tiene un identificador numrico que es utilizado por el sistema para diferenciar a los usuarios, conocidos como UID y GID. El sistema no reconoce diferencia entre los usuarios segn el nombre del usuario, por lo tanto, si dos usuarios con nombres distintos tienen el mismo ID, el sistema Linux no podr diferenciar quin es quin.

    El usuario root y otros usuarios del sistema

    Existen tres categoras de cuentas de usuarios, usuario administrativo (root), usuarios regulares y usuarios de servicio.

    El usuario root tiene el control total del sistema y puede sobrepasar cualquier restriccin de seguridad.

    Los usuarios regulares tienen privilegios necesarios para realizar las tareas normales en Linux, como guardar archivos en su directorio personal, usar procesadores de texto, navegadores, etc. No pueden realizar la configuracin del equipo o instalacin de software a menos que el usuario root explcitamente lo permita.

    Como los usuarios regulares no tienen privilegios administrativos, no pueden accidentalmente o intencionalmente manipular archivos de configuracin, borrarlos o infectarlos con algn virus o programa trojano.

    Existen servicios como samba, apache, mail, proxy, impresin, etc, que tienen su propia cuenta de usuario de servicio. Estas cuentas existen para permitir a estos programas interactuar con el computador y no necesitan de una contrasea vlida.

    Modelo de seguridad de Linux

    Linux utiliza un grupo privado de usuarios (UPG, del ingls "User Private Group"), que permite que el manejo de grupos UNIX sea mucho ms fcil. El esquema UPG no aade o cambia nada al modo tradicional UNIX de manejar grupos. Simplemente

    36 Ing. Ivan Ferreira

  • Usuarios y grupos

    ofrece una nueva convencin para ello. Cada vez que se crea un nuevo usuario, por defecto, se le asigna un nico grupo.

    Anteriormente, los usuarios eran, por defecto, agregados a un grupo comn. Esto permite que cualquier persona dentro del mismo grupo, a menos que se haya configurado de lo contrario, pueda acceder al directorio personal de otro usuario y en ocasiones modificar o borrar archivos en l.

    En el modelo UPG, ningn usuario puede acceder al directorio personal de otro, y si se desea que estos usuarios compartan archivos entre s, se los agrupa en un grupo secundario comn y a este grupo se permite el acceso a un directorio especfico.

    Comandos para obtener informacin de usuarios

    Puede utilizar el comando who para averiguar quienes estn utilizando el sistema actualmente. La sintaxis del comando es:

    who [opciones]... [ archivo | arg1 arg2 ]

    El comando who tiene algunas opciones interesante:

    -b Indica cundo se inici por ltima vez el sistema.-r Indica el nivel de ejecucin actual. -H Muestra una cabecera para los campos.

    Tambin puede utilizar el comando whoami para averiguar con qu usuario ha iniciado sesin.

    El comando uptime le proporciona informacin de cuntos usuarios estn actualmente en el sistema, as como el tiempo que el equipo ha estado funcionando y la carga de trabajo hace 1, 5 y 15 minutos. Una carga normal de trabajo depende del equipo, cantidad de procesadores, memoria, etc.

    El comando id le permite obtener informacin del nombre de usuario, su UID, los grupos a los que pertenece y el GID de cada uno de ellos. La sintaxis del comando es:

    id [opcion]... [nombre_usuario]

    Para mas informacin acerca del comando id consulte la pgina man del comando.

    Cambiando la identidad del usuario

    su: Usuario sustituto.

    37 Ing. Ivan Ferreira

  • Usuarios y grupos

    El comando su le permite ejecutar un shell con un UID o GID sustituto. La sentencia del comando es:

    su [opcion]... [-] [usuario [arg]...]

    Si se ejecuta sin opciones, le solicitar que ingrese la contrasea para el usuario root. Si la contrasea proporcionada es correcta, habr iniciado un shell como root y podr realizar tareas administrativas.

    La alternativa -, como en su -, indica que las variables de entorno del usuario a nombre de quien estamos solicitando un shell, sean inicializadas.

    Si se especifica un usuario especfico, le solicitar la contrasea para ese usuario, a menos que sea usted el usuario root, a quin no se le solicita ninguna contrasea.

    La opcin ms interesante es la opcin -c, que ejecuta el comando dado como argumento y finaliza. Por ejemplo, para visualizar el archivo shadow como root ejecute:

    $ su -c cat /etc/shadow

    La contrasea del usuario root deber ser proporcionada.

    38 Ing. Ivan Ferreira

  • 4Permisos de acceso a archivos y directorios

  • Permisos de acceso a archivos y directorios

    Acerca de esta unidad

    En esta unidad se cubren los siguientes tpicos:

    Seguridad de archivos en Linux

    Examinando los permisos de archivos y directorios

    Tipos de permisos de archivos

    Categora de usuarios

    Permisos por defecto de los archivos

    Cambiando permisos de archivos

    Permisos especiales

    40 Ing. Ivan Ferreira

  • Permisos de acceso a archivos y directorios

    Permisos de acceso a archivos y directorios

    Seguridad de archivos en Linux

    Como dueo del archivo, un usuario puede configurar permisos sobre sus archivos. Estos permisos distinguen tres categoras de usuarios: el dueo del archivo, todos los usuarios que son miembros del grupo asociado al archivo (denominado tambin grupo dueo) pero no son el usuario dueo, y los otros, que son todos los usuarios que no son ni el dueo ni miembros del grupo dueo.

    Tipos de permisos de archivos

    Hay tres permisos diferentes:

    1. Permiso de lectura (r por Read, Leer): para un archivo, esto permite que se lea su contenido. Para un directorio, esto permite que se muestren los archivos que contiene (es decir, los archivos en este directorio).

    2. Permiso de escritura (w por Write, Escribir): para un archivo, esto permite que se modifique su contenido. Para un directorio, esto permite que un usuario agregue y/o quite archivos de este directorio, incluso si no es el dueo de esos archivos.

    3. Permiso de ejecucin (x por eXecute, Ejecutar): para un archivo, esto permite su ejecucin (en consecuencia, normalmente slo los archivos ejecutables tienen activo este permiso). Para un directorio, esto permite que un usuario lo recorra (lo que significa poder ingresar a, o pasar por, ese directorio). Note que esto est separado del acceso de lectura: bien puede ser que Ud. pueda recorrer un directorio, pero no leer su contenido! Todas las combinaciones de estos permisos son posibles.

    Examinando los permisos de archivos y directorios

    Los comandos ls -l y ls -ld nos permiten examinar los permisos de archivos y directorios.

    Los diferentes campos de salida del comando ls -l son los siguientes (de izquierda a derecha):

    El primer caracter es el tipo del archivo: contiene un guin (-) si es un archivo regular, una (d) si es un directorio, una (l) si es un enlace, una (c) si es un archivo de caracter, una (b) si es un archivo de bloques, una (p) si es una tubera o una (s) si es un archivo socket.

    41 Ing. Ivan Ferreira

  • Permisos de acceso a archivos y directorios

    Los nueve caracteres que siguen representan los permisos asociados con ese archivo. Aqu puede ver la distincin que se hace entre los diferentes usuarios para el mismo archivo:

    Los primeros tres caracteres representan los derechos asociados con el dueo del archivo, los siguientes tres se aplican a todos los usuarios que pertenecen al grupo pero que no son el dueo, y los ltimos tres se aplican a los otros. Un guin (-) significa que el permiso no est activo.

    Luego viene el nmero de vnculos del archivo. Posteriormente veremos que los archivos no slo se identifican por su nombre sino tambin por un nmero (el nmero de i-nodo), y por lo tanto es posible que un archivo en disco tenga varios nombres.

    Para un directorio, el nmero de vnculos tiene un significado especial, que tambin veremos en administracin.

    Luego viene el nombre del dueo del archivo y el nombre del grupo dueo.

    Finalmente, se muestra el tamao del archivo (en bytes) y la fecha de su ltima modificacin, seguido por ltimo por el nombre del archivo o directorio propiamente dicho.

    Cambiando permisos de archivos

    chmod: Cambiar permisos (modos) de archivos.El comando chmod (CHange MODe, Cambiar el modo) tiene una sintaxis bien particular. La sintaxis general es:

    chmod [opciones] [archivo|dir. ...]

    pero lo que lo distingue son las diferentes formas que puede tomar el cambio de modo. Este se puede especificar de dos maneras:

    En octal: entonces los derechos del usuario dueo se corresponden con nmeros de la forma 00, donde corresponde al permiso asignado:

    4 para permiso de lectura

    2 para permiso de escritura

    1 para permiso de ejecucin;

    42 Ing. Ivan Ferreira

  • Permisos de acceso a archivos y directorios

    Similarmente, los derechos del grupo propietario toman la forma 0 y los permisos para los otros la forma . Por lo tanto, todo lo que Ud. necesita hacer es sumar los permisos asignados para obtener el modo correcto.

    Por lo tanto, los permisos rwxr-xr-- corresponden a 400+200+100 (permisos del dueo, rwx) +40+10 (permisos del grupo propietario, r-x) +4 (permisos de los otros, r--) = 754; de esta forma, los permisos se expresan en trminos absolutos. Esto significa que los permisos previos se reemplazan incondicionalmente.

    Puede utilizar una tabla como la inferior para asignar permisos, luego con prctica, mentalmente podr asignar estos permisos.

    u g oR (4) 4 4 -W (2) 2 - -X (1) 1 1 -

    7 5 0

    El resultado de los permisos en octal calculado en el cuadro es 750, indicando todos los permisos para el usuario propietario, lectura y ejecucin para el grupo propietario y ningn permisos para los dems usuarios.

    Con expresiones: aqu los permisos se expresan con una secuencia de expresiones separadas por comas. Por lo tanto una expresin toma la forma:

    [categora]+|-|=

    La categora puede ser una o ms de:

    u (User. Usuario, permisos para el dueo)

    g (Group. Grupo, permisos para el grupo propietario)

    o (Others. Otros, permisos para los otros ).

    Si no se especifica categora alguna, los cambios se aplicarn para todas las categoras. Un signo + otorga un permiso, un - lo niega. Finalmente, el permiso es uno o ms de:

    r (Read, lectura)

    w (Write, escritura)

    43 Ing. Ivan Ferreira

  • Permisos de acceso a archivos y directorios

    x (eXecute, ejecucin).

    Las opciones principales son:

    -R Cambiar los permisos recursivamente.-v Modo verboso , muestra las acciones efectuadas para cada archivo.

    Ejemplos:

    Quitar recursivamente el permiso de escritura para los otros sobre todos los archivos y subdirectorios del directorio /shared/docs/.

    $ chmod -R o-w /shared/docs

    Quitar recursivamente el permiso de escritura para el grupo y para los otros sobre todo el directorio privado/, y quitar el permiso de ejecucin para los otros.

    $ chmod -R og-w,o-x privado/

    Asignar permiso de lectura y ejecucin para todos:

    $ chmod +rwx miarchivo.bash

    Permisos especiales

    Existen permisos especiales para archivos y directorios

    T: Sticky (pegajoso) ((t) minscula si el permiso (x) adems est asignado para otros).

    S: SGID (Set Group ID). ((s) minscula en el grupo si el permiso (x) adems est asignado).

    S: SUID (Set User ID). ((s) minscula en el usuario si el permiso (x) adems est asignado)

    El permiso Sticky en archivos no tiene funcin en Linux. El permiso Sticky en directorio provoca que los archivos contenidos dentro de ese directorio puedan ser borrados nicamente por el usuario propietario y por el usuario root.

    El permiso SUID en directorios no tiene funcin en Linux. El permiso SUID en archivos permite que si el archivo es ejecutable, en lugar de correr con los permisos del usuario que ejecut el archivo, se ejecutar con los permisos del usuario propietario del archivo.

    44 Ing. Ivan Ferreira

  • Permisos de acceso a archivos y directorios

    El permiso SGID en archivos permite que si el archivo es ejecutable, en lugar de correr con los permisos del grupo al que pertenece el usuario que ejecut el archivo, se ejecutar con los permisos del grupo propietario del archivo.

    El permiso SGID en directorios obliga a que los archivos que se crean por debajo del directorio, hereden el grupo propietario del directorio contenedor.

    El SGID en directorios es parte del modelo de seguridad User Private Group.

    Para asiginar los permisos especiales en forma octal debe utilizar:

    Sticky: 1000

    SGID: 2000

    SUID: 4000

    Para asignar con expresiones:

    Sticky: +t

    SUID: u+s

    SGID: g+s

    Ejemplos:

    Establecer sticky, lectura, escritura y ejecucin para todos:

    $ chmod 1777 archivo.bash

    Establecer sticky:

    $ chmod +t hola

    Establecer SGID, lectura, escritura y ejecucin para el propietario, lectura y ejecucin para todos:

    $ chmod 2755 directorio

    Establecer SGID:

    $ chmod g+s directorio

    Establecer SUID:

    45 Ing. Ivan Ferreira

  • Permisos de acceso a archivos y directorios

    $ chmod u+s archivo.bash

    Permisos por defecto de los archivos

    Cuando se crea un archivo o directorio, ste se crea con ciertos permisos por defecto. Los permisos por defecto estn dados por la configuracin del umask.

    El comando umask permite definir qu permisos tendrn por defecto los archivos y directorios son creados.

    El comando umask sin parmetros nos devuelve dicho valor :

    $ umask022

    Los permisos se calculan en base al umask de la siguiente manera:

    Para nuevos archivos ejecutables (Programas compilados):

    777 Permisos predeterminados- 022 Se resta el valor de umask

    -----755 Permisos permitidos

    Esto significa que los permisos con los que el archivo ser creado sern 755 (rwxr-x-r-x).

    Para nuevos archivos de texto o archivos regulares no ejecutables:

    666 Permisos predeterminados- 022 Se resta el valor de umask

    -----644 Permisos permitidos

    En el caso anterior, 666-022 = 644 , es decir , cualquier fichero que creemos con un editor con otros comandos sern creados con permisos 644 (rw-r--r--) .

    Para cambiar la mscara , usamos el comando umask con la nueva mscara que le deseamos dar :

    $ umask 077

    En cuyo caso , todos los ficheros a partir del se momento , y hasta que finalice la sesin, sern creados con sin permisos para el grupo y los otros.

    46 Ing. Ivan Ferreira

  • Permisos de acceso a archivos y directorios

    47 Ing. Ivan Ferreira

  • 5El sistema de archivos

  • El sistema de archivos

    Acerca de esta unidad

    En esta unidad se cubren los siguientes tpicos:

    Sistemas de archivos ext2/ext3

    Vnculos o enlaces simblicos (blandos) y duros

    Montando almacenamiento removible

    Buscando y procesando archivos

    Utilidades para comprimir y archivar

    49 Ing. Ivan Ferreira

  • El sistema de archivos

    El sistema de archivos

    Sistemas de archivos ext2/ext3

    Sistema de archivos Ext2: El Segundo Sistema de Archivos Extendido (Second Extended Filesystem) (su forma abreviada es Ext2FS o simplemente ext2) ha sido el sistema de archivos predeterminado de GNU/Linux por muchos aos. El mismo reemplaz al Sistema de archivos extendido (Extended File System). De all, el trmino segundo.

    El sistema de archivos nuevo corrigi ciertos problemas y limitaciones. Ext2FS respeta las normativas usuales para los sistemas de archivos de tipo Unix. El mismo fue diseado para evolucionar desde su concepcin, a la vez de ofrecer una gran robustez y buen rendimiento.

    Sistema de archivos Ext3: Como su nombre lo sugiere, el Tercer Sistema de Archivos Extendido (Third Extended File System es el sucesor de Ext2FS. El mismo es compatible con este ltimo pero est mejorado por una caracterstica muy interesante: journaling.

    Una de las mayores fallas de los sistemas de archivos tradicionales como Ext2FS es su baja tolerancia a cadas del sistema abruptas (fallas de energa o programas que se cuelgan). En general, dichos eventos implican un examen prolongado de la estructura del sistema de archivos e intentos para corregir errores, resultando algunas veces en una corrupcin aun mayor del sistema de archivos.

    En consecuencia puede producirse una prdida total o parcial de los datos grabados. El journaling responde a este problema. Para simplificar, digamos que la idea es grabar las acciones (tales como el guardar un archivo) antes de llevarlas a cabo efectivamente. Podemos comparar su funcionamiento al de un capitn de un bote que anota en su cuaderno de bitcora los eventos diarios.

    El resultado, un sistema de archivos coherente siempre. Y si ocurren problemas, la verificacin es muy rpida y las reparaciones eventuales, muy limitadas. Por lo tanto, Ext3FS ofrece la tecnologa de sistemas de archivos con journal, a la vez que mantiene la estructura de Ext2FS asegurando una compatibilidad excelente.

    Enlaces o vnculos simblicos (blandos) y duros

    Los i-nodos son, junto con el paradigma todo es un archivo, la parte fundamental de cualquier sistema de archivos Unix. La palabra i-nodo es una abreviacin de Information NODE (NODO de Informacin). Los i-nodos se almacenan en el disco en una tabla de i-nodos. Existen para todos los tipos de archivos que se pueden

    50 Ing. Ivan Ferreira

  • El sistema de archivos

    almacenar en un sistema de archivos, y esto incluye a los directorios, las tuberas nombradas, los archivos de modo caracter, y as sucesivamente. Los i-inodos tambin son la forma en la que Unix identifica de forma unvoca a un archivo.

    En Unix, Ud. no identifica a un archivo por su nombre, sino por un nmero de i-nodo. La razn para esto es que un mismo archivo puede tener varios nombres, o no tener ninguno.

    Los enlaces o vnculos

    La mejor forma de comprender qu hay detrs de esta nocin de vnculo es por medio de un ejemplo. Creemos un archivo (regular):

    $ touch archivo1

    $ ls -il archivo132555 -rw-rw-r-- 1 jperez jperez 0 sep 10 08:12 archivo1

    La opcin -i del comando ls imprime el nmero de i-nodo, que es el primer campo de la salida. Como puede ver, antes de crear el archivo a, no haba archivo alguno en el directorio.

    El otro campo de inters es el tercero, que es el contador de vnculos del archivo (bueno, de hecho, del i-nodo). De hecho, el comando touch archivo1 puede separarse en dos acciones distintas:

    1. Creacin de un i-nodo, al cual el sistema le atribuye el nmero 32555, y cuyo tipo es el de un archivo regular,

    2. Creacin de un vnculo a este i-nodo.

    Por lo tanto, el archivo archivo1 es un vnculo al i-nodo numerado 32555, y por el momento es slo uno: el contador de vnculos muestra un 1.

    Pero ahora, si ingresamos:

    $ ln archivo1 archivo2

    $ ls -il archivo? 32555 -rw-rw-r-- 2 jperez jperez 0 sep 10 08:12 archivo1 32555 -rw-rw-r-- 2 jperez jperez 0 sep 10 08:12 archivo2

    Habremos creado otro vnculo al mismo i-nodo. Como puede ver, no hemos creado archivo alguno denominado archivo2, sino que slo hemos agregado otro vnculo al i-nodo numerado 32555 en el mismo directorio y lo denominamos archivo2. Puede ver en la salida de ls -l que el contador de vnculos para el i-nodo ahora es 2, y ya no es

    51 Ing. Ivan Ferreira

  • El sistema de archivos

    1.

    Ahora, si hacemos:

    $ rm archivo1$ ls -il archivo232555 -rw-rw-r-- 1 jperez jperez 0 sep 10 08:12 archivo2

    Vemos que incluso cuando hemos borrado el archivo original, el i-nodo todava existe. Pero ahora el nico vnculo a l es el archivo denominado archivo2.

    Por lo tanto, bajo Unix un archivo tiene uno o ms vnculos en uno o ms directorios, los cuales pueden ser considerados el nombre del archivo. Tambin los directorios se almacenan en i-nodos, pero su contador de vnculos, contrariamente a todos los otros tipos de archivos, es el nmero de subdirectorios que contiene. Existen al menos dos vnculos por directorio: el directorio en s mismo (.) y su directorio padre (..).

    Ejemplos tpicos de archivos que no estn vinculados (es decir, no tienen un nombre) son las conexiones de red: nunca ver el archivo correspondiente a su conexin con un sitio web en su rbol de archivos, sin importar que directorio intente. Similarmente, cuando usa una tubera en el shell, el archivo que corresponde a la misma existe, pero no est vinculado.

    Los vnculos simblicos y la limitacin de los vnculos duros

    Los vnculos simblicos son archivos de un tipo particular que slo contienen una cadena de caracteres arbitraria, que puede, o no, apuntar a un nombre de archivo existente. Cuando se menciona un vnculo simblico en la lnea de comandos o en un programa, de hecho se accede al archivo al que apunta, si es que existe. Por ejemplo:

    $ echo Hola > miarchivo $ ln -s miarchivo mivinculo $ ls -il total 4 169 -rw-rw-r-- 1 reina reina 6 sep 10 21:30 miarchivo 416 lrwxrwxrwx 1 reina reina 6 sep 10 21:30 mivinculo -> miarchivo $ cat miarchivo Hola $ cat mivinculo Hola

    Puede ver que el tipo de archivo para mivinculo es 'l', por Link (Vnculo). Los derechos de acceso para un vnculo simblico son insignificantes: siempre sern rwxrwxrwx. Tambin puede ver que este es un archivo diferente de miarchivo, ya que su nmero de i-nodo es diferente. Pero se refiere al archivo miarchivo de manera simblica, por lo tanto cuando ingresa cat mivinculo, en realidad estar imprimiendo el contenido del archivo miarchivo.

    Para demostrar que un vnculo simblico contiene una cadena de caracteres

    52 Ing. Ivan Ferreira

  • El sistema de archivos

    arbitraria, podemos hacer lo siguiente:

    $ ln -s "No soy un archivo existente" otrovinculo $ ls -il otrovinculo 418 lrwxrwxrwx 1 reina reina 20 sep 10 21:43 otrovinculo -> No soy un archivo existente $ cat otrovinculo cat: otrovinculo: No existe el fichero o el directorio

    Pero los vnculos simblicos existen porque superan varias de las limitaciones de los vnculos normales ( duros ):

    No se puede crear un vnculo a un i-nodo en un directorio que est en un sistema de archivos diferente a dicho i-nodo.

    No se pueden vincular dos directorios, debido a que el contador de vnculos para un directorio tiene un uso especial como hemos visto. Pero Ud. puede hacer que un vnculo simblico apunte a un directorio y usarlo como si realmente fuera un directorio. Por lo tanto los vnculos simblicos son muy tiles en muchas circunstancias, y muy a menudo, la gente tiende a usarlos para vincular archivos entre s, incluso cuando podra haberse usado un vnculo normal. No obstante, una ventaja de los vnculos normales es que Ud. no pierde el archivo si borra el original.

    Los permisos de un vnculo no pueden ser modificados, siempre ser 777.

    Finalmente, si ha observado atentamente, sabr que el tamao de un vnculo simblico es simplemente el tamao de la cadena de caracteres.

    Para borrar un vnculo se utiliza el comando rm, como con cualquier otro archivo.

    Buscando y procesando archivos

    find: busca archivos basado en criterios.find es un utilitario de Unix muy antiguo. Su rol es buscar recursivamente uno o ms directorios y encontrar archivos que se correspondan con un cierto conjunto de criterios en esos directorios. Aunque es muy til, su sintaxis es verdaderamente compleja, y usarlo requiere cierta prctica. La sintaxis general es:

    find [opciones] [directorios] [criterios] [accion]

    Si no especifica directorio alguno, find buscar en el directorio corriente. Si no especifica el criterio, esto es equivalente a verdadero, por lo que se encontrarn todos los archivos.

    Las opciones, criterios y acciones son tan numerosas que solo mencionaremos

    53 Ing. Ivan Ferreira

  • El sistema de archivos

    algunas de cada una. Comencemos por las opciones:

    -xdev No extender la bsqueda a los directorios ubicados en otros sistemas de archivos.

    -follow Seguir los vnculos simblicos si apuntan a directorios. Por defecto no los sigue.

    Algunos criterios que pueden ser utilizados para la bsqueda son:

    -type Busca los archivos de un tipo dado; puede ser uno de: f (archivo regular), d (directorio), l (vnculo simblico), s (socket), b (archivo en modo de bloques), c (archivo en modo caracter) p (tubera nombrada).

    -name Encontrar los archivos cuyo nombre se corresponde con el dado. Con esta opcin, se trata a como un patrn de englobamiento del shell.

    -iname Como -name, pero sin distinguir maysculas/minsculas.-mtime Encontrar los archivos a los que se han modificado hace das.

    Tambin puede especificar + o -, en cuyo caso la bsqueda se har para los archivos modificados antes de n das o de das hasta ahora respectivamente.

    -newer Encontrar los archivos que han sido modificados ms recientemente que el archivo .

    Existen muchas otras pruebas, debe referirse a la pgina man para ms detalles.

    Para combinar las pruebas, Ud. puede utilizar uno de:

    -a : Verdadero si tanto como son verdaderas; -a est implcito, por lo tanto puede ingresar ... si quiere que todas las pruebas , , ... sean verdaderas.

    -o : Verdadero si o o ambos son verdaderos. Note que -o tiene una precedencia menor que -a, por lo tanto si desea, por ejemplo, los archivos que verifican los criterios o y verifican el criterio , tendr que usar parntesis y escribir ( -o ) -a . Debe escapar (desactivar) los parntesis, ya que si no lo hace el shell los interpretar!

    -not : Invertir la prueba , por lo tanto -not es verdadero si es falso.

    54 Ing. Ivan Ferreira

  • El sistema de archivos

    Finalmente, puede especificar una accin para cada archivo encontrado. Las acciones ms usadas frecuentemente son:

    -print Simplemente imprime el nombre de cada archivo en la salida estndar. Esta es la accin predeterminada si Ud. no especifica accin alguna.

    -ls Muestra en la salida estndar el equivalente de ls -ilds para cada archivo que encuentra.

    -exec Ejecutar el comando sobre cada archivo encontrado. La lnea de comandos debe terminar con un ;, que deber desactivar para que el shell no lo interprete; la posicin del archivo se representa con {}.

    -ok Igual que -exec pero pedir confirmacin para cada comando.

    Ejemplos:

    Digamos que quiere encontrar todos los directorios en /usr/share. Entonces ingresar:

    $ find /usr/share -type d

    Suponga que tiene un servidor HTTP, todos sus archivos HTML estn en /var/www/html, que coincide con su directorio corriente. Ud. desea encontrar todos los archivos que no se modificaron en el ltimo mes. Debido a que tiene pginas de varios autores, algunos archivos tienen la extensin html y otros la extensin htm. Desea mover estos archivos en el directorio /var/www/obsolete . Entonces ingresar:

    $ find \( -name "*.htm" -o -name "*.html" \) -a -mtime -30 -exec mv {} \ /var/www/obsolete \;

    Est bien, este es uno un poco complejo y requiere una pequea explicacin. El criterio es este: \( -name "*.htm" -o -name "*.html" \) -a -mtime -30 que hace lo que queremos: Encuentra todos los archivos cuyos nombres terminan con .htm o con .html \( -name "*.htm" -o -name "*.html" \) , y (-a) que no han sido modificados en los ltimos 30 das, lo que es ms o menos un mes (-mtime -30).

    Note los parntesis, aqu son necesarios, porque -a tiene una precedencia mayor. Note tambin que los parntesis estn desactivados para el shell.

    Y finalmente, est el comando a ejecutar para cada uno de los archivos: -exec mv {} /var/www/obsolete \; Aqu tambin, tiene que desactivar el ; para el shell, ya que de no ser as el shell lo interpretara como un separador de comandos. Si no lo hace, find se quejar que le falta un argumento a -exec.

    55 Ing. Ivan Ferreira

  • El sistema de archivos

    bzip2 y gzip: comandos de compresin de datos

    Al principio, bzip2 haba sido escrito como un reemplazo de gzip. Sus relaciones de compresin generalmente son mejores, pero por otra parte, toma ms memoria. La razn por la cual todava est aqu gzip es que todava es ms usado que bzip2.

    Ambos comandos tienen una sintaxis similar:

    gzip [opciones] [archivo(s)] gunzip [opciones] [archivo(s)]

    bzip2 [opciones] [archivo(s)] bunzip2 [opciones] [archivo(s)]

    Si no se especifica un nombre de archivo, tanto gzip como bzip2 esperarn datos de la entrada estndar y enviarn los resultados a la salid