Introduccion a La Linea de Comandos de Linux - GNU

August 29, 2017 | Author: api-26907686 | Category: Linux Distribution, Computer File, Ubuntu (Operating System), Free Software, File System
Share Embed Donate


Short Description

Download Introduccion a La Linea de Comandos de Linux - GNU...

Description

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Introducción a la línea de comandos de Linux

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

1

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Libro A Historia de GNU/Linux A principios de los años 90 el Sr. Linus Torvalds era estudiante en la universidad de Finlandia que empezó a hacer algunos experimentos de código con su computadora. Conforme el sistema creció en complejidad Linus cayó en cuenta de que lo que tenía entre sus manos era un núcleo rudimentario para un sistema operativo. Sabiendo que el continuar desarrollando este sistema era una labor de equipo, invitó a través del Internet a quienes desearan participar en mejorar el sistema. Años antes, tras ver que el crear una sencilla utilería para compartir impresoras le metía en problemas legales, Richard Stallman pensó que debería existir la manera de compartir programas y su código para mejorar algún software entre un grupo de programadores, y estableció la organización Free Software Foundation, donde se dieron a la tarea de ir creando poco a poco un sistema operativo al que bautizaron como “GNU”, que quiere decir “GNU is Not Unix”. Ellos fueron entonces desarrollando el compilador gcc y utilerías tales como el editor de texto EMACS y algunos otros programas. Como para entonces la organización Free Software Foundation había empezado a elaborar algunas herramientas que utilizarían a futuro, se vio que esas herramientas agregadas a lo que había hecho Linus daban por resultado un sistema operativo completo aunque sencillo en ese punto. Haciendo un símil, Linus tenía el motor mientras que GNU tenía el resto del automóvil, por lo que el sistema resultante se debe llamar GNU/Linux, aunque generalmente se le conoce como Linux. Conforme ha ido pasando el tiempo Linux ha crecido hacia ser el sistema operativo para servidores e incluso ahora como sustituto de sistemas operativos comerciales de escritorio, tales como Windows.

Distribuciones de Linux Una distribución, también llamada comúnmente “distro”, es un conjunto de programas hechos por diferentes empresas, organizaciones y/o personas para que trabajen con GNU/Linux y de esa manera tener un sistema operativo completo. La base de cada distribución incluye el núcleo Linux, con las bibliotecas y herramientas del proyecto GNU, en conjunto con la plataforma Xfree86 o Xorg para las interfases gráficas (esto se verá a detalle un poco más adelante). Las distribuciones se pueden obtener a través de Internet (HTTP y/o FTP), a través de las comunidades locales (con su respectivo cambio de CD en blanco) o comprando los CDs, los cuales contendrán sus manuales respectivos que nos facilitarán el proceso de instalación y aprendizaje. Existen más de 400 distros y un buen lugar para obtener información sobre ellas es http://www.distrowatch.com. A continuación algunas de las más populares.

2

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Fedora/RedHat Linux Fedora Core es la distribución libre y gratuita que sustituye a las versiones nuevas de RedHat Linux. El objetivo del proyecto es conseguir un sistema operativo de propósito general y basado exclusivamente en software libre con el apoyo de la comunidad Linux. Es un proyecto patrocinado en su mayoría por RedHat y la comunidad del software libre, en donde los individuos y las organizaciones tienen la misma oportunidad de colaborar, trabajando en conjunto con el fin de desarrollar un sistema operativo que provea la última tecnología disponible adoptando y ayudando a diseñar nuevas características y actualizaciones de aplicaciones, bajo una plataforma robusta para el desarrollo de programas a su vez. Características: • La instalación es en modo gráfico o texto • Utiliza el sistema de administración de paquetes RPM (RedHat Package Manager) • Utiliza el sistema Yum para actualizaciones (modo consola) • Utiliza el sistema up2date para actualizaciones (modo gráfico) • Es una distribución muy robusta • Liberan de 2 a 3 versiones por año • Versión actual: Core 5 (Bordeaux) Recursos: • http://fedora.redhat.com • http://www.fedora-es.com • http://freshrpms.net • http://www.redhat.es/fedora Debian GNU/Linux Debian GNU/Linux es un sistema operativo libre, desarrollado por más de mil voluntarios de todo el mundo quienes colaboran vía Internet para su trabajo. La dedicación de Debian al software es de naturaleza no lucrativa, y su sistema de naturaleza abierta lo hacen único entre los distribuidores de GNU/Linux. El origen de la palabra “Debian” viene del nombre de su creador Ian Murdock y su esposa Deborah. Características: • La instalación presenta algunas dificultades • Es muy estable • Utiliza el sistema Apt-Get para instalar paquetes • Tarda mucho en liberar versiones nuevas • Está disponible para varias plataformas de hardware • Tiene un gran repositorio de software • Ideal para usuarios avanzados • Versión actual: 3.1 (“sarge”) Recursos: • http://www.debian.org • http://www.laespiral.org • http://www.esdebian.org • http://www.debianmexico.org

3

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Ubuntu Linux Ubuntu debe su nombre al movimiento homónimo encabezado por el obispo Desmond Tutu, el cual ganó el Premio Nobel de la Paz en 1984 por su lucha en contra del Apartheid en Sudáfrica. Está detrás la empresa Canonical Ltd., propiedad de Mark Shuttleworth (millonario australiano que dio el primer paseo espacial de pago), quien es sudafricano de nacimiento y por lo tanto se encontraba muy familiarizado con la corriente. Tras ver similitudes entre los ideales de los proyectos GNU, Debian y en general con el movimiento de software libre, decidió aprovechar la ocasión para difundir los ideales de ubuntu. Características: • Está basada en Debian • Es absolutamente libre de cargo • Cuenta con un solo CD para la instalación • Utiliza por default el entorno gráfico Gnome • Fácil instalación aun sin tener instalador gráfico • Utiliza el sistema Apt-Get para actualizaciones e instalación de programas (modo consola) • Utiliza el programa Synaptic para actualizaciones e instalación de programas (modo gráfico) • La idea es liberar una nueva versión cada 6 meses • Es la distribución de moda • Ideal para principiantes Recursos: • http://www.ubuntulinux.org • http://www.ubuntu-es.org • http://www.tod-os.com/ubuntu/phpBB2 Mandriva Linux Mandriva Linux (antes Mandrake Linux) fue creada en 1998 con el objetivo de hacer Linux más fácil de utilizar para todo el mundo. En ese tiempo, Linux era ya bastante conocido como un potente y estable sistema operativo que requería de fuertes conocimientos técnicos y un amplio uso de la "línea de comando"; Mandriva vió esto como una oportunidad para integrar los mejores entornos gráficos de escritorio y proveer sus propias utilidades de configuración gráficas y rápidamente llegó a ser conocida por establecer el estándar en facilidad de uso y funcionalidad. Características: • Está basada en RedHat Linux 5.1 • Utiliza por default el entorno gráfico KDE • El proceso de instalación es gráfico, muy sencillo • • • • • • •

Tiene un avanzado y eficiente sistema de reconocimiento de hardware Ofrece varios niveles pre-configurados de seguridad Utiliza un sistema de configuración centralizado (Centro de Control Mandriva) Incluye una gran cantidad de programas Está disponible en 74 idiomas Ideal para principiantes sin conocimiento de informática Versión actual: Mandriva One

4

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Recursos: • http://www.mandrivalinux.com • http://www.mandriva.com • http://blogdrake.net Slackware Linux El creador de Slackware Linux es Patrick Volkerding, y lo define como un avanzado sistema operativo Linux, diseñado con dos objetivos: facilidad para usar y estabilidad como meta prioritaria. Incluyendo el más popular software reciente mientras guarda un sentido de tradición proporcionando simplicidad y facilidad de uso, junto al poder y la flexibilidad, Slackware trae lo mejor de todos los mundos a la mesa. Desde su primer lanzamiento en abril de 1993, el Proyecto Slackware Linux se ha esmerado en producir la distribución de Linux más profesional posible. Slackware obedece a los estándares de Linux publicados, como el Linux File System Standard. Características: • Ideal para usuarios intermedios y avanzados • Estable y segura • Interfase de instalación en modo texto muy sencillo • Distribución de paquetes en archivos comprimidos (TarGZ) • Utiliza el programa pkgtool (modo texto) para la administración de paquetes • Las actualizaciones se hacen con los programas Swaret y Slap-Get (línea de comandos) • Es la distribución más parecida a UNIX • La mayoría de las configuraciones son a mano • La curva de aprendizaje es mayor que en otras distribuciones • "When you know Slackware, you know Linux...when you know RedHat, all you know is Red Hat." (“Cuando sabes Slackware, sabes Linux...cuando sabes Red Hat, lo único que sabes es Red Hat.”) • Versión actual: 10.2 Recursos: • http://www.slackware.com • http://www.eslackware.com • http://www.linuxpackages.net • http://www.tuxjm.net Knoppix KNOPPIX es un sistema que puede iniciar desde el CD o DVD (LiveCD). Consiste en una colección representativa de software de GNU/Linux, detección automática de hardware y ayuda para muchas tarjetas de video, tarjetas de sonido, dispositivos de SCSI y de USB y otros periféricos. KNOPPIX se puede utilizar como sistema productivo de Linux para el CD de escritorio, educativo, sistema del rescate o adaptar y utilizar como plataforma para los demos comerciales del producto de software. No es necesario instalar algo en el disco duro, debido a que todo se encuentra contenido en el CD quien provee los programas a través de la descompresión en marcha. El CD puede tener hasta 2 GB de software ejecutable instalados en él (el excedente 8GB en la edición de DVD "Maxi"). Características: • Está basada en Debian • Ideal para enseñar y mostrar el sistema Linux 5

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

• • • • •

Tiene herramientas para rescate de datos y reparación del sistema Utiliza el entorno gráfico KDE Tiene una gran cantidad de software Se puede instalar en el disco duro Versión actual: 4.0.2 en CD, versión 5 en DVD

Recursos: • http://www.knopper.net/knoppix/index-en.html • http://www.knoppix-es.org SuSE Linux Recientemente comprada por Novell, la alemana SuSE es una de las distros más populares. Suse es el acrónimo del alemán “Software- und Systementwicklung”, que se traduce como “desarrollo de software y sistemas”. Características: • La instalación es en modo gráfico y muy sencilla • Tiene un diseño atractivo • KDE es el entorno gráfico por defecto • Utiliza el sistema de administración y configuración Yast (Yet Another Setup Tool) • Incluye una gran cantidad de programas • Utiliza el sistema de paquetes RPM • Es una distribución comercial • Es ideal para usuarios principiantes • Versión actual: 10.0 Recursos: • http://www.novell.com/products/linuxprofessional • http://www.forosuse.org • http://www.suselinuxsupport.de

Ambiente gráfico vs. línea de comandos Se le llama ambiente gráfico o interfase gráfica al manejo de la computadora a través de iconos, ventanas y un apuntador o mouse. Se le llama línea de comandos a una interfase de manejo de la computadora donde se le escriben comandos de texto simple a través del teclado. Ambiente gráfico

Línea de comandos

Ventajas:

• • •

Intuitivo Fácil de usar Productivo

• • • •

Eficiente Funciona todo el tiempo Permite acceso remoto fácil Poderosa = acceso total

Desventajas:

• •

Requiere más equipo Más complejo = más fallos

• •

Compleja de usar No intuitiva

6

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Diferentes servidores escritorios

de X Windows,

manejadores de

ventanas y

A diferencia del sistema operativo comercial más popular, donde existe una sola manera de manejar las ventanas en la interfase gráfica (la que diga Microsoft) y un escritorio para cada versión de Windows, en Linux existen dos servidores de X Windows, así como varios manejadores de ventanas y algunos escritorios, siendo posible que un mismo equipo tenga instalados más de uno de cada uno de ellos. Servidores de X Windows: • •

Xfree86: Es el servidor gráfico más antiguo, y que se encuentra instalado en las distribuciones que tengan entre dos y tres años o más. Xorg: Debido a lo libre del código, Xorg es prácticamente igual a Xfree86 en cuanto a lo técnico. La diferencia está en cuestiones de licencia y organización humana. Por otra parte, cada vez cuenta con más apoyo empresarial lo que le hace estar instalada en la mayoría de las distribuciones nuevas. Recursos: http://xfree86.org, http://x.org.

Manejadores de ventanas (algunos): •



• • •

IceWM: Este manejador de ventanas es bastante completo y provee de una interfase ligeramente similar a la de Windows 95, incluso tiene un tema que lo simula. Se puede utilizar completamente con el teclado, y maneja múltiples áreas de trabajo en la misma pantalla FluxBox: Este manejador es ligero pero cuenta con muchos elementos, incluyendo temas estéticos y menús a los que se accede a través del botón izquierdo del mouse. Es el manejador estándar de algunas distribuciones pequeñas BlackBox: Sencillo y elegante, para quienes no quieren complicarse la vida. Definitivamente NO para migrar hacia Linux pues es bastante diferente de Windows. TWM: Uno de los antecesores de los actuales sistemas. Sencillo en demasía hoy en día, pero eficiente y fácil de usar FVWM: Sucesor de TWM, con un aspecto pulido tridimensional. Se enfoca a hacer un uso mínimo del RAM. Recursos: http://xwinman.org/ (compendio)

Escritorios:



KDE: Este escritorio es la mejor opción para migrar hacia Linux pues es bastante similar a Windows. Es la interfase gráfica predeterminada de la mayoría de las distribuciones actuales.

7

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California



GNOME: Originalmente desarrollado por el mexicano Miguel De Icaza, este escritorio es más ligero que KDE, por lo que es una excelente opción para equipos no tan nuevos.



XFCE: Este escritorio ultra-ligero se utiliza tanto en equipos con capacidades limitadas como en distribuciones para usarse en CD del tamaño de una tarjeta de presentación, o en discos portátiles USB.

Sistema de archivos En Linux los archivos NO están organizados a partir de los discos físicos como en Windows. La estructura de archivos de Linux es un árbol donde las ramas pueden estar en diferentes discos, incluso en diferentes computadoras dentro de una red. La estructura básica de directorios y su contenido convencional dentro de un sistema Linux puede ser la siguiente: Sistema de archivos en Linux y sus contenidos Dirección

Nombre

Contenido

/

raíz

Directorio principal que contiene los demás directorios

/boot

inicio

Archivos de arranque de Linux

/dev

dispositivos

Directorio virtual creado al arranque de la máquina. Contiene acceso a todos los dispositivos físicos existentes en la computadora. Para Linux, cada dispositivo es representado como un archivo al cual se puede escribir y del cual se puede leer.

/proc

procesos

Directorio virtual creado al arranque de la máquina. Contiene información sobre los procesos y equipo que se encuentran corriendo

/etc

configuración

Directorio que contiene la configuración del sistema. La mayoría de las configuraciones en Linux se encuentran en archivos de texto, los que generalmente están en este directorio.

/lib

librerías

Aquí se encuentran las librerías que son compartidas por varios programas, así como módulos del kernel

/opt

optativos

Directorio donde se instalan programas locales

/bin

binarios

Lugar donde se encuentran los programas intrínsecos de Linux disponibles a todos los usuarios

/sbin

binarios del superusuario

Contiene programas intrínsecos de Linux a usarse por el superusuario, también llamado “root”

8

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Sistema de archivos en Linux y sus contenidos /root

directorio de root

Directorio donde el superusuario puede guardar sus propios archivos

/home

archivos de usuarios

Este directorio contiene un directorio por cada usuario. Es el lugar donde se encuentran los archivos de uso, así como las configuraciones individuales de cada usuario.

/tmp

temporal

Directorio donde el sistema guarda archivos temporalmente. Estos archivos son creados para almacenar información temporalmente.

/usr

programas

Directorio que contiene la mayoría de los programas de cualquier tipo. En /usr/bin se encuentran la mayoría de los programas, y en /usr/lib se encuentran la mayoría de las librerías de estos programas.

/var

archivos de programa

En este directorio se encuentran archivos de los programas tales como bases de datos. También se encuentran las bitácoras que registran las actividades del sistema. También es el lugar predefinido para las páginas Web (/var/www).

/srv

servidor de Web (no estándar)

En algunas distros modernas (SuSE, Ubuntu) se instala el servidor de Web en este directorio

/mnt

montajes

Lugar donde se montan sistemas de archivos y otros dispositivos, como CDs y discos USB. En algunas distros esto se hace en /media.

Un ejemplo supersimplificado del sistema de archivos sería: /

/boot /var

arranque del sistema /var/log /var/www

bitácoras páginas de internet

/tmp

archivos temporales

/bin

archivos intrínsecos del sistema operativo

/home

/home/usuario

archivos del usuario usuario

/usr

/usr/bin

archivos de programas

Usuarios y permisos Linux es un sistema operativo de servidores creado para trabajar varias personas simultáneamente en la misma computadora. Existe un usuario especial llamado “root” o superusuario que tiene acceso completo a todo el sistema. Los demás usuarios generalmente tienen un directorio dentro de /home en el cual pueden guardar su información. Al directorio /home/usuario también se le conoce como ~ (tilde). id Entrar:

usuario@sistema$ id

Comando Date: para conocer la fecha del sistema

date Entrar:

$ date

9

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Para cambiar de usuario utilizamos el comando su (switch user). su Uso: $su -l usuario Opciones comunes --help Mostrar ayuda

Parámetros Sin especificar usuario se cambia al super-usuario (root)

Cada archivo pertenece a algún usuario o un grupo. Los permisos para cada archivo pueden ser de lectura, escritura y ejecución, esto aplicando al propietario del archivo, luego al grupo, y por último a cualquier otra persona que se encuentre en el equipo y que no sea el propietario o miembro del grupo al que pertenece el archivo. Existen dos formas de ver los permisos: con letras como en un listado normal dentro de la línea de comandos, o a través de una clave numérica. Permisos con Letras Ejemplo: Valores:

Tipo

Propietario

Grupo

Otros

Secuencia

d

rwx

rwx

rwx

drwxrwxrwx

“d” = directorio “l” =link “-” = archivo “s” = socket “b” = bloque

“r” = lectura (“read” en inglés) “w” = escritura (“write” en inglés) “x” = ejecución (“execute” en inglés)

En el caso de los permisos con números, se utiliza una cifra para indicar el tipo de permiso. Estas cifras se obtienen sumando los códigos correspondientes a cada parte del permiso. Los valores posibles son 0, 4 para sólo lectura, 5 para lectura/ejecución, 6 para lectura/escritura, y 7 para todos los permisos. Permisos con Números Propietario

Grupo

Otros

Secuencia

7

7

7

777

Ejemplo: Valores:

0 4 2 1

= = = =

sin permisos permiso de lectura permiso de escritura permiso de ejecución

Archivos Ocultos En Linux se le llama archivo oculto a aquél cuyo nombre empieza con un punto. El ocultarlo del resto de los usuarios requiere un cambio en los permisos del archivo, lo que es independiente de su nombre. Ejemplos Comunes de Permisos Uso

Propietario

Grupo

Otros

Letras

privado individual

sólo lectura

ninguno

ninguno

r--------

400

privado de grupo

sólo lectura

sólo lectura

ninguno

r--r-----

440

10

Números

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Ejemplos Comunes de Permisos sólo lectura

sólo lectura

sólo lectura

sólo lectura

r--r--r--

444

estándar archivos

lect/escr

sólo lectura

sólo lectura

rw-r--r--

644

estándar programas

lect/escr/ejec

lect/ejec

lect/ejec

rwxr-xr-x

755

todos los permisos

lect/escr/ejec

lect/escr/ejec

lect/escr/ejec

rwxrwxrwx

777

Dentro de su propio ~, o home, cada usuario puede grabar archivos, leer (abrir) archivos y ejecutar programas, así como cambiar los permisos de sus propios archivos.

Comandos: conceptos y sintaxis Un comando es una instrucción escrita que se le da a la computadora en la línea de comandos. El comando consta del comando en sí, sus opciones y sus parámetros. En la línea de comandos podemos ver dos tipos de símbolos: Para usuarios normales: Para el superusuario:

usuario@sistema$

root@sistema#

Entonces, un comando para un usuario normal tiene en general la siguiente sintaxis: usuario@sistema$ comando opciones parámetros

Por ejemplo, en $ ls -l /home, “ls” es el comando, “-l” la opción y “/home” el parámetro. Las opciones del tipo “-x” donde X es el parámetro se pueden agregar: “-xyz” donde “y” y “z” son otras opciones. $ ls -l /home comando opción parámetro *IMPORTANTE: Las opciones con mayúsculas o con minúsculas tienen significados diferentes.

Comandos de manejo y localización de archivos y directorios Comando touch Cambia las fechas de acceso o modificación de un archivo. Si se usa con un nombre de archivo inexistente lo crea, que es de hecho uno de sus usos más comunes. touch Uso: $touch opciones archivo1 archivo2... Opciones comunes -a Cambia la hora de acceso

Parámetros Archivos o directorios separados por UN espacio

-m Cambia la hora de modificación -c NO crea un archivo nuevo si el nombre no existe 11

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

touch -d Ajusta la fecha sin hora -t Ajusta la fecha con hora

Ejemplo: Crear un nuevo archivo en blanco, y cambiarle la fecha y hora $ touch archivoenblanco $ touch -t “19681002300” archivoenblanco

Comando chmod Cambia los permisos de un archivo. El archivo tiene que ser de la propiedad de usuario que le quiere cambiar de permisos, o este usuario debe ser root. chmod Uso: $chmod permisos archivo1 archivo2... Opciones comunes permisos numéricos Número de tres cifras con el nuevo permiso a asignar, v.gr. 644, 777, etc.

Parámetros Archivos o directorios separados por UN espacio

permisos diferenciales Letras que agregan o quitan permisos con respecto a los que el archivo ya tiene, por ejemplo u+x (agregar permiso de ejecución al usuario), g-w (quitar permiso de escritura al grupo) o ugo+rwx (agregar todos los permisos para todos). -c Pedir que el sistema indique qué archivos está modificando --help Mostrar un breve recordatorio de las opciones de este comando -R Cambio recursivo: modificar también subdirectorios

Ejemplo: Darle todos los permisos a un archivo (tres opciones): $ chmod 777 archivoenblanco $ chmod ugo+rwx archivoenblanco $ chmod a+rwx archivoenblanco

Comando chown Cambia la propiedad (el dueño) de un archivo. El usuario debe ser root. chown Uso: #chown opciones nuevopropietario:nuevogrupo archivo1 archivo2... Opciones comunes -c Pedir que el sistema indique qué archivos está modificando --help Mostrar un breve recordatorio de las opciones de este comando

Parámetros El nuevo propietario y nuevo grupo separados por dos puntos “:”, y los archivos o directorios sobre los que se aplicará el cambio separados por UN espacio

-R Cambio recursivo: modificar también subdirectorios

12

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Ejemplo: Cambiar de propietario un archivo: # chown nuevousuario:nuevogrupo /tmp/archivoenblanco

Comando cd El comando cd se utiliza para moverse entre el sistema de archivos, o sea, cambiar de directorio. cd Uso: $cd directorio_destino Opciones comunes Este comando no tiene opciones

Parámetros directorio_destino El directorio de manera absoluta o relativa (a partir del presente directorio). Omitido lleva a ~.

Comando pwd Con pwd (print working directory) se puede saber el directorio en donde se está. pwd Uso:

$pwd

Opciones comunes Este comando no tiene opciones

Parámetros Este comando no tiene parámetros

Ejemplo: Ver el directorio actual: $pwd

Comando ls El comando ls lista el contenido de directorios. De manera predefinida no lista archivos ocultos (cuyo nombre empieza con un punto). Dentro de un listado extendido nos muestra la siguiente información: $ls -l drwxr-xr-x drwxr-xr-x -rwxr-xr-x -rw-r--r--

2 6 1 1

interco interco interco interco

users 88 users 328 users 5583210 users 26344688

2005-06-05 2005-06-18 2005-06-18 2005-06-18

14:20 14:03 13:52 12:58

Arachnophilia eclipse GEF-SDK-3.1M6.zip wtp-1.0M4.zip

La primer columna contiene los permisos de cada archivo. Los dos primeros son directorios (tipo “d”). La segunda columna indica el número de links que tiene tal archivo. La tercera y cuarta indican el usuario y grupo al que pertenece, la quinta es el tamaño en bytes, la sexta y séptima tienen la fecha y hora de creación, y la última contiene el nombre del archivo. ls Uso: $ls opciones directorio1 directorio2... Opciones comunes -l Listado largo (con tamaños y propiedades) -a Listar todo, incluyendo los archivos ocultos -h En listados largos, poner el tamaño del archivo en múltiplos (KB, MB, GB) -R Listar subdirectorios recursivamente

Parámetros Los directorios a ser listados separados por un espacio. Si no se define este parámetro se listará el directorio en el que se esté (uso común de este comando)

Ejemplo: 13

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Listado largo de todos los archivos y directorios en el directorio en el que se está, con el tamaño en múltiplos: $ls -lah

Comando mkdir (crear directorio) Con este comando se crean directorios. En algunas distros se puede abreviar como md. mkdir Uso: $mkdir directorio1 directorio2... Opciones comunes No hay opciones comunes

Parámetros Los nombres de los directorios separados por UN espacio

Ejemplo: Crear un directorio: $mkdir midirectorio

Comando cp (copia) Uno de los comandos más útiles pues permite copiar archivos y directorios. cp Uso: $cp opciones origen destino Opciones comunes -p Copia manteniendo permisos, fechas, y propietarios

Parámetros origen Archivo o directorio a copiar destino Archivo o directorio donde se pondrá la copia

-a Copia todo incluyendo links -i Modo interactivo: pregunta cada paso -f Forzado, sobreescribiendo si es necesario -r Recursivo, copia subdirectorios también

Ejemplo: Copiar un archivo al directorio /tmp: $cp archivo1 /tmp

Comando mv (mover) El comando mv se utiliza tanto para mover archivos o directorios como para renombrarlos. mv Uso: $mv opciones origen destino Opciones comunes -i Modo interactivo: pregunta cada paso

Parámetros origen Archivo o directorio a mover

-f Forzado, sobreescribiendo si es necesario

destino Archivo o directorio a donde estará el archivo o directorio. Si no existe el destino se estará renombrando.

Ejemplo: Renombrar un archivo: $mv archivo1 nuevo_nombre

Comando rm (remover/eliminar) Para borrar archivos o directorios se usa el comando rm. 14

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

rm Uso: $rm opciones archivo1 archivo2... Opciones comunes -i Modo interactivo: pregunta cada paso

Parámetros Nombre de los archivos o directorios a borrar separados por UN espacio

-f Forzado, ignora advertencias -r Recursivo, borra directorios y subdirectorios

*IMPORTANTE: No hay manera de “desborrar” cuando se borra en la línea de comandos. ¡Si se es root se puede borrar todo el sistema operativo! Tenga cuidado.

Ejemplo: Eliminar todo un directorio y sus subdirectorios sin confirmación de seguridad: $rm -rf directorio_viejo/

Comando rmdir (eliminar directorio) Este comando elimina directorios vacíos. Es una mejor opción pues se asegura uno de no eliminar directorios que puedan contener información valiosa. rmdir Uso: $rmdir directorio1 directorio2 Opciones comunes No hay opciones comunes

Parámetros Nombre de los directorios vacíos a borrar separados por UN espacio

Ejemplo: Eliminar un directorio vacío: $rmdir directorio_vacio/

Comando find Este comando busca archivos dentro del directorio que se le diga y da de salida los que coincidan con cierto criterio. Es un comando muy poderoso pero no consistente en cuanto a la sintaxis. find Uso: $find directorio opciones de búsqueda Opciones comunes -type Busca archivos de cierto tipo únicamente. Posibles valores son -type f para archivos comunes y -type d para directorios

Parámetros Archivos o directorios separados por UN espacio

-name Establece el nombre del archivo o directorio que se busca -iname Igual que name pero sin considerar mayúsculas o minúsculas *IMPORTANTE: Se listan dos de las 50 opciones de este comando. Se recomienda ver más documentación al respecto.

Ejemplo: Buscar el archivo make en /usr: $find /usr -name make

Comando locate (localizar) El comando locate busca archivos o directorios dentro de una base de datos generada por el sistema. Es muy rápido pues busca sólo en la base de datos, no en el sistema de archivos en sí. La 15

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

base de datos se actualiza automáticamente, generalmente por la noche, o a través del comando updatedb (como root). locate Uso: $locate opciones nombre Opciones comunes -h Ayuda, despliega la lista de opciones

Parámetros nombre El nombre del archivo o directorio a buscar

--version Despliega la versión del comando

Ejemplo: Encontrar el archivo “kasteroids.xpm”: $locate kasteroids.xpm

Comando which Para encontrar la localización de un archivo ejecutable. Si el programa se encuentra en más de un lugar, sólo muestra el primero. which Uso: $which opciones programa Opciones comunes -a Mostrar todos los lugares donde se encuentre el programa, no sólo el primero

Ejemplo: Localizar el comando

Parámetros Nombre del programa a localizar

“ls”:

$which ls

Comando whereis Este comando encuentra la localización de programas, así como de sus manuales y las fuentes para compilarlo. whereis Uso: $whereis programa Opciones comunes No hay opciones comunes

Parámetros Nombre del programa a localizar

Ejemplo: Localizar el comando “ls”: $whereis ls

Comandos de manejo de textos El manejo de textos en la línea de comandos es muy útil en Linux, especialmente porque la mayoría de las configuraciones se encuentran en archivos de texto.

16

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Comando cat El comando más básico de manejo de textos. Este comando abre un archivo y lo muestra en la pantalla. Si el archivo es muy largo sólo mostrará la porción inferior del mismo. Si se listan varios archivos los “concatena”, esto es, los une uno tras otro. cat Uso: $cat opciones archivo1 archivo2... Opciones comunes -n Agrega un número de línea a cada línea de texto -s Elimina líneas en blanco duplicadas

Parámetros Nombre de los archivos a desplegar separados por UN espacio

Ejemplo: Abrir un archivo de texto: $cat archivo.txt

Comando less Muestra un archivo de texto de manera interactiva, permitiendo el navegar en él y realizar búsquedas. Es uno de los comandos más utilizados. less Uso: $less opciones archivo1 Opciones comunes -c Limpiar la pantalla antes de avanzar -m Mostrar información adicional -N Agregar números de línea -s Eliminar líneas en blanco duplicadas -S Recortar líneas al ancho de la pantalla

Parámetros Nombre del archivo a desplegar

Comando less - Opciones de Navegación Cuando less muestra un archivo en pantalla se puede navegar con las siguientes teclas: • • • • • •

Enter: avanzar una línea Espacio, f: avanzar una página Flecha arriba: retroceder una línea b: retroceder una página /: Buscar hacia enfrente. Introducir el término a buscar y less lo marcará en pantalla. ?: Buscar hacia atrás. Igual que “/” pero en reversa.

Ejemplo: Abrir un archivo de texto y navegar usando las teclas especiales: $less README

Comando head Nos despliega las primeras N líneas de un archivo de texto. Si N no se indica, muestra las primeras 10 líneas. Puede usarse como una “vista preliminar” de un archivo sin abrirlo completo. head Uso: $head opciones archivo1 archivo2... Opciones comunes -número Donde número es un entero. Muestra “número” de líneas en vez de 10.

Parámetros Nombre de los archivos a desplegar separados por UN espacio

17

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Ejemplo: Mostrar las primeras 3 líneas de dos archivos: $head -3 README INSTALL

Comando tail Igual que head pero despliega las últimas N líneas de un archivo de texto. Si N no se indica, muestra las últimas 10 líneas. Puede usarse para ver los últimos cambios de algunos archivos. tail Uso: $tail opciones archivo1 archivo2... Opciones comunes -número Donde número es un entero. Muestra “número” de líneas en vez de 10. -f Mantener el archivo abierto y mostrar las nuevas líneas de un archivo cambiante

Parámetros Nombre de los archivos a desplegar separados por UN espacio

Ejemplo: Mostrar las últimas 4 líneas de dos archivos: $tail -4 README INSTALL

Comando wc (contar palabras) Con este comando se puede saber el número de letras, palabras y líneas para un archivo. wc Uso: $wc opciones archivo1 archivo2...

Opciones comunes -w Sólo muestra el conteo de palabras -l Sólo muestra el conteo de líneas -c Sólo muestra el conteo de letras

Parámetros Nombre de los archivos a desplegar separados por UN espacio

Ejemplo: Ver el número de letras, palabras y líneas de dos archivos: $ wc README INSTALL

Comando grep Éste es uno de los comandos más importantes para el manejo de textos. Su función es el mostrar líneas de un archivo de texto que coincidan con ciertos patrones. Esto sirve para filtrar datos dentro de archivos largos, tales como bitácoras del sistema y otros. grep Uso: $grep opciones patrón archivo1 archivo2... Opciones comunes -v Mostrar las líneas que NO coincidan -c Contar de líneas que coincidan -i No diferenciar entre mayúsculas y minúsculas -l Sólo mostrar el nombre del archivo que coincida con el patrón -L Sólo mostrar el nombre del archivo que NO coincida con el patrón -w Sólo coincidir palabras completas

Parámetros Nombre de los archivos o directorios a buscar separados por UN espacio

18

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

grep -r Buscar recursivamente *IMPORTANTE: Se listan unas pocas de las 28 opciones de este comando. Se recomienda ver más documentación al respecto.

Ejemplo: Contar las líneas donde NO aparece la palabra “ftp” sin diferenciar entre mayúsculas y minúsculas dentro del archivo README: $grep -vcwi ftp README

Redireccionar comandos Dentro de la línea de comandos se puede enviar la salida de un comando a otro comando, y así realizar diferentes operaciones en secuencia. Para esto utilizamos el símbolo de la barra vertical “|”, llamada en inglés “pipe”, o sea, tubo. Esto es más fácil de ver con ejemplos. Ejemplos: Desplegar las primeras 50 líneas de un archivo, pero verlas de manera interactiva: $head -50 README | less

Desplegar las primeras 15 líneas de un archivo que contengan la palabra “ftp”, sin diferenciar entre mayúsculas y minúsculas: $grep -i ftp README | head -15

Hacer un conteo de palabras del ejemplo anterior: $grep -i ftp README | head -15 | wc -w

Redireccionar salida Linux nos presenta la salida de cada comando en la pantalla. Sin embargo, también se puede enviar la salida a un archivo si así se desea. Sólo se necesita agregar al final del comando lo siguiente: $comandos>archivo_de_salida

*IMPORTANTE: Busque un nombre de archivo inexistente o de lo contrario su información puede ser borrada. Ejemplo: Guardar en un archivo las primeras 15 líneas que contengan la palabra “ftp”: $grep -i ftp README | head -15>archivo

Editor Vim Vim es un flexible y poderoso editor de texto que se encuentra como editor predeterminado en casi todas las distribuciones GNU/Linux. Su nombre quiere decir Vi iMproved, o Vi mejorado, ya que es una versión mejorada de su antecesor Vi. Se puede decir que es la herramienta ideal de cualquier programador (aunque es de uso general) por las funciones que maneja, como el resaltado de sintaxis, la autocompletación, la identación automática y la versatilidad de su configuración que lo hacen muy personalizable, entre muchas otras cosas.

19

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Toda esta potencia y eficiencia tiene su precio, ya que necesitamos acostumbrarnos a su particular forma de trabajar. La forma en que está diseñado es para utilizar el máximo rendimiento en el menor tiempo posible. Si está acostumbrado a usar todos los dedos de sus manos, lleva las de ganar. Adicionalmente a la versión para línea de comandos, también existe la versión gráfica gVim, preparada para el entorno Gnome, y Kvim para KDE, así como también la versión para Windows. Vim es Software Libre y al mismo tiempo también es un software caritativo, ya que promueve la ayuda por medio de donaciones a niños pobres en Uganda. Funcionamiento Vim tiene varios modos de funcionar, los más importantes serían el modo normal y el modo edición. Al modo edición se accesa pulsando la letra i (insertar) y para usar el modo normal, sólo presione la tecla ESC. Entrando y saliendo de Vim • Para iniciar haremos lo siguiente desde la consola: $ vim • Para salir sin guardar los cambios: :q! • Para salir guardando cambios: :wq Moviendo el cursor Puede mover el cursor con las flechas, pero la forma original, y por lo mismo más rápida, es usando las teclas h, j, k y l, donde: • La tecla h mueve hacia la izquierda • La tecla j mueve hacia abajo • La tecla k mueve hacia arriba • La tecla l mueve hacia la derecha Editando texto Insertando nuevo texto • Para empezar a insertar texto sólo tiene que presionar la letra i (insert) y se ubicará en donde esté posicionado el cursor. • Si presiona la letra a (append), se ubicará a la derecha del cursor. Borrando • Para borrar, o “cortar”, un carácter sólo tiene que presionar la tecla x sobre la letra que desea borrar. • Para borrar una palabra, sólo posiciónese y teclee dw (delete word). Borrará la palabra incluyendo el espacio. Si utiliza de, no incluirá el espacio. • Para borrar una línea completa, teclee d$ y la línea desaparecerá a partir de donde coloque el cursor hasta el final. • Si lo que necesita es borrar una línea completa, sólo tiene que presionar dd. Si antepone un numero a dd, el número indica la cantidad de líneas que serán borradas. Por ejemplo, 2dd borrará 2 líneas completas a partir de donde se encuentre el cursor. Comando deshacer (undo) y rehacer (redo) • Para deshacer el último comando, presione u. • Si lo que quiere es arreglar una línea entera, presione U (mayúscula). • Presionando CTRL + r deshace lo deshecho (redo). Copiar y pegar (put) • Para copiar utilizamos la secuencia yy, lo que nos copiará una línea completa. • Para pegar utilizaremos la letra p. Un uso práctico para esta opción sería usar el comando d para “cortar” ya sea una palabra o una línea, y pegarla después con p, ya sea al lado

20

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

derecho del cursor para el caso de una palabra, o una linea abajo del cursor en el caso de una línea. Comando reemplazar (replace) • Para reemplazar un carácter basta con presionar la letra r seguida de la letra que la reemplazará. Comando cambiar (change) • Para reemplazar parte de o toda una palabra, presione cw y podrá modificar la palabra a partir de donde se encuentre el cursor. • Para reemplazar una línea, tiene que presionar c$. • Es importante que al terminar de usar este comando presionemos ESC para volver al modo normal, de lo contrario seguiremos en el modo edición. Localización de archivos y estatus • Para saber donde se encuentra posicionado dentro de una archivo, tiene que presionar CTRL + g, lo cual le mostrará en la parte de abajo la línea y la columna donde está ubicado, así como también el estatus del archivo. • Para posicionarse en una línea en particular, teclee el número de línea a la que se quiere mover seguido de SHIFT + G . • La sola combinación de teclas SHIFT + G le posiciona al final del archivo. Comando buscar (search) • Para buscar una frase, sólo tiene que presionar / seguido de la frase y presionar Enter. Empezará a hacer la búsqueda a partir de donde se encuentre el cursor en adelante. • Si lo que quiere es buscar una frase hacia atrás de donde está el cursor, presione ? seguido de la frase y presione Enter. Buscando la pareja (matching parenthesis) • El comando % es muy útil al buscar en construcciones anidadas. Por ejemplo, si está posicionado en un “ ( “, al presionar % se moverá al “ ) “ de cierre . También funciona con { } y [ ]. Sustituyendo texto • Para sustituir una palabra por otra al mismo tiempo, debemos usar :s/palabravieja /palabranueva. Esto sólo afectará a la primera ocurrencia. • Si queremos sustituir varias veces en una misma línea, tecleamos :s/palabravieja /palabranueva/g • Para sustituir en varias líneas tecleamos :#,#s/palabravieja/palabranueva/g donde # son los números de línea en los que afectaremos. • Si queremos hacer el cambio en todo el archivo, usaremos :%s/palabravieja/palabranueva/g. Si aquí queremos una confirmación por cada cambio, agregaremos una c al final :%s/palabravieja/palabranueva/gc Grabando archivos • Para guardar los cambios hechos a un archivo usaremos el comando :w seguido del nombre del archivo. Esto funciona como un “Guardar como...” • Si queremos grabar con el mismo nombre, sólo usaremos :w.

Comprimir y descomprimir 21

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Es muy común en Linux el manejar archivos comprimidos, ya sea al bajar programas en código fuente para compilar, para hacer respaldos o simplemente para transmitir archivos de tamaños más pequeños a través de Internet. Existen dos operaciones distintas pero complementarias: Archivar y comprimir. Archivar es el hecho de juntar varios archivos en uno solo. Comprimir es el reducir el tamaño de los archivos a archivar. Para comprimir se utilizan ciertos algoritmos matemáticos, de lo que derivan los diferentes formatos de archivos comprimidos: •

• •



Zip (archivos .zip): El formato más popular fuera de Linux. Originalmente llamado PKZIP por su creador Phil Katz. Este sistema de compresión y archivado comprime cada archivo por separado, lo que permite que se pueda descomprimir en partes. Por otro lado, no es tan eficiente en reducir el espacio como otros de los algoritmos. Compress (archivos .Z): Algoritmo original de compresión en UNIX. Poco usado actualmente debido a que utiliza el algoritmo propietario LZW (Lempel-Ziv-Welch). Gzip (archivos .gz): El nombre viene de GNU Zip. Gzip vino como un reemplazo de compress de UNIX, el cual fue sustituido por problemas de patente. Gzip sólo comprime, no archiva. Generalmente se usa en conjunto con un programa de archivo, como TAR (ver más abajo). bzip2 (archivos .bz2): Algoritmo libre de compresión que obtiene una 10-15% mejor compresión de archivos, aunque comparativamente puede ser más lento debido a que necesita más tiempo para comprimir mejor. Sin embargo, para los estándares actuales de velocidad del equipo de cómputo, la diferencia en velocidad no es significativa.

En Linux se sigue la convención de nombrar archivos comprimidos indicando lo que contienen y la versión de estos archivos, así como el formato de compresión. Por ejemplo, en el archivo tar “pspp0.3.0.tar.gz”, tenemos que “pspp” es el programa comprimido, que es la versión 0.3.0 de este programa y que es un archivo tar comprimido con el algoritmo Gzip. Comando tar En los antiguos días de UNIX, se utilizaban carretes de cinta magnética para hacer los respaldos. Este comando toma su nombre de esa operación: Tape ARchive. En GNU/Linux el comando tar archiva y comprime con los algoritmos compress, Gzip y bz2. Es un comando muy utilizado. tar Uso: descomprimir: $tar opcionesf archivo1 archivo2... comprimir:

$tar opcionesf nuevoarchivo.tar.extension directorio_a_comprimir/

Opciones comunes -c Crear nuevo archivo tar -t Lista los contenidos de un archivo tar -x Descomprime (extrae) un archivo tar -r Agrega archivos a un archivo tar existente -A Agrega un archivo tar al final de otro -v Modo explícito: provee información adicional -z Utilizar el algoritmo Gzip -j Utilizar el algoritmo bz2 -Z Utilizar el algoritmo compress -f Especifica el o los archivos tar

Parámetros Nombre de los archivos a abrir, listar contenidos o crear

*IMPORTANTE: En la mayoría de los comandos el orden de las opciones no importa, pero en tar la opción “f” debe ir al final, justo antes de especificar los archivos tar.

Ejemplo: Descomprimir un archivo con extensión .bz2: $tar -xjvf gftp-2.0.18.tar.bz2 22

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Comandos zip y unzip Dentro de Windows es muy común el formato PKZIP (archivos con extensión .zip). Para manejar estos archivos en Linux utilizamos los comandos complementarios zip y unzip. zip y unzip Uso: descomprimir: $unzip opciones archivo1 archivo2... modificadores comprimir: $zip opciones nuevoarchivo.zip directorio_a_comprimir/

Opciones comunes Descomprimir -l Lista los contenidos de un archivo zip Comprimir -r Comprimir directorios recursivamente Modificadores -d Especificar directorio dónde descomprimir

Parámetros Nombre de los archivos a abrir, listar contenidos o comprimir

Ejemplo: Descomprimir dentro de un nuevo directorio: $unzip nuevo.zip -d nuevodirectorio/

Procesos Dentro de Linux cada programa que se corre genera uno o más procesos. Los procesos son la unidad básica de trabajo dentro del sistema. Los procesos constan de: •



Estado: Un proceso puede tener los estados de: ➢ corriendo (R de running): El proceso está usando el CPU o espera en fila para usarlo ➢ esperando (W de waiting): El proceso espera ya sea un evento o que se desocupe un recurso de hardware ➢ detenido (S de stopped): El proceso ha recibido la señal de detenerse ➢ zombie (Z): Es un proceso muerto pero que sigue por alguna razón listado Identificador (PID, o process ID): Todos los procesos tienen asignado un número que les identifica. El número no implica importancia, es sólo un número individual.

Comando ps Este comando nos reporta los procesos que se encuentran corriendo (process status). Es un comando que cuenta con más de 80 opciones, pero sólo veremos unas cuantas. Uno de sus principales usos es el encontrar el identificador de proceso (PID) de un proceso en particular para detenerlo. Un listado de ps en su forma más básica cuenta con los siguientes datos: PID TTY 8495 pts/1 1317 pts/1

TIME CMD 00:00:00 bash 00:00:00 ps

de donde se puede ver que el comando bash tiene el PID número 8495. También existe un listado largo: USER interco interco interco interco

PID 7025 7214 7261 1576

%CPU 0.0 0.0 0.0 0.0

%MEM 0.1 0.1 0.1 0.1

VSZ 3836 3252 4184 2692

RSS 1332 844 1416 812

TTY ? ? ? pts/

STAT Ss Ss Ss R+

START 07:29 07:29 07:29 12:26

TIME 0:00 0:00 0:00 0:00

COMMAND /bin/sh /usr/X11R6/bin/kde /usr/bin/gpg-agent --sh --daemon ssh-agent /etc/X11/xinit/xinitrc ps -ux

donde se puede ver el usuario, el PID, datos de uso de recursos, status y otros datos. 23

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

ps Uso: $ps opciones [usuario] Opciones comunes -e Lista todos los procesos principales -U Seguido de un nombre de usuario lista los procesos de ese usuario ux (note que no usa “-”) Lista los procesos del usuario actual -fH Lista los procesos con sus subprocesos organizados con identación

Parámetros Para la opción -U especificar el nombre del usuario

Ejemplo: Listar todos los procesos propios: $ps ux

Comando kill Este comando se utiliza para enviar señales al proceso para detenerle o eliminarle. Para identificar unos procesos de otros utilizamos el comando ps para encontrar el PID, pues es la única manera de referirnos a ese proceso. kill Uso: $kill opciones PID Opciones comunes -l Listar todas las señales -1 Terminar el proceso -2 Interrumpir el proceso -9 Detener el proceso INMEDIATAMENTE -KILL Utilizar esta opción como último recurso si algún proceso es “duro de matar”

Parámetros El número de PID a detener

Ejemplo: Eliminar el proceso que tiene PID 9090: $kill -9 9090

Comando w Es un comando muy sencillo que nos dice los usuarios en el sistema y sus procesos actuales. w Uso: $w Opciones comunes No hay opciones comunes

Parámetros No usa parámetros

Ejemplo: $w

Comando top Éste es un comando activo que nos muestra los procesos que se están corriendo. Este comando no nos da una lista estática, sino que los datos se actualizan en la pantalla con una frecuencia determinada. Este proceso se termina presionando la tecla Q. 24

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

top Uso: $top opciones Opciones comunes -dN Refresca la pantalla cada N segundos

Parámetros No usa parámetros

Ejemplo: $top

Discos y particiones Por varias razones es conveniente tener a Linux instalado en varias particiones o incluso varios discos duros, con cada uno de ellos asignados a un directorio principal. Al proceso de asignación se le llama “montar”. Las especificaciones de estas particiones, sus tamaños y proporciones quedan fuera del alcance de este curso. Es importante notar la forma en que están designadas las unidades de disco en Linux para computadoras x86 (también llamadas PC o compatibles IBM): •

Dispositivos: Se mencionó que en Linux todos los dispositivos físicos se encuentran listados como archivos dentro de /dev. En una tarjeta madre de una x86 pueden haber hasta cuatro dispositivos IDE (tales como discos duros, CD-ROM o DVD): ➢ hda: Primer disco de la primer interfase IDE. Equivalente a C: en Windows. ➢ hdb: Segundo disco de la primer interfase IDE. Equivalente a D: en Windows. ➢ hdc: Primer disco de la segunda interfase IDE. Equivalente a E: en Windows. ➢ hdd: Segundo disco de la segunda interfase IDE. Equivalente a F: en Windows. ➢ sda, sdb, etc.: Discos USB.



Particiones: Cada uno de los dispositivos anteriores se puede particionar en hasta cuatro particiones primarias, o 4 primarias y una extendida, la cual se puede particionar a su vez hasta en 16 discos llamados lógicos. Para Linux las particiones se designan con un número, empezando desde 1: hda1, hdb3, hdc9, etc.

Los comandos que se presentan a continuación son para uso informativo solamente. El uso del comando cfdisk está restringido casi exclusivamente a la instalación de Linux. Comando df Este comando nos lista las particiones, sus asignaciones y el espacio ocupado y libre que tiene cada una de ellas. df Uso: $df opciones Opciones comunes Parámetros -a Mostrar todas las particiones, así como los No usa parámetros directorios virtuales (v. gr. /proc) -h Mostrar el espacio de los discos en múltiplos como KB, MG, GB, etc.

Ejemplo: $df -h

25

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Comando du Con du vemos el uso de disco de cada directorio. du Uso: $du opciones Archivo1, Archivo2... Opciones comunes -b Desplegar los tamaños en bytes en lugar de en bloques -h Mostrar el espacio en múltiplos como KB, MG, GB, etc. -s Desplegar sólo un sumario de lo contenido en el directorio

Parámetros Archivos o directorios a evaluar

Ejemplo: Ver el sumario del tamaño del directorio /etc:. $du -sh /etc

Comando cfdisk Este comando debe ejecutarse como usuario root para funcionar. Realizar modificaciones con este comando puede dejar a un sistema inestable en el mejor de los casos, y en el peor puede borrarle el disco duro. cfdisk Uso: # cfdisk [dispositivo]

Opciones comunes No tiene opciones comunes

Parámetros El dispositivo a particionar. Si es omitido use /hda.

Ejemplo: # cfdisk

Apagado del sistema Al instalar una distro para su uso personal, prácticamente todos los usuarios pueden apagar la computadora. Sin embargo, éste es un privilegio que puede ser omitido y que en servidores se encuentra restringido exclusivamente a root. Comando shutdown Este comando de root sirve para apagar un sistema. Puede programarse que se apague o reinicie hasta dentro de cierto tiempo, o inmediatamente. shutdown Uso: #shutdown opciones [+tiempo] [“mensaje”] Opciones comunes -r Reinicia la computadora -h Apaga la computadora -k Modo de ensayo, para simulacros de apagado

Parámetros +tiempo: En cuántos minutos apagar. Use now para apagar inmediatamente. mensaje: El mensaje a enviar a los usuarios que se encuentran en el sistema.

26

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Ejemplo: Reiniciar el sistema en 2 minutos: # shutdown -r +2 “Esto no es un simulacro”

Instalación de programas Existen varias maneras de instalar programas en Linux. Dependiendo del programa en cuestión y del método de instalación será el tipo de permisos que se requieran. Se pueden identificar varios tipos de métodos de instalación: Compilación de código fuente Este es el método esencial de instalación de paquetes en Linux, sin embargo es lento y puede ser dificultado por varios factores. En contraparte, un programa compilado desde código fuente idealmente debe ser más eficiente. Dependiendo del programa, será si puede realizarse la instalación por root o por un usuario. Instalación de archivos de manejadores de paquetes Debido a lo lento e ineficiente de la compilación, se han creado diferentes métodos de instalación a través de programas manejadores de paquetes. Estos manejadores “definen” algunas distros, pues son precisamente lo que las diferencia unas de otras. Los principales son: • dpkg: Manejador de paquetes utilizado en los sistemas basados en Debian. Muy eficiente y estable, instala el programa así como sus dependencias si hace falta. • rpm: Manejador de paquetes creado por Red Hat y muy ampliamente utilizado. Es rápido de usar y existen muchos programas disponibles en este formato, sin embargo en ocasiones puede ser complicado el buscar los paquetes dependientes. Instalación de archivos con programas de actualización Para evitar el problema de las dependencias, se han creado programas que buscan a través de Internet en servidores preestablecidos tanto el paquete a instalar como sus dependencias. Existen muchos programas de este tipo, diferenciando también unas distros de otras. Algunos son: • apt: Sistema utilizado en Debian para la instalación de paquetes, su descarga del Internet y la búsqueda y descarga de dependencias • urpmi: Este sistema se utiliza en Mandrake/Mandriva para la descarga e instalación de paquetes y sus dependencias • yum: La distro Yellowdog ha creado un sistema que puede ser instalado en otras distros y que permite la búsqueda e instalación de paquetes y dependencias. Ahora RedHat utiliza este sistema Instaladores binarios Algunos programas comerciales han creado archivos binarios ejecutables que permiten la instalación de paquetes con simplemente correrlos. Compilando código fuente Los programas en código fuente generalmente vienen en un archivo tar comprimido. Los pasos a seguir varían de un programa a otro, pero los pasos generales de instalación son: 1. Descomprimir el archivo TAR que contiene el código fuente. 2. Buscar los archivos README e INSTALL, y leerlos cuidadosamente. No exageramos. 3. Seguir las instrucciones de instalación del programa. Generalmente los programas en código fuente requieren que se realicen los siguientes pasos: Correr un archivo de autoconfiguración: $./configure

27

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Si no hay errores, correr el comando make sin parámetros: $ make

Dependiendo de los permisos requeridos por el programa, instalar ya sea como root o como usuario: # make install

*IMPORTANTE: Los pasos anteriores son una referencia general, los pasos precisos deben estar definidos dentro de los archivos README e INSTALL. Instalando un programa en RPM Una gran parte de las distros utilizan el sistema RPM para la instalación de programas. Esto es más fácil que compilar. Sin embargo, cada archivo RPM debe corresponder exactamente a la versión de la distro donde se instalará, además de que para instalar un RPM se requiere de ser root. El comando rpm tiene muchas opciones, sólo cubriremos algunas operaciones comunes. rpm Uso: #rpm opciones programa Opciones comunes -i Instalar -v Modo explícito -h Genera una barra de avance en modo texto -U Actualizar paquete. Instala sobre una versión anterior -qa Consultar la base de datos de rpm instalados -e Eliminar (desinstalar) un paquete

Parámetros Al instalar, el nombre del archivo .rpm. Al desinstalar (opción -e) solamente el nombre del programa, omitiendo su versión.

Operaciones comunes: Instalar o actualizar un programa: # rpm -Uvh archivo.rpm Buscar si está instalado un programa: $rpm -qa | grep -i programa Desinstalar: # rpm -e programa Instalando un programa en DEB Debian es una de las distribuciones más usadas, ya sea directamente o en sus derivaciones. El sistema de instalación de paquetes de Debian es dpkg, el cual es bastante fácil de utilizar. Sin embargo, en el caso de las distros basaras en Debian, es más común utilizar el administrador de actualizaciones apt-get. dpkg Uso: #dpkg opciones programa Opciones comunes -i Instalar -l listar paquetes instalados -r Remover paquetes -s Información sobre un paquete instalado

Parámetros Al instalar, el nombre del archivo .deb. Al desinstalar (opción -r) solamente el nombre del programa, omitiendo su versión.

28

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Operaciones comunes: Instalar o actualizar un programa: # dpkg -i paquete.deb Buscar si está instalado un programa: # dpkg -l | grep -i paquete Desinstalar: # dpkg -r paquete Instalando un programa con APT-GET Este administrador de actualizaciones puede tanto actualizar programas individuales, instalar programas y sus dependencias, o incluso bajarlos de Internet si se encuentra correctamente configurado. De hecho, puede actualizar una distribución de una versión a otra. Este sistema se encuentra disponible en Debian, Ubuntu, y derivaciones. Los repositorios se encuentran listados en /etc/apt/sources.list apt-get Uso: # apt-get opciones programa Opciones comunes install Instalar paquete y sus dependencias update Actualizar paquetes disponibles en el repositorio upgrade Actualizar paquetes remove Remover paquetes

Parámetros Sólo el nombre del paquete a instalar.

NOTA: Apt-get tiene muchas opciones más, recomendamos documentarse más respecto a este comando. Operaciones comunes: Instalar un programa con todas sus dependencias: # apt-get install programa Actualizar la lista de programas en el repositorio # apt-get update Actualizar todos los programas en el sistema # apt-get upgrade Remover un programa # apt-get remove programa

29

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Este libro fue elaborado con el apoyo voluntario de otros miembros de LinuxBaja (ver siguiente página), y fue creado con el propósito expreso de auxiliar en el aprendizaje de este sistema operativo. El contenido del mismo fue recopilado del Internet, libros y experiencias personales. La intención del mismo es auxiliar a la comprensión y el uso de Linux. Es liberado bajo la licencia Creative Commons By -> Non Commercial -> Share Alike, lo que quiere decir que lo puedes usar para aprender o hacer una obra derivada de éste, pero no lo puedes vender. La intención es que sirva para aprender Linux, pero que no lo tome alguien para venderlo como un producto separado, aunque no es problema si se utiliza en clases privadas mientras no lo vendas. En todos los casos debe permanecer bajo la misma licencia con que está siendo liberado, y se debe reconocer que fue originalmente elaborado en LinuxBaja.org.

Reconocimiento-NoComercial-CompartirIgual 2.5 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.

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

Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. • •

Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor Los derechos derivados de usos legítimos u otras limitaciones reconocidas por ley no se ven afectados por lo anterior. Última revisión: Abril 2006 Editado por Vladimir Hernández y Serena Ruíz

30

Comunidad de Usuarios de GNU/Linux y Software Libre en Baja California

Agradecimientos Agradecemos a los siguientes miembros de LinuxBaja.org por su apoyo en la elaboración de este libro (en orden alfabético de apellido): ● ● ● ●

Alejandro Agudo Vladimir Hernández Serena Ruíz Arturo Vázquez

[email protected] [email protected] [email protected] [email protected]

31

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF