Issuu on Google+


Linux: Comandos y conceptos

por Carlos Eduardo G´ omez Montoya Juli´ an Esteban Guti´ errez Posada


ii

LINUX: Comandos y conceptos No est´a permitida la reproducci´on total o parcial de esta obra, ni su tratamiento o transmisi´on por cualquier m´etodo sin autorizaci´on escrita de los autores. Car´ atula: Luis Eduardo Sep´ ulveda Rodr´ıguez Derechos reservados c 2000  ISBN: 958 - 33 - 1683 - 0 Este libro fue editado usando LATEX 2ε Impreso en Conceptos Gr´aficos Armenia, Quind´ıo - Colombia


Presentaci´ on Este libro le puede ayudar a todos aquellos usuarios con alguna experiencia en el manejo de sistemas operativos tipo DOS y Windows, a acercarse a un sistema operativo seguro y estable como Linux. Linux, dada su condici´on de software libre, cuenta cada d´ıa con m´as usuarios, preocupados por su desarrollo. Adem´as, importantes empresas como Sun Microsystems, Corel, Oracle, Borland, Sybase, entre otras, actualmente ofrecen aplicaciones importantes con el soporte respectivo, para su utilizaci´on en ambiente Linux. LINUX: Comandos y conceptos, puede ser considerado de nivel b´asico e intermedio, considerando desde los antecedentes de este sistema operativo, hasta su instalaci´on, pasando por comandos b´asicos y su entorno de programaci´on.

iii


iv

´ PRESENTACION


´Indice General Presentaci´ on

iii

1 ANTECEDENTES

1

1.1

HISTORIA . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.2

SOFTWARE LIBRE . . . . . . . . . . . . . . . . . . . . . . .

2

1.3

DISTRIBUCIONES DE LINUX . . . . . . . . . . . . . . . . .

3

´ AL LINUX 2 INTRODUCCION

7

2.1

CARACTER´ISTICAS . . . . . . . . . . . . . . . . . . . . . .

8

2.2

´ AMBIENTE GRAFICO DE LINUX . . . . . . . . . . . . . .

8

2.3

LOGIN Y PASSWORD . . . . . . . . . . . . . . . . . . . . . 10

2.4

RESTRICCIONES PARA EL LOGIN . . . . . . . . . . . . . 10

2.5

CAMBIO DE PASSWORD . . . . . . . . . . . . . . . . . . . 11

2.6

RESTRICCIONES DEL PASSWORD . . . . . . . . . . . . . 11

2.7

´ . . . . . . . . . . . . . . . . . . . . 12 INICIO DE UNA SESION

2.8

APAGAR EL COMPUTADOR . . . . . . . . . . . . . . . . . 12

2.9

TECLADO Y PANTALLA . . . . . . . . . . . . . . . . . . . . 12

´ DE ORDENES ´ 2.10 PETICION (PROMPT) . . . . . . . . . . . . 13 ´ 2.11 ENTRADA DE ORDENES . . . . . . . . . . . . . . . . . . . 14 v


´INDICE GENERAL

vi 3 ARCHIVOS Y DIRECTORIOS 3.1

3.2 3.3

15

ARCHIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.1.1

Elecci´on del nombre de archivo . . . . . . . . . . . . . 15

3.1.2

Tipos de archivos del sistema Linux . . . . . . . . . . . 16

DIRECTORIOS . . . . . . . . . . . . . . . . . . . . . . . . . . 17 ´ ESTRUCTURA JERARQUICA . . . . . . . . . . . . . . . . . 17 3.3.1

Nombres de caminos relativos . . . . . . . . . . . . . . 20

3.3.2

Especificaci´on del directorio actual . . . . . . . . . . . 20

3.3.3

Especificaci´on del directorio padre . . . . . . . . . . . . 20

3.3.4

Visualizaci´on del directorio actual . . . . . . . . . . . . 21

3.3.5

Uso del car´acter comod´ın * . . . . . . . . . . . . . . . 21

4 OPERACIONES SOBRE ARCHIVOS 23 ´ CAT . . . . . . . . . . . . 23 4.1 LA ORDEN MULTIPROPOSITO 4.2

INVALIDAR CARACTERES . . . . . . . . . . . . . . . . . . 24

4.3

LISTADO DE UN DIRECTORIO . . . . . . . . . . . . . . . . 25 4.3.1

Listado de archivos ocultos . . . . . . . . . . . . . . . . 25

4.3.2

Listado con marcas . . . . . . . . . . . . . . . . . . . . 26

4.3.3 4.4

Control del formato en pantalla . . . . . . . . . . . . . 26 ´ DE ARCHIVOS . . . . . . . . . . . . . . . 27 MANIPULACION

4.4.1

Mover y renombrar archivos . . . . . . . . . . . . . . . 28

4.4.2

Copiar archivos . . . . . . . . . . . . . . . . . . . . . . 30

4.4.3 4.5

Eliminaci´on de archivos . . . . . . . . . . . . . . . . . 31 ´ DE DIRECTORIOS . . . . . . . . . . . . . 31 MANIPULACION

4.5.1

Creaci´on de directorios . . . . . . . . . . . . . . . . . . 31

4.5.2

Eliminaci´on de un directorio . . . . . . . . . . . . . . . 32

4.5.3

Cambio del directorio actual . . . . . . . . . . . . . . . 32

4.5.4

Tama˜ no de un directorio . . . . . . . . . . . . . . . . . 33


´INDICE GENERAL

vii

5 DISQUETES Y DISCOS COMPACTOS

35

5.1

MONTAR Y DESMONTAR . . . . . . . . . . . . . . . . . . . 35 5.1.1

Disquetes . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.1.2

Discos compactos . . . . . . . . . . . . . . . . . . . . . 36

5.1.3

Otras particiones del disco duro . . . . . . . . . . . . . 36

5.2

HERRAMIENTAS MTOOLS . . . . . . . . . . . . . . . . . . 37

5.3

AUTOMATICA . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6 PERMISOS Y PRIVILEGIOS

41

6.1

LA ORDEN CHMOD . . . . . . . . . . . . . . . . . . . . . . 42

6.2

AUTORIZACIONES PERMANENTES . . . . . . . . . . . . . 43

6.3

USO DEL COMODIN (*) CON CHMOD . . . . . . . . . . . 45

6.4

COMANDO UMASK . . . . . . . . . . . . . . . . . . . . . . . 45

7 OTROS COMANDOS

47

7.1

ESTADO ACTUAL DE LOS DISCOS . . . . . . . . . . . . . 47 ´ 7.2 BUSQUEDA DE ARCHIVOS . . . . . . . . . . . . . . . . . . 48 7.3

PAGINADORES LESS . . . . . . . . . . . . . . . . . . . . . . 49 7.3.1

Desplazamiento . . . . . . . . . . . . . . . . . . . . . . 50

7.3.2

B´ usqueda . . . . . . . . . . . . . . . . . . . . . . . . . 50

7.4

EXTREMOS DE UN ARCHIVO . . . . . . . . . . . . . . . . 51 ´ DE ARCHIVOS . . . . . . . . . . . . . . . . . . 52 7.5 IMPRESION 7.5.1

Salida a impresora . . . . . . . . . . . . . . . . . . . . 53

7.5.2

Especificaci´on de la impresora . . . . . . . . . . . . . . 53

7.5.3

Spooloing de impresi´on . . . . . . . . . . . . . . . . . . 53

7.5.4

Cancelaci´on de los trabajos de impresi´on . . . . . . . . 53

7.5.5

Monitoreo del sistema de impresi´on . . . . . . . . . . . 54 ´ DE ARCHIVOS . . . . . . . . . . . . . . . . 55 7.6 COMPRESION 7.7

DIVIDIR UN ARCHIVO . . . . . . . . . . . . . . . . . . . . . 56


´INDICE GENERAL

viii 8 EL SHELL

59

8.1

´ . . . . . . . . . . . . . . . . . . 59 SHELL DE PRESENTACION

8.2

SCRIPTS ESPECIALES DEL USUARIO . . . . . . . . . . . 60

8.3

´ DEL ENTORNO . . . . . . . . . . . . 60 PERSONALIZACION

8.4

COMANDO ALIAS

8.5

´ DE ORDENES ´ AGRUPACION . . . . . . . . . . . . . . . . . 61

8.6

COMODINES . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.7

TECLAS ESPECIALES . . . . . . . . . . . . . . . . . . . . . 63

. . . . . . . . . . . . . . . . . . . . . . . 61

´ Y REDIRECCION ´ 9 CANALIZACION

65

9.1

´ ENTRADA Y SALIDA ESTANDAR . . . . . . . . . . . . . . 65

9.2

´ REDIRECCION . . . . . . . . . . . . . . . . . . . . . . . . . 67 9.2.1

Redirecci´on de la salida

. . . . . . . . . . . . . . . . . 67

9.2.2

Redirecci´on de la entrada . . . . . . . . . . . . . . . . 67

9.2.3

Redirecci´on de la entrada y la salida . . . . . . . . . . 68

9.3

´ . . . . . . . . . . . . . . . . . . . . . . . . . 68 CANALIZACION

9.4

´ ERROR ESTANDAR . . . . . . . . . . . . . . . . . . . . . . 69

9.5

´ DEL ERROR . . . . . . . . . . . . . . . . . 70 REDIRECCION

9.6

FORMATEADO DE IMPRESIONES . . . . . . . . . . . . . . 71

10 PROCESOS

73

10.1 IDENTIFICACION DE PROCESOS . . . . . . . . . . . . . . 73 10.2 CANCELAR PROCESOS . . . . . . . . . . . . . . . . . . . . 74 10.3 PRIMERO Y SEGUNDO PLANO . . . . . . . . . . . . . . . 74 10.4 DE BACKGROUND A FOREGROUND . . . . . . . . . . . . 76 ´ POR FECHAS . . . . . . . . . . . . . . . . . . 76 10.5 EJECUCION


´INDICE GENERAL

ix

11 EL EDITOR VI

79

11.1 MODO DE ENTRADA . . . . . . . . . . . . . . . . . . . . . 79 11.2 ORDENES SOBRE ARCHIVOS . . . . . . . . . . . . . . . . 81 11.3 MOVIMIENTO DEL CURSOR . . . . . . . . . . . . . . . . . 81 11.4 REEMPLAZAR Y BORRAR TEXTO . . . . . . . . . . . . . 82 11.5 CORTAR, COPIAR Y PEGAR . . . . . . . . . . . . . . . . . 82 11.6 DESHACER EL ULTIMO CAMBIO . . . . . . . . . . . . . . 83 11.7 BUSCAR TEXTO . . . . . . . . . . . . . . . . . . . . . . . . 85 11.8 BUSCAR Y REEMPLAZAR . . . . . . . . . . . . . . . . . . 86 12 VARIABLES DEL SHELL

89

12.1 VARIABLES COMUNES . . . . . . . . . . . . . . . . . . . . 89 12.1.1 Variables de uso m´as frecuente . . . . . . . . . . . . . . 90 ´ DE VALORES . . . . . . . . . . . . . . . . . . 91 12.2 OBTENCION ´ DE VARIABLES . . . . . . . . . . . . . . . . . 92 12.3 DEFINICION 12.4 VARIABLES DEL USUARIO . . . . . . . . . . . . . . . . . . 93 12.5 VARIABLES DEL ENTORNO . . . . . . . . . . . . . . . . . 94 13 PRINCIPIOS DE PROGRAMACION

95

13.1 LECTURA DE DATOS . . . . . . . . . . . . . . . . . . . . . 95 13.2 DECISIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 13.3 DECISIONES MULTIPLES . . . . . . . . . . . . . . . . . . . 96 13.4 CICLO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 13.4.1 Ciclo for . . . . . . . . . . . . . . . . . . . . . . . . . . 97 13.4.2 Ciclo while

. . . . . . . . . . . . . . . . . . . . . . . . 98

13.4.3 Ciclo until . . . . . . . . . . . . . . . . . . . . . . . . . 99 13.5 EVALUADOR DE EXPRESIONES . . . . . . . . . . . . . . . 99 ´ DE SCRIPTS . . . . . . . . . . . . . . . . 100 13.6 CONSTRUCCION 13.7 EJEMPLOS DE ALGUNOS SCRIPTS . . . . . . . . . . . . . 100


´INDICE GENERAL

x

13.7.1 Montar y desmontar el floppy . . . . . . . . . . . . . . 101 13.7.2 Montar y desmontar el CD-ROM . . . . . . . . . . . . 101 13.7.3 Listar las descripciones de instaladores . . . . . . . . . 102 13.7.4 Diferentes formas de listar los archivo . . . . . . . . . . 103 13.7.5 Compresi´on del directorio actual . . . . . . . . . . . . . 104 13.7.6 Descompresi´on de un archivo . . . . . . . . . . . . . . 104 14 TAREAS DEL ROOT 105 ´ DE USUARIOS . . . . . . . . . . . . . . 105 14.1 ADMINISTRACION 14.2 INSTALACION DE SOFTWARE . . . . . . . . . . . . . . . . 108 14.3 AGREGAR DISPOSITIVOS . . . . . . . . . . . . . . . . . . . 108 14.3.1 Impresoras . . . . . . . . . . . . . . . . . . . . . . . . . 109 14.3.2 ZIP-Drive . . . . . . . . . . . . . . . . . . . . . . . . . 109 14.3.3 SuperDisk 120 . . . . . . . . . . . . . . . . . . . . . . . 111 14.3.4 Tarjeta de televisi´on Xtreme 98 . . . . . . . . . . . . . 112 14.3.5 Tarjetas de sonido . . . . . . . . . . . . . . . . . . . . 112 15 INSTALACION DE LINUX

115

15.1 PARTICIONES DEL DISCO DURO . . . . . . . . . . . . . . 115 ´ DE SOFTWARE . . . . . . . . . . . . . . . . . 116 15.2 SELECCION 15.3 INSTALACION DE LA IMPRESORA . . . . . . . . . . . . . 117 15.4 ASIGNACION DEL ROOT . . . . . . . . . . . . . . . . . . . 117 15.5 INSTALACION DEL LILO . . . . . . . . . . . . . . . . . . . 117 ´ DEL XFree86 . . . . . . . . . . . . . . . 117 15.6 CONFIGURACION Bibliograf´ıa

119


´Indice de Figuras 1.1

Escritorio de Corel Linux . . . . . . . . . . . . . . . . . . . . .

3

1.2

Gimp en Corel Linux . . . . . . . . . . . . . . . . . . . . . . .

4

1.3

Corel Linux 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.1

Multitarea en Corel Linux . . . . . . . . . . . . . . . . . . . .

9

2.2

Icono de acceso a la consola . . . . . . . . . . . . . . . . . . .

9

2.3

Cambio de password . . . . . . . . . . . . . . . . . . . . . . . 11

2.4

Apagar el computador . . . . . . . . . . . . . . . . . . . . . . 12

2.5

Ejemplos de ls y clear . . . . . . . . . . . . . . . . . . . . . . . 13

2.6

Cambio del prompt de la consola . . . . . . . . . . . . . . . . 14

2.7

Ejemplo de argumentos de un comando . . . . . . . . . . . . . 14

3.1

Lista de directorios . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2

Lista de archivos y directorio actual . . . . . . . . . . . . . . . 21

3.3

Uso de comodines en ls y pwd . . . . . . . . . . . . . . . . . . 22

4.1

Ejemplos con la orden cat . . . . . . . . . . . . . . . . . . . . 24

4.2

Invalidando caracter especiales . . . . . . . . . . . . . . . . . . 25

4.3

Algunos ejemplos con ls . . . . . . . . . . . . . . . . . . . . . 28

4.4

Mover archivos . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.5

Copiar archivos . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.6

Eliminar archivos . . . . . . . . . . . . . . . . . . . . . . . . . 31 xi


´INDICE DE FIGURAS

xii 4.7

Creaci´on de un directorio . . . . . . . . . . . . . . . . . . . . . 32

4.8

Eliminaci´on de directorios y tama˜ no de su contenido . . . . . 33

5.1

Usando el CDROM . . . . . . . . . . . . . . . . . . . . . . . . 37

5.2

Confirurar particiones en el fstab . . . . . . . . . . . . . . . . 38

5.3

Comandos mtools . . . . . . . . . . . . . . . . . . . . . . . . . 38

5.4

Uso del floppy en Corel Linux . . . . . . . . . . . . . . . . . . 39

6.1

Uso de la orden chmod . . . . . . . . . . . . . . . . . . . . . . 44

6.2

Uso del comando umask . . . . . . . . . . . . . . . . . . . . . 46

7.1

Estado de los discos . . . . . . . . . . . . . . . . . . . . . . . . 47

7.2

Busqueda de archivos . . . . . . . . . . . . . . . . . . . . . . . 48

7.3

Orden less . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

7.4

Busqueda de una cadena en un archivo usando less . . . . . . 50

7.5

Ejemplo del comando cat . . . . . . . . . . . . . . . . . . . . . 51

7.6

La orden head . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.7

La orden tail

7.8

Impresi´on de archivos . . . . . . . . . . . . . . . . . . . . . . . 54

7.9

Estado de la cola de impresi´on . . . . . . . . . . . . . . . . . . 55

. . . . . . . . . . . . . . . . . . . . . . . . . . . 52

7.10 Comprimir y decomprimir archivos . . . . . . . . . . . . . . . 56 7.11 Dividir un archivo . . . . . . . . . . . . . . . . . . . . . . . . . 57 8.1

Archivos de arranque . . . . . . . . . . . . . . . . . . . . . . . 61

8.2

Comodines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

9.1

Ejemplo de canalizaci´on con more . . . . . . . . . . . . . . . . 66

9.2

Ejemplo de redirecci´on . . . . . . . . . . . . . . . . . . . . . . 68

9.3

Ejemplo del canalizaci´on con grep . . . . . . . . . . . . . . . . 70

9.4

Redirecci´on del error . . . . . . . . . . . . . . . . . . . . . . . 71

9.5

Ejemplo de la orden pr . . . . . . . . . . . . . . . . . . . . . . 72


´INDICE DE FIGURAS 9.6

xiii

Ejemplo de la orden pr con cabeceras . . . . . . . . . . . . . . 72

10.1 Cancelaci´on de un proceso . . . . . . . . . . . . . . . . . . . . 74 10.2 Comandos ps y bg . . . . . . . . . . . . . . . . . . . . . . . . 75 10.3 Programaci´on de la ejecuci´on de procesos . . . . . . . . . . . . 77 11.1 Edici´on usando vi . . . . . . . . . . . . . . . . . . . . . . . . . 80 11.2 Buscar y reemplazar en vi . . . . . . . . . . . . . . . . . . . . 87 12.1 Valores de algunas variables del shell . . . . . . . . . . . . . . 92 12.2 Variables definidas por el usuario . . . . . . . . . . . . . . . . 93 12.3 Variables del entorno del shell . . . . . . . . . . . . . . . . . . 94 13.1 Ejemplo de un programa usando ciclos . . . . . . . . . . . . . 97 13.2 Ejemplo de un programa usando case . . . . . . . . . . . . . . 104 14.1 Uso de la orden su . . . . . . . . . . . . . . . . . . . . . . . . 106 14.2 Adici´on de usuarios al sistema . . . . . . . . . . . . . . . . . . 107 14.3 Administraci´on de usuarios . . . . . . . . . . . . . . . . . . . . 107 14.4 Instalaci´on de software . . . . . . . . . . . . . . . . . . . . . . 109 14.5 Configuraci´on de la tarjeta de sonido . . . . . . . . . . . . . . 114


xiv

´INDICE DE FIGURAS


´Indice de Tablas 3.1

Directorios fundamentales . . . . . . . . . . . . . . . . . . . . 18

3.2

Subdirectorio home . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1

Resumen del comando ls . . . . . . . . . . . . . . . . . . . . . 27

6.1

Ejecuci´on de ls -l . . . . . . . . . . . . . . . . . . . . . . . . . 41

6.2

Explicaci´on de chmod 700 . . . . . . . . . . . . . . . . . . . . 44

6.3

Explicaci´on de chmod 752 . . . . . . . . . . . . . . . . . . . . 45

8.1

Teclas especiales

9.1

S´ımbolos de redirecci´on . . . . . . . . . . . . . . . . . . . . . . 67

. . . . . . . . . . . . . . . . . . . . . . . . . 63

10.1 Ejemplo del comando ps . . . . . . . . . . . . . . . . . . . . . 73 11.1 Ordenes b´asicas sobre el texto . . . . . . . . . . . . . . . . . . 81 11.2 Ordenes b´asicas sobre archivos . . . . . . . . . . . . . . . . . . 82 11.3 Movimiento del cursor . . . . . . . . . . . . . . . . . . . . . . 83 11.4 Ordenes reemplazar texto . . . . . . . . . . . . . . . . . . . . 84 11.5 Ordenes borrar texto . . . . . . . . . . . . . . . . . . . . . . . 84 11.6 Orden de copiar texto . . . . . . . . . . . . . . . . . . . . . . 85 11.7 Ordenes de pegar texto . . . . . . . . . . . . . . . . . . . . . . 85 12.1 Variables de Linux . . . . . . . . . . . . . . . . . . . . . . . . 90 xv


xvi

´INDICE DE TABLAS 14.1 Selecci´on del sintonizador de la Tarjeta de TV . . . . . . . . . 112 14.2 Selecci´on del tipo de Tarjeta de TV . . . . . . . . . . . . . . . 113 15.1 Tama˜ nos tipicos de las particiones . . . . . . . . . . . . . . . . 116


Cap´ıtulo 1 ANTECEDENTES 1.1

HISTORIA

A partir de un sistema operativo llamado Minix, creado por el profesor holand´es Andrew S. Tanenbaum, Linus Torvalds cre´o a comienzos de 1991 un sistema operativo para mejorar el Minix que utilizaba en su computador personal. En ese momento, Torvalds ten´ıa 21 a˜ nos y era estudiante de Ciencias de la Computaci´on en la Universidad de Helsinky (Finlandia), su tierra natal. En sus inicios, este sistema operativo era para uso personal. Sin embargo, finalizando el a˜ no 91, Torvalds lo ofreci´o gratis a trav´es de Internet a cualquier persona que quisiera bajarlo e invit´o a los programadores a sugerir mejoras que pudieran ser incluidas en la siguiente versi´on. Linux contaba con aproximadamente 100 usuarios al comienzo de 1992 y 1.000 usuarios al final de ese a˜ no, gracias a la colaboraci´on de programadores que trabajaron para favorecer su evoluci´on, sin perder la caracter´ıstica de software libre. Para 1993, el n´ umero de usuarios alcanz´o los 20.000 y las versiones comenzaron a actualizarse con una frecuencia nunca usada por las empresas comerciales de software. En 1994, Linux alcanz´o 100.000 usuarios y en 1995, lleg´o a los 500.000. Esta cifra se triplic´o para 1996 y lleg´o a poco menos de cuatro millones a finales 1


2

CAP´ITULO 1. ANTECEDENTES

de 1997. Para el a˜ no 1998, el n´ umero de usuarios fue de 7.5 millones. En 1999 hab´ıan m´as de 10’000.000 y hoy en dia supera los 20’000.000. Desde sus inicios, Linux ha sido muy robusto en la comunicaci´on entre computadores. Gracias a esto, hoy es utilizado en la mayor´ıa de los ISP (proveedores de servicios de Internet), y es considerado objeto de estudio en la gran mayor´ıa de universidades del mundo. Es importante hacer una distinci´on entre el n´ ucleo (kernel) de Linux, creado totalmente por Torvalds y un sistema Linux que se compone del kernel y muchos programas, algunos adaptados de diferentes sistemas; otros dise˜ nados originalmente para Linux y un tercer grupo de programas tomados de fundaciones de desarrollo de software como GNU. El desarrollo de Linux ha permitido que grandes compa˜ n´ıas como Corel (Figura 1.1 , IBM, Sun Microsystems, Oracle y otras, hayan comenzado a escribir software para este sistema operativo, con una reducci´on considerable de costos comparado con sus versiones comerciales para Windows.

1.2

SOFTWARE LIBRE

Existen diferentes formas de ver el software gratuito. Entre ellas se encuentran free software (open source), GPL, software de dominio p´ ublico, freeware y shareware. El free software es una tendencia al desarrollo de software sin limitaci´on de los derechos de autor y bajo precio. Adem´as, se puede ejecutar sin importar el prop´osito; se puede modificar; se debe entregar el c´odigo fuente debidamente documentado y se puede redistribuir. Es promovido por el proyecto GNU (GNU’s Not Unix) (Figura 1.2), creado por Richard Stallman en 1984. La licencia GPL (General Public License) es un software que se puede usar libremente y se puede modificar y distribuir, pero no se pueden hacer restricciones de ninguna clase para su distribuci´on. La licencia GPL, se cre´o para evitar que alguien se apropiara de los derechos de autor. Es promovido por la FSF (Free Software Foundation). El software de dominio p´ ublico puede ser copiado sin costo alguno, pero no se puede distribuir como si fuera software propietario. Prevalecen los derechos de autor de su creador original. El freeware es software gratuito que se puede bajar de Internet, pero que no se puede modificar.


1.3. DISTRIBUCIONES DE LINUX

3

Figura 1.1: Escritorio de Corel Linux

El shareware es un software que se puede bajar gratis de Internet, pero que puede ser utilizado durante un tiempo limitado. Pasado este tiempo, si el usuario lo quiere usar, debe pagar un peque˜ no costo.

1.3

DISTRIBUCIONES DE LINUX

Linux posee una licencia GPL, es decir, se puede modificar. Por esta raz´on, existen decenas de versiones de Linux creadas por cualquier usuario o empresa, las cuales incluyen diferentes programas de aplicaci´on. Estas versiones, junto con los paquetes que traen, son llamadas distribuciones. Entre las de mayor reconocimiento se encuentran Red Hat, Caldera, Slackware, Debian, Suse, Mandrake, Conectiva y Corel Linux (Figura 1.3). Estas distribuciones son similares en muchos aspectos, pero tienen diferencias


4

CAP´ITULO 1. ANTECEDENTES

Figura 1.2: Gimp en Corel Linux

que a veces obstaculizan la transparencia en el manejo (no todo se hace de la misma forma en todas las distribuciones). Sin embargo estas diferencias cada d´ıa son menores y en un futuro cercano se puede lograr una estandarizaci´on. En todo caso, los programas de aplicaci´on de una u otra distribuci´on son compatibles hoy en d´ıa.


1.3. DISTRIBUCIONES DE LINUX

Figura 1.3: Corel Linux 1.1

5


6

CAP´ITULO 1. ANTECEDENTES


Cap´ıtulo 2 ´ AL LINUX INTRODUCCION Todo computador es una herramienta de trabajo que puede considerarse u ´til, en la medida que pueda ejecutar programas de aplicaci´on para el desarrollo de diferentes tareas. Para explotar las posibilidades del hardware, el software de aplicaci´on requiere de alg´ un tipo de supervisor que pueda manejar los detalles de la gesti´on de los recursos del software, del acceso a los archivos y de la interacci´on con los usuarios. Estas funciones son las que desempe˜ na el sistema operativo. Existen diversos sistemas operativos, los cuales tienen m´as o menos la misma funci´on, concretamente, administrar los diferentes recursos de hardware y software de un computador de forma tal que los usuarios consigan que el trabajo se haga. El sistema operativo Linux, se compone de tres elementos b´asicos: el kernel, el file system y el shell. El kernel o n´ ucleo es la parte del sistema operativo que gestiona los recursos del computador, ocup´andose por ejemplo de los discos, impresoras, terminales, l´ıneas de comunicaci´on y cualquier otro dispositivo. El file system o sistema de archivos es la estructura para la organizaci´on de los datos. El sistema de archivos es m´as que un simple dep´osito de datos almacenados en memoria secundaria (discos duros, disquetes, discos compactos, etc.) y proporciona los medios para la organizaci´on y almacenamiento de la informaci´on. El shell es el int´erprete de ´ordenes. Aunque es un programa de utilidad que no forma parte propiamente del sistema, es la parte que ve el usuario 7


8

´ AL LINUX CAP´ITULO 2. INTRODUCCION

y traduce sus peticiones en acciones a realizar por el kernel y otros muchos programas de utilidad.

2.1

CARACTER´ISTICAS

El sistema operativo Linux es interactivo. Esto significa que el usuario escribe las ´ordenes y el sistema obedece y presenta las respuestas apropiadas. Es multitarea. Es decir, que el sistema puede realizar varias tareas, llamadas procesos, “al mismo tiempo”. El proceso que interact´ ua con el usuario se dice que est´a trabajando en foreground. Los dem´as procesos en ejecuci´on trabajan en background (Multitarea Figura 2.1), porque no realizan ninguna interacci´on con el usuario. Tambi´en es multiusuario. Esto significa que m´as de un usuario puede usar el sistema “al mismo tiempo”. Si usted ejecuta el sistema en un computador personal puede que sea el u ´nico usuario. Sin embargo, existe la posibilidad de tener m´as de un usuario trabajando en su m´aquina si ´esta est´a conectada a otros computadores, o a trav´es de pantallas virtuales.

2.2

´ AMBIENTE GRAFICO DE LINUX

Al igual que en otros sistemas operativos como Windows, Linux tambi´en tiene un entorno gr´afico muy potente donde el usuario interact´ ua con la m´aquina. Este sistema gr´afico se conoce como XFree86 o X-Windows. Vale la pena aclarar que XFree86 es solo el modo gr´afico, la apariencia depende de otra parte del sistema operativo conocida como Sistema de Ventanas (Ej: KDE, Gnome, Fvwm, etc.). Cada usuario puede tener la apariencia que m´as le agrade, por ejemplo, que se parezca al ambiente gr´afico del Macintosh, Windows, OS/2, etc. Es decir, si varios usuarios tienen acceso a la misma m´aquina, todos pueden tener una apariencia diferente de acuerdo al gusto de cada uno. A pesar que cada sistema de ventanas trae programas especiales, ´estos pueden ser ejecutados desde otro entorno. Corel Linux trae una gran variedad de programas de utilidad para los usuarios, como por ejemplo, Gimp (manipulador de fotos e imagenes), xmms (para reproducci´on de audio MP3), Juegos, Editores de


´ 2.2. AMBIENTE GRAFICO DE LINUX

9

Figura 2.1: Multitarea en Corel Linux

texto, Calculadora, Administraci´on de usuarios, Controlador de impresi´on, entre otros. A trav´es del entorno gr´afico se puede manejar completamente el sistema, sin embargo, no es indispensable. Esto quiere decir que todas las operaciones administrativas pueden realizarse desde el modo texto, desde una terminal remota o la consola. Este libro, tiene como objetivo el manejo del sistema a trav´es de la consola. Para activarla haga clic en el bot´on de la figura 2.2.

Figura 2.2: Icono de acceso a la consola


´ AL LINUX CAP´ITULO 2. INTRODUCCION

10

2.3

LOGIN Y PASSWORD

Debido a que Linux soporta un ambiente multiusuario, es necesario que toda persona que use el sistema tenga un nombre de usuario que pueda utilizar cuando intenta ingresar. Frecuentemente se le llama login. Es de anotar que el sistema no recibe dos login id´enticos. Uno de los usuarios del sistema se llamar´a superusuario. Esta persona tiene los deberes administrativos de crear cuentas y en general de encargarse del sistema. El superusuario tiene el login “root”. Adem´as del login, cada usuario tiene una clave de acceso (password). El password es un mecanismo para comprobar que el usuario que est´a intentando ingresar sea quien dice ser. El root es quien registra el login en el sistema y crea un directorio de trabajo para el nuevo usuario. A este proceso se le llama creaci´on de una cuenta. El root generalmente crea el login y asigna un password temporal para que el usuario cambie el password en privado con una cadena secreta que puede ser cambiada en cualquier momento. El login es el nombre lo identificar´a en el sistema. Una buena pr´actica es seleccionar un login que pueda ser f´acilmente asociado con su due˜ no, evitando nombres confusos o dif´ıciles de recordar.

2.4

RESTRICCIONES PARA EL LOGIN

• El login puede contener cualquier combinaci´on de letras min´ usculas y n´ umeros y debe comenzar con una letra. • No puede contener s´ımbolos ni espacios • Debe ser u ´nico para cada usuario. • El login deber´ıa de alguna manera ser asociado con su propietario.


2.5. CAMBIO DE PASSWORD

2.5

11

CAMBIO DE PASSWORD

Para cambiar su contrase˜ na, un usuario se ejecuta la orden passwd (Figura 2.3). Cuando se emite esta orden, el sistema se asegura que es el propietario de la cuenta solicitando la clave actual. Luego, se solicita la nueva contrase˜ na, la cual debe ser repetida para su confirmaci´on. El cambio de password requiere aceptaci´on por el sistema, pues no siempre recibe cualquier cadena de caracteres como contrase˜ na v´alida.

Figura 2.3: Cambio de password

2.6

RESTRICCIONES DEL PASSWORD

Debe ser m´ınimo de cinco caracteres y m´aximo de 8. Idealmente: • Debe contener dos letras y un n´ umero o car´acter especial. • No debe ser el mismo login invertido o desplazado. • Una nueva contrase˜ na debe ser diferente a la anterior por lo menos en tres caracteres. • Por seguridad, no debe usar palabras de f´acil pronunciaci´on como: dios, dinero, sexo, amor, etc. • Tampoco debe utilizarse informaci´on obvia como el nombre de un hijo, c´onyuge, fechas, c´edula, la placa del carro, etc.


12

2.7

´ AL LINUX CAP´ITULO 2. INTRODUCCION

´ INICIO DE UNA SESION

Al encender el equipo, despu´es de cargar algunos programas y hacer el diagn´ostico de rutina, aparecer´a en pantalla la presentaci´on de bienvenida de la distribuci´on. Luego se solicita el login y password de la persona que desea ingresar al sistema. Si se equivoca con el login o password, Linux responder´a que el login es incorrecto y lo solicitar´a de nuevo. Al intentar varias veces sin ´exito, el sistema puede ser desconectado si la conexi´on es remota.

2.8

APAGAR EL COMPUTADOR

Hay que tener cuidado con la forma de apagar un computador con Linux, pues el omitir o ignorar este procedimiento puede causar da˜ nos a la informaci´on del sistema. Si usted es el usuario root, deber´a ejecutar el comando shutdown -h now (Figura 2.4). Sin embargo si usted no es el root, deber´a presionar <Ctrl> <Alt> <Del> y esperar hasta que Linux realice toda la labor de finalizaci´on y se reinicie, momento en el cual debe proceder a apagarlo. El comando shutdown, est´a reservado u ´nicamente para el root, por razones de seguridad.

Figura 2.4: Apagar el computador

2.9

TECLADO Y PANTALLA

En Linux, las letras may´ usculas y las min´ usculas se consideran distintas. Es decir, file, FILE y File son diferentes.


´ ´ DE ORDENES 2.10. PETICION (PROMPT)

13

Se puede detener la ejecuci´on de una orden pulsando <Ctrl><C>. Linux detendr´a la ejecuci´on del proceso y volver´a a la petici´on de orden del sistema (prompt). Para borrar la pantalla use la orden clear (Figura 2.5).

Figura 2.5: Ejemplos de ls y clear

2.10

´ ´ DE ORDENES PETICION (PROMPT)

Por defecto es el s´ımbolo $ (para un usuario del sistema) y # (para el root). Este s´ımbolo indica que est´a esperando una orden. Esta petici´on puede ser cambiada a gusto del usuario. Para cambiar la forma de petici´on de orden, use PS1 =“ Linux:>”. El texto entre comillas es a gusto del usuario (Figura 2.6). Podr´a observar el cambio en la l´ınea de comandos. Este cambio permanecer´a hasta que se despida (cierre de la sesi´on) con el comando exit, el comando logout o presionando <Ctrl><D>. No hay que olvidar que es indispensable despedirse, para evitar que otro usuario utilice il´ıcitamente su identidad en el sistema.


14

´ AL LINUX CAP´ITULO 2. INTRODUCCION

Figura 2.6: Cambio del prompt de la consola

2.11

´ ENTRADA DE ORDENES

Existen ´ordenes que se pueden ejecutar solas (ej: clear ). Pero la mayor´ıa requiere de argumentos para describir o afinar la operaci´on (ej: ls carta). Otras permiten especificar opciones que influyen sobre la operaci´on de dicha orden. Las opciones se especifican utilizando un signo menos y una letra (ej: ls -F, Figura 2.7).

Figura 2.7: Ejemplo de argumentos de un comando


Cap´ıtulo 3 ARCHIVOS Y DIRECTORIOS Una de las partes m´as importantes de Linux es su estructura de archivos jer´arquica. El sistema de archivos es muy potente y flexible. En apariencia es muy similar al sistema operativo MS-DOS.

3.1

ARCHIVOS

Un archivo ordinario es la estructura b´asica utilizada para almacenar informaci´on en Linux. Conceptualmente, es similar a un documento de papel. T´ecnicamente un archivo es una secuencia de bytes que se almacena en alg´ un lugar de un dispositivo de memoria. Por ejemplo un disquete o un disco duro. Un archivo ordinario, puede contener informaci´on proveniente de diversas fuentes, desde textos hasta gr´aficos. De la misma forma que un documento tiene t´ıtulo, un archivo tiene un t´ıtulo denominado nombre de archivo. El nombre de archivo lo identifica. Para trabajar con un archivo, solo necesita recordar su nombre. Si no lo recuerda puede solicitarle al sistema una lista de ellos. (Figura 3.1)

3.1.1

Elecci´ on del nombre de archivo

Es f´acil tener muchos archivos, por lo tanto hay que ser ordenado con los nombres, ya que de otra manera puede que sea dif��ıcil encontrar cierta informaci´on posteriormente. 15


16

CAP´ITULO 3. ARCHIVOS Y DIRECTORIOS

Figura 3.1: Lista de directorios

El nombre de un archivo puede ser casi cualquier combinaci´on de caracteres, excepto algunos como el slash (/), asterisco (*) y otros s´ımbolos que tiene un significado especial dentro del sistema de archivos. Para que no tenga contratiempos, evite el uso de s´ımbolos en los nombres de archivo. No olvide que las may´ usculas y min´ usculas se consideran diferentes en el sistema Linux.

3.1.2

Tipos de archivos del sistema Linux

En Linux, existen cinco tipos b´asicos de archivos: Archivos ordinarios : Son los archivos que contienen la informaci´on o datos de usuario. Por ejemplo cartas, fotos, videos, programas, sonidos, etc. Archivos ejecutables : Son los archivos que contienen programas de aplicaci´on. Enlace simb´ olicos : Un enlace simb´olico es otro nombre para identificar un archivo espec´ıfico. Se usa cuando, por ejemplo, dos personas deben trabajar sobre el mismo archivo. Un enlace simb´olico ayudar´ıa a no


3.2. DIRECTORIOS

17

tener inconsistencias y ahorrar espacio. El archivo tendr´ıa dos nombres de manera que los usuarios crean que tienen copias distintas del mismo archivo. Cuando un usuario realiza cambios, ´estos se realizan sobre la versi´on com´ un. Directorios : Un directorio es archivo que contiene una lista de archivos y subdirectorios, lo mismo que informaci´on sobre localizaciones y atributos. Archivos especial es : Una caracter´ıstica heredada de sistema operativo Unix es que todo es tratado como un archivo. Los dispositivos no son la excepci´on. Existen otros archivos que no pueden ser clasificados en ninguna de las categor´ıas anteriores, por tener prop´ositos espec´ıficos dentro de Linux. Por ejemplo los archivos contenidos en el directorio /proc. En este directorio existen archivos de contenido din´amico, es decir, se crean en el momento de accederlos y por lo general mantienen un tama˜ no de cero bytes.

3.2

DIRECTORIOS

Como ya se dijo, un usuario puede tener un n´ umero considerable de archivos. Por lo tanto, debe existir un mecanismo que permita agrupar archivos que est´en relacionados. Este mecanismo se llama directorio. En los documentos de papel, se usan carpetas para este fin. En Linux, tambi´en se pueden crear subdirectorios (subcarpetas) para tener una mejor clasificaci´on de los documentos. Un buen ejemplo para esto es agrupar todos los textos de un usuario en un directorio llamado “Documentos” y dentro de ´este crear “Cartas”, “Memos”, “Trabajos”, etc.

3.3

´ ESTRUCTURA JERARQUICA

Linux tiene una estructura de archivos y directorios predeterminada al realizar la instalaci´on. Esta estructura puede alterarse a˜ nadiendo o eliminando


18

CAP´ITULO 3. ARCHIVOS Y DIRECTORIOS

nuevos archivos y directorios o moviendo los archivos de un directorio a otro, mientras el sistema lo permita. Los directorios fundamentales en Linux se pueden observar en la tabla 3.1.

DIRECTORIO

´ DESCRIPCION

/bin /sbin /etc /etc/skel /proc /boot /var /lib /usr /usr/man /usr/doc /opt /home /dev /root /lost+found /mnt

Archivos ejecutables de Linux Algunos ejecutables propios del sistema Archivos de configuraci´ on Archivos b´asicos de cada nuevo usuario Archivos de informaci´on del sistema Archivos necesarios para el arranque de Linux Usos varios. Por ejemplo log, spool, correo, etc. Librer´ıas del sistema Software instalado no comercial Directorio que contiene las ayudas del sistema Documentaci´on del software instalado Software instalado comercial Directorios de trabajo de los usuarios Contiene los archivos asociados a los dispositivos Directorio de trabajo del root Relaci´on de los archivos defectuosos del disco Directorios asociados a dispositivos de almacenamiento Tabla 3.1: Directorios fundamentales

Esto es solo una peque˜ na muestra del gigantesco ´arbol de directorios de Linux. Esta es una estructura de archivos en ´arbol, similar a la utilizada por el MSDOS. La ra´ız generalmente se ubica en la parte superior y se representa por el car´acter slash (/). El directorio en el cual puede trabajar el usuario se llama /home. Cada usuario tiene un u ´nico directorio de trabajo. En cada sesi´on el usuario


´ 3.3. ESTRUCTURA JERARQUICA

19

comienza en su directorio de trabajo y se puede mover hacia el interior, es decir, los subdirectorios hijos que dependen de su directorio de trabajo. La posibilidad de moverse por otras ramas del ´arbol de directorios depende de permisos o privilegios asignados por el root y otros usuarios. En Linux no es posible tener dos archivos con el mismo nombre dentro del mismo directorio, pero s´ı en directorios distintos. C´omo se diferencian dos archivos que tienen el mismo nombre? Se debe especificar su ruta de acceso.

/ home carlos julian cartas trabajo informe compras memos propuestas informe Tabla 3.2: Subdirectorio home En la la tabla 3.2, existen dos archivos llamados informe: • /home/julian/cartas/informe • /home/julian/propuestas/informe Estos nombres se denominan nombres de camino, porque se trata de del camino a seguir a lo largo del ´arbol de directorios para llegar al archivo. Por convenio, el sistema de archivos comienza en la ra´ız (/ ) y los nombres de los directorios y archivos se separan con el car´acter slash. Los nombre de caminos que van desde la ra´ız hasta un archivo se denominan nombres de caminos completos o absolutos.


20

CAP´ITULO 3. ARCHIVOS Y DIRECTORIOS

Los nombres de caminos completos no permiten ambig¨ uedad y a veces son un poco inc´omodos porque pueden existir hasta diez o a veces m´as niveles de directorios. En un nombre de camino completo, el primer slash corresponde a la ra´ız y los dem´as son separadores entre nombres de directorios. El u ´ltimo separa el nombre del archivo del nombre del directorio que lo contiene, o puede ser un nombre de directorio dependiendo del contexto.

3.3.1

Nombres de caminos relativos

No siempre hay que especificar los nombres de caminos completos para hacer referencia a los archivos. Como simplificaci´on conveniente, usted tambi´en puede especificar el camino de un archivo en forma relativa al directorio actu´ se denominan nombres de caminos relativos. Por ejemplo, si usted al. Estos se encuentra en el directorio de trabajo /home/julian, los dos archivos denominados informe tienen como nombres de camino relativos cartas/informe y propuestas/informe. Observe que cuando se trata de un nombre de camino relativo no comienza con el car´acter slash.

3.3.2

Especificaci´ on del directorio actual

Un punto (.) se usa para hacer referencia al directorio actual. El camino ./cartas/informe es el nombre de camino del archivo informe, en el directorio cartas que est´a en el directorio actual.

3.3.3

Especificaci´ on del directorio padre

Dos puntos seguidos (..) se utilizan para hacer referencia al directorio padre del directorio actual. El directorio padre es el siguiente directorio hacia arriba en el ´arbol de directorios. Para el directorio cartas del ejemplo, el directorio padre es julian. Para el directorio trabajo el padre es /home/julian/cartas. Puesto que el sistema de archivos es jer´arquico, todos los directorios tienen un directorio padre. Cada directorio, excepto el ra´ız es subdirectorio de otro directorio. Se puede hacer referencia al padre del padre, ../.., o al padre del padre del padre, ../../.., es decir, tres niveles encima del directorio actual.


´ 3.3. ESTRUCTURA JERARQUICA

3.3.4

21

Visualizaci´ on del directorio actual

Si se usa la orden pwd (print working directory), Linux muestra en pantalla el nombre del directorio actual con el nombre de camino completo, desde la ra´ız. (Figura 3.2)

Figura 3.2: Lista de archivos y directorio actual

3.3.5

Uso del car´ acter comod´ın *

El Linux tiene como car´acter comod´ın el asterisco (*). Este car´acter puede sustituir cualquier cadena de caracteres cuando hace referencia a un nombre de archivo. Por ejemplo, seccion*, puede cobijar seccion, seccion1, seccion2, seccion3, pero no send. El uso de este car´acter es similar al uso dado en MS-DOS, pero sin considerar el punto que separa el nombre de la extensi´on. En el ejemplo anterior, seccion.1 tambi´en estar´ıa cobijada por seccion*. Cuando tenga duda si al usar el car´acter comod´ın va a afectar a otros archivos, use la orden ls, as´ı: ls seccion*, otro ejemplo se encuentra en la figura 3.3. Hay que anotar que existen otros comodines, los cuales se estudiar´an posteriormente.


22

CAP´ITULO 3. ARCHIVOS Y DIRECTORIOS

Figura 3.3: Uso de comodines en ls y pwd


Cap´ıtulo 4 OPERACIONES SOBRE ARCHIVOS 4.1

´ LA ORDEN MULTIPROPOSITO CAT

nadirle texto, mostrar su La orden cat, permite crear un archivo de texto, a˜ contenido y duplicar archivos. Si escribe cat >memo y la tecla <Enter>, env´ıa todo lo que teclee al archivo memo. Se env´ıa una l´ınea cada vez que pulsa <Enter>. Puede corregir lo que ha tecleado en la l´ınea actual con <Backspace>. Si desea terminar la escritura del archivo, teclee <Ctrl><D>, que significa fin de archivo. Si el archivo no existe, lo crea; de otro modo, lo sobreescribe. Si desea a˜ nadir texto al archivo, escriba la orden cat >> memo. Esto recoge todo lo que escriba y lo a˜ nade al final del archivo. Note que para crear un archivo se usa una vez el s´ımbolo > y para a˜ nadir texto al final de uno existente se una este s´ımbolo dos veces. La instrucci´on cat memo, permite ver en pantalla el contenido del archivo memo, de forma similar a la instrucci´on type del MS-DOS. Para copiar el contenido de un archivo, puede usarse la instrucci´on cat de la siguiente forma: cat archivo > copia. Si el archivo copia no existe, Linux lo crea. Si existe, lo sobreescribe (lo borra y copia el nuevo contenido en ´el). 23


24

CAP´ITULO 4. OPERACIONES SOBRE ARCHIVOS

Puede a˜ nadir un archivo al final de otro con la orden cat, de la siguiente manera: cat datos >> informe. A la informaci´on contenida en el archivo informe, se le agregar´a al final, toda la informaci´on contenida en el archivo datos. Si no existe el archivo informe, Linux lo crear´a. Para ver otro ejemplo observe la figura 7.5.

Figura 4.1: Ejemplos con la orden cat

4.2

INVALIDAR CARACTERES

El shell utiliza s´ımbolos o caracteres especiales como >, <, |, & para darle instrucciones. Cuando se escribe una l´ınea de ´ordenes que contiene uno de los caracteres especiales del shell, se trata como una instrucci´on para que el shell haga algo. Esto es una forma compacta y eficiente de decirle al shell lo que tiene que hacer, pero tambi´en a veces conduce a problemas. En algunas ocasiones es necesario utilizar uno de estos s´ımbolos como car´acter normal y no como una instrucci´on del shell. Por ejemplo si el usuario desea crear una archivo que se llame <nombre>, no podr´a hacerlo con la instrucci´on cat ><Nombre>, pues el shell marcar´ıa error.


4.3. LISTADO DE UN DIRECTORIO

25

Para que el shell considere la creaci´on de dicho archivo hay que invalidar los caracteres de control, anteponiendo el car´acter backslash (\) asi: cat >\<nombre\>. (Figura 4.2)

Figura 4.2: Invalidando caracter especiales

4.3

LISTADO DE UN DIRECTORIO

La orden ls (list) permite visualizar el contenido del directorio actual. Observe que sin argumentos, la orden ls no especifica si los nombres corresponden a archivos o directorios. El comando ls cartas, permite ver el contenido del directorio cartas o un archivo con ese nombre.

4.3.1

Listado de archivos ocultos

En Linux existen archivos ocultos, los cuales comienzan con el car´acter punto. Estos no aparecen en pantalla cuando se usa la orden ls. La opci´on -a (all) permite ver los archivos ocultos del sistema dentro del directorio que se quiere


CAP´ITULO 4. OPERACIONES SOBRE ARCHIVOS

26

listar. Use la orden ls-a, para ver el contenido del directorio actual incluyendo los archivos ocultos. Entre los archivos ocultos se encuentra (.) y (..) haciendo referencia al directorio actual y al directorio padre respectivamente.

4.3.2

Listado con marcas

Cuando se usa la orden ls, no se sabe si los nombres de los archivos hacen referencia a archivos ordinarios, directorios o programas ejecutables. Si ejecuta la orden ls con la opci´on -F (file), se produce una lista donde se marcan los directorios con el car´acter slash al final (/ ), los ejecutables con asterisco (* ) y los archivos ordinarios sin marca.

4.3.3

Control del formato en pantalla

La opci´on -x permite visualizar los nombres de los archivos horizontalmente en orden de acuerdo al c´odigo ASCII. Si usa la opci´on -1 (uno), hace que se vea el nombre de un archivo por fila. La opci´on -t permite listar el contenido de un directorio ordenando los archivos por fecha de creaci´on o u ´ltima modificaci´on, en forma descendente. Si quiere invertir el orden, use la opci´on -tr. Si usa la opci´on -r, el listado sale en orden alfab´etico invertido. La opci´on -l (long format) permite visualizar el contenido de un directorio con formato largo, es decir, con toda la informaci´on correspondiente al archivo. Antes indica el n´ umero de bloques de espacio de disco utilizado. Cada l´ınea muestra siete campos. De derecha a izquierda, en su orden: • Nombre del archivo. • la fecha de creaci´on o u ´ltima modificaci´on. • Tama˜ no en bytes. • El grupo al que pertenece el usuario. • El usuario o propietario.


´ DE ARCHIVOS 4.4. MANIPULACION

27

• La cuenta de vinculaci´on. • El tipo de archivo y los permisos o autorizaciones. El primer car´acter del primer campo indica si es un archivo ordinario (-), un directorio (d ) u otra clase de archivo. Los otros nueve caracteres indican los permisos del propietario, el grupo al que pertenece y de otros usuarios sobre el archivo. Algunos campos utilizados en el formato largo hacen referencia a conceptos que ser´an tratados a medida que avanza el libro. Estos par´ametros del ls no son excluyentes, esto es, ellos se puede combinar para obtener resultados m´as precisos (Ver tabla 6.1 y figura 4.3).

´ ORDEN DESCRIPCION

ls ls ls ls ls ls ls ls

-a -F -1 -x -t -r -tr -l

Lista todos los archivos incluidos los ocultos Listado con marcas de diferenciaci´on El n´ umero uno significa una sola columna Ordena alfab´eticamente A-Z Ordena por fecha / hora Orden invertido Z-A Ordena por fecha / hora invertida Formato largo Tabla 4.1: Resumen del comando ls

4.4

´ DE ARCHIVOS MANIPULACION

Ahora nos dedicaremos a los procedimientos para copiar, mover, renombrar y borrar archivos.


28

CAP´ITULO 4. OPERACIONES SOBRE ARCHIVOS

Figura 4.3: Algunos ejemplos con ls

4.4.1

Mover y renombrar archivos

Es frecuente tener un archivo con un nombre que no es significativo y querer cambiarlo por otro nombre que ayude a identificar su contenido; o tener un archivo alojado en el directorio equivocado. La orden mv permite mover un archivo de un directorio a otro con el mismo nombre o con un nombre nuevo. Esta orden tambi´en permite renombrar un archivo (movi´endolo al mismo directorio pero con el otro nombre). Por ejemplo, la orden mv refran /home/juan/ textos2 mueve el archivo refran alojado en el directorio actual al directorio textos2 (esto es v´alido si usted tiene autorizaci´on para ello). Puede comprobar este procedimiento con la instrucci´on ls, de manera que se note la ausencia en el directorio actual y la presencia en el directorio textos2. Puede usar al comod´ın * con la instrucci´on mv. Por ejemplo mv * /home /manuel. Esta instrucci´on mueve todos los archivos del directorio actual al directorio manuel, si se tienen los permisos adecuados.


´ DE ARCHIVOS 4.4. MANIPULACION

29

Linux no tiene una instrucci´on para renombrar los archivos. Para ejecutar este proceso, debe usar la orden mv. Por ejemplo, mv refran frase. Asumiendo que frase no es el nombre de un directorio que est´e dentro del directorio actual, Linux lo toma como el nuevo nombre del archivo refran. Cuando se usa la orden mv, se debe tener cuidado de no tener en el directorio destino un archivo con el nombre que el archivo tendr´a, porque ´este se sobreescribir´a, perdi´endose el contenido del archivo destino. Linux proporciona la opci´on -i (interactive), la cual informa al usuario si un archivo est´a en peligro de sobreescribirse. Por ejemplo, mv -i totales datos. Esta orden intenta renombrar el archivo totales con el nombre datos dentro del directorio actual, o mover el archivo totales al directorio datos que est´a en el directorio actual, con el mismo nombre, previniendo que si esta orden afecta un archivo existente indique al usuario. Linux presenta en pantalla el texto mv: overwrite seguido por el nombre del archivo y un signo de interrogaci´on. Se confirma que se desea sobreescribir con la tecla y o se aborta la orden con cualquier otra tecla. Linux tambi´en trae la posibilidad de mover directorios con todos los archivos y directorios que tenga en su interior, de forma similar a como se mueve un archivo. Por ejemplo: mv cartas misdocumentos/privados. Puede verificar la operaci´on con la orden ls, (Figura 4.4).

Figura 4.4: Mover archivos


30

4.4.2

CAP´ITULO 4. OPERACIONES SOBRE ARCHIVOS

Copiar archivos

A veces es necesario realizar un duplicado de los archivos, por ejemplo, para hacer una copia de seguridad. La orden cp permite copiar archivos y sigue el mismo patr´on de funcionamiento de la orden mv, es decir, primero se escribe el nombre del archivo que se desea copiar y a continuaci´on el nombre del nuevo archivo el cual puede especificarse usando un camino absoluto o un camino relativo. Si el u ´ltimo nombre especificado en el nombre de camino es un nombre de directorio, es en ese directorio donde quedar´a almacenado el nuevo archivo y tomar´a el mismo nombre del archivo a duplicar. Si el u ´ltimo nombre especificado no corresponde a un directorio existente, quiere decir que ese ser´a el nombre del archivo y ser´a almacenado en el nombre de directorio que aparece de pen´ ultimo en el nombre de camino utilizado. Puede usar el car´acter * para copiar m´as de un archivo con una sola orden. Al igual que sucede con mv, si al copiar el archivo se pone en riesgo el contenido de un archivo existente dentro del directorio destino, se puede usar la opci´on -i, para que el usuario pueda confirmar o cancelar el proceso. Si se necesita copiar todo un directorio con su contenido, sean archivos o directorios, se usa la opci´on -r (recursive). Por ejemplo: cp -r temas/carlos proyectos. Verifique el resultado con ls, (Figura 4.5)

Figura 4.5: Copiar archivos


´ DE DIRECTORIOS 4.5. MANIPULACION

4.4.3

31

Eliminaci´ on de archivos

La orden rm (remove) se utiliza para eliminar archivos que no se necesitan. Escriba el nombre del archivo a eliminar a continuaci´on de la orden rm y verifique lo sucedido con la instrucci´on ls. Puede usar el car´acter * para eliminar varios archivos al mismo tiempo. Por ejemplo: rm fac*. Si desea, puede usar la opci´on -i, para confirmar antes de que se vaya a eliminar cada uno de los archivos. Por ejemplo, rm -i *. Si desea eliminar un directorio completo con su contenido, use la orden rm -r datos, (figura 4.6). Esta orden elimina el directorio datos que est´a alojado en el directorio actual y usa la opci´on -r, que indica que lo har´a recursivamente, es decir, elimina tambi´en los directorios y archivos que tenga.

Figura 4.6: Eliminar archivos

4.5

´ DE DIRECTORIOS MANIPULACION

Ahora nos dedicaremos a los procedimientos para cambiar de directorio actual, crear, eliminar y ver el tama˜ no de directorios.

4.5.1

Creaci´ on de directorios

Se crean directorios usando la orden mkdir (make directory). Puede especificarse un nombre de camino absoluto o relativo. Funciona en forma similar


32

CAP´ITULO 4. OPERACIONES SOBRE ARCHIVOS

al sistema operativo MS-DOS. Por ejemplo mkdir cartas crea un directorio llamado cartas dentro del directorio actual. mkdir /home/pablo/prueba crea un directorio llamado prueba dentro del directorio del usuario pablo, sin importar cu´al es el directorio actual, (figura 4.7).

Figura 4.7: Creaci´on de un directorio

4.5.2

Eliminaci´ on de un directorio

Se puede eliminar un directorio usando la orden rmdir (remove directory) y escribiendo a continuaci´on el nombre del directorio a eliminar, ya sea que se especifique con un nombre de camino absoluto o relativo. Esta orden permite la eliminaci´on de un directorio u ´nicamente si se encuentra vac´ıo, es decir, que no tenga ni archivos ni directorios. (Figura 4.8)

4.5.3

Cambio del directorio actual

Se puede mover entre directorios usando la orden cd (change directory), del mismo modo que lo hace en MS-DOS. Si lo prefiere, puede moverse directamente a un directorio en particular, especificando el nombre de camino completo. Tambi´en puede ir al directorio padre con cd .. o al directorio padre del padre con cd ../.. o al directorio ra´ız con cd /.


´ DE DIRECTORIOS 4.5. MANIPULACION

4.5.4

33

Tama˜ no de un directorio

En Linux es posible conocer el tama˜ no en Kbytes del directorio actual y sus subdirectorios, ejecutando el comando du. Tambi´en puede indicar como par´ametro el nombre de un directorio. Ej: du nombre, (Figura 4.8), y la salida ser´a el tama˜ no en Kbytes de ese directorio y sus subdirectorios.

Figura 4.8: Eliminaci´on de directorios y tama˜ no de su contenido


34

CAP´ITULO 4. OPERACIONES SOBRE ARCHIVOS


Cap´ıtulo 5 DISQUETES Y DISCOS COMPACTOS Linux ofrece tres maneras b´asicas para trabajar con disquetes. La tradicional de los sistemas Unix, una similar al entorno DOS y otra autom´atica. En Linux las unidades externas de almacenamiento no est´an asociadas a diferentes letras, est´an relacionadas con directorios. En otras palabras, todas operaci´on realizada sobre un directorio que est´a asociado a una unidad de almacenamiento secundario, en realidad se est´a haciendo sobre el disco que est´a dentro de esa unidad. La forma tradicional de los sistemas Unix, incluyendo Linux, requiere de un proceso normalmente conocido como montar (relacionar una unidad de disco con un directorio) y desmontar las unidades de disco.

5.1

MONTAR Y DESMONTAR

Una de las operaciones m´as importantes en Linux es el manejo de dispositivos de almacenamiento externo. Veamos.

5.1.1

Disquetes

Para montar disquetes, se debe ejecutar el comando mount /dev/fd0. A continuaci´on el usuario puede utilizar un disquete para guardar o para leer 35


36

CAP´ITULO 5. DISQUETES Y DISCOS COMPACTOS

informaci´on de ´el. Por ejemplo, ls /mnt/floppy. Se puede crear un archivo con la orden cat > /mnt/floppy/archivo, o visualizar el contenido de ese archivo con cat /mnt/floppy/archivo. Hay que tener en cuenta que fd0 en el comando mount puede variar de una distribuci´on a otra. Para asegurarse visualice el archivo /etc/fstab y verifique la forma como est´an asociadas las unidades de disco con sus respectivos directorios. Nunca retire un disquete de la unidad si no la ha desmontado correctamente. Para desmontar la unidad de disco, ejecute el comando umount /dev/fd0.

5.1.2

Discos compactos

Para montar CDs, se ejecuta el comando mount /dev/hdc, (Figura 5.1). A continuaci´on el usuario puede utilizar un disquete para guardar o para leer informaci´on de ´el. Por ejemplo, ls /mnt/cdrom. Se puede visualizar el contenido de un archivo con cat /mnt/floppy/archivo. Hay que tener en cuenta que hdc en el comando mount puede variar de una distribuci´on a otra o tambi´en depende de la forma como est´e conectada la unidad de CDROM en la tarjeta madre del PC. Para asegurarse visualice el archivo /etc/fstab y verifique la forma como est´an asociadas las unidades de disco con sus respectivos directorios. Un CD no puede ser retirado de la unidad si no la ha desmontado correctamente pues la unidad no abre, a diferencia de un disquete que opera de forma mec´anica. Para desmontar la unidad de disco, ejecute el comando umount /dev/hdc.

5.1.3

Otras particiones del disco duro

Para almacenar un archivo en la partici´on en la cual reside Windows, o para leer un archivo almacenado en esa partici´on, debe montarse esta unidad como si fuera un disquete o un disco compacto, con el comando mount /dev/hda1, y usarla con comandos como por ejemplo ls /mnt/win98. un la partici´on en la que est´e instalado No olvide que hda1 puede cambiar seg´ Windows. Para verificar este nombre, lea el archivo /etc/fstab, (Figura 5.2).


5.2. HERRAMIENTAS MTOOLS

37

Figura 5.1: Usando el CDROM

5.2

HERRAMIENTAS MTOOLS

Haciendo una analog´ıa con los comandos del antiguo sistema operativo MSDOS, Linux permite utilizar los mismos comandos anteponiendo la letra m a cada uno de ellos, gracias a las herramientas mtools. Entre ellas se encuentran, mdir (dir), mcd (cd), mformat (format), mmd (md), mrd (rd), mdel (del), mattrib (attrib), mren (ren), mcopy (copy), mtype (type), mdeltree (deltree). Ver el ejemplo de la figura 5.3. Con estos comandos, deben utilizarse los par´ametros en la forma tradicional que se har´ıa si se estuviera trabajando en DOS. Para poder conocer la distribuci´on de las letras y las unidades a las cuales tienen acceso, visualice el archivo /etc/mtools.conf. En este archivo est´an inhabilitadas todas las l´ıneas que inician con el s´ımbolo #, es decir, no se tienen en cuenta por considerarse comentarios.


38

CAP´ITULO 5. DISQUETES Y DISCOS COMPACTOS

Figura 5.2: Confirurar particiones en el fstab

El paquete mtools no siempre est´a disponible, porque no hace parte fundamental del sistema operativo, es decir, no siempre se instala.

Figura 5.3: Comandos mtools


5.3. AUTOMATICA

5.3

39

AUTOMATICA

Versiones de Linux m´as recientes no requieren que se monten los dispositivos de almacenamiento (disquetes o CDs) en la forma tradicional, sino que lo hacen de forma autom´atica, es decir, que el usuario simplemente usa comandos como ls /mnt/cdrom (para Linux Mandrake) o ls /mnt/amnt/cdrom (para Corel Linux), sin tener que montar. Obviamente, no es necesario desmontar, (Figura 5.4).

Figura 5.4: Uso del floppy en Corel Linux


40

CAP´ITULO 5. DISQUETES Y DISCOS COMPACTOS


Cap´ıtulo 6 PERMISOS Y PRIVILEGIOS En Linux existen tres clases de autorizaciones para archivos que se corresponden con las tres clases de usuario: el propietario (usuario), el grupo al que pertenece el propietario (grupo) y los otros usuarios del sistema (otros). Ejecute el comando ls -l, para observar los permisos y privilegios de los archivos (formato largo). Tabla 6.1 -rwxr-sr-x 1 root games -rwxr-xr-x 1 root games drwxr-xr-x 22 root root dr-xr-xr-x 2 root root

210544 Oct 27 1998 xgalaga 89436 Feb 17 1998 xgammon 7168 May 16 23:33 doc 1024 May 16 23:58 games

Tabla 6.1: Ejecuci´on de ls -l

El primer car´acter indica si es archivo ordinario (-), directorio (d) o un enlace simb´olico (l), entre otros. Las siguientes tres letras hacen referencia a las autorizaciones del usuario o propietario del archivo, las tres siguientes letras son las autorizaciones del grupo y las u ´ltimas tres son los permisos de otros usuarios. Un grupo es un conjunto de usuarios que est´an relacionados, raz´on por la cual el root ha registrado el grupo en el sistema. Por ejemplo el grupo de 41


42

CAP´ITULO 6. PERMISOS Y PRIVILEGIOS

contabilidad, conformado por todas las personas de esa dependencia. La mayor´ıa de los perif´ericos en Linux son grupos. Si un usuario por ejemplo desea imprimir, debe pertenecer al grupo de impresi´on (lpr), igual que para el disquete, cdrom, tarjeta de sonido, modem, etc. Si un archivo tiene la siguiente autorizaci´on -rwxr-xr-x significa: Es un archivo ordinario (por el car´acter -), el usuario puede leer (read), escribir (write) y ejecutar el archivo (execute). Los del grupo, pueden leer, no escribir y s´ı ejecutar el archivo (r-x) al igual que los otros. Son llamados otros, aquellos usuarios que no son ni el propietario, ni los miembros de su grupo). Si se tiene una autorizaci´on de lectura, puede visualizar su contenido. La autorizaci´on de escritura es para modificar o alterar el contenido del archivo; mientras que la u ´ltima autorizaci´on es de ejecuci´on del archivo como programa de aplicaci´on o de acceso al directorio. Con respecto a los directorios, la autorizaci´on de lectura permite listar el contenido del directorio. La autorizaci´on de escritura permite crear o eliminar archivos y directorios dentro de ese directorio. La autorizaci´on de ejecuci´on permite moverse hacia directorios internos en ese directorio con la orden cd y convertirlo en directorio actual. El formato de listado largo permite a los usuarios del grupo y los otros ver el contenido de un directorio pero no alterarlo.

6.1

LA ORDEN CHMOD

El sistema Linux permite fijar y modificar las autorizaciones o permisos, de acceso al contenido, de modificaci´on o de ejecuci´on. S´olo el propietario del archivo puede modificar las autorizaciones de cada uno de los archivos. Para alterar las autorizaciones de un archivo se usa la orden chmod (change mode). Con chmod se especifica en primer lugar el tipo de usuario al que se le van a cambiar las autorizaciones (u para usuario, g para grupo y o para otros). En segundo lugar se especifica si se desea adicionar o eliminar autorizaciones (+ para a˜ nadir o - para quitar). Luego se especifican las autorizaciones (r para lectura, w para escritura, x para ejecuci´on o acceder a directorios, X acceso a directorios unicamente). Finalmente se indica el archivo o archivos a los que se est´a haciendo referencia. Por ejemplo, chmod


6.2. AUTORIZACIONES PERMANENTES

43

go-rx memos elimina las autorizaciones de lectura y ejecuci´on al archivo memos para los del grupo y otros usuarios. Linux tambi´en permite asignar directamente permisos de forma autom´atica, sin importar el estado actual, con el car´acter =. Por ejemplo, chmod u=rw cartas, asigna al propietario los permisos de lectura y escritura sin ejecuci´on, sin tener en cuenta el estado anterior de permisos del archivo cartas. Tambi´en se pueden a˜ nadir autorizaciones, chmod ugo+rwx memos. Esta orden a˜ nade autorizaciones de lectura, escritura y ejecuci´on sobre el archivo memos para todos los usuarios sin excepci´on. Si en alg´ un momento los permisos se van a quitar, agregar o asignar a toda clase de usuarios (ugo), se puede reemplazar por a (all ). Ej: chmod a+rwx memos. Tenga en cuenta que no pueden existir espacios en blanco entre las letras y las opciones. Otra caracter´ıstica es que se pueden cambiar los permisos de todos los archivos almacenados en un directorio: chmod -R u+r cartas. Esta orden a˜ nade la autorizaci´on de leer u ´nicamente al propietario para todos los archivos pertenecientes al directorio cartas y dem´as subdirectorios (de manera recursiva -R), (Figura 6.1).

6.2

AUTORIZACIONES PERMANENTES

Es posible fijar las autorizaciones directamente usando un c´odigo num´erico para especificarlas. Este c´odigo representa la autorizaci´on mediante tres n´ umeros: uno para las autorizaciones del propietario, otro para las autorizaciones de los miembros del grupo y otro para los otros usuarios. Por ejemplo, chmod 700 memos (Tabla 6.2), fija autorizaciones de lectura, escritura y ejecuci´on u ´nicamente para el propietario y ninguna clase de permisos sobre este archivo para los miembros del grupo y otros, sobre el archivo memos. Para autorizaci´on de lectura se suma 4, para escritura 2 y para ejecuci´on 1. El primer d´ıgito corresponde al propietario, el segundo al grupo y el tercero a los otros.


44

CAP´ITULO 6. PERMISOS Y PRIVILEGIOS

Figura 6.1: Uso de la orden chmod

Usuario Grupo Lectura Escritura Ejecuci´on Suma

4 2 1 7

0 0 0 0

Otros 0 0 0 0

Tabla 6.2: Explicaci´on de chmod 700

La orden chmod 752 memos fija permisos de lectura, escritura y ejecuci´on al propietario; lectura y ejecuci´on al grupo y escritura a los otros. Ver tabla 6.3


6.3. USO DEL COMODIN (*) CON CHMOD Usuario Grupo Lectura Escritura Ejecuci´on Suma

4 2 1 7

4 0 1 5

45 Otros 0 2 0 2

Tabla 6.3: Explicaci´on de chmod 752

6.3

USO DEL COMODIN (*) CON CHMOD

Se pueden asignar o quitar permisos o autorizaciones usando el car´acter comod´ın (* ). Por ejemplo, chmod go-rwx *, elimina los permisos de lectura, escritura y ejecuci´on al grupo y otros, para todos los archivos del directorio actual. chmod 700 *, fija las autorizaciones de lectura, escritura y ejecuci´on, y ning´ un permiso al grupo y a los otros, para todos los archivos alojados en el directorio actual.

6.4

COMANDO UMASK

La orden chmod permite alterar las autorizaciones a archivos individuales o grupos de archivos. La orden umask permite hacer el mismo trabajo pero de forma autom´atica, cuando se crea un archivo o directorio. La orden umask fija las autorizaciones de todos los archivos que se crean despu´es de emitir la orden. En lugar de tratar con autorizaciones individuales, se determinan con una sola orden las autorizaciones de todos los archivos futuros. Se debe tener en cuenta que para fijar las autorizaciones con la orden umask, el valor especificado se debe restar de 777 que equivale a los permisos rwxrwxrwx. Por ejemplo: umask 022, obliga que todos los archivos creados despu´es de esta orden tengan las autorizaciones rwxr-xr-x (777 - 022 = 522 en


46

CAP´ITULO 6. PERMISOS Y PRIVILEGIOS

chmod ), es decir, que se asignen los permisos de lectura, escritura y ejecuci´on al propietario, y de lectura y ejecuci´on al grupo y otros, pero sin escritura. La orden umask 077 asigna los permisos como la orden chmod 700 o chmod go-rwx pero aplicado a todos los archivos creados posteriormente, no de forma individual y expl´ıcita como con la orden chmod. La orden umask opera en la sesi´on actual de trabajo. Para que sea usada de manera permanente, debe incluirse en un archivo especial de configuraci´on que ser´a analizado en otra oportunidad, (Figura 6.2).

Figura 6.2: Uso del comando umask


Cap´ıtulo 7 OTROS COMANDOS En Linux existen comandos adicionales para el desarrollo de actividades rutinarias sobre archivos, como por ejemplo, consulta del estado de los discos, buscar archivos, usar paginadores para archivos largos o imprimir archivos.

7.1

ESTADO ACTUAL DE LOS DISCOS

El comando df, reporta el estado de las particiones en uso en Linux o dispositivos de almacenamiento montados (cdrom, disquete, etc). Ejemplo: df (Figura 7.1). Este reporte indica por columnas, nombre la partici´on o dispositivo, tama˜ no, espacio utilizado, espacio disponible, porcentaje de utilizaci´on y punto de montaje (directorio asociado).

Figura 7.1: Estado de los discos 47


48

7.2

CAP´ITULO 7. OTROS COMANDOS

´ BUSQUEDA DE ARCHIVOS

Con la orden find se puede explorar cualquier parte del sistema de archivos buscando todos los que tengan un nombre en particular. Se puede usar la orden find para localizar un archivo que no se sabe d´onde qued´o situado. La orden find busca en uno o m´as directorios incluyendo los subdirectorios. Hay que decirle a find en qu´e directorio comenzar la b´ usqueda. La orden find . -name datos, busca todos los archivos que tengan nombre (-name) datos y est´en dentro del directorio actual (.) o sus subdirectorios. Puede usar el car´acter comod´ın (* ), ejemplo los archivos que terminen en data, es decir, *data, escrito entre comillas dobles “*data”. Por ejemplo, buscar todos los archivos que est´en en cualquier parte del sistema de archivos del Linux, cuyo nombre comience por cart: find / -name “cart*”, (Figura 7.2). En el disco, existen zonas de acceso restringido a los usuarios en las cuales un find no puede operar. En estos casos, se podr´a visualizar un mensaje de error.

Figura 7.2: Busqueda de archivos


7.3. PAGINADORES LESS

7.3

49

PAGINADORES LESS

La instrucci´on cat se puede usar para visualizar el contenido de un archivo. Si un archivo tiene m´as l´ıneas que la pantalla, esta orden hace que se despliegue r´apidamente el contenido del archivo sin una pausa adecuada que permita leer todas las l´ıneas. La soluci´on a este problema es usar un paginador. La orden less visualiza una pantalla de texto. Despu´es solicita una orden, como por ejemplo <↓> o <↑> para realizar desplazamientos hacia atr´as o hacia delante y </> para b´ usquedas, entre otras. Para salir basta con presionar la tecla (q min´ uscula), puede observar un ejemplo en la figura 7.3.

Figura 7.3: Orden less


CAP´ITULO 7. OTROS COMANDOS

50

7.3.1

Desplazamiento

La orden less texto visualiza una pantalla del archivo texto. Si teclea <Enter> se puede ver la l´ınea de ´ordenes (:) en la u ´ltima l´ınea de la pantalla. Si la tecla es la <Barra Espaciadora>, avanza una pantalla y queda en la l´ınea de ´ordenes. Con (b min´ uscula) se regresa a la pantalla anterior. Tambi´en se pueden usar las teclas <↑><↓> para desplazamiento entre l´ıneas.

7.3.2

B´ usqueda

Para hacer una b´ usqueda hacia adelante teclee / (slash) y a continuaci´on el texto. Si se desea hacerlo hacia atr´as utilice el s´ımbolo ? En lugar de slash, (Figura 7.4).

Figura 7.4: Busqueda de una cadena en un archivo usando less


7.4. EXTREMOS DE UN ARCHIVO

7.4

51

EXTREMOS DE UN ARCHIVO

Las ´ordenes cat y less se usan para visualizar un archivo completo.

Figura 7.5: Ejemplo del comando cat

Las ´ordenes head y tail est´an dise˜ nadas para ver el comienzo y el final de un archivo. La orden head datos muestra las primeras 10 l´ıneas del archivo datos. El comando tail comentarios muestra las u ´ltimas 10 l´ıneas del archivo comentarios. Si desea visualizar m´as o menos de 10 l´ıneas puede especificarlo usando cualquiera de las dos ´ordenes con el signo menos (-) y el n´ umero de l´ıneas al comienzo o al final del archivo. Por ejemplo, head -3 datos para ver las primeras tres l´ıneas del archivo datos (Figura 7.6) o tail -5 comentarios, para ver las u ´ltimas cinco l´ıneas del archivo comentarios (Figura 7.7).


52

CAP´ITULO 7. OTROS COMANDOS

Figura 7.6: La orden head

Figura 7.7: La orden tail

7.5

´ DE ARCHIVOS IMPRESION

Linux incluye tres ´ordenes para el manejo de impresi´on de archivos y documentos llamadas lpr, lpq y lprm.


´ DE ARCHIVOS 7.5. IMPRESION

7.5.1

53

Salida a impresora

La orden b´asica para imprimir un archivo es lpr (line printer). La orden lpr seccion imprime el archivo seccion en la impresora por defecto. Se pueden imprimir varios documentos con una sola orden, agrupados con el car´acter comod´ın (* ). Por ejemplo, para imprimir todos los archivos que empiezan con sec lpr sec*.

7.5.2

Especificaci´ on de la impresora

Si el sistema tiene disponibles m´as de una impresora, es posible que haya necesidad de imprimir en una impresora diferente a la predeterminada. La orden lpr -Plaser carta, env´ıa a la impresora laser el archivo carta. En este caso la opci´on -P indica que se va a imprimir en una impresora espeficada.

7.5.3

Spooloing de impresi´ on

Cuando se imprime un archivo en Linux no hay que esperar a que termine de imprimir para continuar con otro trabajo, ni esperara que haya finalizado un trabajo de impresi´on para enviar otro. La instrucci´on lpr realiza un spool a la entrada del sistema de impresi´on de Linux. Esto significa que al sistema de impresi´on se le informa qu´e archivo imprimir y c´omo imprimirlo, y ´el se encarga de hacer el trabajo. El trabajo se env´ıa y se realiza sobre un spool, pero no se imprime en el instante preciso en el que se ejecuta la orden lpr. La impresi´on se realiza cuando tenga su turno de acuerdo a la cola de impresi´on de la impresora especificada o predeterminada.

7.5.4

Cancelaci´ on de los trabajos de impresi´ on

Es frecuente tener que cancelar un trabajo de impresi´on que est´a en la cola, antes de imprimirlo, o el que actualmente se est´a imprimiendo. Se usa la orden lprm para cancelar toda la cola de impresi´on de la impresora por defecto, lprm -Pimpresora para una impresora especificada, o lprm job Num para cancelar un trabajo determinado, donde Num es el n´ umero del trabajo


54

CAP´ITULO 7. OTROS COMANDOS

de impresi´on. El n´ umero del trabajo de impresi´on aparece como respuesta a la orden lpq o lpq -Pimpresora, (Figura 7.8)

Figura 7.8: Impresi´on de archivos

7.5.5

Monitoreo del sistema de impresi´ on

Como los procesos de impresi´on no se ejecutan de forma inmediata, a veces se necesita una manera de comprobar el estado de los trabajos de impresi´on. La orden lpq -l o lpq informa las impresoras disponibles en el sistema y el n´ umero de trabajos planificados, (Figura 7.9). Tambi´en puede especificar la impresora con -P. Una de las aplicaciones importantes consiste en ver si un trabajo determinado se est´a imprimiendo o a´ un est´a en cola de impresi´on.


´ DE ARCHIVOS 7.6. COMPRESION

55

Figura 7.9: Estado de la cola de impresi´on

7.6

´ DE ARCHIVOS COMPRESION

Linux permite comprimir archivos con el fin que estos ocupen menos espacio. Esto es u ´til para almacenar informaci´on en disquetes o copias de seguridad en el mismo disco. Una de las formas de comprimir y la m´as usada es con el comando tar cvfz salida.tgz ., el cual comprime todos los archivos y sudirectorios del directorio actual (.) en un archivo de nombre salida.tgz. Las letras cvfz indican: • c, crear un archivo • v, mostrar la lista de archivos en proceso de compresi´on • f, que el archivo destino ser´a especificado • z, que se utilizar´a el formato gzip El formato gzip es un formato de compresi´on similar al zip. Hay que tener en cuenta que el punto (.) se refiere a todos los archivos del directorio actual incluyendo los archivos ocultos; si en su lugar usa asterisco (* ) no se tendr´an en cuenta los archivos ocultos.


CAP´ITULO 7. OTROS COMANDOS

56

Si desea comprimir un subconjunto de archivos o directorios reemplace el asterisco o punto por la lista de archivos separados por espacios, por ejemplo, tar cvfz datos.tgz cartas memos propuestas. Para descomprimir un archivo .tgz hay ejecutar la orden tar xvfz salida.tgz, donde la x indica extraer, (Figura 7.10). La descompresi´on se realizar´a almacenando los archivos en el directorio actual.

Figura 7.10: Comprimir y decomprimir archivos

7.7

DIVIDIR UN ARCHIVO

Es frecuente que un usuario necesite transportar un archivo de mayor tama˜ no que la capacidad de un disquete. Linux ofrece el comando split, el cual permite dividir un archivo en subarchivos m´as peque˜ nos que se puedan transportar. Ejemplo: split −−byte=1400k nombre prefijo , donde: • 1400k indica el tama˜ no de los subarchivos


7.7. DIVIDIR UN ARCHIVO

57

• nombre corresponde al archivo a dividir • prefijo es la parte com´ un en los nombre de los subarchivos de salida. Los archivos de salida (prefijo aa, prefijo ab, prefijo ac, etc). Una vez subdividido el archivo original, se procede a copiar en disquetes y transportarlo a lugar de destino, luego se copian en cualquier orden en un mismo directorio y procede a ejecutar la siguiente instrucci´on para realizar el ensamblaje de los subarchivos, cat prefijo aa prefijo ab prefijo ac >nombre. Aseg´ urese de escribir la lista de nombres de los subarchivos en el correcto (alfab´etico). A menudo los usuarios primero comprimen uno o varios archivos y luego lo dividen para poderlo transportar ver el ejemplo de la figura 7.11.

Figura 7.11: Dividir un archivo


58

CAP´ITULO 7. OTROS COMANDOS


Cap´ıtulo 8 EL SHELL El shell es un int´erprete de ´ordenes, un lenguaje de programaci´on y m´as. Como int´erprete de ´ordenes, el shell las lee y dispone lo necesario para que se ejecuten. Adem´as, puede usarse el lenguaje de ´ordenes del shell como un lenguaje de programaci´on de alto nivel para crear programas llamados scripts. El shell procesa las l´ıneas de ´ordenes para determinar las acciones que se deben llevar a cabo. Por ejemplo, sustituye los comodines con los nombres de archivo correspondientes antes de la ejecuci´on de una orden de la l´ınea de comandos. Tambi´en determina de d´onde procede la entrada de la orden y a d´onde va la salida. Luego, el shell ejecuta el programa indicado en la orden, con los argumentos adecuados, es decir, con las opciones y nombres de archivos.

8.1

´ SHELL DE PRESENTACION

Cuando un usuario se presenta al sistema, se inicia autom´aticamente un programa de shell. Este es el shell de presentaci´on. El shell de presentaci´on por omisi´on es el bash. Sin embargo existen otros. 59


CAP´ITULO 8. EL SHELL

60

8.2

SCRIPTS ESPECIALES DEL USUARIO

Cuando se inicia su shell, ´el busca un archivo llamado .bash profile o .bashrc en su directorio de usuario. Su .bash profile contiene ´ordenes que personalizan su entorno. El shell lee este archivo y ejecuta las instrucciones que contiene. El archivo .bash profile es un ejemplo simple de un script de shell que contiene ´ordenes o instrucciones para el shell, es decir, se compone de informaci´on que el shell y otros programas necesitan para personalizar su entorno. El archivo .bash logout es el script que se ejecuta cuando el usuario abandona la sesi´on.

8.3

´ DEL ENTORNO PERSONALIZACION

El usuario puede realizar algunas modificaciones al entorno de trabajo en Linux de forma autom´atica, para que sean tenidas en cuenta al iniciar una sesi´on de trabajo. Normalmente, cada usuario tiene un archivo .bash profile preparado por el administrador del sistema. Si quiere ver el archivo .bash profile, teclee cat .bash profile. Si el archivo existe, ser´a visualizado su contenido en pantalla. nadir algunas instrucciones al archivo La orden cat >>.bash profile permite a˜ .bash profile:

\# Asigna la peticion de una orden \# PS1=‘‘Carlos$>$ ’’

Al terminar de introducir las ´ordenes, debe teclearse <Ctrl><D>, para guardar el archivo y salir. A medida que avance en el manejo de Linux podr´a incluir m´as ´ordenes en el archivo .bash profile, (Figura 8.1).


8.4. COMANDO ALIAS

61

Figura 8.1: Archivos de arranque

8.4

COMANDO ALIAS

Un usuario puede personalizar algunas ´ordenes, por ejemplo: cada vez que teclee dir, el shell lo interprete como ls -l -a. Para lograrlo, ejecute alias dir=“ls -l -a”. Este alias permanece mientras la sesi´on est´e activa. Si quiere que sea permanente debe adicianarlo al .bash profile o al .bashrc.

8.5

´ ´ DE ORDENES AGRUPACION

Normalmente se escribe una u ´nica orden por l´ınea. A veces es necesario producir varias ´ordenes en la misma l´ınea separadas por el car´acter punto y coma (;). Por ejemplo, la siguiente orden dice al shell que ejecute primero la orden clear y despu´es date, como si se hubieran tecleado en forma independiente, clear ; date.


CAP´ITULO 8. EL SHELL

62

8.6

COMODINES

El shell proporciona una forma de abreviar los nombres de archivos mediante el uso de patrones especiales o comodines que se utilizan para especificar uno o m´as nombres de archivos sin tener que escribir los nombres completos. Se pueden usar comodines para especificar en una sola orden un grupo de archivos, o buscar un archivo cuando solo se conoce una parte de su nombre. Por ejemplo, para listar todos los archivos del directorio actual con la extensi´on jan, teclee ls *.jan. El shell proporciona tres comodines para nombres de archivos: *, ?, y [...]. El asterisco identifica a una cadena de cualquier n´ umero de caracteres, incluyendo cero caracteres. Por ejemplo, *data identifica cualquier nombre de archivo terminado en data, incluyendo data; note*, identifica cualquier nombre de archivo que inicie con note; y *per* indica cualquier nombre de archivo que contenga la cadena per. El signo de interrogaci´on identifica cualquier car´acter simple, por ejemplo, memo? identifica a cualquier nombre de archivo que inicie con memo, seguido de cualquier car´acter, siempre y cuando sea de de cinco caracteres. Por ejemplo, memo1, memo2, memos, memoa, etc. El archivo memo no est´a contenido en la lista representada por memo?, lo mismo que memo10. Los corchetes se utilizan para definir clases de caracteres cualquiera que pertenezcan al conjunto especificado o un rango. Por ejemplo, [Jj]mf identifica a Jmf y jmf ; temp[a-c] identifica a tempa, tempb y tempc, (Figura 8.2). El rango incluye todos los caracteres de la secuencia ASCII desde el primero hasta el u ´ltimo. El sistema operativo Linux tiene algunos archivos especiales que contienen informaci´on importante y normalmente no son visibles para el usuario. Estos archivos se consideran ocultos y comienzan por el car´acter punto (.). Cuando se usan los comodines, el asterisco indica cualquier cadena, sin considerar el car´acter punto de los archivos ocultos. Si se desea listar todos los archivos ocultos, debe teclearse ls .*, tambi´en se puede utilizar ls -a.


8.7. TECLAS ESPECIALES

63

Figura 8.2: Comodines

8.7

TECLAS ESPECIALES

El shell bash tiene una serie de teclas especiales para facilitarle el trabajo al usuario, ver la tabla 8.1.

TECLA(S)

´ DESCRIPCION

<↑><↓> <Shift><RePg> <Shift><AvPg> !comando <Tab> <Tab><Tab>

Moverse entre el historial de ´ordenes dadas Retrocede en los pantallazos desplegados Avanza en los pantallazos desplegados Ejecuta la ultima instrucci´on con este comando Completa el nombre si no hay ambig¨ uedad Lista las alternativas al haber ambig¨ uedad Tabla 8.1: Teclas especiales


64

CAP´ITULO 8. EL SHELL


Cap´ıtulo 9 ´ Y CANALIZACION ´ REDIRECCION Una orden, generalmente est´a compuesta por el nombre de la instrucci´on con opciones y/o argumentos. Cada l´ınea de ´ordenes termina con <Enter>, car´acter que le indica al shell que comience a procesar la orden. Los argumentos de la l´ınea de comandos y las opciones modifican lo que hace la orden y la forma como lo hacen. Los argumentos generalmente son el nombre de uno o m´as archivos. Las opciones, normalmente se escriben acompa˜ nadas de un signo + o un signo -. Es frecuente tener s´ımbolos y argumentos que son instrucciones para el shell. Por ejemplo, se usa > para redireccionar la salida de un archivo, y el s´ımbolo (pipe) | para canalizaci´on, es decir, para utilizar la salida de una orden como entrada a otra. Ver la figura 9.1.

9.1

´ ENTRADA Y SALIDA ESTANDAR

En Linux, la salida de una orden puede enviarse a la pantalla, almacenarse en un archivo o utilizarse como entrada de otra orden. De forma similar, en la mayor´ıa de las ocasiones, la entrada de las ´ordenes se hace desde el teclado, pero tambi´en las puede recibir desde un archivo o desde la salida de otra orden. 65


66

´ Y REDIRECCION ´ CAP´ITULO 9. CANALIZACION

Figura 9.1: Ejemplo de canalizaci´on con more

La entrada de una orden se recibe desde la entrada est´andar y la salida se hace a la salida est´andar. Una orden no necesita saber de d´onde viene la entrada o a d´onde va la salida. Es el shell el que establece estas conexiones con base en instrucciones de la l´ınea de ´ordenes. Una de las funciones m´as importantes del shell consiste en gestionar la entrada y salida est´andar de manera que el usuario solo necesita especificar de d´onde se obtiene su orden de entrada y a d´onde debe enviar la salida. Esto se realiza mediante el mecanismo de redirecci´on de entrada-salida. Un ejemplo de redirecci´on es: file * > temp, la cual ejecuta la orden file sobre todos los archivos del directorio actual, redirigiendo la salida al archivo temp. La orden file proporciona el tipo de informaci´on contenida en cada uno de los archivos sobre los que act´ ua. En este caso, la salida de la orden se almacena en el archivo temp en lugar de imprimirse sobre la pantalla. Un ejemplo de canalizaci´on es ls | lpr, donde se utiliza la salida de la orden ls (listado de los archivos del directorio actual) como entrada a la orden lpr, para que el listado salga en papel.


´ 9.2. REDIRECCION

67

Para conocer otros ejemplos de redirecci´on vea la tabla 9.1 SIMBOLO

EJEMPLO

< > >> |

cmd < file cmd > file cmd >> file cmd1 | cmd2

´ DESCRIPCION

Toma la entrada del archivo file Env´ıa la salida del cmd al file A˜ nade la salida del cmd al file Ejecuta cmd1 y env´ıa su salida al cmd2

Tabla 9.1: S´ımbolos de redirecci´on

9.2 9.2.1

´ REDIRECCION Redirecci´ on de la salida

Cuando se introduce una orden, puede utilizar los operadores de redirecci´on < (menor que), > (mayor que) y >> (doble mayor que) para decir al shell que redirija la entrada y salida. Por ejemplo, ls > temp hace que el shell env´ıe la salida de ls al archivo temp. Si ya existe un archivo con ese nombre en el directorio actual, resulta sobreescrito por la salida de la orden. Si no existe un archivo con ese nombre, el shell lo crea antes de ejecutar la orden, ver la figura 9.2.

9.2.2

Redirecci´ on de la entrada

De la misma forma que utiliza > para redireccionar la salida est´andar, se usa el s´ımbolo < para redireccionar la entrada est´andar. El s´ımbolo < dice al shell que utilice el archivo siguiente como entrada est´andar de una orden. Por ejemplo, cat < archi le dice al shell que ejecute cat con el archivo archi como entrada. Este tipo de ´ordenes no se usan mucho porque la mayor´ıa de las ´ordenes permite nombrar uno o m´as archivos de entrada como argumentos.


68

´ Y REDIRECCION ´ CAP´ITULO 9. CANALIZACION

Figura 9.2: Ejemplo de redirecci´on

9.2.3

Redirecci´ on de la entrada y la salida

Se pueden redireccionar la entrada y la salida simult´aneamente en una sola instrucci´on. Por ejemplo, sort < file1 > file2. Esta orden indica que la instrucci´on sort tome la entrada de file1 y la salida la ponga en el archivo file2. La orden sort ser´a tratada en un cap´ıtulo posterior.

9.3

´ CANALIZACION

La canalizaci´on es otra forma de redirecci´on de la salida proporcionada por el shell. El s´ımbolo (pipe) |, dice al shell que tome la salida est´andar de una orden y la utilice como entrada est´andar de otra orden. La posibilidad de utilizar canalizaci´on para unir ´ordenes individuales y ejecutar sentencias de operaciones es una de las caracter´ısticas m´as notables de Linux. Se dispone as´ı de una forma f´acil de encadenar ´ordenes simples a fin de componer una funci´on m´as compleja. Se pueden utilizar combinaciones de herramientas simples mediante canalizaci´on para toda clase de tareas. Por ejemplo, si se quiere saber si el usuario pedro est´a actualmente en el sistema. Una forma de averiguarlo, podr´ıa ser usando la orden who y leer en la pantalla una l´ınea en la que aparezca pedro.


´ 9.4. ERROR ESTANDAR

69

En un sistema grande, pueden estar muchos usuarios conectados al mismo tiempo, dificultando la b´ usqueda. Para facilitar la b´ usqueda, se puede redireccionar la salida de la orden who a un archivo temporal y luego se busca en el archivo si pedro aparece en una de las l´ıneas, escribiendo who > temp ; grep pedro temp. Si se desea el mismo objetivo puede hacerse sin usar el archivo temp, encausando la salida de who a la entrada de grep, as´ı: who | grep pedro. Si el usuario pedro est´a en el sistema, aparecer´a como respuesta una l´ınea, en la cual se indica el tipo de terminal en el que est´a ubicado y la fecha y hora de presentaci´on. La orden grep se usa para la b´ usqueda de una cadena dentro de un archivo de texto. Si se est´a escribiendo una orden muy larga que tenga canalizaci´on, puede escribirse en varios renglones, colocando al final de cada rengl´on intermedio el s´ımbolo |. El shell imprimir´a el valor por defecto de la petici´on de orden secundaria, PS2. El shell utiliza petici´on de orden secundaria para recordarle al usuario que su orden no se ha completado a´ un y que est´a esperando que la termine. Por ejemplo, ls | grep carlos | lpr, podr´ıa escribirse en varios renglones as´ı: ls | grep carlos | lpr El s´ımbolo > es el valor por defecto que tiene PS2, para indicar que la entrada no ha terminado. La diferencia entre redirecci´on y canalizaci´on es que la redirecci´on espera que a continuaci´on de > viene un nombre de archivo y despu´es del s´ımbolo | va una orden, (Figura 9.3).

9.4

´ ERROR ESTANDAR

Adem´as de la entrada est´andar y salida est´andar, existe un tercer miembro de la familia de I/O est´andar, la salida de diagn´ostico o error est´andar. El error est´andar es un segundo canal l´ogico que puede utilizar un programa para comunicarse con el usuario de forma independiente a la salida est´andar.


70

´ Y REDIRECCION ´ CAP´ITULO 9. CANALIZACION

Figura 9.3: Ejemplo del canalizaci´on con grep

Es usado normalmente para visualizar mensajes de error. Por ejemplo, la orden cat imprime en pantalla un error cuando se trata de leer un archivo que no existe. El error est´andar tambi´en se usa para visualizar ´ordenes, etiquetas de ayuda y comentarios. Si se trata de borrar un archivo para el que no se tiene permiso de escritura, el error est´andar visualiza un mensaje que le indica que el archivo est´a protegido. Normalmente se env´ıa a la pantalla, porque se usa con el prop´osito de que el usuario pueda enterarse de alg´ un problema relacionado con la orden que acaba de emitir.

9.5

´ DEL ERROR REDIRECCION

El error est´andar puede redirigirse a un archivo. Puede redireccionarlo usando el s´ımbolo > precedido del n´ umero 2. Por ejemplo, grep tarjeta archivo > patron 2> errores env´ıa la salida de la orden grep al archivo llamado patron


9.6. FORMATEADO DE IMPRESIONES

71

y cualquier mensaje de error al archivo llamado errores. El 2 tiene sentido de acuerdo a unos descriptores usados por Linux. Un descriptor de un archivo es un n´ umero que utiliza un programa para indicar que lee o escribe un archivo. Los programas utilizan 0 (cero) para hacer referencia a la entrada est´andar, 1 (uno) para hacer referencia a la salida est´andar y 2 (dos) para hacer referencia al error est´andar. La entrada est´andar por defecto es el teclado y la salida y el error est´andar por defecto usan con la pantalla, (Figura 9.4).

Figura 9.4: Redirecci´on del error

9.6

FORMATEADO DE IMPRESIONES

La orden pr a˜ nade una cabecera a cada una de las p´aginas de un archivo. La cabecera contiene el n´ umero de p´agina, la fecha, la hora y el nombre del archivo. Por ejemplo, pr nombres. Si se usa la orden pr con lpr, se puede a˜ nadir la cabecera a los archivos cuando se imprimen, por ejemplo, pr nombres | lpr.

Se puede personalizar la cabecera usando la opci´on -h. Por ejemplo, pr -h “LISTADO PERSONAL” cap3 | lpr indica que el archivo cap3, tendr´a el texto entre comillas como cabecera. Luego, este archivo ser´a enviado a la impresora. Se puede controlar el espacio entre l´ıneas o a˜ nadir n´ umeros de l´ınea en el archivo que se imprime. La orden pr -d -n carta | lpr indica que el archivo


72

´ Y REDIRECCION ´ CAP´ITULO 9. CANALIZACION

carta se va a imprimir a doble espacio (-d ) y con numeraci´on de filas (-n). La orden ls | pr -3 | lpr imprime la salida de la orden ls en tres columnas.

Figura 9.5: Ejemplo de la orden pr

Figura 9.6: Ejemplo de la orden pr con cabeceras


Cap´ıtulo 10 PROCESOS Se tomar´a como un proceso a toda orden o programa que est´e en ejecuci´on en Linux. Por ejemplo el shell, lpr, etc.

10.1

IDENTIFICACION DE PROCESOS

Es posible solicitar una lista de los procesos en ejecuci´on por parte del usuario ejecutando el comando ps. Obteniendo como resultado algo como lo observado en la tabla ?? PID

405 1602 1640

TTY

STAT TIME

1 SW p0 S p0 R

COMMAND

0:00 (getty) 0:00 /bin/bash 0:00 ps

Tabla 10.1: Ejemplo del comando ps

La primera columna indica la identificaci´on (ID) del proceso (P ), la segunda columna identifica la terminal en donde este proceso est´a corriendo, la tercera 73


74

CAP´ITULO 10. PROCESOS

el estado actual del proceso ( R = Run, S = Sleep, W = Wait). Las dos ultimas indican el tiempo de computador que el proceso lleva ejecut´andose y el comando en proceso.

10.2

CANCELAR PROCESOS

El usuario puede en cualquier momento cancelar uno o varios de los procesos en ejecuci´on, sin importar su estado actual, utilizando la orden kill. Para poder cancelar un proceso es necesario conocer su PID (identificaci´on de proceso), luego ejecutar kill -9 PID. El par´ametro -9 indica que cancele inmediatamente el proceso especificado, ver la figura 10.1. Si desea cancelar varios, basta con listar los PID uno a continuaci´on del otro.

Figura 10.1: Cancelaci´on de un proceso

10.3

PRIMERO Y SEGUNDO PLANO

El proceso que tiene interacci´on con el usuario se considera en primer plano (foreground). Este es el caso de la mayor´ıa de los procesos ejecutados por el


10.3. PRIMERO Y SEGUNDO PLANO

75

usuario. Dado que el usuario est´a ocupado con la interacci´on con el programa no puede enviar m´as comandos al shell. Si quisiera ahora enviar otro comando, tendr´ıa que cancelar el proceso <Ctrl><C> o suspenderlo <Ctrl><Z>. Hay que anotar que estas teclas pueden ser ignoradas por algunos programas. Una vez suspendido lo continua ejecutando en segundo plano (background) con la instrucci´on bg. Por otra parte, el usuario puede iniciar la ejecuci´on de un proceso en background directamente a˜ nadi´endole el s´ımbolo ampersand (&) al final de la orden de ejecuci´on. Por ejemplo ls / -R &. Este comando se ejecutar´a sin supervisi´on (interacci´on) con el usuario, hasta que ´el termine o sea cancelado. (Figura 10.2).

Figura 10.2: Comandos ps y bg


76

10.4

CAP´ITULO 10. PROCESOS

DE BACKGROUND A FOREGROUND

El usuario puede en cualquier momento pasar un proceso de background a foreground. Para ello debe primero listar los procesos en este estado con la instrucci´on jobs. Posteriormente utilizar el n´ umero del proceso como par´ametro de la instrucci´on fg Num.

10.5

´ POR FECHAS EJECUCION

Si necesita ejecutar una orden cierto d´ıa a determinada hora, debe utilizar el comando at fecha, donde la fecha puede dar casi de cualquier forma. Ejemplo at 10:01AM, posteriormente se digitan las ordenes a ejecutar y se presiona <Ctrl><D> para terminar. Otro ejemplo puede ser at now + 2 days. Es recomendable redireccionar la salida de estas ordenes a un archivo, el cual debe ser examinado posteriormente para verificar los resultados de la operaci´on. Si el usuario desea listar todos los procesos programados debe utilizar el comando atq. En este listado cada proceso tiene un n´ umero asociado, el cual le sirve como par´ametro del comando atrm, para ser cancelado. Por ejemplo atrm 7, (Figura 10.3).


´ POR FECHAS 10.5. EJECUCION

Figura 10.3: Programaci´on de la ejecuci´on de procesos

77


78

CAP´ITULO 10. PROCESOS


Cap´ıtulo 11 EL EDITOR VI Hasta ahora el usuario puede crear archivos de texto y a˜ nadir l´ıneas al final, pero no puede modificar el contenido de las l´ıneas que componen el texto. Este proceso se llama edici´on. Linux ofrece el editor visual (vi) para el tratamiento de textos, como el editor m´as com´ un en ambientes Unix y derivados, aunque existen otros editores como emacs, joe, pico, etc. usqueda y sustituci´on, El editor vi tiene un lenguaje propio, capacidades de b´ y otras funciones que lo hacen identificar como un buen editor de textos, a pesar de no ser amistoso para el usuario, (Figura 11.1), es decir, trabaja a trav´es de comandos y no presenta men´ us de ning´ un tipo. Entre las ventajas que tiene, se puede decir que es r´apido, confiable y no presenta cargas para el computador. Es importante anotar que este editor no es muy agradable de usar porque exige conocimiento absoluto de las instrucciones descritas en este cap´ıtulo. No es aconsejable escribir textos largos. Es m´as u ´til para la edici´on de textos ya escritos.

11.1

MODO DE ENTRADA

Cualquier usuario que haya manejado un editor, se familiarizar´a con vi rapidamente, aunque este no es un editor tradicional, donde funcionen todas las 79


80

CAP´ITULO 11. EL EDITOR VI

Figura 11.1: Edici´on usando vi

teclas como de costumbre en otros programas. Cuando el editor est´a en modo de entrada, los caracteres que se tecleen se introducen como texto en un sector de la memoria RAM llamado buffer. Cuando el editor est´a en modo de orden, los caracteres que se teclean son ´ordenes que controlan la pantalla o cambian el contenido del buffer. Al iniciar la sesi´on vi, el editor comienza en modo de orden, es decir, est´a a la espera de un comando. Para editar un archivo, teclee vi archi, que ordena a vi que copie el archivo archi en el buffer y mostrar´a la primera pantalla completa. Si el archivo no existe, vi lo crear´a y colocar´a el cursor listo para empezar a escribir el archivo. Si desea posicionar el cursor sobre la u ´ltima l´ınea del archivo que desea abrir, teclee vi + archi. Si desea ubicar el cursor en una l´ınea determinada, por ejemplo la l´ınea 21, teclee vi +21 archi. Si existen menos de 21 l´ıneas (o el n´ umero de l´ıneas especificado), el cursor se ubicar´a al final del archivo, despu´es de indicar que no existen tantas l´ıneas. Las ´ordenes al editor aparecer´an en la pantalla en la u ´ltima l´ınea. En esta l´ınea, vi presentar´a los mensajes de estado. La tecla <Esc> pasa del modo de entrada al modo de orden. Cuando est´a en modo de orden, se pasa al modo de entrada con cualquiera de las ´ordenes de la tabla 11.1. Todo lo que se teclea a partir de ese momento se introduce en el buffer de edici´on. Siempre que el usuario se encuentre en modo de entrada, el texto se


11.2. ORDENES SOBRE ARCHIVOS ORDEN

a i A I O o

81

´ DESCRIPCION

A˜ nadir despu´es de la posici´on del cursor Insertar despu´es de la posici´on del cursor A˜ nade al final de la l´ınea actual Inserta al comienzo de la l´ınea actual Abre una l´ınea por encima de la l´ınea actual Abre una l´ınea por debajo de la l´ınea actual

No requieren < Enter > al final. Tenga precauci´on si las letras son may´ usculas o min´ usculas Tabla 11.1: Ordenes b´asicas sobre el texto

mueve conforme se introduce texto nuevo. El texto nuevo que se teclea no se escribe sobre el antiguo.

11.2

ORDENES SOBRE ARCHIVOS

En el proceso de edici´on, se puede guardar el texto en el archivo especificado y seguir escribiendo, guardar el archivo y salir del editor o abandonar el archivo sin almacenar los cambios. Estas ´ordenes se pueden ejecutar despu´es de presionar la tecla <Esc>. Ver la tabla 11.2.

11.3

MOVIMIENTO DEL CURSOR

El editor vi tiene una forma muy particular de accionar ´ordenes tan rutinarias como el movimiento del cursor. Las instrucciones m´as importantes para el modo de orden son las observadas en la tabla 11.3.


CAP´ITULO 11. EL EDITOR VI

82

´ ORDEN DESCRIPCION

:w :x :q!

Guardar y seguir Guardar y salir Abandonar el editor

Al finalizar la orden, debe presionar < Enter >. Tabla 11.2: Ordenes b´asicas sobre archivos

11.4

REEMPLAZAR Y BORRAR TEXTO

Para la edici´on de texto (reemplazar texto y borrar), vi es igualmente muy particular. Las ´ordenes para reemplazar texto en la tabla 11.4. Las ´ordenes para borrar texto m´as importantes est´an en la tabla 11.5.

11.5

CORTAR, COPIAR Y PEGAR

Cuando se elimina alg´ un texto, vi coloca el texto borrado en un buffer especial llamado clipboard. Si se borra m´as texto, este buffer se sobreescribe, de manera que siempre contiene el texto m´as recientemente eliminado. Se puede usar este procedimiento para la orden com´ unmente llamada cortar. Para hacer el equivalente de la orden copiar, es decir, cargar el clipboard sin borrar el texto existente, cambie la orden d por la orden y. Observe la tabla 11.6 para obtener un resumen. Para pegar una copia del clipboard en la posici´on actual del cursor, puede usar en modo orden, p o P, dependiendo si se va a pegar a la derecha del cursor o a la izquierda, respectivamente. (Tabla 11.7).


11.6. DESHACER EL ULTIMO CAMBIO

83

´ TECLA DESCRIPCION

k J L H B w + -+ $ 1G G

Igual que ↑ Igual que ↓ Igual que → Igual que ← Comienzo de la palabra a la izquierda Comienzo de la palabra a la derecha Comienzo de la l´ınea anterior Comienzo de la l´ınea siguiente Comienzo de la l´ınea actual Final de la l´ınea actual Comienzo de la primera l´ınea Comienzo de la u ´ltima l´ınea

Si la orden es precedida por un n´ umero, ´este indica el n´ umero de veces seguidas que la orden se ejecutar´ a. No requiere < Enter > al finalizar. Tenga precauci´on si las letras son may´ usculas o min´ usculas Tabla 11.3: Movimiento del cursor

11.6

DESHACER EL ULTIMO CAMBIO

Existen varias formas de restaurar el texto despu´es de haber hecho un cambio. Deshacer opera en modo orden, es decir, primero debe presionar <Esc>. Para deshacer el cambio o el borrado m´as reciente, debe usarse u. Si utiliza U (may´ uscula) se recuperar´an todos los cambios de una l´ınea realizados desde la u ´ltima vez que se movi´o a dicha l´ınea. La orden U restaurar´a la l´ınea actual dej´andola como estaba antes de que emitiera cualquiera de las ´ordenes que la cambi´o. Si se realizan cambios que no se desean desactivar, el usuario se debe mover a otra l´ınea para que la orden U no funcione.


CAP´ITULO 11. EL EDITOR VI

84

ORDEN

c$ cw

´ DESCRIPCION

Permite cambiar hasta el final de la l´ınea Permite cambiar hasta el final de la palabra

Si la orden es precedida por un n´ umero, ´este indica el n´ umero de veces seguidas que la orden se ejecutar´ a. Debe terminar con < Esc >. Tabla 11.4: Ordenes reemplazar texto

ORDEN

dw dh dl d) dd

´ DESCRIPCION

Hasta el final de la palabra actual El car´acter a la izquierda El car´acter a la derecha Hasta el siguiente < Enter > El p´arrafo hasta el siguiente < Enter >

Si la orden es precedida por un n´ umero, ´este indica el n´ umero de veces seguidas que la orden se ejecutar´ a. No requieren < Enter > para confirmar. Tabla 11.5: Ordenes borrar texto


11.7. BUSCAR TEXTO

85

´ ORDEN DESCRIPCION

yw y) yy

Hasta el final de la palabra actual Hasta el siguiente < Enter > Todo el parrafo

Si la orden es precedida por un n´ umero, ´este indica el n´ umero de veces seguidas que la orden se ejecutar´ a. No requiere < Enter >. Tabla 11.6: Orden de copiar texto

ORDEN

p P p P

´ DESCRIPCION

A la derecha del cursor A la izquierda del cursor L´ınea siguiente a la del cursor L´ınea anterior a la del cursor

Si la orden es precedida por un n´ umero, ´este indica el n´ umero de veces seguidas que la orden se ejecutar´ a. No requiere < Enter >. Tenga precauci´on si las letras son may´ usculas o min´ usculas Tabla 11.7: Ordenes de pegar texto

11.7

BUSCAR TEXTO

Con vi se puede localizar una cadena que est´e en el texto en edici´on, ya sea hacia adelante o hacia atr´as. Use la orden /cadena< Enter >, por


86

CAP´ITULO 11. EL EDITOR VI

ejemplo, /marzo< Enter > para buscar hacia adelante la cadena marzo, o ?marzo< Enter > para buscarla pero hacia atr´as. Al utilizar el car´acter / o ?, en la u ´ltima l´ınea de la pantalla, es decir, en la l´ınea de estado se visualiza la orden de b´ usqueda que acaba de teclear y despu´es aparece el pantallazo donde est´a la siguiente ocurrencia de la cadena especificada. Si desea repetir la u ´ltima b´ usqueda, para tratar de localizar la siguiente ocurrencia de la cadena especificada en la direcci´on correspondiente, teclee / < Enter > o ?< Enter >. Es decir, la siguiente ocurrencia de la cadena especificada, en direcci´on hacia adelante o hacia atr´as respectivamente. Puede buscar una cadena especificada, pero que u ´nicamente est´e situada al comienzo de una l´ınea, anteponi´endole el car´acter ˆ al texto a buscar en la direcci´on deseada, o si se quiere buscar una determinada cadana de texto entre las que est´en finalizando una l´ınea, se adiciona el car´acter $ a la cadena a buscar. Por ejemplo, /ˆcadena, /cadena$, ? ˆcadena o ?cadena$.

11.8

BUSCAR Y REEMPLAZAR

El editor vi permite reemplazar todas las apariciones de una cadena especificada por una cadena nueva en todo el texto con la orden :%s/cadena/ cadenanueva/g. Estos reemplazos se hacen sin confirmaci´on. Si se desea que el editor haga confirmaci´on antes de reemplazar, se le adiciona a la orden c, es decir, :%s/cadena/cadenanueva/gc. Puede cambiar el signo % por un rango de l´ıneas, por ejemplo, 20,23, indicando que busque la cadena especificada en ese rango de l´ıneas. Por ejemplo, :20,23s/cadena/cadenanueva/ g, (Figura 11.2). Puede usar los comodines * y [...], pero no el ?, el cual tiene significado especial en las b´ usquedas. Si necesita saber en qu´e l´ınea del texto se encuentra, presione <Ctrl><G>.


11.8. BUSCAR Y REEMPLAZAR

Figura 11.2: Buscar y reemplazar en vi

87


88

CAP´ITULO 11. EL EDITOR VI


Cap´ıtulo 12 VARIABLES DEL SHELL Como ya hemos visto, el shell es un int´erprete de comandos, es decir, es un intermediario entre usted y el sistema operativo. Ahora vamos a ver c´omo utilizar el shell como lenguaje de programaci´on. Los programas creados para ser ejecutados por el shell son llamados scripts. Los scripts son una parte importante de Linux, pues ayudan a la automatizaci´on de tareas rutinarias o mon´otonas. Esta va a ser una primera aproximaci´on a la programaci´on de scripts, posteriormente se estudiar´an scripts m´as avanzados. El shell dispone de un mecanismo para definir variables que se puedan utilizar para contener informaci´on usada por los diferentes programas del sistema operativo o para uso propio por parte de los usuarios. Las variables del shell se pueden usar para personalizar la informaci´on relativa a nombres de directorios y de archivos que necesitan los programas y para personalizar la forma en que interact´ uan con el usuario.

12.1

VARIABLES COMUNES

Para poder listar las variables existentes en Linux, hay que ejecutar el comando echo, seguido de un signo de pesos ($) y presionar dos veces la tecla <Tab>. Ej: echo <Tab><Tab>. (Tabla 12.1) 89


CAP´ITULO 12. VARIABLES DEL SHELL

90

$BASH $HISTSIZE $MAILCHECK $BASH VERSINFO $HOME $OLDPWD $HOSTNAME $OPTERR $BASH VERSION $COLORTERM $HOSTTYPE $OPTIND $DIRSTACK $IFS $OSTYPE $DISPLAY $KDEDIR $PATH $EUID $LANG $PIPESTATUS $GROUPS $LINENO $PPID $HISTCMD $LS COLORS $PS1 $HISTFILE $LS OPTIONS $PS2 $HISTFILESIZE $MACHTYPE $PS4

$PWD $RANDOM $SECONDS $SHELL $SHELLOPTS $SHLVL $TERM $UID $USER $

Tabla 12.1: Variables de Linux

12.1.1

Variables de uso m´ as frecuente

HOME, la cual contiene el nombre de camino absoluto de su directorio de trabajo. HOME es definida autom´aticamente. Una entrada estandar ser´ıa: /home/user. PATH, contiene una lista de nombres de directorios separados por el caracter dos puntos (:). Esta lista indica los lugares en donde el shell debe buscar los programas ejecutables. Hay que anotar que si en esta lista no aparece el directorio actual (.), entonces el usuario deber´a anteponer los simbolos (./) al nombre de un ejecutable, que se encuentre en el directorio actual, sino lo hace, el shell le indicar´a que dicho ejecutable no existe. Un PATH por defecto es asignado por el sistema, pero puede ser modificado. Un ejemplo t´ıpico de PATH personalizado, para el usuario luis, es el siguiente: PATH=/bin:/home/luis/bin:/var/add/bin:., significa que cuando el usuario luis introduzca una orden, el shell buscar´a en primer lugar el programa en el directorio /bin, despu´es en el subdirectorio /home/luis/bin, a continuaci´on en /var/add/bin y finalmente en el directorio actual, representado por el simbolo (.). PS1 y PS2, son las variables que definen los signos de las peticiones de


´ DE VALORES 12.2. OBTENCION

91

orden primaria y secundaria, respectivamente. Sus valores por defecto son $ para PS1 y > para PS2. USER, contiene el login del usuario. Esta variable es fijada autom´aticamente por el sistema. SHELL, contiene el nombre de su programa shell. /bin/bash.

Normalmente ser´ıa

PWD, indica cual es el directorio actual. UID, contiene el n´ umero que identifica al usuario, 0, est´a reservado para el root.

12.2

´ DE VALORES OBTENCION

Adem´as de fijar valores, el usuario a veces necesita obtener el valor de una variable del shell. Por ejemplo, puede querer ver si su actual valor de PATH incluye un directorio particular, o querer utilizar el valor de una variable en otra orden. Para obtener el valor de una variable del shell, debe anteponer al nombre de la variable un signo $. Cuando el shell lee una orden, interpreta cualquier palabra que comience con $ como una variable y la sustituye con su valor. Para ver el valor de una variable, puede utilizar la orden echo. Esta orden imprime su entrada est´andar en la salida est´andar. Por ejemplo, echo $PATH (Ver figura 12.1). Se puede usar el valor de la variable HOME en las ´ordenes para evitar tener que teclear el nombre de camino completo. La siguiente orden mueve el archivo notas al directorio casos, en el directorio de trabajo del usuario: mv notas $HOME/casos. La orden set, se usa para ver todas las variables actuales del shell y sus valores. La orden ser´ıa set, sin ning´ un par´ametro.


92

CAP´ITULO 12. VARIABLES DEL SHELL

Figura 12.1: Valores de algunas variables del shell

12.3

´ DE VARIABLES DEFINICION

Aunque variables como HOME, PS1, PS2 y otras, son asignadas autom´aticamente por el sistema, a otras no les ocurre esto. El usuario debe fijarlas utilizando la capacidad de definici´on de variables del shell. Una variable se define escribiendo su nombre seguido por un signo = y su valor, pero su existencia queda limitada al shell actual, en otras palabras, es una variable local al script. Si desea que esta variable sea vista por todo el sistema (varible global), deber´a anteponer la instrucci´on export, para exportar la variable. Siempre que se va a personalizar una variable existente o nueva, no debe existir el car´acter espacio entre el nombre de la variable y el signo =, o entre el signo = y el valor de la variable. Puede contener varias palabras o contener espacios. En este caso, deber´a ir el valor entre comillas. Las variables comunes como HOME, PS1 y PS2 se definen normalmente en el archivo .bash profile o .bashrc, pero tambi´en se pueden definir directamente a trav´es del teclado. Si se redefine una variable desde el teclado en lugar de colocarlo en una nueva l´ınea del archivo .bash profile, el nuevo valor se mantiene u ´nicamente en la sesi´on de trabajo actual, pero volver´a a su


12.4. VARIABLES DEL USUARIO

93

antiguo valor, en la sesi´on siguiente. Para cambiarlo de forma permanente, deber´a incluirse dentro del archivo .bash profile.

12.4

VARIABLES DEL USUARIO

Las variables del shell son utilizadas fundamentalmente por los programas, tanto del sistema como los desarrollados por el usuario. Sin embargo, el usuario tambi´en puede definir nuevas variables del shell para su propio uso. Se trata de una forma conveniente de almacenar informaci´on utilizada con frecuencia l´ıneas de ´ordenes. Por ejemplo, si mueve con frecuencia archivos a un directorio particular, puede definir una variable con el nombre del directorio. Suponga que el directorio esta ubicado en /home/luis/trabajo/nuevo/urgente. Para ganar tiempo al teclearlo (por su longitud), se puede asignar a una variable, por ejemplo, PROYEC=“/home/luis/trabajo/nuevo/urgente”. Puede usar esta variable en la l´ınea de comandos, usando la orden: mv archivo $PROYEC. Otro ejemplo, puede observarse en la figura 12.2.

Figura 12.2: Variables definidas por el usuario


94

12.5

CAP´ITULO 12. VARIABLES DEL SHELL

VARIABLES DEL ENTORNO

Cuando se ejecuta una orden, el shell pone a disposici´on del programa un conjunto de variables del shell y sus valores. El programa puede entonces utilizar esta informaci´on para personalizar sus acciones. La colecci´on de variables y valores de un programa se denomina el entorno. Su entorno incluye las variables fijadas por el sistema, tales como HOME, PS1, LOGNAME y PATH. El entorno se puede visualizar usando la orden env. La informaci´on que aparecen en pantalla es el conjunto de variables y valores que est´an exportadas al entorno del usuario (Ver figura 12.3).

Figura 12.3: Variables del entorno del shell


Cap´ıtulo 13 PRINCIPIOS DE PROGRAMACION 13.1

LECTURA DE DATOS

Cuando en un script se necesita solicitarle al usuario un dato, se emplea la instrucci´on read, de la siguiente manera. Ejemplo: read -p "Ingrese el nombre: " nombre El shell al ejecutar esta instrucci´on, desplegar´a el mensaje que esta entre comillas y preceder´a a realizar la solicitud por el teclado, esta informaci´on es almacenada en la variable llamada nombre.

13.2

DECISIONES

Otra herramienta para la programaci´on de scripts, son las decisiones if then - else - fi. Con las decisiones, es posible ejecutar un conjunt´o A o B de instrucciones seg´ un una condici´on dada. Por ejemplo:

95


CAP´ITULO 13. PRINCIPIOS DE PROGRAMACION

96

if test "clave" = "12345"; then echo "Acceso autorizado"; else echo "Acceso denegado"; fi En este ejemplo existen varias cosas: se hace uso de una variable clave, la cual debe existir, ya sea porque fue le´ıda o generada manualmente; esta es una instrucci´on (dada en prompt compuesta por varias lineas; hace uso de la instrucci´on test, la cual permite crear comparaciones, en este caso una igualdad. Tambi´en hay que observar la secciones then - else, la cual encierra las instrucciones que se deben ejecutar si la condici´on es verdadera, y la secci´on else - fi, que encierra las instrucci´on que se ejecutan si la condici´on es falsa. Si la decisi´on no requiere una parte falsa, no se escribe la instrucci´on else. En donde fi, ser´a el comando que cierra o termina toda la decisi´on en cualquier caso. La programaci´on del shell soporta decisiones anidadas, esto es incluir otra decisi´on, en cualquiera de las dos secciones del if.

13.3

DECISIONES MULTIPLES

La programaci´on del shell incluye las decisiones m´ ultiples, para los casos en donde hay m´as de dos alternativas. Al igual que en las decisiones simples, soporta anidamiento. case $USER in root) carlos) jugutier) *) esac

echo echo echo echo

"El super usuario";; "Carlos Eduardo";; "Julian Esteban";; "Usuario desconocido";;

Las decisiones m´ ultiples terminan con la instrucci´on esac (case escrito al rev´es).


13.4. CICLO

13.4

97

CICLO

Los ciclo o estructuras de repetici´on, son tambi´en una de las piezas claves ultide la programaci´on de scripts, ya que estas nos permiten ejecutar m´ ples veces una o m´as instrucciones. El n´ umero de repeticiones depende del cumplimiento o no de una condici´on de parada.

13.4.1

Ciclo for

Un ejemplo sencillo es: for i in 1 2 3; do echo $i; done En este caso la variable i tomar´a cada uno de los valores de la lista (1 2 3 ) e ir´a imprimiendo uno a la vez. Ver figura 13.1.

Figura 13.1: Ejemplo de un programa usando ciclos


CAP´ITULO 13. PRINCIPIOS DE PROGRAMACION

98

Esta lista de n´ umeros puede ser reemplazada por algo m´as interesante:

for i in ‘ls‘; do echo $i; done

En este nuevo ejemplo, i, tomar´a cada uno de los valores enviados por el comando ls. Observe que la instrucci´on debe ir encerrada entre ap´ostrofes (‘) y no lo confunda con (’). Las instrucciones do y done, son los delimitadores del ciclo.

13.4.2

Ciclo while

El ciclo while, tiene una filosof´ıa diferente al ciclo anterior, pero es mucho m´as cercano a la concepci´on de los ciclos en los lenguajes convencionales de programaci´on. El bloque de instrucciones encerradas entre las instrucciones do - done, se ejecutar´an hasta que la condici´on frente al while deje de ser verdadera.

email="" while test -z "$email" do read -p "Ingrese el email: " email done

Este puede ser un uso interesante para el ciclo while, la validaci´on de datos. En este caso en particular, al ciclo lo antecede una inicializaci´on de una variable para que la condici´on que controla el ciclo sea verdadera. Dentro de las instrucciones del ciclo, existe una entrada de datos para la variable email. La condici´on ser´a verdadera si la variable email contiene la cadena vac´ıa. Es decir, este programa no permite que el usuario omita esta entrada de datos.


13.5. EVALUADOR DE EXPRESIONES

13.4.3

99

Ciclo until

El ciclo until, es similar al ciclo while. En until, se ejecutar´an hasta que la condici´on deje de ser falsa. email="" until test -n "$email" do read -p "Ingrese el email: " email done Observe que el par´ametro que acompa˜ na a la instrucci´on test (-n) indica que ´esta debe retornar verdadero si la variable no es vac´ıa, a diferencia del ejemplo anterior (-z ), que hace todo lo contrario. Este ejemplo tiene la misma funcionalidad que el ya visto en el ciclo while.

13.5

EVALUADOR DE EXPRESIONES

Otro punto importante en todo lenguaje de es un evaluador de expresiones, que permita realizar operaciones matem´aticas, l´ogicas, cadenas, etc. Ejemplo: read read suma echo

-p "Ingrese A: " A -p "Ingrese B: " B = ‘expr $A + $B‘ "La suma es $suma"

Estas instrucciones muestran c´omo calcular la suma de dos n´ umeros. read -p "Ingrese el nombre : " nombre l = ‘expr length $nombre‘ echo "La longitud de su nombre es $l" En este otro ejemplo se muestra como obtener la longitud de una cadena.


CAP´ITULO 13. PRINCIPIOS DE PROGRAMACION

100

13.6

´ DE SCRIPTS CONSTRUCCION

Ahora s´ı estamos listos para construir scripts. Para ello solo basta con digitar una secuencia de instrucciones en un archivo texto y darle propiedades de ejecuci´on (chmod u+x nombre). En este punto valdr´ıa la pena documentar o especificar el motivo o finalidad de todas o algunas de las instrucciones, adicionando comentarios, los cuales se obtienen anteponiendo el s´ımbolo n´ umero (#). Existe una variante para el ciclo for, cuando se omite la lista sobre la cual debe operar el ciclo. Por ejemplo: for i do echo $i; done En este caso, supongamos que estas instrucciones componen un script llamado lista, entonces cuando el usuario lo ejecute: ./lista uno dos tres. Obtendr´a como salida la lista de argumentos o par´ametros (uno, dos, tres), en forma vertical. Los argumentos tambi´en quedan almacenados en las variables $1, $2, $3, etc, en donde el n´ umero indica la posici´on de argumento. Esto es, en el ejemplo anterior $1 tendr´a la palabra uno, $2 tendr´a la palabra dos y $3 la palabra tres.

13.7

EJEMPLOS DE ALGUNOS SCRIPTS

Para comprender mejor la utilidad de los scripts, veamos algunos ejemplos que se pueden poner en pr´actica. No olvide que puede ejecutar man comando, para solicitar m´as informaci´on acerca de un comando en particular. Por ejemplo, man ls.


13.7. EJEMPLOS DE ALGUNOS SCRIPTS

13.7.1

101

Montar y desmontar el floppy

# Este script automaticamente monta o desmonta el floppy segun # sea el caso. if ( !mount /dev/fd0 >/dev/null 2> /dev/null ) then umount /dev/fd0 fi

13.7.2

Montar y desmontar el CD-ROM

# Este script automaticamente monta o desmonta el CD segun sea # el caso, ademas de expulsar el CD cuando lo desmonta. if ( ! mount /dev/cdrom >/dev/null 2>/dev/null ) then umount /dev/cdrom eject /dev/cdrom fi


102

13.7.3

CAP´ITULO 13. PRINCIPIOS DE PROGRAMACION

Listar las descripciones de instaladores

En Linux, gran parte de los programas para instalar viene en formato RPM, esto es un formato especial que permite automatizar los procesos de instalaci´on y desinstalaci´on, tambi´en contiene informaci´on sobre su descripci´on y requerimientos.

# # # # # # # #

Este script busca los archivos a partir del directorio actual (find ./ -type f), cuya extension sea RPM (-name "*.rpm"), luego consulta su descripcion RPM (rpm -qpi nombre.rpm), en busqueda de una cadena o palabra clave ( grep -i $1) dada por el usuario en el primer parametro ($1). Si lo encuentra, imprime su nombre (echo "... \$i") y su descripcion (rpm -qpi $i) En el proceso no debe mostrar ningun mensaje (>/dev/null).

for i in ‘find ./ -type f -name "*.rpm"‘; do if rpm -qpi $i | grep -i $1 >/dev/null; then echo "Un RPM que contiene el texto especificado es : $i" rpm -qpi $i fi done


13.7. EJEMPLOS DE ALGUNOS SCRIPTS

13.7.4

Diferentes formas de listar los archivo

while test -z "$salir" do clear echo "1. Listado de formato simplificado" echo "2. Listado de formato completo" echo "3. Listado con marcas" echo "4. salir" echo read -p "Digite su opcion: " orden clear case $orden in 1)# Listado de formato simplificado ls echo echo "La orden fue (ls), presione <Enter>" read ;; 2)#Listado de formato completo ls -l echo echo "La orden fue (ls -l), presione <Enter>" read;; 3)# Listado con marcas ls -F echo echo "La orden fue (ls -F), presione <Enter>" read;; *)# Salir salir = "si" esac done

103


CAP´ITULO 13. PRINCIPIOS DE PROGRAMACION

104

Figura 13.2: Ejemplo de un programa usando case

13.7.5

Compresi´ on del directorio actual

# Este script comprime todos los archivos en el directorio actual # y sus subdirectorios, en un archivo cuyo nombre es ingresado por # parametro y cuya extension sera .tgz tar cvfz $1.tgz *

13.7.6

Descompresi´ on de un archivo

# Este script descomprime un archivo .tgz en el directorio actual, # cuyo nombre es suministrado por el usuario a traves de un # parametro. tar xvfz $1.tgz


Cap´ıtulo 14 TAREAS DEL ROOT El root, es el usuario m´as importante de un sistema UNIX, ya que ´el tiene ´ puede crear y eliminar y bloquear usuarios, el poder absoluto sobre todo. El instalar o desinstalar software, agregar dispositivos (impresoras, discos externos, etc), velar por la integridad de los archivos haciendo copias de seguridad, verific´andolos, etc. El root debe trabajar en el sistema como un usuario corriente. Es decir, debe evitar el trabajo como superusuario, para tareas rutinarias, con el fin de minimizar la probabilidad de cometer alg´ un error fatal para el sistema. Dicho usuario puede convertirse en root ejecutando el comando su -, y digitando la clave de acceso respectiva (Ver figura 14.1). Por lo tanto el trabajar como un usuario normal para el root es m´as seguro y menos comprometedor para la integridad del sistema en posibles problemas o errores en el manejo rutinario del sistema. Tenga siempre presente la clave de acceso del root. No es tan cr´ıtico olvidar una clave de usuario, pues el root puede cambiarla en cualquier momento, a´ un si no la conoce al ejecutar el comando passwd usuario.

14.1

´ DE USUARIOS ADMINISTRACION

Para adicionar un usuario al sistema, el root debe ejecutar el comando adduser luis, donde luis, por ejemplo, ser´a el nombre que va a identificar al 105


106

CAP´ITULO 14. TAREAS DEL ROOT

Figura 14.1: Uso de la orden su

nuevo usuario en el sistema. A continuaci´on el sistema le solicita los datos personales de este nuevo usuario (Ver figura 14.2). Si Linux, no le solicita el password (no todas las distribuciones lo hacen), el root debe usar la orden passwd luis. Si por el contrario el root, desea eliminar un usuario de forma permanente del sistema, deber´a ejecutar la orden userdel luis y groupdel luis, donde luis representa el usuario a eliminar. Este comando solo elimina el usuario de las tablas de autenticaci´on del sistema, dejando sus archivos y directorios (ver figura 14.3). En este punto el root, debe tomar la decisi´on de borrar toda la informaci´on o de asignarla a otro u otros usuarios. Si decide eliminarlos, debe ejecutar el comando rm -R /home/luis. Si por el contrario decide asignar los archivos a otro usuario, deber´a ejecutar dentro del directorio del antiguo usuario el comando chown -R carlos.carlos *, en donde carlos, representa al usuario que tomar´a el control de los archivos. Luego el root, tendr´a que mover todos estos archivos o algunos de ellos al directorio de carlos. El resto deber´an ser eliminados. La instrucci´on chown, requiere del login del usuario y del grupo al que pertenece el usuario. El grupo es por lo general el mismo login.


´ DE USUARIOS 14.1. ADMINISTRACION

107

Figura 14.2: Adici´on de usuarios al sistema

Figura 14.3: Administraci´on de usuarios

Un usuario puede y por lo regular es as´ı, pertenecer a varios grupos, cada puede tener privilegios especiales. Un ejemplo de ello es el grupo lpr, al que


108

CAP´ITULO 14. TAREAS DEL ROOT

pertenecen todos los usuarios que tiene autorizaci´on de utilizar la impresora. En otras palabras, un grupo es el artificio utilizado para clasificar los usuarios y poder restringir su trabajo en ambientes mas grandes. Para visualizar todos los grupos que tiene su sistema, ejecute el comando cat /etc/group. Finalmente, para bloquear a un usuario es suficiente con cambiar la clave. O hacer que la cuenta expire con el comando usermod -e fecha luis, en donde luis, representa el usuario a bloquear.

14.2

INSTALACION DE SOFTWARE

Hoy en d´ıa, se ha popularizado el uso de los archivos de tipo RPM, como formato para entregar instaladores. Por lo tanto ahora veremos como instalar, desinstalar y consultar programas instalados o por instalar. Con el comando rpm -qa, podr´a consultar la lista de archivos RPM instalados en su sistema. La cantidad de software depende de la distribuci´on. Para conocer la descripci´on de un archivo RPM, hay que ejecutar el comando rpm -qpi nombre.rpm. Para instalar un RPM, basta con ejecutar rpm -i nombre.rpm y para desinstalar rpm -e nombre. En donde este nombre, es el entregado por el comando rpm -qa. Existe otro software aun no estandarizado que viene en formato comprimido, extensiones .tar, .tgz, entre otros, en los cuales hay que descomprimirlos primero en un directorio temporal y posteriormente proceder a ejecutar el script de instalaci´on com´ unmente llamado setup. No olvide leer el archivo README para mayor informaci´on. Distribuciones como Corel Linux o Debian, entre otras, utilizan adem´as la extensi´on .deb para encapsular software de instalaci´on (ver figura 14.4).

14.3

AGREGAR DISPOSITIVOS

Otro papel fundamental del root es la instalaci´on o actualizaci´on de dispositivos en el sistema, tales como impresoras, disco externos, tarjetas de TV, tarjetas de sonido, etc.


14.3. AGREGAR DISPOSITIVOS

109

Figura 14.4: Instalaci´on de software

14.3.1

Impresoras

Este proceso se recomienda hacerlo en modo gr´afico, debido a que los comandos no son iguales en todas las distribuciones de Linux. El programa m´as utilizado para impresi´on es el apsfilter. Existen distribuciones de Linux que no poseen asistentes en modo gr´afico para ayudarle, o estos u ´ltimos no operan satisfactoriamente, por lo tanto debe eliminar y reinstalar el apsfilter. En el proceso de instalaci´on, este programa solicitar´a todos los datos de su impresora, haciendo que opere correctamente.

14.3.2

ZIP-Drive

Para instalar una unidad Zip-Drive de 100 Mbytes ejecute las siguientes ´ordenes: modprobe ppa mount -t vfat -o noexec /dev/sda4 /mnt/zip La primera instrucci´on instala el driver o controlador del dispositivo ZIPDrive en la memoria. Con la segunda se hace el montaje del dispositivo en el directorio reservado para ello. Las opciones -t vfat, -o noexec, indican que el sistema de archivos


110

CAP´ITULO 14. TAREAS DEL ROOT

del ZIP es VFAT (nombres largos) y que no est´a permitido ejecutar programas. El nombre del dispositivo /dev/sda4 puede cambiar si su equipo posee dispositivos SCSI. Ejecute el comando dmesg despu´es de instalar el controlador para averiguar el nombre correcto. Tambi´en puede adicionar al archivo /etc/fstab la siguiente l´ınea para que los usuarios puedan hacer uso del Zip-Drive con mayor facilidad. /dev/sda4 /mnt/zip vfat noexec,noauto,user,default

0

0

En donde noauto, user indica respectivamente que el Zip-Drive no debe ser montado cuando el sistema inicia y que los usuarios pueden montarla y desmontarla en cualquier momento. Para desmontarlo ejecute: umount /dev/sda4 eject /dev/sda4 En algunos distribuciones es necesario remover de la memoria los m´odulos propios del dispositivos, debido a que ellos pueden utilizar recursos compartidos como es el caso del puerto paralelo. rmmod ppa El comando lsmod puede ayudarle a listar los m´odulos instalados. Puede reemplazar ppa por imm, en algunas distribuciones, dado que imm es un controlador m´as reciente. Note que el directorio /mnt/zip debe ser creado. Si lo prefiere puede construir un script que le automatice el proceso. Si el root ha decidido modificar el archivo /etc/fstab, los usuarios podr´an montar y desmontar el dispositivo, con las instrucciones mount /dev/sda4 y umount /dev/sda4.


14.3. AGREGAR DISPOSITIVOS

14.3.3

111

SuperDisk 120

El procedimiento para el montaje es el siguiente: modprobe modprobe modprobe mount -t

parport epat pf vfat -o noexec /dev/pf0 /mnt/super

Las tres instrucciones modprobe cargan el driver y protocolos necesarios para su operaci´on. Nota: Si el dispositivo pf no existe debe ser creado ejecutando la siguiente instrucci´on, cada vez que instale el sistema. for u in 0 1 2 3 ; do mknod pf$u

b 47 $u ; done

El directorio /mnt/super, tambi´en debe ser creado. Para desmontar: umount /dev/pf0 eject /dev/pf0 En algunos distribuciones es necesario remover de la memoria los m´odulos propios del dispositivos, debido a que ellos pueden utilizar recursos compartidos como es el caso del puerto paralelo. rmmod pf rmmod epat rmmod parport Al igual que sucede con el Zip-Drive, tambi´en se puede modificar el archivo /etc/fstab.


CAP´ITULO 14. TAREAS DEL ROOT

112

14.3.4

Tarjeta de televisi´ on Xtreme 98

Cargue los controladores de la tarjeta de TV ejecuando: modprobe tuner type=6 modprobe bttv card=0 xawtv El primer comando instala el driver y selecciona el tipo del sintonizador de canales propio de su tarjeta (Tabla 14.1):

0: 1: 2: 3: 4: 5: 6: 7: 8:

Temic PAL tuner Philips PAL I tuner Philips NTSC tuner Philips SECAM tuner no tuner Philips PAL tuner Temic NTSC tuner Temic PAL tuner Temic 4036 FY5 NTSC tuner

Tabla 14.1: Selecci´on del sintonizador de la Tarjeta de TV El segundo indica el tipo de tarjeta de TV (Tabla 14.2), generalmente autodetect. El u ´ltimo comando puede ser reemplazado por otro programa para ver televisi´on, este es solo un ejemplo. Los controladores solo se cargar una vez.

14.3.5

Tarjetas de sonido

Para configurar la tarjeta de sonido hay que ejecutar el comando sndconfig. Este programa busca autom´aticamente la tarjeta y la configura. Algunas tarjetas no son detectadas, en este caso, hay que instalar software comercial como OSS (Open Sound System)o drivers propios de las compa˜ n´ıas fabricantes. Ver figura 14.5.


14.3. AGREGAR DISPOSITIVOS

0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:

Auto-Detect Miro Hauppauge STB Intel Diamond AVerMedia Matrix Vision MV-Delta Fly Video II TurboTV Newer Hauppauge (Bt878) Miro PCTV Pro ADS Tech Channel Surfer TV (and maybe TV+FM) AVerMedia TVCapture 98 Aimslab VHX Zoltrix TV-Max Tabla 14.2: Selecci´on del tipo de Tarjeta de TV

113


114

CAP´ITULO 14. TAREAS DEL ROOT

Figura 14.5: Configuraci´on de la tarjeta de sonido


Cap´ıtulo 15 INSTALACION DE LINUX El proceso de instalaci´on de Linux, se ha vuelto una tarea cada vez m´as f´acil, gracias a los asistentes de instalaci´on. Para comenzar la instalaci´on de Linux, basta con iniciar la maquina con el CD de Linux en la unidad respectiva. Hay que aclarar que en el programa de configuraci´on del computador (setup), hay que indicar que la CD-ROM ser´a el dispositivo primario de arranque. La instalaci´on entonces puede ser resumida en los siguientes pasos generales:

15.1

PARTICIONES DEL DISCO DURO

Esta es la parte m´as delicada del proceso de instalaci´on, pues un error puede causar la perdida de los datos del disco duro. Por supuesto nada de esto pasa sin consentimiento previo del usuario. Una partici´on no es m´as que una divisi´on l´ogica del disco, la cual permite tener separadamente varios sistemas o datos. Cuando el disco duro ya tiene instalado un sistema, es muy probable que no tenga espacio para crear nuevas particiones, por lo tanto debe realizar el siguiente procedimiento antes de comenzar a instalar Linux: • Libere en su sistema actual suficiente espacio (m´as de 800Mb, recomentado 2Gb). • Defragmente el disco duro.

115


CAP´ITULO 15. INSTALACION DE LINUX

116

• Ejecute el comando fips.exe que viene en el CD de Linux, el cual permite redimensionar el espacio actual de las particiones, dejando espacio para instalar Linux u otro sistema. Ahora s´ı, una vez obtenido el espacio necesario proceda a instalar. Un tama˜ no t´ıpico para las particiones en un sistema de escritorio (una estaci´on de trabajo) es el mostrado en la tabla 15.1.

˜ PARTICION TAMANO

/boot /home / Swap

5 Mb por debajo del cilindro 1024 200 Mb o m´as seg´ un el n´ umero de usuarios el restante 128 Mb no mayor a 2 veces el tama˜ no de la memoria. Tabla 15.1: Tama˜ nos tipicos de las particiones

Podr´ıa crear otras particiones seg´ un el tama˜ no de su sistema para los directorios /opt, /var y /usr. Tenga mucho cuidado en esta parte de la instalaci´on pues sus datos est´an en riesgo. Si no entiende bien este proceso, consulte a un experto.

15.2

´ DE SOFTWARE SELECCION

En algunas distribuciones, esta etapa puede ser muy larga y dispendiosa, pues en ella hay que especificar la lista de los programas que se desean instalar. Si no desea que su disco se llene con una gran colecci´on de programas que no va a usar, lea muy bien la descripci´on de cada paquete. Recuerde que pasada la instalaci´on, el root puede agregar o desinstalar los paquetes que desee.


15.3. INSTALACION DE LA IMPRESORA

15.3

117

INSTALACION DE LA IMPRESORA

Aqu´ı simplemente se selecciona la marca y serie de la impresora. Al igual que el caso anterior, el root, puede agregar y desinstalar impresoras.

15.4

ASIGNACION DEL ROOT

En este punto Linux le solicita al usuario que ingrese la clave del root. Si por alguna raz´on la distribuci´on que utiliza no la pregunta, es porque dicha clave es <Enter> y a la primera oportunidad la solicitar´a.

15.5

INSTALACION DEL LILO

El LILO (Linux Loader), es el programa que tiene como misi´on cargar el Linux en la memoria y darle el control. En este punto debe decidir si instalar este programa en el MBR o Master Boot Record (/dev/hda) o en la partici´on reservada para el /boot (/dev/hda1 o /dev/hda2 o /dev/hda3 o /dev/hda4). La segunda opci´on siempre es la m´as recomendada, pero solo funcionar´a si la partici´on /boot es una partici´on primaria (/dev/hda1 o /dev/hda2 o /dev/hda3 o /dev/hda4) y no esta por encima del cilindro 1024 del disco duro. Si seleccion´o esta opci´on, debe asegurase que la partici´on /boot est´e activa. Si por otra parte, decide instalar a LILO en el MBR (/dev/hda), tenga mucho cuidado, pues los antivirus de otros sistemas o incluso la reinstalaci´on de otros sistemas lo destruir´an, obligando a reinstalar Linux.

15.6

´ DEL XFree86 CONFIGURACION

Este es otro punto clave, pues del depende que el modo gr´afico o X-Windows funcione correctamente. Es muy posible que esto sea transparente para la mayor de las personas, pero algunos tendr´an que seleccionar la tarjeta de v´ıdeo, el monitor, la resoluci´on, etc.


118

CAP´ITULO 15. INSTALACION DE LINUX


Bibliograf´ıa [1] KERNIGHAN, Brian y PIKE, Rob: El entorno de programaci´ on Unix. Prentice Hall Interamericana. Mexico, 1987. [2] MOHR, James: LINUX Recursos para el usuario. Prentice Hall Interamericana. M´exico, 1999. [3] MORGAN, Ratchel y McGILTON, Henry: Graw Hill Interamericana. Espa˜ na, 1987.

UNIX, Sistema V. Mc

[4] El Tiempo: Revista Enter, Ejemplares 18 al 23. Santa F´e de Bogot´a. Colombia, 2000. [5] ROSEN, Kenneth; ROSINKI, Richard y FARBER, James: UNIX Sistema V Versi´on 4. Mc Graw Hill Interamericana. Espa˜ na, 1991. [6] SuSE: Linux 6.2. Versi´on espa˜ nola. SuSE GmbH. Alemania, 1999.

119


120

BIBLIOGRAF´IA


´Indice de Materias A adicionar un usuario . . . . . . . . . . 105 Administraci´on de usuarios . . . . . . 9 almacenamiento . . . . . . . . . . . . . . . . 35 antivirus . . . . . . . . . . . . . . . . . . . . . . 117 apagar un computador . . . . . . . . . 12 archivo .bash profile . . . . . . . . . . . . . . . 60 .bash logout . . . . . . . . . . . . . . . . 60 .bash profile . . . . . 60, 61, 92, 93 .bashrc. . . . . . . . . . . . . .60, 61, 92 /etc/fstab . . . . . . . . 36, 110, 111 /etc/mtools.conf . . . . . . . . . . . 37 arranque . . . . . . . . . . . . . . . . . . . 18 a˜ nadir . . . . . . . . . . . . . . . . . . . . . . 79 borrar . . . . . . . . . . . . . . . . . . . . . . 27 buscar . . . . . . . . . . . . . . . . . . . . . 47 comienzo . . . . . . . . . . . . . . . . . . . 51 comprimir . . . . . . . . . . . . . . . . . . 55 copiar . . . . . . . . . . . . . . . . . . . . . . 27 de configuraci´on . . . . . . . . . . . . 18 de informaci´on del sistema . 18 descomprimir. . . . . . . . . . . . . . .56 Directorio . . . . . . . . . . . . . . . . . . 17 directorio . . . . . . . . . . . . . . . . . . 41 dividir . . . . . . . . . . . . . . . . . . . . . 56 edici´on . . . . . . . . . . . . . . . . . . . . . 79 ejecutable . . . . . . . . . . . . . . 16, 18 Enlace simb´olico . . . . . . . . . . . 16 enlace simb´olico . . . . . . . . . . . . 41

ensamblaje . . . . . . . . . . . . . . . . . 57 especial . . . . . . . . . . . . . . . . . . . . 17 final . . . . . . . . . . . . . . . . . . . . . . . . 51 imprimir. . . . . . . . . . . . . . . .47, 53 log . . . . . . . . . . . . . . . . . . . . . . . . . 18 modificar . . . . . . . . . . . . . . . . . . . 79 mover . . . . . . . . . . . . . . . . . . . . . . 27 nombre. . . . . . . . . . . . . . . . . . . . .16 oculto . . . . . . . . . . . . . . . . . . . . . . 25 ordinario . . . . . . . . . . . . 15, 16, 41 renombrar . . . . . . . . . . . . . . . . . . 27 spool . . . . . . . . . . . . . . . . . . . . . . . 18 subarchivos . . . . . . . . . . . . . . . . 56 transportar . . . . . . . . . . . . . . . . . 56 archivos sistema de. . . . . . . . . . . . . . . . . .48 argumentos . . . . . . . . . . . . . . . . . 65, 67 asignaci´on de root. . . . . . . . . . . . .117 autorizaciones . . . . . . . . . . . . . . 41, 42 acceso a directorios . . . . . . . . . 42 adicionar . . . . . . . . . . . . . . . . . . . 42 asignar directamente . . . . . . . 43 comod´ın. . . . . . . . . . . . . . . . . . . .45 ejecuci´on . . . . . . . . . . . . . . . . . . . 42 eliminar . . . . . . . . . . . . . . . . . . . . 42 escritura . . . . . . . . . . . . . . . . . . . 42 forma autom´atica . . . . . . . . . . 45 grupo . . . . . . . . . . . . . . . . . . . . . . 42 lectura . . . . . . . . . . . . . . . . . . . . . 42 otros . . . . . . . . . . . . . . . . . . . . . . . 42 121


122 usuario . . . . . . . . . . . . . . . . . . . . . 42 ayudas del sistema . . . . . . . . . . . . . 18 B b´ usquedas . . . . . . . . . . . . . . . . . . . . . . 49 background . . . . . . . . . . . . . . 8, 75, 76 bash. . . . . . . . . . . . . . . . . . . . . . . .59, 63 buffer . . . . . . . . . . . . . . . . . . . . . . . . . . 80 C c´odigo fuente . . . . . . . . . . . . . . . . . . . . 2 calcular . . . . . . . . . . . . . . . . . . . . . . . . 99 camino absoluto . . . . . . . . . . . . 30–32 camino relativo. . . . . . . . . . . . . . . . .30 canalizaci´on . . . . . . . . . . . . . . . . 65, 68 cancelar . . . . . . . . . . . . . . . . . . . . . . . . 53 caracteres especiales . . . . . . . . . . . . 24 carpetas. . . . . . . . . . . . . . . . . . . . . . . .17 CDs. . . . . . . . . . . . . . . . . . . . . . . . . . . .36 ciclo . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 cilindro . . . . . . . . . . . . . . . . . . . . . . . 117 clave de acceso . . . . . . . . . . . . . . . . . 10 cola de impresi´on. . . . . . . . . . . . . . .53 comando adduser . . . . . . . . . . . . . . . . . . . 105 alias. . . . . . . . . . . . . . . . . . . . . . . .61 apsfilter . . . . . . . . . . . . . . . . . . . 109 at . . . . . . . . . . . . . . . . . . . . . . . . . . 76 atq . . . . . . . . . . . . . . . . . . . . . . . . . 76 bg. . . . . . . . . . . . . . . . . . . . . . . . . .75 cat. . .23–25, 36, 49, 51, 57, 60, 67, 70, 108 cd . . . . . . . . . . . . . . . . . . . . . . . . . . 32 chmod . . . . . . . . . . . . . 42–46, 100 chown . . . . . . . . . . . . . . . . . . . . . 106 clear . . . . . . . . . . . . . . . . 13, 14, 61 cp . . . . . . . . . . . . . . . . . . . . . . . . . . 30 date . . . . . . . . . . . . . . . . . . . . . . . . 61

´INDICE DE MATERIAS df . . . . . . . . . . . . . . . . . . . . . . . . . . 47 dir . . . . . . . . . . . . . . . . . . . . . . . . . 61 dmesg . . . . . . . . . . . . . . . . . . . . .110 du . . . . . . . . . . . . . . . . . . . . . . . . . 33 echo . . . . . . . . . . . . . . . . . . . . 89, 91 emacs . . . . . . . . . . . . . . . . . . . . . . 79 env. . . . . . . . . . . . . . . . . . . . . . . . .94 exit . . . . . . . . . . . . . . . . . . . . . . . . 13 export. . . . . . . . . . . . . . . . . . . . . .92 fg . . . . . . . . . . . . . . . . . . . . . . . . . . 76 file . . . . . . . . . . . . . . . . . . . . . . . . . 66 find . . . . . . . . . . . . . . . . . . . . . . . . 48 grep . . . . . . . . . . . . . . . . . . . . 69, 70 groupdel . . . . . . . . . . . . . . . . . . 106 head . . . . . . . . . . . . . . . . . . . . . . . 51 jobs . . . . . . . . . . . . . . . . . . . . . . . . 76 joe . . . . . . . . . . . . . . . . . . . . . . . . . 79 kill . . . . . . . . . . . . . . . . . . . . . . . . . 74 less . . . . . . . . . . . . . . . . . . . . . 49–51 logout . . . . . . . . . . . . . . . . . . . . . . 13 lpq . . . . . . . . . . . . . . . . . . . . . 52, 54 lpr . . 52, 53, 66, 69, 71–73, 107 lprm . . . . . . . . . . . . . . . . . . . .52, 53 ls 14, 21, 25–31, 36, 39, 41, 61, 62, 66, 67, 69, 72, 75, 98 lsmod . . . . . . . . . . . . . . . . . . . . . 110 man. . . . . . . . . . . . . . . . . . . . . . .100 mattrib . . . . . . . . . . . . . . . . . . . . 37 mcd . . . . . . . . . . . . . . . . . . . . . . . . 37 mcopy. . . . . . . . . . . . . . . . . . . . . .37 mdel . . . . . . . . . . . . . . . . . . . . . . . 37 mdeltree . . . . . . . . . . . . . . . . . . . 37 mdir . . . . . . . . . . . . . . . . . . . . . . . 37 mformat . . . . . . . . . . . . . . . . . . . 37 mkdir . . . . . . . . . . . . . . . . . . 31, 32 mmd . . . . . . . . . . . . . . . . . . . . . . . 37 modprobe . . . . . . . . . . . . . . . . . 111 mount . . . . . . . . . . . . . 35, 36, 110


´INDICE DE MATERIAS mrd . . . . . . . . . . . . . . . . . . . . . . . . 37 mren . . . . . . . . . . . . . . . . . . . . . . . 37 mtype . . . . . . . . . . . . . . . . . . . . . . 37 mv . . . . . . . . . . . . . . 28–30, 91, 93 passwd . . . . . . . . . . . 11, 105, 106 pico . . . . . . . . . . . . . . . . . . . . . . . . 79 pr . . . . . . . . . . . . . . . . . . . . . . 71, 72 ps . . . . . . . . . . . . . . . . . . . . . . . . . . 73 PS1 . . . . . . . . . . . . . . . . . . . . . . . . 13 pwd . . . . . . . . . . . . . . . . . . . . . . . . 21 read . . . . . . . . . . . . . . . . . . . . . . . . 95 rm . . . . . . . . . . . . . . . . . . . . 31, 106 rmdir . . . . . . . . . . . . . . . . . . . . . . 32 rpm . . . . . . . . . . . . . . . . . . . . . . . 108 set . . . . . . . . . . . . . . . . . . . . . . . . . 91 shutdown . . . . . . . . . . . . . . . . . . 12 sndconfig. . . . . . . . . . . . . . . . . .112 sort . . . . . . . . . . . . . . . . . . . . . . . . 68 split . . . . . . . . . . . . . . . . . . . . . . . . 56 su . . . . . . . . . . . . . . . . . . . . . . . . . 105 tail . . . . . . . . . . . . . . . . . . . . . . . . . 51 tar . . . . . . . . . . . . . . . . . . . . . 55, 56 umask . . . . . . . . . . . . . . . . . . 45, 46 umount. . . . . . . . . . . . . . . .36, 110 userdel . . . . . . . . . . . . . . . . . . . . 106 usermod . . . . . . . . . . . . . . . . . . 108 vi . . . . . . . . . . . . . . . 79–82, 85, 86 who . . . . . . . . . . . . . . . . . . . . 68, 69 comod´ın . . . . . . . . . . . . . . . . . . . . . . . 21 comodines. . . . . . . . . . . . . . . . . . . . . .62 comparaciones . . . . . . . . . . . . . . . . . 96 computador . . . . . . . . . . . . . . . . . . . . . 7 consola . . . . . . . . . . . . . . . . . . . . . . . . . . 9 consultar. . . . . . . . . . . . . . . . . . . . . .108 contrase˜ na . . . . . . . . . . . . . . . . . . . . . 11 controlador . . . . . . . . . . . . . . . . . . . 110 Controlador de impresi´on . . . . . . . . 9 copia de seguridad . . . . . . . . . . . . . 30

123 Corel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Corel Linux . . . . . . . . . . . . . . . . . . . . . 8 cuenta . . . . . . . . . . . . . . . . . . . . . . . . . 10 D decisiones anidadas. . . . . . . . . . . . .96 decisiones m´ ultiples . . . . . . . . . . . . 96 derechos de autor . . . . . . . . . . . . . . . 2 desinstalar . . . . . . . . . . . . . . . . . . . . 108 desmontar. . . . . . . . . . . . . . . . . . . . . .35 directorio . . . . . . . . . . . . . . . . . . . . . . 17 (.). . . . . . . . . . . . . . . . . . . . . . . . . .26 (..) . . . . . . . . . . . . . . . . . . . . . . . . . 26 / . . . . . . . . . . . . . . . . . . . . . . . . . . 116 /bin . . . . . . . . . . . . . . . . . . . . . . . . 18 /boot . . . . . . . . . . . . . 18, 116, 117 /dev . . . . . . . . . . . . . . . . . . . . . . . 18 /etc . . . . . . . . . . . . . . . . . . . . . . . . 18 /etc/skel . . . . . . . . . . . . . . . . . . . 18 /home . . . . . . . . . . . . . . . . . 18, 116 /lib . . . . . . . . . . . . . . . . . . . . . . . . 18 /lost+found . . . . . . . . . . . . . . . . 18 /mnt . . . . . . . . . . . . . . . . . . . . . . . 18 /opt . . . . . . . . . . . . . . . . . . . 18, 116 /proc . . . . . . . . . . . . . . . . . . . 17, 18 /root . . . . . . . . . . . . . . . . . . . . . . . 18 /sbin . . . . . . . . . . . . . . . . . . . . . . . 18 /usr . . . . . . . . . . . . . . . . . . . 18, 116 /usr/doc . . . . . . . . . . . . . . . . . . . 18 /usr/man . . . . . . . . . . . . . . . . . . 18 /var . . . . . . . . . . . . . . . . . . . 18, 116 actual . . . . . . . . . . . . . . . . . . . . . . 20 padre . . . . . . . . . . . . . . . . . . . . . . 20 directorio de trabajo . . . . . . . . . . . 18 directorios . . . . . . . . . . . . . . . . . . . . . 18 disco . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 dispositivos. . . . . . . . . . . . . . . .17, 108 /dev/hda . . . . . . . . . . . . . . . . . 117


124 /dev/hda1 . . . . . . . . . . . . . . . . 117 /dev/hda2 . . . . . . . . . . . . . . . . 117 /dev/hda3 . . . . . . . . . . . . . . . . 117 /dev/hda4 . . . . . . . . . . . . . . . . 117 disco externos . . . . . . . . . . . . . 108 impresoras . . . . . . . . . . . . . . . . 108 SuperDisk . . . . . . . . . . . . . . . . .111 tarjeta de sonido . . . . . . . . . . 112 tarjeta de TV . . . . . . . . . . . . . 112 tarjetas de sonido . . . . . . . . . 108 tarjetas de TV . . . . . . . . . . . . 108 Zip-Drive . . . . . . . . . . . . . . . . . 109 disquetes . . . . . . . . . . . . . . . . . . . . . . . 35 distribuci´on . . . . . . . . . . . . . . . . 12, 36 Caldera . . . . . . . . . . . . . . . . . . . . . 3 Conectiva . . . . . . . . . . . . . . . . . . . 3 Corel Linux . . . . . . . . . . . . . . . . . 3 Debian . . . . . . . . . . . . . . . . . . . . . . 3 Mandrake . . . . . . . . . . . . . . . . . . . 3 Red Hat . . . . . . . . . . . . . . . . . . . . . 3 Slackware . . . . . . . . . . . . . . . . . . . 3 Suse . . . . . . . . . . . . . . . . . . . . . . . . . 3 distribuciones . . . . . . . . . . . . . . . . . . . 3 E editor visual . . . . . . . . . . . . . . . . . . . 79 ejecuci´on . . . . . . . . . . . . . . . . . . . . . . . 42 eliminar un usuario . . . . . . . . . . . 106 encender el equipo . . . . . . . . . . . . . 12 entorno . . . . . . . . . . . . . . . . . . . . . 60, 94 entorno gr´afico . . . . . . . . . . . . . . . . . . 8 entrada . . . . . . . . . . . . . . . . . . . . . . . . 67 entrada de datos . . . . . . . . . . . . . . . 98 entrada est´andar . . . . . . . . . . . . . . . 66 error est´andar . . . . . . . . . . . . . . . . . . 69 escritura . . . . . . . . . . . . . . . . . . . . . . . 42 estado de las particiones. . . . . . . .47 estado de los discos . . . . . . . . . . . . 47

´INDICE DE MATERIAS estructura de archivos. . .15, 17, 18 estructuras de repetici´on . . . . . . . 97 externas. . . . . . . . . . . . . . . . . . . . . . . .35 F fecha . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 file system. . . . . . . . . . . . . . . . . . . . . . .7 foreground . . . . . . . . . . . . . . . 8, 74, 76 formato largo . . . . . . . . . . . . . . . 26, 41 FSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 G General Public License . . . . . . . . . . 2 Gimp . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 GPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 grupo . . . . . . . . . . . . . . . . . . . . . . 26, 41 gzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 H historial de ´ordenes . . . . . . . . . . . . 63 I IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 impresora . . . . . . . . . . . . . . . . . . . . . . 53 inicializaci´on . . . . . . . . . . . . . . . . . . . 98 instalaci´on . . . . . . . . . . . . . . . . . . . . 115 instalar . . . . . . . . . . . . . . . . . . 102, 108 instalar impresora . . . . . . . . . . . . . 117 interactivo . . . . . . . . . . . . . . . . . . . . . . 8 Internet . . . . . . . . . . . . . . . . . . . . . . . . . 1 ISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 K kernel . . . . . . . . . . . . . . . . . . . . . . . . 2, 7 L l´ınea de ´ordenes . . . . . . . . . . . . . . . . 66 l´ınea de comandos . . . . . . . . . . 13, 65 lectura . . . . . . . . . . . . . . . . . . . . . . . . . 42


´INDICE DE MATERIAS lenguaje de programaci´on. . .59, 89 Librer´ıas del sistema . . . . . . . . . . . 18 LILO . . . . . . . . . . . . . . . . . . . . . . . . . 117 Linus Torvalds . . . . . . . . . . . . . . . . . . 1 Linux Loader . . . . . . . . . . . . . . . . . 117 login . . . . . . . . . . . . . . . . . . . . 10, 12, 91 M m´odulos . . . . . . . . . . . . . . . . . . . . . . 110 Macintosh . . . . . . . . . . . . . . . . . . . . . . . 8 Master Boot Record . . . . . . . . . . 117 MBR . . . . . . . . . . . . . . . . . . . . . . . . . 117 memoria . . . . . . . . . . . . . . . . . . . . . . . 15 Minix . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 modo gr´afico . . . . . . . . . . . . . . . . . . 117 montar . . . . . . . . . . . . . . . . . . . . . . . . . 35 MP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 multitarea . . . . . . . . . . . . . . . . . . . . . . . 8 multiusuario . . . . . . . . . . . . . . . . . 8, 10 N nombre de camino absoluto . . . . 90 nombre de usuario . . . . . . . . . . . . . 10 nombres de camino . . . . . . . . . . . . . 19 absolutos . . . . . . . . . . . . . . . . . . . 19 completos . . . . . . . . . . . . . . . . . . 19 O operadores de redirecci´on . . . . . . .67 Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . .2 OSS . . . . . . . . . . . . . . . . . . . . . . . . . . 112 otros . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 P paginador . . . . . . . . . . . . . . . . . . . . . . 49 paginadores . . . . . . . . . . . . . . . . . . . . 47 pantallas virtuales . . . . . . . . . . . . . . . 8 par´ametro. . . . . . . . . . . . . . . . . . . . . .99 partici´on . . . . . . . . . . . . . . . . . . . . . . 115

125 partici´on primaria . . . . . . . . . . . . . 117 password . . . . . . . . . . . . . . . . . . . 10, 12 permisos . . . . . . . . . . . . . . . . . . . 19, 41 ejecuci´on . . . . . . . . . . . . . . . . . . . 43 escritura . . . . . . . . . . . . . . . . . . . 43 lectura . . . . . . . . . . . . . . . . . . . . . 43 personalizar . . . . . . . . . . . . . . . . . . . . 89 petici´on de orden secundaria . . . 69 primer plano . . . . . . . . . . . . . . . . . . . 74 privilegios . . . . . . . . . . . . . . . . . . 19, 41 proceso . . . . . . . . . . . . . . . . . . . . . 73, 76 programaci´on case . . . . . . . . . . . . . . . . . . . . . . . . 96 de scripts . . . . . . . . . . . . . . . . . . 97 do. . . . . . . . . . . . . . . . . . . . . . . . . .98 done . . . . . . . . . . . . . . . . . . . . . . . 98 else . . . . . . . . . . . . . . . . . . . . . . . . 95 esac . . . . . . . . . . . . . . . . . . . . . . . . 96 fi . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 for . . . . . . . . . . . . . . . . . . . . 97, 100 if . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 test . . . . . . . . . . . . . . . . . . . . . . . . 96 then. . . . . . . . . . . . . . . . . . . . . . . .95 until . . . . . . . . . . . . . . . . . . . . . . . 99 while . . . . . . . . . . . . . . . . . . . 98, 99 programas de aplicaci´on . . . . . . . . . 3 prompt . . . . . . . . . . . . . . . . . . . . . 13, 96 propietario . . . . . . . . . . . . . . . . . 26, 41 PS2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 R redirecci´on . . . . . . . . . . . . . . . . . 66, 68 redireccionar . . . . . . . . . . . . . . . . . . . 65 relativo . . . . . . . . . . . . . . . . . . . . . 31, 32 root . . . . . . . . . . . . . . . . . . . . . . . 10, 105 RPM. . . . . . . . . . . . . . . . . . . . .102, 108 ruta de acceso . . . . . . . . . . . . . . . . . . 19


126 S s´ımbolos . . . . . . . . . . . . . . . . . . . . . . . 65 salida est´andar . . . . . . . . . . . . . . . . . 66 script. . . . . . . . . . . . . . . . . . . . . . .60, 95 scripts . . . . . . . . . . . . . . . . . . . . . . 59, 89 Comandos ls . . . . . . . . . . . . . . 103 Comprimir archivos . . . . . . . 104 Descomprimir archivos . . . . 104 Instaladores . . . . . . . . . . . . . . . 102 Montar el CD-ROM . . . . . . . 101 Montar el floppy . . . . . . . . . . 101 secundario . . . . . . . . . . . . . . . . . . . . . 35 segundo plano . . . . . . . . . . . . . . . . . . 75 seguridad . . . . . . . . . . . . . . . . . . . . . . 11 selecci´on de software . . . . . . . . . . 116 sesi´on . . . . . . . . . . . . . . . . . . . . . . . . . . 13 setup . . . . . . . . . . . . . . . . . . . . . . . . . 115 shell . . . . . . . . . . 7, 24, 59, 65–68, 73 sistema de impresi´on . . . . . . . . . . . 53 Sistema de Ventanas . . . . . . . . . . . . 8 Fvwm . . . . . . . . . . . . . . . . . . . . . . . 8 Gnome . . . . . . . . . . . . . . . . . . . . . . 8 KDE . . . . . . . . . . . . . . . . . . . . . . . . 8 sistema operativo . . . . . . . . . . . . . 1, 7 Linux . . . . . . . . . . . . . . . . . . . . . 7, 8 MS-DOS . . . . . . . . . . . . 15, 21, 37 OS/2 . . . . . . . . . . . . . . . . . . . . . . . . 8 Unix . . . . . . . . . . . . . . . . . . . . . . . 17 Windows . . . . . . . . . . . . . . . . . . . . 8 software . . . . . . . . . . . . . . . . . . . . . . . . . 2 dominio p´ ublico . . . . . . . . . . . . . 2 free . . . . . . . . . . . . . . . . . . . . . . . . . 2 freeware . . . . . . . . . . . . . . . . . . . . . 2 GPL . . . . . . . . . . . . . . . . . . . . . . . . 2 gratuito . . . . . . . . . . . . . . . . . . . . . 2 open source . . . . . . . . . . . . . . . . . 2 shareware . . . . . . . . . . . . . . . . . . . 2 subcarpetas . . . . . . . . . . . . . . . . . . . . 17

´INDICE DE MATERIAS subdirectorios . . . . . . . . . . . . . . . . . . 17 Sun Microsystems . . . . . . . . . . . . . . . 2 superusuario . . . . . . . . . . . . . . 10, 105 Swap . . . . . . . . . . . . . . . . . . . . . . . . . 116 T Tama˜ no . . . . . . . . . . . . . . . . . . . . . . . . 26 teclas especiales . . . . . . . . . . . . . . . . 63 terminal remota . . . . . . . . . . . . . . . . . 9 tipo de archivo . . . . . . . . . . . . . . . . . 27 trabajo de impresi´on . . . . . . . . . . . 53 trabajos de impresi´on . . . . . . . . . . 54 U unidades de disco . . . . . . . . . . . . . . 35 usuario . . . . . . . . . . . . . . . . . . . . . 26, 41 V validaci´on . . . . . . . . . . . . . . . . . . . . . . 98 variables del shell . . . . . . . . . . . . . . 89 HOME . . . . . . . . . . . . . . . . . . . . . 90 LOGNAME . . . . . . . . . . . . . . . . 94 PATH . . . . . . . . . . . . . . . . . . . . . . 90 PS1 . . . . . . . . . . . . . . . . . . . . . . . . 90 PS2 . . . . . . . . . . . . . . . . . . . . . . . . 90 PWD . . . . . . . . . . . . . . . . . . . . . . 91 SHELL. . . . . . . . . . . . . . . . . . . . .91 UID . . . . . . . . . . . . . . . . . . . . . . . . 91 USER . . . . . . . . . . . . . . . . . . . . . . 91 vi abandonar . . . . . . . . . . . . . . . . . 81 Abandonar el editor . . . . . . . . 82 borrar . . . . . . . . . . . . . . . . . . . . . . 82 buffer de edici´on . . . . . . . . . . . 80 buscar . . . . . . . . . . . . . . . . . . . . . 86 clipboard . . . . . . . . . . . . . . . . . . . 82 copiar . . . . . . . . . . . . . . . . . . . . . . 82 cortar . . . . . . . . . . . . . . . . . . . . . . 82 deshacer . . . . . . . . . . . . . . . . . . . 83


´INDICE DE MATERIAS edici´on de texto . . . . . . . . . . . . 82 guardar . . . . . . . . . . . . . . . . . . . . 81 Guardar y salir . . . . . . . . . . . . . 82 Guardar y seguir . . . . . . . . . . . 82 iniciar la sesi´on . . . . . . . . . . . . . 80 modo de entrada . . . . . . . . . . . 80 modo de orden . . . . . . . . . . . . . 80 modo orden . . . . . . . . . . . . . . . . 83 movimiento del cursor . . . . . . 81 pegar . . . . . . . . . . . . . . . . . . . . . . 82 reemplazar . . . . . . . . . . . . . 82, 86 repetir la u ´ltima b´ usqueda. .86 restaurar . . . . . . . . . . . . . . . . . . . 83 salir . . . . . . . . . . . . . . . . . . . . . . . . 81 W Windows . . . . . . . . . . . . . . . . . . . . . . . . 2 X X-Windows. . . . . . . . . . . . . . . . .8, 117 XFree86 . . . . . . . . . . . . . . . . . . . . . . . . . 8 xmms . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Z zip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

127


128

´INDICE DE MATERIAS


Carlos Eduardo G´ omez Montoya Especialista en Redes de Comunicaci´on Universidad del Valle, 1999 Profesor Tiempo Completo Universidad del Quind´ıo

Juli´ an Esteban Guti´ errez Posada Ingeniero de Sistemas Universidad del Valle, 1999 Profesor Tiempo Completo Universidad del Quind´ıo


Linux comandos y conceptos