Parent Directory
|
Revision Log
Mark Obsolete Documentation as such
| 1 | <!doctype debiandoc system> |
| 2 | <debiandoc> |
| 3 | <book> |
| 4 | <titlepag> |
| 5 | <title>Iniciación a Debian (Obsolete Documentation)</title> |
| 6 | <author><name>Havoc Pennington</name><email>hp@debian.org</email> |
| 7 | |
| 8 | <version><date> |
| 9 | |
| 10 | <copyright> |
| 11 | <copyrightsummary> © 1998 Software para el Interés |
| 12 | Público y colaboradores individuales.</copyrightsummary> |
| 13 | |
| 14 | <p>Se autoriza la distribución de copias literales de este |
| 15 | manual siempre que el copyright y esta licencia se |
| 16 | incluyan en todas las copias. |
| 17 | |
| 18 | <p>Se autoriza la copia y distribución de versiones |
| 19 | modificadas de este manual bajo las condiciones para la |
| 20 | copia literal, siempre que las separatas "La Licencia |
| 21 | Pública General de GNU", "La Licencia Pública General de GNU |
| 22 | para bibliotecas", y otras secciones claramente señaladas |
| 23 | bajo copyright independiente se reproduzcan de acuerdo con |
| 24 | las condiciones especificadas por ellas mismas, y siempre |
| 25 | que el trabajo resultante, en su totalidad, se distribuya |
| 26 | bajo los términos de una licencia idéntica a esta. |
| 27 | |
| 28 | <p>Se autoriza la copia y distribución de traducciones de |
| 29 | este manual a otro idioma en las condiciones establecidas |
| 30 | para las versiones modificadas. Pueden incluirse "La |
| 31 | Licencia Pública General de GNU" y "La Licencia Pública |
| 32 | General de GNU para bibliotecas" en la traducción aprobada |
| 33 | por la Fundación para el Software Libre en lugar del |
| 34 | original inglés. |
| 35 | |
| 36 | <p>A su elección, puede distribuir versiones literales y |
| 37 | modificadas de este documento en los términos de la Licencia |
| 38 | Pública General de GNU, excepto las secciones claramente |
| 39 | señaladas que se mantienen bajo copyright independiente. |
| 40 | |
| 41 | </copyright> |
| 42 | |
| 43 | </titlepag> |
| 44 | |
| 45 | <toc> |
| 46 | |
| 47 | <chapt id="about"> <heading> Acerca de este manual </heading> |
| 48 | |
| 49 | <p>Este es el manual de Iniciación a Debian. Está dirigido a |
| 50 | lectores recién llegados a Debian GNU/Linux. No asume |
| 51 | conocimientos previos de GNU/Linux u otros sistemas |
| 52 | semejantes a Unix, pero sí asume un conocimiento básico y |
| 53 | general sobre ordenadores y hardware (usted debería saber |
| 54 | cuáles son los componentes básicos de un ordenador, y para |
| 55 | qué puede utilizarse una computadora). |
| 56 | |
| 57 | <p>Este manual está estructurado para ser leído en orden; cada |
| 58 | capítulo supone cierto conocimiento de los capítulos |
| 59 | anteriores, aunque KKKK puede resultarle útil. |
| 60 | |
| 61 | <p>Hay también planes para una Guía de Referencia de Debian, que |
| 62 | será más exhaustiva pero menos introductoria. |
| 63 | |
| 64 | <p>Esta introducción a Debian presume que usted ya ha |
| 65 | instalado y configurado Debian GNU/Linux según el manual de |
| 66 | instalación (que está incompleto en el momento en que esto |
| 67 | se escribe). Sin embargo, puede querer examinarla antes de |
| 68 | instalar, para aprender más sobre Debian. |
| 69 | |
| 70 | <p>En general, este manual intenta explicar las razones de las |
| 71 | cosas, y ayudarle a comprender cómo funciona el interior del |
| 72 | sistema. La idea es proporcionarle la capacidad de resolver |
| 73 | nuevos problemas y sacar el máximo provecho de su ordenador. |
| 74 | Por tanto, hay una buena cantidad de teoría, historia, y |
| 75 | hechos divertidos incluidos en los aspectos del "Cómo" |
| 76 | |
| 77 | <footnote>(N. del T.: "How To" --- Cómo --- es una expresión |
| 78 | inglesa bien asentada en el mundo de la informática que |
| 79 | designa las explicaciones prácticas necesarias para |
| 80 | realizar una tarea.</footnote> |
| 81 | |
| 82 | del manual. |
| 83 | |
| 84 | <p>Por favor envíe sus comentarios acerca de este manual a la |
| 85 | lista de distribución del Proyecto de Documentación de Debian |
| 86 | <email>debian-doc@lists.debian.org</email>. Estamos |
| 87 | especialmente interesados en si le ha sido de ayuda, y en cómo |
| 88 | podríamos mejorarlo. Si se siente confuso al leerlo, o se da |
| 89 | cuenta de que utilizamos un término sin explicarlo primero, |
| 90 | envíenos un correo electrónico. |
| 91 | |
| 92 | <p>Por favor, NO envíe preguntas técnicas sobre Debian a los |
| 93 | autores, puesto que hay otros foros para eso. Vea <ref |
| 94 | id="docs-support">. A la dirección anterior, envíe solamente |
| 95 | correo referido al manual en sí. |
| 96 | |
| 97 | <p>Para encontrar la última versión de este manual, vaya a <url |
| 98 | id="http://www.debian.org/doc/" |
| 99 | name="http://www.debian.org/doc/"> y siga este enlace. |
| 100 | |
| 101 | <sect id="acknowldgements"> Reconocimientos |
| 102 | <p> Muchas personas han ayudado a elaborar este manual. |
| 103 | |
| 104 | <p>El mayor agradecimiento corresponde a Larry Greenfield y su |
| 105 | Guía del Usuario de Linux, que integra la base del manual. |
| 106 | La Guía del Usuario de Linux es parte del Proyecto de |
| 107 | Documentación de Linux. |
| 108 | |
| 109 | <p>Muchas gracias a aquellos que me han ayudado a editar el |
| 110 | manual; lo han hecho mucho, mucho mejor. Si opina que este |
| 111 | manual fue agradable de leer, envíe su agradecimiento a |
| 112 | Thalia Hooker y Day Irmiter. |
| 113 | |
| 114 | <p>Gracias a Richard Stallman de la Fundación para el Software |
| 115 | Libre por su consejo, por editar y ofrecerse a publicar el |
| 116 | texto. |
| 117 | |
| 118 | <p>Gracias a James Treacy por permitirme tomar prestados |
| 119 | algunos de sus escritos del sitio web de Debian. |
| 120 | |
| 121 | <p>Gracias a todos los que han escrito partes del manual: |
| 122 | Craig Saywer escribió sobre las shells, Ole Tetlie está |
| 123 | escribiendo sobre programación, Oliver Elphick aportó la |
| 124 | explicación de algunas utilidades básicas, Ivan E. Moore |
| 125 | II aportó la explicación de PPP. |
| 126 | |
| 127 | <p>Mucha gente ha contribuido con parches y comentarios, |
| 128 | entre ellos, Eric Fisher y Mike Touloumtzis. |
| 129 | |
| 130 | <p>Muchas gracias a Ardo van Rangelrooij por hacer que esto |
| 131 | empezara y mantener el DTD DebianDoc, utilizado para |
| 132 | escribir el manual. |
| 133 | |
| 134 | <p>Por supuesto, es imposible dar las gracias a los cientos |
| 135 | de desarrolladores de Debian y los miles de autores de |
| 136 | software libre que nos dieron algo sobre lo que escribir y |
| 137 | para usar. |
| 138 | |
| 139 | <p>Gracias también a todo el que haya olvidado, puesto que |
| 140 | estoy seguro de que he fastidiado esto. Espero que no se |
| 141 | ofenderá nadie; por favor, si su nombre debería estar |
| 142 | aquí, envíeme un correo electrónico y hágamelo saber. |
| 143 | |
| 144 | <chapt id="introduction"> <heading> Introducción </heading> |
| 145 | |
| 146 | <sect id="introduction-debian"> ¿Qué es Debian? |
| 147 | |
| 148 | <p><em>Debian</em> es un sistema operativo (SO) libre para |
| 149 | su ordenador. Un sistema operativo es el conjunto de |
| 150 | programas y utilidades básicos que hacen que su |
| 151 | computadora funcione. En el corazón de un sistema |
| 152 | operativo está el <em>kernel</em>. El kernel es el |
| 153 | programa fundamental en el ordenador: se ocupa de toda la |
| 154 | gestión interna básica y le permite iniciar otros |
| 155 | programas. Debian utiliza el kernel <em>Linux</em>, una |
| 156 | programa completamente libre escrito por Linus Thorvalds y |
| 157 | mantenido por (probablemente más de 1000) programadores de |
| 158 | todo el mundo. Una gran parte de las herramientas básicas |
| 159 | que dan cuerpo al sistema operativo proceden de (<url |
| 160 | id="http://www.gnu.org" name="Proyecto GNU">), y esas |
| 161 | herramientas también son libres. Por supuesto, lo que la |
| 162 | gente quiere es aplicaciones informáticas: programas que |
| 163 | les ayuden a realizar lo que quieren hacer, desde editar |
| 164 | documentos a llevar un negocio o jugar o escribir más |
| 165 | programas. Debian viene con más de 1000 <em>paquetes</em> |
| 166 | (software precompilado ensamblado en un formato adecuado |
| 167 | para su fácil instalación en su máquina); todo ello libre. |
| 168 | |
| 169 | <p>Es un poco como una torre. En la base está Linux. |
| 170 | Encima están todas las herramientas básicas, la mayoría de |
| 171 | GNU. Lo siguiente son todas las aplicaciones que usted |
| 172 | utiliza en el ordenador: muchas de estas también de GNU. |
| 173 | Los desarrolladores de Debian actúan como arquitectos y |
| 174 | coordinadores, organizando cuidadosamente el sistema y |
| 175 | ajustándolo todo para formar un sistema estable e |
| 176 | integrado: Debian GNU/Linux. |
| 177 | |
| 178 | <sect1 id="introduction-debian-os">¿Qué es un sistema |
| 179 | operativo, y qué clase de sistema operativo es Debian? |
| 180 | |
| 181 | <p>Un sistema operativo es el conjunto de software que hace |
| 182 | a un ordenador utilizable. Gestiona los dispositivos de |
| 183 | hardware y aporta utilidades y aplicaciones. |
| 184 | |
| 185 | <p>Debian GNU/Linux está basado en el sistema operativo Unix, |
| 186 | que tiene una larga historia (vea <ref |
| 187 | id="unix-history">). Debian es básicamente compatible con |
| 188 | Unix, pero añade un número significativo de |
| 189 | características adicionales. |
| 190 | |
| 191 | <p>La filosofía de diseño de GNU/Linux (y Unix) consiste en |
| 192 | distribuir sus funciones entre pequeñas programas |
| 193 | multipropósito. De este modo, pueden fácilmente lograrse |
| 194 | nuevas funciones y características mediante la combinación |
| 195 | de esos pequeños programas en formas nuevas. Debian es |
| 196 | como un juego de construcción; usted puede construir toda |
| 197 | clase de cosas con ella. |
| 198 | |
| 199 | <p>Al utilizar un sistema operativo, se busca minimizar la |
| 200 | cantidad de trabajo que se emplea en una tarea. Debian |
| 201 | aporta muchas herramientas que pueden ayudarle, pero sólo |
| 202 | si sabe qué hacen esas herramientas. Gastar un hora |
| 203 | intentando que algo funcione y acabar finalmente por |
| 204 | abandonar no es muy productivo. Este manual le enseñará |
| 205 | acerca de las herramientas esenciales que forman Debian: |
| 206 | qué herramientas usar en qué situaciones, y cómo ligar |
| 207 | esas distintas herramientas. |
| 208 | |
| 209 | <sect1 id="introduction-debian-how">¿Quién crea Debian? |
| 210 | |
| 211 | <p> Debian es un proyecto de desarrollo exclusivamente de |
| 212 | voluntarios a través de internet. Hay cientos de |
| 213 | voluntarios trabajando en ella. La mayoría están a cargo |
| 214 | de un pequeño número de paquetes de software y están |
| 215 | íntimamente familiarizados con el software que empaquetan. |
| 216 | |
| 217 | <p>La integración del trabajo de estos voluntarios se logra |
| 218 | al seguir un estricto conjunto de líneas maestras que |
| 219 | determinan cómo se ensamblan los paquetes. Estas líneas |
| 220 | maestras se desarrollan conjuntamente en discusiones en |
| 221 | listas de distribución de internet y en foros <em>internet |
| 222 | relay chat</em> (IRC). |
| 223 | |
| 224 | </sect1> |
| 225 | |
| 226 | <sect id="introduction-DFSG"> ¿Qué es el software libre? |
| 227 | |
| 228 | <p>Cuando los desarrolladores y usuarios de Debian hablan de |
| 229 | "software libre", se refieren a la <em>libertad</em> más que |
| 230 | al precio |
| 231 | |
| 232 | <footnote>(N. del. T.: en inglés los conceptos "libre" y |
| 233 | "gratuito" se expresan con una misma palabra: "free". De |
| 234 | ahí que "free software" pueda entenderse tanto como |
| 235 | "software libre" o "software gratis". Esto ha ocasionado |
| 236 | malentendidos a lo largo de los años, y provocado |
| 237 | aclaraciones como ésta, que carecen de significado en |
| 238 | otras lenguas.)</footnote>. |
| 239 | |
| 240 | Debian es libre en este sentido: usted es libre para |
| 241 | modificarla y redistribuirla, y siempre tendrá acceso al |
| 242 | código fuente para este propósito. Las <url |
| 243 | id="http://www.debian.org/social_contract#guidelines" |
| 244 | name="Líneas Maestras de Debian sobre el Software Libre"> |
| 245 | describe con más detalles qué se quiere decir con "libre". |
| 246 | La <url id="http://www.fsf.org" name="Fundación para el |
| 247 | Software Libre">, creadora del Proyecto GNU, es otra fuente |
| 248 | de información. Puede encontrar una discusión más detallada |
| 249 | acerca del software libre en el <url |
| 250 | id="http://www.debian.org/intro/free" name="sitio web de |
| 251 | Debian">. |
| 252 | |
| 253 | <p>El software libre es llamado a veces software Open Source |
| 254 | (R); Open Source es una marca certificada. |
| 255 | |
| 256 | <footnote>(N. del T.: software de Fuente Abierta, por |
| 257 | contraposición al software "cerrado", que sólo distribuye |
| 258 | ejecutables y no permite examinar el código fuente. |
| 259 | Todos estos conceptos se le aclararán a lo largo del |
| 260 | manual.)</footnote> |
| 261 | |
| 262 | |
| 263 | Puesto que Open Source (R) es una marca registrada, sólo el |
| 264 | software auténticamente libre puede llamarse Open Source |
| 265 | (R). Puede encontrarse con vendedores que intentan |
| 266 | confundirle afirmando que su software es "libre", cuando en |
| 267 | realidad está sujeto a importantes restricciones. La marca |
| 268 | registrada Open Source (R) le da cierta garantía de que el |
| 269 | software es realmente software libre. 'Open Source |
| 270 | software' se abrevia ocacionalmente como 'OSS'. |
| 271 | |
| 272 | <p>Quizá se pregunte: ¿por qué debería la gente gastar horas |
| 273 | de su propio tiempo para escribir software, empaquetarlo |
| 274 | cuidadosamente, y después regalarlo? Las respuestas son tan |
| 275 | variadas como la gente que contribuye. |
| 276 | |
| 277 | <p>Muchos creen en compartir la información y tener la |
| 278 | libertad de cooperar con los demás, y sienten que el |
| 279 | software libre fomenta esto. Hay una larga tradición que |
| 280 | comienza en los años 50 que de sostener estos valores, |
| 281 | denominada algunas veces la Ética Hacker. (Puede leer más |
| 282 | sobre ello en el agradable libro de Steven Levy, |
| 283 | <em>Hackers: Héroes de la Revolución Informática</em>.) |
| 284 | |
| 285 | <p>Otros quieren aprender más sobre los ordenadores. Más y |
| 286 | más gente está buscando maneras de evitar el precio |
| 287 | desorbitado del software comercial. Una creciente multitud |
| 288 | contribuye como agradecimiento al magnífico software libre |
| 289 | que han recibido de otros. |
| 290 | |
| 291 | <p>Dentro del mundo académico, muchos crean software libre |
| 292 | para ayudar a dar a los resultados de su investigación un |
| 293 | uso más extenso. Los negocios ayudan a mantener software |
| 294 | libre para tener voz y voto en cómo se desarrolla: ¡no hay |
| 295 | modo más rápido de conseguir una nueva característica que |
| 296 | implementarla uno mismo o contratar a un técnico para que |
| 297 | lo haga! Los negocios están también interesados en una |
| 298 | mayor fiabilidad y en la posibilidad de elegir entre |
| 299 | proveedores de asistencia técnica. |
| 300 | |
| 301 | |
| 302 | <p>Y aún hay otros que consideran el software libre como un |
| 303 | bien social, que democratiza el acceso a la información y |
| 304 | evita la excesiva centralización de la infraestructura de |
| 305 | la información mundial. Por supuesto, muchos de nosotros |
| 306 | simplemente lo encontramos muy divertido. |
| 307 | |
| 308 | <p>Debian está tan comprometida con el software libre que |
| 309 | pensamos que sería útil si estuviera formalizado en alguna |
| 310 | clase de documento. Nuestro <url |
| 311 | id="http://www.debian.org/social_contract" name="Contrato |
| 312 | Social"> promete que Debian siempre será 100% software |
| 313 | libre. Cuando usted descarga un paquete de la distribución |
| 314 | principal de Debian (<tt>main</tt>), puede estar seguro de |
| 315 | que cumple nuestras Líneas Maestras del Software Libre. |
| 316 | |
| 317 | <p>Aunque Debian cree en el software libre, hay casos en los |
| 318 | que la gente quiere o necesita software registrado |
| 319 | |
| 320 | <footnote>(N. del T.: registrado en el sentido de sujeto a |
| 321 | derechos de copia y, por lo tanto, cuya libre |
| 322 | distribución es imposible.)</footnote> |
| 323 | |
| 324 | en su máquina. Siempre que sea posible Debian apoyará |
| 325 | esto; aunque el software registrado no se incluye en la |
| 326 | distribución principal (<tt>main</tt>), está a veces |
| 327 | disponible en el sitio ftp en el directorio |
| 328 | <tt>non-free</tt>, y hay un creciente número de paquetes |
| 329 | cuya única función es instalar software registrado que no |
| 330 | se nos permite distribuir por nosotros mismos. |
| 331 | |
| 332 | <p>Es importante distinguir entre software <em>comercial</em> |
| 333 | y software <em>registrado</em>. Software registrado es |
| 334 | software no-libre, mientras que software comercial es |
| 335 | software que se vende por dinero. Debian permite que el |
| 336 | software comercial forme parte de la distribución |
| 337 | principal, pero no el software registrado. Recuerde que la |
| 338 | frase "software libre" no se refiere al precio; es por |
| 339 | tanto posible vender software libre. Para mayores |
| 340 | aclaraciones acerca e la terminología, vea <url |
| 341 | id="http://www.opensource.org" |
| 342 | name="http://www.opensource.org"> o <url |
| 343 | id="http://www.fsf.org/philosophy/categories.html" |
| 344 | name="http://www.fsf.org/philosophy/categories.html"> |
| 345 | |
| 346 | |
| 347 | <!-- FIXME TO COMPLETE |
| 348 | <sec id="introduction-why"> ¿Por qué debería usar Debian? |
| 349 | |
| 350 | <p>Para qué es buena Debian, y para qué no. |
| 351 | |
| 352 | --> |
| 353 | |
| 354 | <sect id="introduction-how">Cómo Leer Este Libro |
| 355 | |
| 356 | <p>La mejor forma de aprender sobre casi cualquier programa |
| 357 | informático es hacerlo en su ordenador. La mayoría de la |
| 358 | gente encuentra que leer un libro sin utilizar el programa |
| 359 | no es beneficioso. La mejor manera de aprender Unix y |
| 360 | GNU/Linux es usándolos. Utilice GNU/Linux para todo lo que |
| 361 | pueda. Experimente. No tenga miedo: es <em>posible</em> |
| 362 | estropear las cosas, pero siempre puede reinstalar. |
| 363 | ¡Guarde copias de seguridad y diviértase! |
| 364 | |
| 365 | <p>Debian no es tan obviamente intuitivo como algunos otros |
| 366 | sistemas operativos. Por lo tanto, probablemente terminará |
| 367 | leyendo al menos los primeros capítulos de esta |
| 368 | introducción. GNU/Linux es como un coche de carreras, la |
| 369 | cocina de un maestro chef, o una novela clásica; su |
| 370 | potencia y complejidad hacen difícil acercarse al |
| 371 | principio, pero es muchísimo más provechoso a largo plazo. |
| 372 | |
| 373 | <p>La manera que sugerimos de aprender es leer un poco, |
| 374 | después practicar un poco. Siga practicando hasta que esté |
| 375 | cómodo con los conceptos, y luego empiece a hojear el |
| 376 | libro. Encontrará que cubre un conjunto de temas, algunos |
| 377 | de los cuales puede encontrar interesantes y algunos de los |
| 378 | cuales encontrará aburridos. Después de un tiempo, debería |
| 379 | sentir la confianza suficiente para empezar a usar órdenes |
| 380 | sin saber exactamente lo que hacen. Esto es bueno. |
| 381 | |
| 382 | <p>Debe saber algo que puede ayudarle: si por error alguna |
| 383 | vez teclea una orden, o no sabe cómo abandonar un programa, |
| 384 | C-c (apretar al mismo tiempo la tecla Ctrl y la letra c |
| 385 | minúscula) con frecuencia detendrán el programa. |
| 386 | |
| 387 | <sect id="introduction-lpd">El Proyecto de Documentación de |
| 388 | Linux |
| 389 | |
| 390 | <p>Este manual está basado en buena medida en la <em>Guía del |
| 391 | Usuario de Linux</em>, de Larry Greenfield, del Proyecto de |
| 392 | Documentación de Linux. ¡Gracias Larry! Este proyecto |
| 393 | tiene otros varios manuales excelentes, muchos de los cuales |
| 394 | están dirigidos a usuarios más experimentados y |
| 395 | administradores de sistemas. El PDL también mantiene los |
| 396 | CÓMOs de Linux, un inestimable recurso con el que debería |
| 397 | familiarizarse. Puede encontrar el PDL en su <url |
| 398 | id="http://sunsite.unc.edu/LDP/" name="página principal">. |
| 399 | |
| 400 | <footnote>(N. del T.: The Linux Documentation Project, |
| 401 | LDP.)</footnote> |
| 402 | |
| 403 | |
| 404 | <chapt id="start"> <heading> Empezando </heading> |
| 405 | |
| 406 | <p>¡Así que acaba de terminar de instalar Debian! Felicidades. |
| 407 | Métase de lleno y comience a aprender a usarla. |
| 408 | |
| 409 | <p>Como parte del proceso de instalación, debería haber |
| 410 | comprendido cómo arrancar el sistema Debian (con un disquete |
| 411 | especial, simplemente encendiendo el ordenador, o presionando |
| 412 | la tecla <tt>Alt</tt> al prompt del LILO y escogiendo Linux). |
| 413 | |
| 414 | <!-- ARREGLAR : debería haber una referencia al apéndice --> |
| 415 | |
| 416 | <sect id="start-multi"> Un sistema operativo multiusuario y |
| 417 | multitarea |
| 418 | |
| 419 | <p>Como mencionábamos antes (<ref id="introduction-debian">), |
| 420 | el diseño de Debian GNU/Linux proviene del sistema operativo |
| 421 | Unix. Al contrario que los sistemas operativos comunes en |
| 422 | ordenadores personales como DOS, Windows, y MacOS, Unix se |
| 423 | encuentra usualmente en grandes servidores y sistemas |
| 424 | <em>multiusuario</em>. |
| 425 | |
| 426 | <p>Esto significa que Debian posee rasgos de los que carecen |
| 427 | esos otros sistemas operativos. Permite a un gran número de |
| 428 | personas utilizar la computadora a la vez, en tanto cada |
| 429 | usuario tenga su propia <em>terminal</em> |
| 430 | |
| 431 | <footnote>Una terminal es sólo un teclado y una pantalla |
| 432 | conectados al ordenador a través de una red, de módem, o |
| 433 | directamente. Su teclado y monitor forman una terminal que |
| 434 | está directamente unida a la computadora: esta terminal |
| 435 | especial se denomina con frecuencia la |
| 436 | <em>consola</em>.</footnote>. |
| 437 | |
| 438 | Para permitir a muchos usuarios trabajar a la vez, Debian |
| 439 | debe permitir a muchos programas y aplicaciones funcionar |
| 440 | simultáneamente. Esta característica se llama |
| 441 | <em>multitarea</em>. |
| 442 | |
| 443 | <p>Gran parte de la complejidad (y la potencia) de los |
| 444 | sistemas operativos al estilo Unix resultan de estas dos |
| 445 | características. Por ejemplo, el sistema debe tener un |
| 446 | modo de evitar que los usuarios se borren accidentalmente |
| 447 | unos a otros los archivos, y tiene que coordinar los muchos |
| 448 | programas que funcionan a la vez, por ejemplo para asegurar |
| 449 | que no utilizan el disco duro al mismo tiempo. |
| 450 | |
| 451 | <p>Si tiene en mente lo que Debian fue originalmente diseñada |
| 452 | para hacer, muchos de sus aspectos cobrarán un sentido más |
| 453 | claro. Aprenderá a sacar provecho de la potencia de estas |
| 454 | características. |
| 455 | |
| 456 | <sect id="start-login">Ingresar |
| 457 | |
| 458 | <p>Para utilizar Debian tiene que identificarse ante el |
| 459 | sistema. Esto es así para que sepa quién es usted, qué |
| 460 | tiene permiso para hacer, y cuáles son sus preferencias. |
| 461 | |
| 462 | <p>A este fin, usted tiene un <em>nombre de usuario</em> o |
| 463 | <em>ingreso</em> |
| 464 | |
| 465 | <footnote>(N. del T.: login.)</footnote> |
| 466 | |
| 467 | ; si ha instalado usted mismo Debian, debería habérsele |
| 468 | pedido tal nombre durante la instalación. Si está |
| 469 | ingresando en un sistema administrado por algún otro, |
| 470 | tendrá que pedirle una cuenta en el sistema, y su |
| 471 | correspondiente nombre de usuario. |
| 472 | |
| 473 | <p>También tiene una contraseña, de modo que nadie más puede |
| 474 | fingir ser usted. Si no tuviera una contraseña, cualquiera |
| 475 | podría ingresar en su ordenador desde Internet, y preparar |
| 476 | un desaguisado (vea <ref id="advanced-security">). Si le |
| 477 | preocupa la seguridad, debería tener una contraseña. |
| 478 | |
| 479 | <p>Mucha gente prefiere confiar en que los demás no harán nada |
| 480 | malo con sus cuentas; es de esperar que su entorno de |
| 481 | trabajo no fomente la paranoia. Esta es una actitud |
| 482 | perfectamente razonable; depende de sus prioridades |
| 483 | personales, y su entorno. Obviamente un sistema personal en |
| 484 | casa no precisa ser tan seguro como una instalación militar. |
| 485 | Debian le permite ser tan seguro o tan inseguro como |
| 486 | prefiera. |
| 487 | |
| 488 | <p>Cuando arranca Debian, verá un <em>prompt</em>; la |
| 489 | computadora le pide cierta información. En este caso, el |
| 490 | prompt es <tt>login:</tt>. |
| 491 | |
| 492 | <p>Debe introducir su nombre de usuario, y cuando se lo |
| 493 | solicite, su contraseña. La contraseña no aparece en la |
| 494 | pantalla según la teclea; es para que nadie pueda observar |
| 495 | sobre su hombre y ver cuál es. Apriete <tt>Intro</tt> |
| 496 | después de ambos, nombre de usuario y contraseña. Si |
| 497 | teclea su nombre de usuario o contraseña incorrectamente, |
| 498 | tendrá que comenzar de nuevo |
| 499 | |
| 500 | <p>Si lo hace correctamente, verá un breve mensaje y después |
| 501 | un prompt <tt>$</tt>. El <tt>$</tt> lo |
| 502 | imprime |
| 503 | |
| 504 | <footnote>(N. del T.: si procede de sistemas operativos |
| 505 | basados en entornos gráficos es posible que esta |
| 506 | terminología le sorprenda un poco al principio. Cuando |
| 507 | hablamos de imprimir, en este contexto, nos referimos a |
| 508 | "imprimir en pantalla".)</footnote> |
| 509 | |
| 510 | un programa especial llamado la <em>shell</em> y por lo |
| 511 | tanto se llama <em>prompt de la shell</em>: aquí es donde |
| 512 | le da órdenes al sistema. |
| 513 | |
| 514 | <p>Pruebe ahora a introducir la orden <tt>whoami</tt> |
| 515 | |
| 516 | <footnote>(N. del T.: "quiensoyyo".)</footnote> |
| 517 | |
| 518 | . Hay un |
| 519 | <em>cursor</em> a la derecha del prompt de la shell. El |
| 520 | cursor es un pequeño subrayado o un rectángulo que indica |
| 521 | dónde está tecleando; debería moverse cuando usted escribe. |
| 522 | Presione siempre <tt>RET</tt> (la tecla Intro, o Retorno) |
| 523 | cuando haya terminado de escribir una instrucción en la |
| 524 | shell. |
| 525 | |
| 526 | <p><tt>whoami</tt> dice su nombre de usuario. Después |
| 527 | obtendrá un nuevo prompt de la shell. |
| 528 | |
| 529 | <p>Para el resto del manual, cuando decimos que introduzca |
| 530 | una orden, debería escribirla en el prompt de la shell y |
| 531 | apretar la tecla <tt>RET</tt>. En algunos teclados está |
| 532 | etiquetada como <tt>Return</tt> y en otros es |
| 533 | <tt>Return</tt>. Misma tecla, distinto nombre. |
| 534 | |
| 535 | <footnote>(N. del T.: en español "Intro".)</footnote> |
| 536 | |
| 537 | <p>Cuando haya terminado de trabajar, querrá abandonar el |
| 538 | sistema. Para salir de la shell, introduzca la instrucción |
| 539 | <tt>exit</tt>. Recuerde que si permanece ingresado, podría |
| 540 | presentarse alguien y utilizar su cuenta. En el mejor de |
| 541 | los casos, puede confiar en que la gente de su oficina o su |
| 542 | casa no lo hará; pero si no confía en su entorno, debería |
| 543 | asegurarse de que abandona el sistema cuando se marcha. |
| 544 | |
| 545 | <sect id="start-keys"> Teclas |
| 546 | |
| 547 | <p>Antes de continuar, es importante familiarizarse con las |
| 548 | convenciones utilizadas en este manual para describir las |
| 549 | órdenes que consisten en presionar series de teclas. |
| 550 | |
| 551 | <p>Cuando deba apretar simultáneamente varias teclas, se |
| 552 | utilizará una notación como <tt>C-a</tt>. Esto significa |
| 553 | "apriete la tecla de control, y teclee la a minúscula". |
| 554 | Otras abreviaturas incluyen la tecla Alt, <tt>A</tt>, y la |
| 555 | tecla Meta <tt>M</tt>. Algunos teclados tienen ambas Alt y |
| 556 | Meta; la mayoría de los ordenadores personales tienen sólo |
| 557 | Alt, pero la tecla Alt se comporta como una tecla Meta. Así |
| 558 | que si no tiene tecla Meta, pruebe la tecla Alt en su lugar. |
| 559 | |
| 560 | <p>Teclas como Alt y Meta se denominan |
| 561 | <em>modificadores</em>, porque alteran el significado de |
| 562 | las teclas estándar como la letra A. A veces necesitará |
| 563 | presionar más de un modificador; por ejemplo, |
| 564 | <tt>M-C-a></tt> significa apretar simultáneamente Meta, |
| 565 | Ctrl, y la a minúscula. |
| 566 | |
| 567 | <p>Algunas teclas tienen una notación especial; por ejemplo, |
| 568 | <tt>RET</tt> (Retorno/Intro), <tt>BORR</tt> (Borrar o a |
| 569 | veces, espacio atrás) |
| 570 | |
| 571 | <footnote>(N. de. T.: "Borrar" se encuentra en la parte |
| 572 | superior derecha del cuadro principal de su teclado, y |
| 573 | suele estar etiquetada con una flecha que apunta hacia la |
| 574 | izquierdas. Es "Borrar" o "espacio atrás". Existe otra |
| 575 | tecla, a la derecha de ésta, denominada "Suprimir". El |
| 576 | comportamiento de ambas puede resultar algo confuso a |
| 577 | veces, debido a las diferencias existentes entre el |
| 578 | estándar estadounidense y europeo.)</footnote> |
| 579 | |
| 580 | <tt>ESC</tt> (Escape). Éstas se explican por sí mismas. |
| 581 | |
| 582 | <p>Espacios en lugar de guiones significa presionar las teclas |
| 583 | formando una secuencia. Así, por ejemplo, <tt>C-a x RET</tt> quiere decir apretar simultáneamente Control y a |
| 584 | minúscula, seguidas de la letra x, seguidas de apretar |
| 585 | Intro. |
| 586 | |
| 587 | |
| 588 | <sect id="start-commandline"> Historial de órdenes y editar la línea de instrucciones |
| 589 | |
| 590 | <p>Cualquier cosa que teclee después del prompt de la shell y |
| 591 | antes de apretar <tt>RET</tt> se llama <em>línea de |
| 592 | instrucciones</em>: es una línea de texto que ordena a la |
| 593 | computadora hacer algo. La shell por defecto de Debian |
| 594 | tiene varias características que facilitan la introducción |
| 595 | de líneas de comandos. |
| 596 | |
| 597 | <p>Puede desplazarse por las órdenes anteriores para |
| 598 | ejecutarlos de nuevo, o modificarlas ligeramente y |
| 599 | <em>después</em> ejecutarlas de nuevo. Pruebe esto: |
| 600 | introduzca cualquier instrucción, como <tt>whoami</tt>; |
| 601 | luego presione la tecla de flecha superior. La orden |
| 602 | <tt>whoami</tt> reaparecerá en el prompt. Puede entonces |
| 603 | apretar <tt>RET</tt> para ejecutar <tt>whoami</tt> por |
| 604 | segunda vez. |
| 605 | |
| 606 | <p>Si ha introducido varias órdenes, puede mantener apretada |
| 607 | la tecla de flecha superior para volver a ellas. Esta |
| 608 | característica es útil si hace lo mismo varias veces, o si |
| 609 | teclea incorrectamente una orden y quiere volver atrás para |
| 610 | corregirla. Puede presionar la flecha inferior para |
| 611 | desplazarse en la otra dirección, hacia sus instrucciones |
| 612 | más recientes. Si no hay más órdenes hacia las que |
| 613 | moverse, la computadora dará un pitido. |
| 614 | |
| 615 | <p>También puede moverse por la línea de instruccioness para |
| 616 | hacer cambios. La forma más sencilla es con las teclas de |
| 617 | flecha izquierda y derecha: escriba <tt>whoasmi</tt> en |
| 618 | lugar de <tt>whoami</tt>, después utilice la tecla de |
| 619 | flecha izquierda para volver hasta la <tt>s</tt>. Puede |
| 620 | borrar la <tt>s</tt> con las teclas de Borrar o Suprimir. |
| 621 | |
| 622 | <p>Hay también funciones más avanzados (sin embargo, no hace |
| 623 | falta memorizarlos todas ahora). Escriba <tt>C-a</tt>. |
| 624 | Esto le llevará al principio de la línea. <tt>C-k</tt> (la |
| 625 | <tt>k</tt> se refiere a "kill" |
| 626 | |
| 627 | <footnote>(N. del T.: "matar".)</footnote>) |
| 628 | |
| 629 | borra hasta el final de la línea; pruébelo desde la mitad |
| 630 | de la línea de instrucciones. Utilizando <tt>C-a</tt> |
| 631 | seguido de <tt>C-k</tt>, puede borrar la línea entera. |
| 632 | <tt>C-y</tt> pega la última línea que borró, insertándola en |
| 633 | la posición actual del cursor (<tt>y</tt> se refiere a |
| 634 | "yank", como en "yank it back" |
| 635 | |
| 636 | <footnote>(N. del T.: "yank" significa en inglés "tirar" o |
| 637 | "dar un tirón"; "yank it back" vendría a ser "vuelve a |
| 638 | ponerlo en su sitio".)</footnote>). |
| 639 | |
| 640 | <tt>C-e</tt> llevará el cursor al final de la línea de |
| 641 | instrucciones. |
| 642 | |
| 643 | <p>Vaya y juegue con la línea de instrucciones, editando, |
| 644 | para cogerle el tranquillo. Experimente. |
| 645 | |
| 646 | <sect id="start-root"> Ingresando como root |
| 647 | |
| 648 | <p>Puesto que Debian es un sistema multiusuario, está |
| 649 | diseñado para evitar que cualquier usuario o programa |
| 650 | estropee todo el sistema. El kernel no permitirá a los |
| 651 | usuarios normales modificar archivos importantes del sistema. |
| 652 | Esto significa que las cosas permanecen del modo en que se |
| 653 | supone que tienen que estar, a salvo de accidentes, virus, |
| 654 | e incluso bromas maliciosas. Al contrario que otros |
| 655 | sistemas operativos, Debian está a salvo de esas amenazas. |
| 656 | No necesitará un programa antivirus. |
| 657 | |
| 658 | <p>Sin embargo, a veces se necesita cambiar importantes |
| 659 | ficheros del sistema: por ejemplo, puede querer instalar |
| 660 | nuevo software, o configurar la conexión de red. Para |
| 661 | hacerlo, usted precisa poderes mayores que los de un usuario |
| 662 | normal; debe convertirse en el <em>usuario root</em> |
| 663 | (también llamado el <em>superusuario</em> |
| 664 | |
| 665 | <footnote>(N. del T.: en inglés, "root" significa |
| 666 | "raíz".)</footnote>). |
| 667 | |
| 668 | <p>Para hacerse root, simplemente ingrese con el nombre de |
| 669 | usuario <tt>root</tt> y la contraseña de root, si la tiene. |
| 670 | Esperemos que recuerde la contraseña de cuando instaló el |
| 671 | sistema: si no, tiene un problema |
| 672 | |
| 673 | <footnote>La solución a este problema es bastante |
| 674 | técnica. Tiene que arrancar con un disco de rescate, montar |
| 675 | la partición root normal, y editar <tt>/etc/passwd</tt> para |
| 676 | eliminar la contraseña de root anterior. Pida ayuda si no |
| 677 | le encuentra sentido a esto (vea <ref |
| 678 | id="docs-support">). </footnote>. |
| 679 | |
| 680 | <!-- FIXME ¿No es mucho más fácil/rápido arrancar con --> |
| 681 | <!-- 'init=/bin/bash'? --> |
| 682 | |
| 683 | <!-- ARREGLAR sí, si tienes acceso a la consola. Como estés haciendo --> |
| 684 | <!-- administración remota estás listo. --> |
| 685 | |
| 686 | <p>En muchos sitios, sólo el administrador del sistema tiene |
| 687 | la contraseña de root, y sólo el administrador del sistema |
| 688 | puede hacer las cosas que uno tiene que ser root para hacer. |
| 689 | Si usted está usando su propio ordenador personal, |
| 690 | <em>usted</em> es el administrador del sistema, por |
| 691 | supuesto. Si no tiene privilegios de root, tendrá que |
| 692 | confiar en el administrador del sistema para realizar |
| 693 | cualquier tarea que requiera privilegios de root. |
| 694 | |
| 695 | <p>A veces tendrá la contraseña de root incluso en un |
| 696 | servidor compartido corporativo o educativo, porque el |
| 697 | administrador confía en que la utilizará apropiadamente. |
| 698 | En ese caso, podrá ayudar a administrar el sistema y |
| 699 | personalizarlo para que se adapte a sus necesidades. Pero |
| 700 | debería asegurarse de utilizar la contraseña de manera |
| 701 | responsable, respetando a los otros usuarios en todo |
| 702 | momento. |
| 703 | |
| 704 | <p>Si tiene la contraseña, ingrese ahora como root. |
| 705 | Introduzca la orden <tt>whoami</tt> para verificar su |
| 706 | identidad. Después <em>abandone el sistema |
| 707 | inmediatamente</em>. Cuando uno es root, el kernel no le |
| 708 | protege de sí mismo, porque root tiene permiso para hacerle |
| 709 | absolutamente cualquier cosa al sistema. Por ejemplo, |
| 710 | puede teclear <tt>rm -rf /</tt> y borrar <em>el sistema |
| 711 | entero</em> con unas pocas pulsaciones. (No hace falta |
| 712 | decir que <em>NO</em> debería teclear esto.) No |
| 713 | experimente mientras es root. En realidad, no haga nada |
| 714 | como root, a menos que sea absolutamente necesario. Esto |
| 715 | no es una cuestión de seguridad, sino más bien de |
| 716 | estabilidad. Su sistema funcionará mucho mejor si puede |
| 717 | evitar que usted cometa errores tontos. |
| 718 | |
| 719 | <p>Puede encontrar la orden <prgn>su</prgn> más conveniente |
| 720 | que ingresar como root. <prgn>su</prgn> permite asumir la |
| 721 | identidad de otro usuario, normalmente root a menos que se |
| 722 | especifique alguien más. (Puede recordar que |
| 723 | <prgn>su</prgn> se refiere a Super User, aunque algunos |
| 724 | dicen que viene de Set UserID.) |
| 725 | |
| 726 | <footnote>(N. del T.: Set (establecer) User (usuario) ID |
| 727 | (identidad). Por tanto, establecer la identidad del |
| 728 | usuario. De la documentación podría añadirse incluso otra |
| 729 | interpretación: Substitute User, susituir al usuario.) |
| 730 | </footnote> |
| 731 | |
| 732 | <p>Practique: |
| 733 | |
| 734 | <enumlist> |
| 735 | |
| 736 | <item> Ingrese como usted mismo, esto es, no como |
| 737 | root. |
| 738 | |
| 739 | <item><tt>whoami</tt> <p> Confirme su nombre de |
| 740 | usuario. |
| 741 | |
| 742 | <item><tt>su</tt> <p> Introduzca la orden <tt>su</tt>. |
| 743 | Le pedirá una contraseña; introduzca la contraseña |
| 744 | de root. Si le da la contraseña correcta, debería |
| 745 | ver un nuevo prompt de la shell. Por defecto, el |
| 746 | prompt de la shell de root es <tt>#</tt> en lugar |
| 747 | de <tt>$</tt>. |
| 748 | |
| 749 | |
| 750 | <item><tt>whoami</tt> <p> Esto debería darle "root" |
| 751 | como su nuevo nombre de usuario. |
| 752 | |
| 753 | <item><tt>exit</tt> <p> Abandone la shell de root. El |
| 754 | prompt volverá a ser <tt>$</tt>. |
| 755 | |
| 756 | </enumlist> |
| 757 | |
| 758 | <p>Cuando esté realizando tareas de administración del |
| 759 | sistema, debería hacer tanto como pueda como usted mismo. |
| 760 | Después, <tt>su</tt>, haga la parte que requiera privilegios |
| 761 | de root, y <tt>exit</tt> para eliminar los privilegios de |
| 762 | modo que ya no pueda dañar nada. |
| 763 | |
| 764 | <p>Puede utilizar <tt>su</tt> para asumir la identidad de |
| 765 | cualquier usuario del sistema, no sólo root. Para hacer |
| 766 | esto, teclee <tt>su <var>usuario</var></tt> donde |
| 767 | <var>usuario</var> es el usuario en el que se quiere |
| 768 | convertir. Tendrá que conocer su contraseña, por supuesto, |
| 769 | a menos que sea root en ese momento o no tenga contraseña. |
| 770 | |
| 771 | <sect id="start-VC"> Consolas virtuales |
| 772 | |
| 773 | <p>El kernel Linux permite el uso de <em>consolas |
| 774 | virtuales</em>. Estas consisten en un modo de hacer que |
| 775 | una única pantalla y teclado se comporten como múltiples |
| 776 | terminales, conectadas todas al mismo sistema. Menos mal, |
| 777 | usar consolas virtuales es una de las cosas más sencillas |
| 778 | sobre Debian: hay teclas calientes para alternar entre las |
| 779 | consolas rápidamente. Para practicar, ingrese en su |
| 780 | sistema, y teclee <tt>A-F2</tt> (presione simultáneamente |
| 781 | la tecla <tt>Alt</tt>, y <tt>F2</tt>, esto es, la tecla de |
| 782 | función número 2). |
| 783 | |
| 784 | <p>Debería encontrarse con otro prompt de ingreso. No se |
| 785 | asuste: ¡ahora está en la consola virtual (CV) número 2! |
| 786 | Ingrese aquí y haga algunas cosas --- más <tt>whoami</tt> o |
| 787 | lo que sea --- para confirmar que esta es una auténtica |
| 788 | shell de ingreso. Ahora puede regresar a la consola virtual |
| 789 | número 1, con <tt>A-F1</tt>. O puede moverse a una |
| 790 | <em>tercera</em> consola virtual, con el procedimiento obvio |
| 791 | (<tt>A-F3</tt>). |
| 792 | |
| 793 | <p>Debian viene con seis consolas virtuales habilitadas por |
| 794 | defecto, a las que se accede con la tecla Alt y las teclas |
| 795 | de función <tt>F1-F6</tt> (técnicamente, hay más consolas |
| 796 | virtuales habilitadas, pero sólo seis de ellas permiten el |
| 797 | ingreso. Las otras se utilizan en el Sistema X Window o |
| 798 | para otros propósitos especiales). |
| 799 | |
| 800 | <p>Si está usando el Sistema X Window, empezará generalmente |
| 801 | en la primera consola virtual no utilizada, probablemente |
| 802 | CV 7. Para alternar de la consola virtual X a una de las |
| 803 | seis primeras, habrá que añadir <tt>Ctrl</tt> a la |
| 804 | secuencia de teclas. Así que será <tt>C-A-F1</tt> para ir |
| 805 | a CV 1. Pero se puede ir de una CV de texto a la consola |
| 806 | virtual X utilizando solamente <tt>Alt</tt>. Si usted |
| 807 | nunca abandona las X, no tendrá que preocuparse acerca de |
| 808 | esto; X automáticamente le llevará a su consola virtual al |
| 809 | iniciarse. |
| 810 | |
| 811 | <p>Una vez que se haya acostumbrado a ellas, las consolas |
| 812 | virtuales se convertirán probablemente en una herramienta |
| 813 | indispensable para hacer muchas cosas a la vez. (El |
| 814 | Sistema X Window sirve para el mismo propósito, |
| 815 | proporcionando múltiples ventanas en lugar de consolas |
| 816 | múltiples.) Puede ejecutar un programa diferente en cada |
| 817 | CV o ingresar como root en una CV y como usted mismo en |
| 818 | otra. O cada miembro de la familia puede utilizar su |
| 819 | propia CV; es especialmente útil si utiliza las X, en cuyo |
| 820 | caso puede ejecutar varias sesiones X a la vez, en |
| 821 | diferentes consolas virtuales. |
| 822 | |
| 823 | <sect id="start-shutdown"> Cerrar el sistema |
| 824 | |
| 825 | <p><em>¡No apague el ordenador sin más! ¡Se arriesga a perder |
| 826 | datos valiosos!"</em> |
| 827 | |
| 828 | <p>Si usted es el único usuario de su computadora, puede |
| 829 | querer apagarlo cuando ha terminado con él. |
| 830 | |
| 831 | <footnote>Para evitar el posible menoscabo de ciertos |
| 832 | componentes del hardware, apague la computadora solamente |
| 833 | cuando haya concluido para el resto del día. Encender y |
| 834 | apagar son los dos mayores responsables del desgaste por el |
| 835 | uso de los componentes informáticos. Encender y apagar el |
| 836 | ordenador una vez al día es probablemente el mejor |
| 837 | compromiso entre la factura eléctrica y la esperanza de vida |
| 838 | de su computadora.</footnote> |
| 839 | |
| 840 | <p>Al contrario que en la mayoría de las versiones del DOS, es |
| 841 | mala cosa apretar el interruptor sin más cuando ha terminado |
| 842 | de utilizar el ordenador. También es malo rearrancar la |
| 843 | máquina (con el botón de reinicio |
| 844 | |
| 845 | <footnote>(N. del T.: el botón "reset".)</footnote>) |
| 846 | |
| 847 | sin adoptar primero las precauciones adecuadas. El kernel |
| 848 | Linux, para mejorar el rendimiento, tiene una <em>caché de |
| 849 | disco</em>. Esto significa que almacena temporalmente en |
| 850 | RAM información destinada a ser almacenada de manera |
| 851 | permanente: ya que la memoria es miles de veces más veloz |
| 852 | que un disco, esto hace que las operaciones con ficheros |
| 853 | vayan con mayor rapidez. Periódicamente, la información que |
| 854 | Linux tiene en la memoria se escribe de verdad en el disco. |
| 855 | Esto se llama <em>sincronización</em>. Para apagar o |
| 856 | reiniciar la computadora, debe decirle que vacíe la memoria |
| 857 | y almacene los datos de manera permanente. |
| 858 | |
| 859 | <p>Para reiniciar, simplemente teclee <tt>reboot</tt>, o |
| 860 | presione <tt>C-A-BORR</tt> (esto es, Control, Alt, y |
| 861 | Borrar). |
| 862 | |
| 863 | <p>Para cerrar el sistema, hay que ser <tt>root</tt>. Como |
| 864 | root, simplemente teclee la orden <tt>shutdown -h now</tt>. |
| 865 | Esto ejecutará completo el procedimiento de cierre, |
| 866 | incluyendo la orden <tt>sync</tt> |
| 867 | |
| 868 | <footnote>(N. del T.: sicronización.)</footnote> |
| 869 | |
| 870 | que vacía la caché de disco como se describió antes. Cuando |
| 871 | vea <tt>System halted</tt>, es seguro apagar el ordenador. |
| 872 | Si el kernel y la BIOS admiten la Gestión Avanzada de |
| 873 | Energía (GAE) |
| 874 | |
| 875 | <footnote>(N. del T.: Advanced Power Management, |
| 876 | APM.)</footnote>, |
| 877 | |
| 878 | la computadora se apagará sola y le ahorrará la molestia. |
| 879 | GAE es común en portátiles y también se encuentra en ciertas |
| 880 | placas madres de escritorio. |
| 881 | |
| 882 | <p>Algunas personas encuentran más simple cerrar el sistema |
| 883 | tecleando <tt>C-A-BORR</tt> para reiniciar, después apagar |
| 884 | el ordenador antes de que el kernel Linux empiece a |
| 885 | recargarse. Sin embargo, una vez que el kernel empieza a |
| 886 | cargarse, deberá esperar a que termine y entonces reiniciar |
| 887 | apropiadamente o cerrar el sistema de nuevo. |
| 888 | |
| 889 | <chapt id="basics"> <heading> Los fundamentos </heading> |
| 890 | |
| 891 | <!-- FIXME escribir aquí una pequeña introducción. --> |
| 892 | |
| 893 | <sect id="basics-commandline"> La línea de instrucciones y las |
| 894 | páginas <tt>man</tt> |
| 895 | |
| 896 | <p>Ya hemos hablado de la <em>línea de instrucciones</em>, |
| 897 | esto es, las órdenes que se escriben tras el prompt de la |
| 898 | shell. Esta sección describe la estructura de líneas de |
| 899 | órdenes más complejas. |
| 900 | |
| 901 | <p>Una línea de órdenes mínima contiene nada más un nombre de |
| 902 | instrucción, como en <tt>whoami</tt>. Pero se pueden hacer |
| 903 | otras cosas. Por ejemplo, se puede escribir: |
| 904 | |
| 905 | <example> |
| 906 | man whoami |
| 907 | </example> |
| 908 | |
| 909 | <p>Esta orden pide el manual en línea |
| 910 | |
| 911 | <footnote>(N. del T.: "online manual".)</footnote> |
| 912 | |
| 913 | para el programa <tt>whoami</tt> (puede que tenga que |
| 914 | apretar la barra espaciadora para desplazarse por la |
| 915 | documentación, o <tt>q</tt> para salir |
| 916 | |
| 917 | <footnote>(N. del T.: "q" de "quit", salir, |
| 918 | abandonar.)</footnote>). |
| 919 | |
| 920 | Un ejemplo más complicado: |
| 921 | |
| 922 | <example> |
| 923 | man -k Postscript |
| 924 | </example> |
| 925 | |
| 926 | Esta línea de órdenes tiene tres partes. Comienza con el |
| 927 | nombre de la instrucción, <tt>man</tt>. Después tiene una |
| 928 | <em>opción</em> o <em>conmutador</em>, <tt>-k</tt>, |
| 929 | seguido de un <em>argumento</em>, <tt>Postscript</tt>. |
| 930 | Algunas personas designan todo excepto el nombre de la |
| 931 | orden como <em>parámetros</em> de la instrucción. Así |
| 932 | que, ambos, opciones y argumentos, son parámetros. |
| 933 | |
| 934 | <p>Las opciones cambian el comportamiento de la orden, |
| 935 | activando caracteres o funciones particulares. Usualmente |
| 936 | llevan antepuesto un <tt>-</tt>. Las utilidades GNU |
| 937 | tienen también "formas largas" para las opciones; la forma |
| 938 | larga de <tt>-k</tt> es <tt>--apropos</tt>. Introduzca |
| 939 | <tt>man -h</tt> o <tt>man --help</tt> para obtener la |
| 940 | lista completa de opciones para la instrucción |
| 941 | <tt>man</tt>. Cada orden tendrá su propio conjunto de |
| 942 | opciones, aunque la mayoría dispone de las opciones |
| 943 | <tt>--help</tt> y <tt>--version</tt>. Hay excepciones; |
| 944 | <tt>tar</tt>, por ejemplo, no requiere el <tt>-</tt> antes |
| 945 | de las opciones, por razones históricas. |
| 946 | |
| 947 | <p>Cualquier cosa que no sea una opción y no sea el nombre |
| 948 | de la orden es un <em>argumento</em>. En este caso, |
| 949 | <tt>Postscript</tt>. Los argumentos pueden servir a |
| 950 | muchos propósitos; con mayor frecuencia, son los nombres |
| 951 | de los ficheros sobre los que la orden debería operar. En |
| 952 | este caso, <tt>Postscript</tt> es la palabra que usted |
| 953 | quiere que <prgn>man</prgn> busque. In el caso de <tt>man |
| 954 | whoami</tt>, el argumento era la orden sobre la que quería |
| 955 | información. |
| 956 | |
| 957 | <p>Fraccionando la línea de órdenes <tt>man -k |
| 958 | Postscript</tt>: |
| 959 | |
| 960 | <list> |
| 961 | |
| 962 | <item> <tt>man</tt>, el nombre de la orden, le dice a |
| 963 | la computadora que busque en las páginas de manual. |
| 964 | Éstas proporcionan documentación sobre las |
| 965 | instrucciones. Por ejemplo, <tt>man whoami</tt> le |
| 966 | da información sobre la orden <tt>whoami</tt>. |
| 967 | |
| 968 | <item> <tt>-k</tt>, la opción, altera el |
| 969 | comportamiento de <tt>man</tt>. Normalmente, |
| 970 | <tt>man</tt> espera un nombre de instrucción como |
| 971 | argumento, tal como <tt>whoami</tt>, y busca la |
| 972 | documentación de ese comando. Pero con la opción |
| 973 | <tt>-k</tt> o <tt>--apropos</tt>, espera que el |
| 974 | argumento sea una palabra clave. Entonces |
| 975 | proporciona una lista de todas las páginas de manual |
| 976 | con esa palabra clave en su descripción. |
| 977 | |
| 978 | <item> <tt>-k</tt>y <tt>Postscript</tt> es el argumento; |
| 979 | puesto que hemos utilizado la opción <tt>-k</tt>, es |
| 980 | la palabra clave que hay que buscar. |
| 981 | |
| 982 | <item> <tt>-k</tt> y <tt>Postscript</tt> son ambos |
| 983 | parámetros. |
| 984 | |
| 985 | </list> |
| 986 | |
| 987 | <p>Vaya y escriba <tt>man -k Postscript</tt>, y verá una |
| 988 | lista de todas las páginas de manual en su sistema que |
| 989 | tienen algo que ver con Postscript. Si no ha instalado |
| 990 | demasiado software, puede que vea <tt>Postscript: nada |
| 991 | apropiado</tt> en su lugar. |
| 992 | |
| 993 | <sect id="basics-commandline-description"> Describiendo la línea |
| 994 | de instrucciones |
| 995 | |
| 996 | <p>Nota: esta es una sección que puede omitir, si quiere |
| 997 | avanzar. |
| 998 | |
| 999 | <p>Hay una breve forma tradicional de describir la |
| 1000 | <em>sintaxis</em> de las órdenes |
| 1001 | |
| 1002 | <footnote><em>Sintaxis</em> significa la forma correcta de |
| 1003 | combinar opciones y argumentos.</footnote> |
| 1004 | |
| 1005 | que debería conocer. Por ejemplo, si escribe <tt>man |
| 1006 | man</tt> para obtener la página de manual sobre |
| 1007 | <tt>man</tt>, verá varias varias descripciones sintácticas |
| 1008 | que comienzan con el nombre de la instrucción <tt>man</tt>. |
| 1009 | Una de ellas presenta el siguiente aspecto: |
| 1010 | |
| 1011 | <example> |
| 1012 | man -k [-M camino] palabra clave ... |
| 1013 | </example> |
| 1014 | |
| 1015 | <p>Cualquier cosa entre corchetes (<tt>[]</tt>) es un bloque |
| 1016 | opcional. Así que no tiene que utilizar la opción |
| 1017 | <tt>-M</tt>, pero si lo hace, debe usar un argumento |
| 1018 | <tt>camino</tt>. Debe usar la opción <tt>-k</tt> y el |
| 1019 | argumento <tt>palabra clave</tt>. Los <tt>...</tt> |
| 1020 | significan que podría tener más de lo que sea que vaya antes |
| 1021 | de ellos, de manera que podría buscar varias palabras clave. |
| 1022 | |
| 1023 | <p>Vamos a ver una de las descripciones más complejas de la |
| 1024 | página de manual de <tt>man</tt>: |
| 1025 | |
| 1026 | <example> |
| 1027 | man [-c|-w|-tZT dispositivo] [-adhu7V] [-m sistema[,...]] [-L locale] |
| 1028 | [-p cadena] [-M camino] [-P paginador] [-r prompt] [-S lista] [-e |
| 1029 | extensión] [[sección] página ...] ... |
| 1030 | </example> |
| 1031 | |
| 1032 | No hay necesidad de examinar todo esto (y no se preocupe de |
| 1033 | lo que significa), pero preste atención a la organización |
| 1034 | de la descripción. |
| 1035 | |
| 1036 | <p>Primero, lo grupos de opciones significan usualmente que |
| 1037 | puede usar una o más de ellas en diferentes combinaciones, |
| 1038 | así que <tt>-adhu7V</tt> quiere decir que puede también usar |
| 1039 | <tt>-h</tt>. No obstante, no siempre se pueden usar todas |
| 1040 | las combinaciones; esta descripción no lo deja tan claro. |
| 1041 | Por ejemplo, <tt>-h</tt> es incompatible con otras opciones, |
| 1042 | pero usted podría hacer <tt>man -du</tt>. |
| 1043 | Desafortunadamente, el formato de la descripción no lo deja |
| 1044 | tan claro. |
| 1045 | |
| 1046 | <p>Segundo, el símbolo <tt>|</tt> significa "o". Así que |
| 1047 | puede usar <em>alguna</em> de las opciones <tt>-c</tt>, |
| 1048 | <tt>-w</tt> o <tt>-tZT</tt>, seguidas por un argumento |
| 1049 | <tt>dispositivo</tt>. |
| 1050 | |
| 1051 | <p>Tercero, dése cuenta de que puede anidar los corchetes, |
| 1052 | puesto que indican un <em>bloque</em> opcional. De modo |
| 1053 | que si tiene una <tt>sección</tt>, también ha de tener una |
| 1054 | <tt>página</tt>, puesto que <tt>página</tt> no es opcional |
| 1055 | en el interior del bloque <tt>[[sección] página]</tt>. |
| 1056 | |
| 1057 | <p>No hay necesidad de memorizar todo esto, simplemente |
| 1058 | utilice esta sección como referencia cuando lea |
| 1059 | documentación. |
| 1060 | |
| 1061 | <sect id="basics-files"> Ficheros y Directorios |
| 1062 | |
| 1063 | <sect1 id="basics-files-intro"> Introducción a los ficheros |
| 1064 | |
| 1065 | <p> Los <em>ficheros</em> son unos instrumentos que permiten |
| 1066 | almacenar y organizar información, análogos a los documentos |
| 1067 | en papel. Están organizados en <em>directorios</em>, que se |
| 1068 | llaman <em>carpetas</em> en algunos otros sistemas. Vamos a |
| 1069 | examinar la organización de los ficheros en un sistema |
| 1070 | Debian: |
| 1071 | |
| 1072 | <taglist> |
| 1073 | |
| 1074 | <tag> <tt>/</tt> <item> Una simple <tt>/</tt> representa |
| 1075 | el directorio raíz. Todos los demás ficheros y |
| 1076 | directorios están contenidos en el directorio raíz. Si |
| 1077 | procede del mundo DOS/Windows, <tt>/</tt> es muy similar |
| 1078 | a lo que <tt>C:</tt> es para DOS, que es ser la raíz del |
| 1079 | sistema de ficheros. Una notable diferencia entre DOS y |
| 1080 | Linux, sin embargo, es que DOS mantiene varios sistemas |
| 1081 | de ficheros: <tt>C:</tt> (primer disco duro), |
| 1082 | <tt>A:</tt> (primer disquete), <tt>D:</tt> (o un CD-ROM |
| 1083 | o un segundo disco duro) mientras que Linux tiene todos |
| 1084 | sus ficheros organizados sobre el mismo <tt>/</tt> |
| 1085 | directorio raíz. Vea <ref id="disks-mount"> para más |
| 1086 | detalles. |
| 1087 | |
| 1088 | <tag> <tt>/home/janeq/</tt> <item> Este es el directorio |
| 1089 | principal del usuario "janeq". Leyendo de izquierda a |
| 1090 | derecha, para llegar a este directorio se comienza en el |
| 1091 | directorio raíz, se entra en el directorio |
| 1092 | <tt>home</tt>, y luego se entra en el directorio |
| 1093 | <tt>janeq</tt>. |
| 1094 | |
| 1095 | <tag> <tt>/etc/X11/XF86Config</tt> <item> Este es el |
| 1096 | archivo de configuración para el Sistema X Window. |
| 1097 | Reside en el subdirectorio <tt>X11</tt> del directorio |
| 1098 | <tt>/etc</tt>. <tt>/etc</tt> es en cambio un |
| 1099 | subdirectorio del directorio raíz, <tt>/</tt>. |
| 1100 | |
| 1101 | </taglist> |
| 1102 | |
| 1103 | <p>Cosas que deben destacarse: |
| 1104 | |
| 1105 | <list> |
| 1106 | |
| 1107 | <item> Los nombres de ficheros distinguen entre |
| 1108 | mayúsculas y minúsculas. Esto es, <tt>MIFICHERO</tt> y |
| 1109 | <tt>MiFichero</tt> son archivos <em>diferentes</em>. |
| 1110 | |
| 1111 | <item> El directorio raíz se designa simplemente con |
| 1112 | <tt>/</tt>. No confunda este "root", con el usuario |
| 1113 | "root", el usuario con "super poderes" en su sistema. |
| 1114 | |
| 1115 | <item> Cada directorio tiene un nombre que puede contener |
| 1116 | cualesquiera letras o símbolos <em>excepto</em> |
| 1117 | <tt>/</tt>. El directorio raíz es una excepción; su |
| 1118 | nombre es <tt>/</tt> (pronunciado "barra" |
| 1119 | |
| 1120 | <footnote>(N. del T.: "barra" o "slash" es el nombre que |
| 1121 | adopta este símbolo en tipografía.)</footnote> |
| 1122 | |
| 1123 | o "el directorio raíz") y no puede cambiarse su nombre. |
| 1124 | |
| 1125 | <footnote>(Aunque <em>se pueden</em> utilizar casi |
| 1126 | cualesquiera letras o símbolos en el nombre de un |
| 1127 | archivo, en la práctica es una mala idea. Es mejor |
| 1128 | evitar cualquier carácter que tenga con frecuencia |
| 1129 | significados especiales en la línea de órdenes, entre |
| 1130 | ellos: <tt>{ } ( ) ' ` " \ / > < | ; ! # & ^ * % |
| 1131 | @</tt> |
| 1132 | |
| 1133 | <p>Evite también poner espacios en los nombres de los |
| 1134 | archivos. Si quiere separar palabras en un nombre, son |
| 1135 | buenas elecciones el punto, el guión, y el subrayado. |
| 1136 | También puede poner mayúsculas en cada palabra, |
| 1137 | <tt>ComoEsto</tt>.</footnote> |
| 1138 | |
| 1139 | <footnote>(N. del T.: está igualmente desaconsejado |
| 1140 | utilizar acentos.)</footnote> |
| 1141 | |
| 1142 | <item>Cada archivo o directorio se designa por <em>nombre |
| 1143 | de archivo completo</em>, <em>nombre absoluto de |
| 1144 | archivo</em>, o <em>camino</em> |
| 1145 | |
| 1146 | <footnote>(N. del T.: "path".)</footnote> |
| 1147 | |
| 1148 | que contiene la secuencia de directorios que hay que |
| 1149 | recorrer para alcanzarlo. Los tres términos son |
| 1150 | sinónimos. Todos los nombres de archivo absolutos |
| 1151 | comienzan con el directorio <tt>/</tt>, y hay un |
| 1152 | <tt>/</tt> entre cada directorio o archivo en el nombre |
| 1153 | de fichero. El primer <tt>/</tt> es el nombre de un |
| 1154 | directorio, pero los demás son simplemente separadores |
| 1155 | para distinguir las partes del nombre de archivo. |
| 1156 | |
| 1157 | <p>Las palabras utilizadas pueden resultar confusas. |
| 1158 | Tomemos el siguiente ejemplo: |
| 1159 | |
| 1160 | <example> |
| 1161 | /usr/share/keytables/us.map.gz |
| 1162 | </example> |
| 1163 | |
| 1164 | Este es un nombre de archivo completo; algunas personas |
| 1165 | lo llaman <em>camino</em>. Sin embargo, la gente |
| 1166 | también se referirá a <tt>us.map.gz</tt> como a un |
| 1167 | nombre de archivo. |
| 1168 | |
| 1169 | <!-- FIXME crossref -->. |
| 1170 | <footnote> Hay también otro uso de la palabra "camino" |
| 1171 | El significado que se busca normalmente queda claro a |
| 1172 | partir del contexto.</footnote> |
| 1173 | |
| 1174 | <item> Los directorios se disponen en una estructura en |
| 1175 | árbol. Todos los nombres de archivo absolutos comienzan |
| 1176 | con el directorio raíz. El directorio raíz tiene un |
| 1177 | cierto número de ramas, como <tt>/etc</tt> y |
| 1178 | <tt>/usr</tt>. Estos subdirectorios, a su vez, se |
| 1179 | ramifican en más subdirectorios, como |
| 1180 | <tt>/etc/init.d</tt> y <tt>/usr/local</tt>. Al conjunto |
| 1181 | se le llama "el árbol de directorios". |
| 1182 | |
| 1183 | <p>Puede pensarse en un nombre de archivo absoluto como en |
| 1184 | una ruta desde la base del árbol <tt>/</tt> hasta el |
| 1185 | final de una rama (un fichero). También se oye hablar a |
| 1186 | la gente del árbol de directorios como si se tratara de |
| 1187 | un <em>árbol genealógico</em>: así, los subdirectorios |
| 1188 | tienen "padres", y un camino muestra todos los |
| 1189 | antecesores de un fichero. |
| 1190 | |
| 1191 | <p>También existen los caminos relativos que comienzan en |
| 1192 | cualquier punto distinto del directorio raíz. |
| 1193 | Trataremos esto más a fondo más tarde. |
| 1194 | |
| 1195 | <item> No hay directorios que se correspondan con |
| 1196 | dispositivos físicos, como su disco duro. En esto se |
| 1197 | difiere de DOS y Windows, donde todos los caminos |
| 1198 | comienzan con el nombre de un dispositivo, como |
| 1199 | <tt>C:</tt>. Se pretende que el árbol de directorios sea |
| 1200 | una abstracción del equipo físico, de modo que se pueda |
| 1201 | usar el sistema sin saber cuál es su hardware. Todos sus |
| 1202 | ficheros pueden podrían hallarse en un disco, o podría |
| 1203 | tener 20 discos, algunos de ellos conectados a una |
| 1204 | computadora diferente en algún lugar de la red. No se |
| 1205 | puede decir, sólo mirando el árbol de directorios, y |
| 1206 | prácticamente todas las órdenes funcionan exactamente |
| 1207 | igual sin importar en qué dispositivo(s) físico(s) se |
| 1208 | encuentran en realidad los ficheros. |
| 1209 | |
| 1210 | </list> |
| 1211 | |
| 1212 | <p> No se preocupe si todo esto no le queda completamente |
| 1213 | claro aún. Aún han de llegar muchos ejemplos. |
| 1214 | |
| 1215 | <sect id="basics-files-using"> Utilizar ficheros: los primeros |
| 1216 | pasos |
| 1217 | |
| 1218 | |
| 1219 | <p>Para usar su sistema tendrá que saber cómo crear, mover, |
| 1220 | renombrar, y borrar ficheros y directorios. Esta sección |
| 1221 | describe cómo hacerlo con las órdenes estándar en Debian. |
| 1222 | |
| 1223 | <p>La mejor manera de aprender es practicar. Siempre que |
| 1224 | no sea root (y no haya creado aún archivos personales |
| 1225 | importantes), no hay nada que pueda estropear demasiado |
| 1226 | seriamente. Póngase a ello; escriba cada una de estos |
| 1227 | instrucciones en el prompt y apriente Intro: |
| 1228 | |
| 1229 | <enumlist> |
| 1230 | |
| 1231 | <item> <tt>pwd</tt> <p> La shell que está usando considera |
| 1232 | siempre a un directorio el <em>directorio activo de |
| 1233 | trabajo</em>. Puede ver cuál es este directorio con la |
| 1234 | orden <tt>pwd</tt>, que proviene de Print Working |
| 1235 | Directory |
| 1236 | |
| 1237 | <footnote>(N. del T.: Imprimir el Directorio |
| 1238 | Activo.)</footnote>. |
| 1239 | |
| 1240 | <tt>pwd</tt> imprime el nombre del directorio en el que |
| 1241 | usted está trabajando, probablemente |
| 1242 | <tt>/home/sunombre</tt>. |
| 1243 | |
| 1244 | <item> <tt>ls</tt> <p> <tt>ls</tt> procede de "listar", |
| 1245 | como en "listar archivos". Cuando teclea <tt>ls</tt>, |
| 1246 | el sistema muestra una lista de todos los ficheros en su |
| 1247 | directorio activo de trabajo. Si usted se ha limitado a |
| 1248 | instalar Debian, su directorio principal de usuario bien |
| 1249 | podría estar vacío. Si su directorio activo de trabajo |
| 1250 | está vacío, <tt>ls</tt> no produce resultado alguno, |
| 1251 | puesto que no hay archivos que listar. |
| 1252 | |
| 1253 | <item> <tt>cd /</tt> <p> <tt>cd</tt> significa Cambiar |
| 1254 | Directorio. En este caso, ha pedido cambiar al |
| 1255 | directorio raíz. |
| 1256 | |
| 1257 | <item> <tt>pwd</tt> <p> Verifique que se encuentra en |
| 1258 | el directorio raíz. |
| 1259 | |
| 1260 | <item> <tt>ls</tt> <p> Vea lo que hay en <tt>/</tt>. |
| 1261 | |
| 1262 | <item> <tt>cd</tt> <p> Escribir <tt>cd</tt> sin |
| 1263 | argumentos selecciona su directorio principal de |
| 1264 | usuario como directorio activo de trabajo: |
| 1265 | <tt>/home/sunombre</tt>. Utilice <tt>pwd</tt> para |
| 1266 | verificarlo. |
| 1267 | |
| 1268 | </enumlist> |
| 1269 | |
| 1270 | <p>Antes de proseguir, debería saber que hay en realidad dos |
| 1271 | clases diferentes de nombres de fichero. Algunos de ellos |
| 1272 | comienzan por <tt>/</tt>, el directorio raíz, como |
| 1273 | <tt>/etc/profile</tt>. Estos se llaman nombres de archivo |
| 1274 | <em>absolutos</em> porque se refieren al mismo archivo no |
| 1275 | importa cuál sea su directorio activo de trabajo. La otra |
| 1276 | clase de nombres de fichero es <em>relativa</em>. |
| 1277 | |
| 1278 | <p>Dos nombres de directorio se utilizan <em>solamente</em> |
| 1279 | en nombres de archivo relativos: <tt>.</tt> y <tt>..</tt>. |
| 1280 | El directorio <tt>.</tt> se refiere al directorio de |
| 1281 | trabajo y <tt>..</tt> es el directorio padre. Estos son |
| 1282 | "atajos" para los directorios. Existen en <em>cada</em> |
| 1283 | directorio. Incluso el directorio raíz tiene un directorio |
| 1284 | padre: ¡él es su propio padre! |
| 1285 | |
| 1286 | <p>Así que los nombres de fichero que incluyen <tt>.</tt> o |
| 1287 | <tt>..</tt> son <em>relativos</em>, porque su significado |
| 1288 | depende del directorio de trabajo. Si estoy en |
| 1289 | <tt>/usr/bin</tt> y escribo <tt>../etc</tt>, entonces me |
| 1290 | estoy refiriendo a <tt>/usr/etc</tt>. Si estoy en |
| 1291 | <tt>/var</tt> y escribo <tt>../etc</tt>, entonces me estoy |
| 1292 | refiriendo a <tt>/etc</tt>. Dése cuenta de que un nombre de |
| 1293 | fichero sin el directorio raíz precediéndolo implícitamente |
| 1294 | tiene un <tt>./</tt> al frente. Así que puede teclear |
| 1295 | <tt>local/bin</tt> o <tt>./local/bin</tt> y significan lo |
| 1296 | mismo. |
| 1297 | |
| 1298 | <p>Un último consejo útil: la tilde <tt>~</tt> equivale a su |
| 1299 | directorio principal de usuario. De forma que escribir |
| 1300 | <tt>cd ~</tt> es lo mismo que escribir <tt>cd</tt> sin |
| 1301 | argumentos. Además, puede escribir cosas como <tt> cd |
| 1302 | ~/ejercicios/misubdirectorio</tt>. De modo análogo, |
| 1303 | <tt>~vicente</tt> equivale al directorio principal del |
| 1304 | usuario "vicente", que probablemente se parece |
| 1305 | a<tt>/home/vicente</tt>; así, |
| 1306 | <tt>~vicente/docs/debian.ps</tt> equivale a |
| 1307 | <tt>/home/vicente/doc/debian.ps</tt>. |
| 1308 | |
| 1309 | <p>Aquí hay más órdenes de ficheros para probar, ahora que ya |
| 1310 | sabe acerca de los nombres de fichero relativos. |
| 1311 | <tt>cd</tt> a su directorio principal antes de comenzar. |
| 1312 | |
| 1313 | <enumlist> |
| 1314 | |
| 1315 | <item> <tt>cd ejercicios</tt> <p> Cambie al directorio |
| 1316 | <tt>ejercicios</tt>. |
| 1317 | |
| 1318 | <item> <tt>mkdir misubdirectorio</tt> <p> Cree un |
| 1319 | subdirectorio de <tt>ejercicios</tt>. |
| 1320 | |
| 1321 | <item> <tt>cp /etc/profile .</tt> <p> <tt>cp</tt> es la |
| 1322 | versión corta de "copy". <tt>/etc/profile</tt> es tan |
| 1323 | sólo un fichero elegido al azar en su sistema, no se |
| 1324 | preocupe de lo que es por ahora. Lo hemos copiado en |
| 1325 | <tt>.</tt>; recuerde que <tt>.</tt> significa |
| 1326 | simplemente "el directorio en el que estoy ahora", o el |
| 1327 | directorio activo de trabajo. Así que hemos creado una |
| 1328 | copia de <tt>/etc/profile</tt>, y la hemos puesto en |
| 1329 | nuestro directorio <tt>ejercicios</tt>. Pruebe a |
| 1330 | introducir <tt>ls</tt> para comprobar que de veras hay |
| 1331 | un fichero llamado <tt>profile</tt> en su directorio |
| 1332 | activo de trabajo, al lado de <tt>misubdirectorio</tt>. |
| 1333 | |
| 1334 | <item> <tt>more profile</tt> <p> Vea el contenido del |
| 1335 | fichero <tt>profile</tt>. <tt>more</tt> se utiliza para |
| 1336 | ver el contenido de archivos de texto. Se llama |
| 1337 | <tt>more</tt> |
| 1338 | |
| 1339 | <footnote>(N. del T.: "más".)</footnote> |
| 1340 | |
| 1341 | porque muestra una pantalla del fichero cada vez, y |
| 1342 | usted aprieta la barra espaciadora para ver más. |
| 1343 | <tt>more</tt> termina cuando se llega al final del |
| 1344 | archivo o cuando se aprieta <tt>q</tt> (quit). |
| 1345 | |
| 1346 | <item> <tt>more /etc/profile</tt> Verifique que el |
| 1347 | original tiene el mismo aspecto que la copia que hizo. |
| 1348 | |
| 1349 | <item> <tt> mv profile misubdirectorio</tt> <p> |
| 1350 | <tt>mv</tt> procede de "mover". Hemos movido el |
| 1351 | fichero <tt>profile</tt> del directorio de trabajo al |
| 1352 | subdirectorio que creamos antes. |
| 1353 | |
| 1354 | <item> <tt>ls</tt> <p> Verifique que <tt>profile</tt> no |
| 1355 | está ya en el directorio de trabajo. |
| 1356 | |
| 1357 | <item> <tt>ls misubdirectorio</tt> <p> Verifique que |
| 1358 | <tt>profile</tt> se ha movido a |
| 1359 | <tt>misubdirectorio</tt>. |
| 1360 | |
| 1361 | <item> <tt>cd misubdirectorio</tt> <p> Cambie al |
| 1362 | subdirectorio. |
| 1363 | |
| 1364 | <item> <tt>mv profile miprofile</tt> <p> Dése cuenta de |
| 1365 | que al contrario de lo que sucede en algunos sistemas |
| 1366 | operativos, no hay diferencia entre mover un fichero y |
| 1367 | cambiarle el nombre. Por tanto, no hay una orden |
| 1368 | independiente <tt>rename</tt> |
| 1369 | |
| 1370 | <footnote>(N. del T.: cambiar el nombre.)</footnote> |
| 1371 | |
| 1372 | . Dése cuenta de que el segundo argumento de |
| 1373 | <tt>mv</tt> puede ser un directorio al que mover el |
| 1374 | fichero o directorio, o un nuevo nombre de fichero. |
| 1375 | <tt>cp</tt> funciona de la misma manera. |
| 1376 | |
| 1377 | <p>Como de costumbre, introduzca <tt>ls</tt> para ver el |
| 1378 | resultado de <tt>mv</tt>. |
| 1379 | |
| 1380 | <item> <tt>mv miprofile ..</tt> <p> Igual que <tt>.</tt> |
| 1381 | significa "el directorio en que me encuentro ahora", |
| 1382 | <tt>..</tt> quiere decir "padre del directorio de |
| 1383 | trabajo", en este caso el directorio <tt>ejercicios</tt> |
| 1384 | que creamos antes. Utilice <tt>ls</tt> para verificar |
| 1385 | que es ahí donde <tt>miprofile</tt> está ahora. |
| 1386 | |
| 1387 | <item> <tt>cd ..</tt> <p> Cambie directorios al directorio |
| 1388 | padre, en este caso <tt>ejercicios</tt>, donde acaba |
| 1389 | de poner <tt>miprofile</tt>. |
| 1390 | |
| 1391 | <item> <tt>rm miprofile</tt> <p><tt>rm</tt> quiere decir |
| 1392 | "borrar" |
| 1393 | |
| 1394 | <footnote>(N. del T.: "remove".)</footnote>; |
| 1395 | |
| 1396 | esto borra <tt>miprofile</tt>. ¡Cuidado! Borrar un |
| 1397 | fichero en un sistema GNU/Linux es <em>permanente</em>, |
| 1398 | no hay "recuperar" |
| 1399 | |
| 1400 | <footnote>(N. del T.: "undelete".)</footnote>. |
| 1401 | |
| 1402 | Si usted usa <tt>rm</tt>, el fichero habrá |
| 1403 | <em>desaparecido</em> para <em>siempre</em>. |
| 1404 | |
| 1405 | <!-- Sí, dos veces para asegurarse de que el usuario lo entiende... ;) --> |
| 1406 | |
| 1407 | <item> <tt>rmdir misubdirectorio</tt> <p> <tt>rmdir</tt> es |
| 1408 | igual que <tt>rm</tt>, sólo que para directorios. Dése |
| 1409 | cuenta de que <tt>rmdir</tt> sólo funciona en directorios |
| 1410 | vacíos: si el directorio contiene archivos, debe borrar |
| 1411 | esos ficheros primero, o utilizar, en lugar de |
| 1412 | <tt>rmdir</tt>, <tt>rm -r</tt>. |
| 1413 | |
| 1414 | <item> <tt>cd ..</tt> <p> Salga del directorio de trabajo, y |
| 1415 | entre en su directorio padre. Ahora puede escribir: |
| 1416 | |
| 1417 | <item> <tt>rmdir ejercicios</tt> <p> Esto borrará el último |
| 1418 | resto de su sesión de prácticas. |
| 1419 | |
| 1420 | </enumlist> |
| 1421 | |
| 1422 | <p>Así que ahora ya sabe cómo crear, copiar, mover, renombrar, |
| 1423 | y borrar archivos y directorios. También ha aprendido algunos |
| 1424 | atajos, como teclear simplemente <tt>cd</tt> para saltar a su |
| 1425 | directorio principal de usuario, y <tt>.</tt> y <tt>..</tt> |
| 1426 | para referirse al directorio de trabajo y su padre, |
| 1427 | respectivamente. También debería recordar el concepto de |
| 1428 | <em>directorio raíz</em>, o <tt>/</tt>, y el alias <tt>~</tt> |
| 1429 | para su directorio de usuario. |
| 1430 | |
| 1431 | <sect id="basics-processes"> Procesos |
| 1432 | |
| 1433 | <p>Mencionábamos antes que GNU/Linux es un sistema |
| 1434 | <em>multitarea</em>. Puede realizar muchas tareas a la |
| 1435 | vez. Cada una de esas tareas se denomina <em>proceso</em>. |
| 1436 | La mejor manera de sacar algo en claro de todo esto es |
| 1437 | escribir <tt>top</tt> en el prompt de la shell. Obtendrá |
| 1438 | una lista de procesos, ordenados en función de la cantidad |
| 1439 | de tiempo de proceso del ordenador están usando. El orden |
| 1440 | cambiará continuamente ante sus ojos. En lo alto de la |
| 1441 | pantalla, aparece cierta información sobre el sistema: |
| 1442 | cuántos usuarios han ingresado, cuántos procesos hay en |
| 1443 | total, de cuánta memoria dispone y cuánta está utilizando. |
| 1444 | |
| 1445 | <p>En la columna del extremo de la izquierda, verá al usuario |
| 1446 | propietario de cada proceso. La columna del extremo de la |
| 1447 | derecha muestra qué orden invocó el proceso. Se dará |
| 1448 | cuenta, probablemente, de que <tt>top</tt> mismo, llamado |
| 1449 | por usted, está cerca de lo alto de la lista (puesto que |
| 1450 | <tt>top</tt> comprueba constantemente la utilización de la |
| 1451 | UCP, estará activo y usará la UCP para hacer la |
| 1452 | comprobación). |
| 1453 | |
| 1454 | <p>Note que todas las órdenes que terminan en <tt>d</tt> --- |
| 1455 | como <tt>kflushd</tt> e <tt>inetd</tt> --- derivan de |
| 1456 | <em>demonio</em> |
| 1457 | |
| 1458 | <footnote>daemon significa en su origen "Disks And |
| 1459 | Extensions MONitor" |
| 1460 | |
| 1461 | <footnote>(N. del T.: por alguna curiosa razón, muchos |
| 1462 | nombres Unix/Linux tienden a tener, esto... iniciales |
| 1463 | comprometedoras: daemon, rat (rata, Robust-Audio Tool), |
| 1464 | SATAN (Security Auditing Tool for Analysing Networks) o |
| 1465 | sex (Simple Editor for X), son algunos |
| 1466 | ejemplos).</footnote> |
| 1467 | |
| 1468 | </footnote>. |
| 1469 | |
| 1470 | Un demonio es un proceso no-interactivo, esto es, lo |
| 1471 | ejecuta el sistema y los usuarios nunca tienen que |
| 1472 | preocuparse por él. Los demonios proveen servicios como la |
| 1473 | conexión a internet, impresión, o correo electrónico. |
| 1474 | |
| 1475 | <p>Ahora apriete <tt>u</tt> y dé a <tt>top</tt> su nombre de |
| 1476 | usuario cuando pregunte. La orden <tt>u</tt> pide ver |
| 1477 | solamente aquellos procesos que le pertecen a usted; le |
| 1478 | permite ignorar todos los demonios y cualquier cosa que |
| 1479 | otras personas estén haciendo. Puede advertir |
| 1480 | <tt>bash</tt>, el nombre de su shell. En general, casi |
| 1481 | siempre estará ejecutando <tt>bash</tt>. |
| 1482 | |
| 1483 | <p>Dése cuenta de que la columna dos de la pantalla de |
| 1484 | <tt>top</tt> le muestra el <em>PID</em>, o número de |
| 1485 | identificación de procesos |
| 1486 | |
| 1487 | <footnote>(N. del T.: Process IDentification |
| 1488 | number.)</footnote>. |
| 1489 | |
| 1490 | A cada proceso se le asigna un único PID. Usted puede |
| 1491 | utilizar el PID para controlar procesos individuales |
| 1492 | (trataremos esto más tarde). Otro truco útil; teclee "?" |
| 1493 | para obtener una lista de las órdenes de <tt>top</tt>. |
| 1494 | |
| 1495 | <p>Puede preguntarse por la diferencia entre un "proceso" y |
| 1496 | un "programa". En la práctica los términos se usan de modo |
| 1497 | intercambiable. Técnicamente, el <em>programa</em> es el |
| 1498 | conjunto de instrucciones escrito por un programador, y |
| 1499 | mantenido en el disco. El <em>proceso</em> es la |
| 1500 | particularización funcional del programa que Linux mantiene |
| 1501 | en la memoria. Pero no es tan importante tener claros |
| 1502 | estos términos. |
| 1503 | |
| 1504 | <p>Buena parte de su interacción con la computadora implica el |
| 1505 | control de procesos. Querrá iniciarlos, detenerlos, y ver |
| 1506 | qué pueden hacer. Su instrumento primario para esto es la |
| 1507 | <em>shell</em>. |
| 1508 | |
| 1509 | <sect id="basics-shell"> La shell |
| 1510 | |
| 1511 | <p>La <em>shell</em> es un programa que le permite interactuar |
| 1512 | con su ordenador. Se llama shell porque proporciona un |
| 1513 | entorno para que usted trabaje en él, una suerte de |
| 1514 | casita electrónica para usted cuando utiliza la computadora. |
| 1515 | (Piense en el cangrejo ermitaño.) |
| 1516 | |
| 1517 | <footnote>(N. del T.: "shell" significa "concha".)</footnote> |
| 1518 | |
| 1519 | <p>La función más simple de la shell consiste en iniciar |
| 1520 | otros programas. Usted escribe el nombre del programa que |
| 1521 | quiere ejecutar, seguido de los argumentos que quiere, y la |
| 1522 | shell le pide al sistema que ejecute el programa para |
| 1523 | usted. |
| 1524 | |
| 1525 | <p>Por supuesto, los sistemas gráficos de ventanas también |
| 1526 | hacen frente a esta necesidad. Técnicamente, Windows 95 |
| 1527 | proporciona una shell gráfica, y el Sistema X Window es |
| 1528 | otra clase de shell gráfica, pero "shell" se utiliza |
| 1529 | comúnmente para referirse a la "shell de línea de |
| 1530 | instrucciones". |
| 1531 | |
| 1532 | <p>No es preciso decirlo, los hackers que trabajan con shells |
| 1533 | no se conforman con introducir órdenes nada más. La shell |
| 1534 | dispone de un desconcertante número de características |
| 1535 | útiles de las que puede querer aprovecharse. |
| 1536 | |
| 1537 | <p>Hay disponibles incontables shells; la mayoría está basada |
| 1538 | bien en la <em>shell Bourne</em> o en la <em>shell C</em>, |
| 1539 | dos de las más antiguas. El nombre de programa de la shell |
| 1540 | Bourne original es <prgn>sh</prgn>, mientras que |
| 1541 | <prgn>csh</prgn> es la shell C. Las variantes de la shell |
| 1542 | Bourne incluyen la Bourne Again Shell del proyecto GNU |
| 1543 | (<tt>bash</tt>, la shell por defecto de Debian), la shell |
| 1544 | Korn (<prgn>ksh</prgn>), y la shell Z (<prgn>zsh</prgn>). |
| 1545 | También está <prgn>ash</prgn>, una adaptación |
| 1546 | tradicionalista de la shell Bourne. La variante más común |
| 1547 | de la shell C es <prgn>tcsh</prgn> (la <tt>t</tt> rinde |
| 1548 | homenaje a los sistemas operativos TENEX y TOPS-20, que |
| 1549 | inspiraron algunas de las mejoras que <tt>tcsh</tt> |
| 1550 | introduce sobre <tt>csh</tt>). |
| 1551 | |
| 1552 | <p>Bash es probablemente la mejor opción para los nuevos |
| 1553 | usuarios. Es la shell por defecto, y recoge todas las |
| 1554 | características que es probable que necesite. Pero todas |
| 1555 | las shells tienen sus leales seguidores; si quiere |
| 1556 | experimentar, instale varios paquetes diferentes de shells y |
| 1557 | cambie la suya con el comando <tt>chsh</tt>. Simplemente |
| 1558 | escriba <tt>chsh</tt>, proporcione la contraseña cuando se le |
| 1559 | solicite, y elija una shell. Cuando vuelva a ingresar, |
| 1560 | estará usando la nueva shell. |
| 1561 | |
| 1562 | <sect id="basics-jobs"> Gestionando procesos con Bash |
| 1563 | |
| 1564 | <p>Debian es un sistema multitarea, de modo que precisa de un |
| 1565 | modo de hacer más de una cosa al mismo tiempo. Los |
| 1566 | entornos gráficos como las X proporcionan una forma natural |
| 1567 | de hacer esto; permiten múltiples ventanas en la pantalla a |
| 1568 | un mismo tiempo. Naturalmente, Bash (o cualquier otra |
| 1569 | shell) proporciona recursos semejantes. |
| 1570 | |
| 1571 | <p>Antes, usted utilizó <prgn>top</prgn> para observar los |
| 1572 | diferentes procesos en el sistema. La shell ofrece algunas |
| 1573 | formas útiles de rastrear sólo aquellos procesos que usted |
| 1574 | ha iniciado desde la línea de instrucciones. Cada línea de |
| 1575 | instrucciones comienza un <em>trabajo</em> (también llamado |
| 1576 | un <em>grupo de procesos</em>) para que la shell lo |
| 1577 | ejecute. Un trabajo puede consistir en un único proceso o |
| 1578 | un conjunto de procesos en una <em>tubería</em> (más sobre |
| 1579 | las tuberías más tarde). |
| 1580 | |
| 1581 | <!-- [FIXME xref] --> |
| 1582 | |
| 1583 | <p>Introducir una orden empezará un trabajo. Escriba <tt>man |
| 1584 | cp</tt> y la página de manual de <tt>cp</tt> aparecerá en |
| 1585 | la pantalla. La shell pasará a segundo plano, y regresará |
| 1586 | cuando haya terminado de leer la página de manual (o |
| 1587 | apriete <tt>q</tt> para salir en lugar de desplazarse a |
| 1588 | través de todo el asunto). |
| 1589 | |
| 1590 | <p>Pero digamos que está leyendo la página de manual, y |
| 1591 | quiere hacer algo más durante un momento. Ningún problema. |
| 1592 | Apriete <tt>C-z</tt> mientras lee para <em>suspender</em> |
| 1593 | el trabajo que se encuentra actualmente en primer plano, y |
| 1594 | poner la shell en primer plano. Cuando se suspende un |
| 1595 | trabajo, Bash primero da cierta información sobre él, y |
| 1596 | luego el prompt de la shell. Verá algo como esto en la |
| 1597 | pantalla: |
| 1598 | |
| 1599 | <example> |
| 1600 | KKKK |
| 1601 | </example> |
| 1602 | |
| 1603 | |
| 1604 | <p>Fíjese en las últimas dos líneas. La penúltima es la |
| 1605 | información sobre el trabajo, y después tiene el prompt de |
| 1606 | la shell. |
| 1607 | |
| 1608 | <p>Bash asigna un <em>número de trabajo</em> a cada línea de |
| 1609 | órdenes que se ejecute desde la shell. Esto le permite a |
| 1610 | usted designar el proceso fácilmente. En este caso, |
| 1611 | <tt>man cp</tt> es el trabajo número 1, mostrado como |
| 1612 | <tt>[1]</tt>. El <tt>+</tt> quiere decir que este es el |
| 1613 | último trabajo que tuvo en el primer plano. Bash le |
| 1614 | informa también sobre el estado actual del trabajo --- |
| 1615 | <tt>Detenido</tt> --- y la línea de instrucciones del |
| 1616 | trabajo. |
| 1617 | |
| 1618 | <p>Hay muchas cosas que pueden hacerse con los trabajos. Con |
| 1619 | <tt>man cp</tt> aún suspendido, escriba: |
| 1620 | |
| 1621 | <enumlist> |
| 1622 | |
| 1623 | <item><tt>man ls</tt> <p> Comience un nuevo trabajo. |
| 1624 | |
| 1625 | <item><tt>C-z</tt> <p> Suspenda el trabajo <tt>man |
| 1626 | ls</tt> apretando las teclas Control y <tt>z</tt> |
| 1627 | minúscula; debería ver la información del trabajo. |
| 1628 | |
| 1629 | <item><tt>man mv</tt> <p> Inicie otro trabajo más. |
| 1630 | |
| 1631 | <item><tt>C-z</tt> <p> Suspéndalo. |
| 1632 | |
| 1633 | <item><tt>jobs</tt> <p> Pida a Bash que muestre los |
| 1634 | trabajos actuales: |
| 1635 | |
| 1636 | <example> |
| 1637 | $ jobs |
| 1638 | [1] Detenido man cp |
| 1639 | [2]- Detenido man ls |
| 1640 | [3]+ Detenido man mv |
| 1641 | $ |
| 1642 | </example> |
| 1643 | |
| 1644 | Fíjese en <tt>-</tt> y <tt>+</tt>, que señalan |
| 1645 | respectivamente el penúltimo y último trabajos en |
| 1646 | primer plano. |
| 1647 | |
| 1648 | <item><tt>fg</tt> <p> Coloque el último trabajo en haber |
| 1649 | estado en primer plano (<tt>man mv</tt>, el que tiene |
| 1650 | el <tt>+</tt>) en el primer plano de nuevo. Si aprieta |
| 1651 | la barra espaciadora, la página de manual continuará |
| 1652 | desplazándose. |
| 1653 | |
| 1654 | <item><tt>C-z</tt> <p> Suspenda de nuevo <tt>man mv</tt>. |
| 1655 | |
| 1656 | <item><tt>fg %1</tt> <p> Puede referirse a cualquier |
| 1657 | trabajo colocando un <tt>%</tt> frente a su número. Si |
| 1658 | utiliza <tt>fg</tt> sin especificar un trabajo, se |
| 1659 | asume el último activo. |
| 1660 | |
| 1661 | <item><tt>kill %1</tt> <p> Finalice el trabajo 1. Bash |
| 1662 | devolverá la información del trabajo: |
| 1663 | |
| 1664 | <example> |
| 1665 | $ kill %1 |
| 1666 | [1]- Terminado man cp |
| 1667 | $ |
| 1668 | </example> |
| 1669 | |
| 1670 | Bash sólo le pide al trabajo que termine, y a veces un |
| 1671 | trabajo no querrá hacerlo. Si el trabajo no termina, |
| 1672 | puede añadir la opción <tt>-9</tt> a kill para dejar de |
| 1673 | pedir y empezar a exigir. Por ejemplo: |
| 1674 | |
| 1675 | <example> |
| 1676 | $ kill -9 %1 |
| 1677 | [1]- Terminado man mv |
| 1678 | $ |
| 1679 | </example> |
| 1680 | |
| 1681 | La opción <tt>-9</tt> elimina el trabajo por la fuerza y |
| 1682 | sin condiciones. |
| 1683 | |
| 1684 | <footnote>En términos técnicos, <tt>kill</tt> |
| 1685 | simplemente envía una señal. Por defecto envía una |
| 1686 | señal que solicita la terminación (<tt>TERM</tt>, o |
| 1687 | señal 15); pero usted puede especificar una señal, y |
| 1688 | la señal 9 (<tt>KILL</tt>) es la señal que fuerza la |
| 1689 | terminación. El nombre de instruccion <tt>kill</tt> |
| 1690 | no se adecúa necesariamente a la señal enviada; por |
| 1691 | ejemplo, enviar la señal <tt>TSTP</tt> (stop |
| 1692 | terminal) suspende el proceso pero le permite ser |
| 1693 | retomado más tarde.</footnote> |
| 1694 | |
| 1695 | <footnote>(N. del T.: debe tener en cuenta, respecto de |
| 1696 | los ejemplos que aquí se incluyen, que los mensajes |
| 1697 | difieren en español e inglés de bash difieren. Así, |
| 1698 | en el caso anterior, la línea "[1]- Terminado man mv" |
| 1699 | es en inglés "[1]- Killed man mv", más informativa |
| 1700 | pero sin equivalencia en nuestro idioma.)</footnote> |
| 1701 | |
| 1702 | <!-- FIXME ¿Cuál es la diferencia (¡¿si la hay?!) entre SIGSTOP (19) Y --> |
| 1703 | <!-- SIGTSTP (20) ??? |
| 1704 | Dímelo (vincent@debian.org) si lo sabes... |
| 1705 | --> |
| 1706 | |
| 1707 | <item><tt>top</tt> <p> Traiga de vuelta la pantalla de |
| 1708 | <tt>top</tt> para ver sólo sus procesos. Busque en la |
| 1709 | columna a mano derecha las instrucciones <tt>man ls</tt> |
| 1710 | y <tt>man mv</tt>. <tt>man cp</tt> no estará aquí puesto |
| 1711 | que la cerró. <tt>top</tt> le muestra los procesos del |
| 1712 | sistema que corresponden a sus trabajos; fíjese en que |
| 1713 | el PID a la izquierda de la pantalla no se corresponde |
| 1714 | con el número de trabajo. |
| 1715 | |
| 1716 | <p>Puede que no sea capaz de encontrar sus procesos porque |
| 1717 | se encuentren por debajo de la parte inferior de la |
| 1718 | pantalla; si está utilizando las X, puede redimensionar |
| 1719 | la <tt>xterm</tt> |
| 1720 | |
| 1721 | <footnote>(N. del T.: "xterm" deriva de "xterminal" o |
| 1722 | "terminal de las X".)</footnote> |
| 1723 | |
| 1724 | para resolver este problema. |
| 1725 | |
| 1726 | <p>Incluso estos trabajos simples consisten en realidad en |
| 1727 | múltiples procesos, que incluyen el proceso <tt>man</tt> y |
| 1728 | el paginador <tt>more</tt> que maneja el desplazamiento |
| 1729 | de una página cada vez. Puede notar que los procesos |
| 1730 | <tt>more</tt> aparecen también en <tt>top</tt>. |
| 1731 | |
| 1732 | </enumlist> |
| 1733 | |
| 1734 | <p>Probablemente puede figurarse cómo eliminar los dos |
| 1735 | trabajos restantes. Puede, o bien cerrarlos (con la orden |
| 1736 | <tt>kill</tt>) o traerlos a primer plano (con <tt>fg</tt>)y |
| 1737 | salir de cada uno de ellos. Recuerde que la instrucción |
| 1738 | <tt>jobs</tt> le informará de la lista de trabajos |
| 1739 | existentes y su estado. |
| 1740 | |
| 1741 | <p>Una última nota: la documentación de Bash es bastante |
| 1742 | buena, pero se encuentra en el sistema de ayuda Info más que |
| 1743 | en las páginas de manual. Para leerla, teclee <tt>info |
| 1744 | bash</tt>. Vea <ref id="docs-info"> para las instrucciones |
| 1745 | acerca del uso del programa <tt>info</tt>. Bash también |
| 1746 | contiene un muy buen resumen de sus órdenes, accesible |
| 1747 | mediante la instrucción <tt>help nombredeltema</tt>; |
| 1748 | escriba |
| 1749 | |
| 1750 | <!-- ARREGLAR : la documentación de referencia de Bash está en las --> |
| 1751 | <!-- páginas de manual, como dice la propia página info. Lo que hay --> |
| 1752 | <!-- en info es una introducción para principiantes. --> |
| 1753 | |
| 1754 | <example> |
| 1755 | help cd |
| 1756 | </example> |
| 1757 | |
| 1758 | por ejemplo. Esto le proporcionará detalles sobre los |
| 1759 | argumentos <tt>-P</tt> y <tt>-L</tt>, reconocidos por |
| 1760 | <tt>cd</tt>. |
| 1761 | |
| 1762 | <sect id="basics-bash"> Algunas características de Bash |
| 1763 | |
| 1764 | <p>Esta sección menciona solamente algunas de las |
| 1765 | características más utilizadas de Bash; para una |
| 1766 | explicación más completa vea <ref id="shell">. |
| 1767 | |
| 1768 | <sect1 id="basics-bash-completion"> Compleción Tab |
| 1769 | |
| 1770 | <p>La shell Bash puede adivinar que nombre de fichero u orden |
| 1771 | está usted tratando de escribir, y terminarlos |
| 1772 | automáticamente. Escriba nada más el principio de una |
| 1773 | instrucción o nombre de archivo, y apriete <tt>TAB</tt>. Si |
| 1774 | Bash encuentra una sola manera de completarla, concluirá la |
| 1775 | palabra y colocará un espacio tras ella. Si encuentra |
| 1776 | varias formas posibles de completarla, rellenará la parte |
| 1777 | que todas esas formas tienen en común y dará un pitido. |
| 1778 | Usted podrá entonces introducir un fragmento de la palabra |
| 1779 | que baste para hacerla única, y apretar <tt>TAB</tt> de |
| 1780 | nuevo. Si no encuentra ninguna forma de completar, se |
| 1781 | limitará a pitar. |
| 1782 | |
| 1783 | <!-- FIXME XXX |
| 1784 | <sect1> ¿Más características? Si no eliminar esta sección. |
| 1785 | --> |
| 1786 | |
| 1787 | <sect id="basics-identity"> Gestionando la identidad |
| 1788 | |
| 1789 | <p>Los sistemas al estilo Unix son multiusuario, y por tanto |
| 1790 | usted posee su propia identidad electrónica como usuario |
| 1791 | del sistema. Escriba |
| 1792 | <tt>finger<var>sunombredeusuario</var></tt> para darle un |
| 1793 | vistazo a algunas de las informaciones sobre usted que |
| 1794 | están a disposición de todos |
| 1795 | |
| 1796 | <footnote>(N. del T.: "finger", señalar o |
| 1797 | identificar.)</footnote>. |
| 1798 | |
| 1799 | Para cambiar el nombre y la shell listados ahí, puede |
| 1800 | utilizar las órdenes <tt>chfn</tt> y <tt>chsh</tt>. Sólo |
| 1801 | el superusuario puede cambiar su nombre de ingreso (nombre |
| 1802 | de usuario) y directorio principal. Se dará cuenta de que |
| 1803 | dice "No Plan" --- un "plan" consiste simplemente en cierta |
| 1804 | información que usted puede hacer disponible para los |
| 1805 | demás. Para crear un plan, coloque cualquier información |
| 1806 | que quiera que vea la gente en un fichero llamado |
| 1807 | <tt>.plan</tt> --- para hacer esto tendrá que utilizar un |
| 1808 | editor de txto (vea <ref id="editor">). Luego hágase |
| 1809 | finger a sí mismo para ver su plan. Los demás pueden |
| 1810 | hacerle finger a usted para ver su plan, y comprobar si ha |
| 1811 | recibido nuevo correo o si lo ha leído. |
| 1812 | |
| 1813 | <p>Dése cuenta de que esta información de finger está |
| 1814 | disponible por defecto para Internet entera. Si no lo |
| 1815 | quiere así, lea sobre la configuración de <tt>inetd</tt> y |
| 1816 | el archivo <tt>/etc/services</tt>. En su día, el manual |
| 1817 | de instalación describirá esta configuración, por ahora |
| 1818 | puede intentarlo con las páginas de manual, o limitarse a |
| 1819 | poner tonterías en su información de finger. |
| 1820 | |
| 1821 | <chapt id="docs"> <heading> Leer la documentación y conseguir ayuda </heading> |
| 1822 | |
| 1823 | <sect id="docs-sources"> Clases de documentación |
| 1824 | |
| 1825 | <p>Desgraciadamente, la documentación en los sistemas al |
| 1826 | estilo Unix está un poco desorganizada. En Debian, usted |
| 1827 | puede encontrar documentación en al menos los siguientes |
| 1828 | sitios: |
| 1829 | |
| 1830 | <list> |
| 1831 | |
| 1832 | <item> Páginas de <tt>manual</tt>, que se leen con la orden |
| 1833 | <tt>man</tt>. |
| 1834 | |
| 1835 | <item> Páginas <tt>info</tt>, que se leen con la orden |
| 1836 | <tt>info</tt>. |
| 1837 | |
| 1838 | <item> Los directorios |
| 1839 | <tt>/usr/doc/<var>paquete</var></tt>, donde |
| 1840 | <var>paquete</var> es el nombre del paquete Debian. |
| 1841 | |
| 1842 | <item> <tt>/usr/doc/HOWTO</tt> contiene los documentos |
| 1843 | CÓMO del Proyecto de Documentación de Linux, si ha |
| 1844 | instalado los paquetes de Debian que los incluyen. |
| 1845 | |
| 1846 | <footnote>(N. del T.: en el caso de que haya instalado |
| 1847 | el correspondiente paquete español de documentos CÓMO, |
| 1848 | los encontrará en el directorio |
| 1849 | <tt>/usr/doc/HOWTO/spanish</tt>.)</footnote> |
| 1850 | |
| 1851 | <item> Muchos comandos disponen de las opciones |
| 1852 | <tt>-h</tt> o <tt>--help</tt> |
| 1853 | |
| 1854 | <footnote>(N. del T.: "help", ayuda.)</footnote> |
| 1855 | |
| 1856 | <item> El Proyecto de Documentación de Debian ha escrito |
| 1857 | algunos manuales, incluido éste. Compruebe |
| 1858 | <url id="http://www.debian.org/doc/ddp" name="su página principal">. |
| 1859 | |
| 1860 | <item> La <url id="http://www.debian.org/support/" |
| 1861 | name="página de apoyo de Debian"> tiene una FAQ |
| 1862 | |
| 1863 | <footnote>(N. del. T.: "FAQ" procede de Frecuently Asked |
| 1864 | Questions, o Preguntas Frecuentes, o, como se suele |
| 1865 | traducir por simetría, Preguntas Más Frecuentes.)</footnote> |
| 1866 | |
| 1867 | y otros recursos. También puede intentar <url |
| 1868 | id="http://www.linux.org" name="el sitio web de Linux">. |
| 1869 | |
| 1870 | <item>Puede adquirir muchos libros sujetos a derechos de |
| 1871 | autor con información útil. Mucha gente habla muy bien |
| 1872 | de la marca O'Reilly. Sin embargo, plantéese apoyar |
| 1873 | cuando sea posible manuales de libre modificación y |
| 1874 | redistribución como éste. Si quiere una copia en papel, |
| 1875 | adquirir los manuales libres de la Fundación para el |
| 1876 | Software Libre (disponibles en muchas librerías, como |
| 1877 | Borders, y directamente de la FSF) apoya la creación de |
| 1878 | más software libre. |
| 1879 | |
| 1880 | <footnote>(N. del T.: fuera de Estados Unidos un modo |
| 1881 | sencillo de adquirirlos es a través de internet, en |
| 1882 | <url id="http://www.amazon.com" name="Amazon"> o <url |
| 1883 | id="http://www.borders.com" |
| 1884 | name="Borders">.)</footnote> |
| 1885 | |
| 1886 | </list> |
| 1887 | |
| 1888 | <p>La confusa variedad de fuentes de documentación se debe a |
| 1889 | muchas razones. Por ejemplo, se supone que <tt>info</tt> |
| 1890 | está llamado a reemplazar a <tt>man</tt>, pero <tt>man</tt> |
| 1891 | aún no ha desaparecido. Sin embargo, ¡está bien saber que |
| 1892 | existe tanta documentación! |
| 1893 | |
| 1894 | <p>Así que, ¿dónde buscar ayuda? Aquí van algunas |
| 1895 | sugerencias: |
| 1896 | |
| 1897 | <list> |
| 1898 | |
| 1899 | <item> Utilice las páginas <tt>man</tt> y las opciones |
| 1900 | <tt>--help</tt> o <tt>-h</tt> para obtener un rápido |
| 1901 | resumen de la sintaxis de los comandos y sus opciones. |
| 1902 | Use también <tt>man</tt> si un programa no tiene aún una |
| 1903 | página <tt>info</tt>. |
| 1904 | |
| 1905 | <item> Utilice <tt>info</tt> si un programa tiene |
| 1906 | documentación <tt>info</tt>. |
| 1907 | |
| 1908 | <item> Si ninguno de estos funciona, mire en |
| 1909 | <tt>/usr/doc/<var>nombredelpaquete</var></tt>. |
| 1910 | |
| 1911 | <item> <tt>/usr/doc/<var>nombredelpaquete</var></tt> |
| 1912 | recoge con frecuencia información específica de Debian, |
| 1913 | incluso si existen páginas de manual o info. |
| 1914 | |
| 1915 | <item> Utilice los <tt>CÓMO</tt> |
| 1916 | |
| 1917 | <footnote>(N. del T.: "HOWTO".)</footnote> |
| 1918 | |
| 1919 | para las instrucciones acerca de cómo configurar una |
| 1920 | cosa determinada, o en busca de información sobre su |
| 1921 | hardware particular. Por ejemplo, el Ethernet-CÓMO |
| 1922 | contiene valiosa información sobre las tarjetas |
| 1923 | ethernet, y el PPP-CÓMO explica con detalle cómo |
| 1924 | configurar PPP. |
| 1925 | |
| 1926 | <item> Utilice los manuales del Proyecto de Documentación |
| 1927 | de Debian para explicaciones conceptuales e información |
| 1928 | específica de Debian. |
| 1929 | |
| 1930 | <item> Si falla todo lo demás, pregúntele a alguien. Vea |
| 1931 | <ref id="docs-support">. |
| 1932 | |
| 1933 | </list> |
| 1934 | |
| 1935 | <p>Utilizar las páginas de manual se ha explicado antes en |
| 1936 | <ref id="basics-commandline">. (Es muy simple: apriete la |
| 1937 | barra espaciadora para ir a la página siguiente, y apriete |
| 1938 | <tt>q</tt> para dejar de leer.) En este capítulo se tratan |
| 1939 | <tt>info</tt>, ver archivos |
| 1940 | en <tt>/usr/doc</tt>, y pedir ayuda a otras personas |
| 1941 | |
| 1942 | <sect id="docs-textfiles"> Ver archivos de texto con more y less |
| 1943 | |
| 1944 | <!-- FIXME Utilizarlos para ver algunos documentos. Mencionar zless y --> |
| 1945 | <!-- cuándo usarlo --> |
| 1946 | |
| 1947 | <!-- ARREGLAR : a lo mejor es demasiado avanzado, pero creo que sería --> |
| 1948 | <!-- conveniente citar los preprocesadores --> |
| 1949 | |
| 1950 | <sect id="docs-howtos"> CÓMOs |
| 1951 | |
| 1952 | <p>Además de sus libros, el Proyecto de Documentación de Linux |
| 1953 | ha creado una serie de breves documentos que describen cómo |
| 1954 | configurar un aspecto particular de GNU/Linux. Por ejemplo, |
| 1955 | el SCSI-CÓMO describe algunas de las complicaciones de usar |
| 1956 | SCSI --- un modo estándar de comunicarse con los |
| 1957 | dispositivos --- con GNU/Linux. En general, los CÓMO tienen |
| 1958 | información más específica sobre configuraciones de hardware |
| 1959 | en particular, y estarán más al día que este manual. |
| 1960 | |
| 1961 | <p>Hay paquetes Debian para los CÓMO. |
| 1962 | <var>doc-linux-text</var> contiene los distintos CÓMO en |
| 1963 | formato texto; mientras que el paquete |
| 1964 | <var>doc-linux-html</var> contiene los CÓMO en (¡sorpresa!) |
| 1965 | formato HTML que puede ser visualizado en un navegador. |
| 1966 | Fíjese también en que Debian ha empaquetado traducciones de |
| 1967 | los CÓMO en distintos idiomas que usted puede preferir si el |
| 1968 | inglés no es su lengua materna. |
| 1969 | |
| 1970 | <footnote>Debian tiene paquetes para las versiones alemana, francesa, |
| 1971 | española, italiana, japonesa, koreana, polaca, sueca y china |
| 1972 | de los CÓMO; normalmente se encuentran en el paquete |
| 1973 | <var>doc-linux-códigodeidioma</var>, donde |
| 1974 | <var>códigodeidioma</var> es <tt>fr</tt> para el francés, |
| 1975 | <tt>es</tt> para el español, etc...</footnote> |
| 1976 | |
| 1977 | <footnote>(N. del T.: el español es <var>doc-linux-es</var>, |
| 1978 | por tanto. Asimismo, existen <var>doc-debian-es</var> (la |
| 1979 | FAQ de Debian), <var>manpages-es</var> (páginas de manual) y |
| 1980 | un <var>user-es</var> con elementos de configuración |
| 1981 | apropiados para hispanohablantes, entre otros.)</footnote> |
| 1982 | |
| 1983 | Si usted ha instalado alguno de ellos, debería tenerlos en |
| 1984 | <tt>/usr/doc/HOWTO</tt>. Sin embargo, puede encontrar |
| 1985 | versiones más recientes en la red en la <url |
| 1986 | id="http://sunsite.unc.edu/LDP/" name="Página Principal del |
| 1987 | Proyecto de Documentación de Linux">. |
| 1988 | |
| 1989 | <sect id="docs-support"> Obtener ayuda de otras personas |
| 1990 | |
| 1991 | <p>El lugar correcto para pedir ayuda sobre Debian es la |
| 1992 | lista de correo del usuario de Debian |
| 1993 | <email>debian-user@lists.debian.org</email>. Si sabe cómo |
| 1994 | utilizar IRC (Internet Relay Chat), hay un canal |
| 1995 | <tt>#debian</tt> en <tt>irc.debian.org</tt>. Puede |
| 1996 | encontrar ayuda sobre GNU/Linux en general en la jerarquía |
| 1997 | <tt>comp.os.linux.*</tt> de Usenet. Puede buscar preguntas |
| 1998 | y respuestas hechas en Usenet con el <url |
| 1999 | id="http://www.dejanews.com" name="Servicio DejaNews">. |
| 2000 | También es posible contratar a asesores profesionales para |
| 2001 | que le proporcionen servicios garantizados de asistencia |
| 2002 | técnica. <url id="http://www.debian.org" name="El sitio web |
| 2003 | de Debian"> tiene más información sobre muchos de estos |
| 2004 | recursos. |
| 2005 | |
| 2006 | <footnote>(N. del T.: para los hispanohablantes existe una |
| 2007 | lista específica de usuarios de Debian |
| 2008 | <email>debian-user-spanish@lists.debian.org</email> y |
| 2009 | jerarquías propias en Usenet. Es particularmente activo |
| 2010 | <tt>es.comp.os.linux</tt>.)</footnote> |
| 2011 | |
| 2012 | <p>Otra vez, por favor <em>no</em> pida ayuda a los autores |
| 2013 | de este manual. En cualquier caso, probablemente no |
| 2014 | conocemos la respuesta a su problema específico; si envía |
| 2015 | un correo electrónico a <tt>debian-user</tt> recibirá |
| 2016 | respuestas de más calidad y más rápidamente. |
| 2017 | |
| 2018 | <p>Sea siempre educado y haga un esfuerzo por ayudarse a sí |
| 2019 | mismo leyendo la documentación. Recuerde, Debian es un |
| 2020 | esfuerzo voluntario y la gente le está haciendo un favor al |
| 2021 | dedicar su tiempo a ayudarle. Muchos de ellos cobran |
| 2022 | cientos de dólares por los mismos servicios durante el día. |
| 2023 | |
| 2024 | <sect1 id="docs-support-posting"> Lo que hay que hacer y lo que |
| 2025 | no al preguntar |
| 2026 | |
| 2027 | <p> |
| 2028 | |
| 2029 | <list> |
| 2030 | |
| 2031 | <item> LEA la documentación obvia primero. Cuestiones |
| 2032 | como las opciones de las órdenes y lo que hace una |
| 2033 | instrucción estarán ahí. |
| 2034 | |
| 2035 | <item> COMPRUEBE los documentos CÓMO si su pregunta trata |
| 2036 | acerca de configurar algo, como PPP o Ethernet. |
| 2037 | |
| 2038 | <item> INTENTE asegurarse de que la respuesta no está en |
| 2039 | este manual (aunque nos damos cuenta de que un índice |
| 2040 | sería útil, ¡estamos trabajando en ello!). |
| 2041 | |
| 2042 | <item> NO TENGA MIEDO DE PREGUNTAR, después de haber hecho |
| 2043 | un esfuerzo básico para descubrirlo por usted mismo. |
| 2044 | |
| 2045 | <item> NO TENGA MIEDO DE PEDIR EXPLICACIONES sobre |
| 2046 | conceptos, consejo, y otras cosas que no se encuentran |
| 2047 | con frecuencia en la documentación. |
| 2048 | |
| 2049 | <item> INCLUYA cualquier información que parezca |
| 2050 | relevante. Casi siempre tendrá que mencionar la |
| 2051 | versión de Debian que está usando. También debería |
| 2052 | mencionar la versión de cualquier paquete pertinente: |
| 2053 | la orden <tt>dpkg --status |
| 2054 | <var>nombredelpaquete</var></tt> se lo dirá. También |
| 2055 | es útil decir qué ha intentado hasta ahora y qué |
| 2056 | sucedió. Por favor, incluya los mensajes exactos de |
| 2057 | error, si es que los hay. |
| 2058 | |
| 2059 | <item> NO SE DISCULPE por su ignorancia, o presente |
| 2060 | excusas por ser un novato. No hay razón alguna por la |
| 2061 | que todo el mundo deba ser un experto en GNU/Linux para |
| 2062 | usarlo, no más de las que hay para tener que ser un |
| 2063 | mecánico si quiere utilizar un coche. |
| 2064 | |
| 2065 | <item> NO POSTEE O ENVÍE CORREO EN HTML. Algunas |
| 2066 | versiones de Netscape e Internet Explorer utilizarán |
| 2067 | HTML en lugar del formato texto. La mayoría de la gente |
| 2068 | ni siquiera lee esos mensajes, porque son difíciles de |
| 2069 | leer en la mayor parte de los programas de correo. |
| 2070 | Debería haber en alguna parte una opción de |
| 2071 | configuración en las preferencias para deshabilitar el |
| 2072 | HTML. |
| 2073 | |
| 2074 | <item> SEA EDUCADO. Recuerde que Debian es un esfuerzo |
| 2075 | exclusivamente voluntario, y cualquiera que le ayude lo |
| 2076 | hace sólo porque es una persona amable. |
| 2077 | |
| 2078 | <item> REENVÍE SU PREGUNTA a la lista si no ha obtenido |
| 2079 | respuesta después de varios días. Quizás había montones |
| 2080 | de mensajes y el suyo pasó desapercibido. O quizás |
| 2081 | nadie conoce la respuesta. Si nadie responde la |
| 2082 | segunda vez, esto es lo más probable. Puede tratar de |
| 2083 | incluir más información la segunda vez. |
| 2084 | |
| 2085 | <item> RESPONDA usted mismo a las preguntas, cuando sepa |
| 2086 | la respuesta. Debian depende de que todo el mundo |
| 2087 | cumpla su parte. Si usted hace una pregunta, y más |
| 2088 | tarde algún otro pregunta lo mismo, usted sabrá cómo |
| 2089 | responder. ¡Hágalo! |
| 2090 | |
| 2091 | </list> |
| 2092 | |
| 2093 | <sect id="docs-sysinfo"> Obtener información del sistema |
| 2094 | |
| 2095 | <p>Cuando diagnostique un problema o pida ayuda, necesitará |
| 2096 | obtener información sobre su sistema. Aquí hay algunas |
| 2097 | formas de hacerlo. |
| 2098 | |
| 2099 | <!-- FIXME detallar estar órdenes un poco más ;) --> |
| 2100 | |
| 2101 | <p> /var/log/*, dmesg, uname -a |
| 2102 | |
| 2103 | <chapt id="shell"> <heading> Usar la shell </heading> |
| 2104 | |
| 2105 | <!-- FIXME XXX |
| 2106 | <sect id="shell-jobs"> Más sobre el control de trabajos |
| 2107 | |
| 2108 | <p>Completar el control de trabajos con los detalles no cubiertos |
| 2109 | antes, kill -9. Kill funciona sobre el PID. |
| 2110 | |
| 2111 | --> |
| 2112 | |
| 2113 | <sect id="shell-variables"> Variables de entorno |
| 2114 | |
| 2115 | <p>Cada proceso tiene un <em>entorno</em> asociado a él. Un |
| 2116 | entorno es una colección de <em>variables de entorno</em>. |
| 2117 | Una variable es un valor susceptible de ser modificado que |
| 2118 | tiene un nombre fijo. Por ejemplo, el nombre |
| 2119 | <tt>EMAIL</tt> podría referirse al valor |
| 2120 | <tt>juan@nadie.com</tt> El valor puede cambiar: también |
| 2121 | <tt>EMAIL</tt> podría referirse a |
| 2122 | <tt>juana@alguien.com</tt>. |
| 2123 | |
| 2124 | <p>Dado que la shell es un proceso como cualquier otro, tiene |
| 2125 | un entorno. Puede ver el entorno de su shell introduciendo |
| 2126 | la orden <tt>printenv</tt>. Aquí está un resultado de |
| 2127 | ejemplo: |
| 2128 | |
| 2129 | <example> |
| 2130 | PAGER=less |
| 2131 | HOSTNAME=icon |
| 2132 | MAILCHECK=60 |
| 2133 | MOZILLA_HOME=/usr/local/lib/netscape |
| 2134 | PS1=$ |
| 2135 | USER=hp |
| 2136 | MACHTYPE=i486-pc-linux-gnu |
| 2137 | EDITOR=jed |
| 2138 | DISPLAY=:0.0 |
| 2139 | LOGNAME=hp |
| 2140 | EMAIL=hp@pobox.com |
| 2141 | SHELL=/bin/bash |
| 2142 | HOSTTYPE=i486 |
| 2143 | OSTYPE=linux-gnu |
| 2144 | HISTSIZE=150 |
| 2145 | HOME=/home/hp |
| 2146 | TERM=xterm-debian |
| 2147 | TEXEDIT=jed |
| 2148 | PATH=/home/hp/local/bin:/usr/sbin:/home/hp/.bin:/home/hp/local/bin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:. |
| 2149 | _=/usr/bin/printenv |
| 2150 | </example> |
| 2151 | |
| 2152 | |
| 2153 | <p>En su sistema, el resultado será diferente, pero similar. |
| 2154 | |
| 2155 | <p>Las variables de entorno son una forma de configurar el |
| 2156 | sistema. Por ejemplo, la variable <tt>EDITOR</tt> le |
| 2157 | permite seleccionar su editor preferido para envíar |
| 2158 | mensajes a los grupos de noticias, escribir correo |
| 2159 | electrónico, y demás. La variable <tt>HISTSIZE</tt> le |
| 2160 | dice a Bash cuántas líneas de órdenes debe mantener en su |
| 2161 | historial; usted puede volver a ese número de líneas de |
| 2162 | órdenes con la flecha superior. |
| 2163 | |
| 2164 | <p>Establecer variables de entorno es simple. Una vez que |
| 2165 | aprenda cómo, querrá probablemente definirlas |
| 2166 | automáticamente siempre que ingrese; vea <ref id="custom |
| 2167 | shell"> para más instrucciones. |
| 2168 | |
| 2169 | <p>Para practicar, pruebe a personalizar el prompt de su shell |
| 2170 | y su visualizador de archivos de texto con variables de |
| 2171 | entorno: |
| 2172 | |
| 2173 | <p><enumlist> |
| 2174 | |
| 2175 | <item><tt>man less</tt> <p> Vea el manual en línea de la |
| 2176 | orden <tt>less</tt>. Para mostrarle el texto a razón de |
| 2177 | una pantalla por vez, <tt>man</tt> llama a un |
| 2178 | <em>paginador</em> que le muestra una nueva página cada ez |
| 2179 | que aprieta la barra espaciadora. Por defecto, utiliza el |
| 2180 | paginador llamado <tt>more</tt>. |
| 2181 | |
| 2182 | <item><tt>export PAGER=less</tt><p>Después de leer acerca |
| 2183 | de las ventajas de <tt>less</tt>, podría querer usarlo |
| 2184 | para leer las páginas de manual. Para hacerlo, establece |
| 2185 | la variable de entorno <tt>PAGER</tt> |
| 2186 | |
| 2187 | <p>La orden que configura una variable de entorno dentro |
| 2188 | de bash siempre tiene este formato: <tt>export |
| 2189 | <var>NOMBRE</var>=<var>valor</var></tt>. En caso de |
| 2190 | que utilice <tt>tcsh</tt> u otra derivada de la shell |
| 2191 | C, la instrucción equivalente es <tt>setenv |
| 2192 | <var>NOMBRE</var> <var>valor</var></tt>. |
| 2193 | |
| 2194 | <p> <tt>export</tt> quiere decir pasar la variable de |
| 2195 | la shell al entorno. Esto significa que programas |
| 2196 | distintos de la shell pueden acceder a ella. |
| 2197 | |
| 2198 | <item><tt>echo <var>$PAGER</var></tt> <p> Esta es la forma |
| 2199 | más sencilla de ver el valor de una variable. |
| 2200 | <tt>$PAGER</tt> le dice a la shell que inserte el valor |
| 2201 | de la variable <tt>PAGER</tt> <em>antes</em> de ejecutar |
| 2202 | la instrucción. <tt>echo</tt> devuelve su argumento: en |
| 2203 | este caso, devuelve el valor actual de <tt>PAGER</tt>, |
| 2204 | <tt>less</tt>. |
| 2205 | |
| 2206 | <item><tt>man more</tt> <p> Lea el manual de <tt>more</tt>. |
| 2207 | Esta vez, <tt>man</tt> debería haber llamado al paginador |
| 2208 | <tt>less</tt>. |
| 2209 | |
| 2210 | <p><tt>less</tt> es capaz de un buen número de funciones de |
| 2211 | las que <tt>more</tt> carece. Por ejemplo, usted podrá |
| 2212 | desplazarse hacia atrás con la tecla <tt>b</tt>. También |
| 2213 | puede moverse arriba y abajo (incluso hacia los lados) con |
| 2214 | las teclas de flecha. <tt>less</tt> no terminará cuando |
| 2215 | alcance el final de la página de manual; esperará que usted |
| 2216 | apriete la <tt>q</tt>. |
| 2217 | |
| 2218 | <item><tt>PAGER=more man more</tt> <p> Si quiere establecer |
| 2219 | temporalmente un valor diferente, puede activarlo sólo para |
| 2220 | la línea de instrucciones actual. Ponga el |
| 2221 | <tt><var>NOMBRE</var>=<var>valor</var></tt> al principio de |
| 2222 | la línea de órdenes, seguida de la instrucción que quiere |
| 2223 | ejecutar. Asegúrese de omitir <tt>export</tt>. |
| 2224 | |
| 2225 | <p>Puede ensayar algunas de las órdenes específicas de |
| 2226 | <tt>less</tt>, para verificar que no funcionan con |
| 2227 | <tt>more</tt> y usted está utilizando <tt>more</tt> |
| 2228 | realmente. |
| 2229 | |
| 2230 | <!-- FIXME |
| 2231 | En mi Debian 2.1, /bin/more *tiene* una 'b' funcional. Necesitamos |
| 2232 | encontrar otro rasgo específico de 'less'. |
| 2233 | --> |
| 2234 | |
| 2235 | <!-- ARREGLAR ya de antes. Pero, por ejemplo, en el more de lftp esa 'b' --> |
| 2236 | <!-- no existe. En todo caso, '?' muestra las opciones --> |
| 2237 | |
| 2238 | <item><tt>echo $PAGER</tt> <p> El valor de <tt>PAGER</tt> |
| 2239 | debería ser aún <tt>less</tt>; la configuración anterior |
| 2240 | era sólo temporal. |
| 2241 | |
| 2242 | <item><tt>unset PAGER</tt> <p>Si no quiere definir ya un |
| 2243 | paginador, puede hacer <tt>unset</tt> con la variable |
| 2244 | |
| 2245 | <footnote>(N. del T.: "unset", desconfigurar.)</footnote>. |
| 2246 | |
| 2247 | <tt>man</tt> usará entonces <tt>more</tt> por defecto, tal |
| 2248 | como lo hacía antes de que definiera la variable. |
| 2249 | |
| 2250 | <item><tt>echo $PAGER</tt> <p>Puesto que se ha eliminado la |
| 2251 | definición de <tt>PAGER</tt>, <tt>echo</tt> no devolverá |
| 2252 | nada. |
| 2253 | |
| 2254 | <item><tt>PS1=hola:</tt> <p> Por pura diversión, cambie el |
| 2255 | prompt de su shell. <tt>$</tt> debería convertirse en |
| 2256 | <tt>hola:</tt>. |
| 2257 | |
| 2258 | <p><tt>export</tt> no es necesario, porque estamos cambiando |
| 2259 | el comportamiento de la propia shell. No hay razón para |
| 2260 | exportar la variable al entorno para que la vean otros |
| 2261 | programas. Técnicamente, <tt>PS1</tt> es una <em>variable |
| 2262 | de la shell</em> más que una variable del entorno. |
| 2263 | |
| 2264 | <p>Si quisiera, podría exportar la variable de la shell, |
| 2265 | transformándola en una variable del entorno. Entonces |
| 2266 | otros programas podrían verla: específicamente, los |
| 2267 | <em>hijos</em> del proceso actual de la shell. La sección |
| 2268 | siguiente lo explica. |
| 2269 | |
| 2270 | </enumlist> |
| 2271 | |
| 2272 | <sect1 id="shell-variables-parents"> Procesos padres e hijos |
| 2273 | |
| 2274 | <p>Todos los procesos proceden de un proceso anterior, llamado |
| 2275 | su <em>proceso padre</em>. |
| 2276 | |
| 2277 | <footnote> Puede que crea que aquí se plantea el problema de |
| 2278 | la gallina y el huevo. Hay un proceso original que inicia |
| 2279 | todos los demás; es el proceso número 1, <tt>init</tt>. |
| 2280 | Puede verlo ejecutarse escribiendo <tt>ps u |
| 2281 | 1</tt>.</footnote> |
| 2282 | |
| 2283 | La orden <prgn>ps</prgn> es una herramienta útil para |
| 2284 | explorar los procesos, y puede emplearse para examinar las |
| 2285 | relaciones entre procesos padres e hijos. |
| 2286 | |
| 2287 | <enumlist> |
| 2288 | |
| 2289 | <item><tt>ps f</tt> <p> Esta orden solicita ver una lista de |
| 2290 | los procesos que le pertenecen a usted, en un formato que |
| 2291 | muestra cómo se relacionan entre sí. |
| 2292 | |
| 2293 | </enumlist> |
| 2294 | |
| 2295 | <p><tt>ps f</tt> puede devolver un resultado como este: |
| 2296 | |
| 2297 | <example> |
| 2298 | $ ps f |
| 2299 | PID TT STAT TIME |
| 2300 | 7270 p5 S 0:00 bash |
| 2301 | 15980 p5 R 0:00 \_ ps f |
| 2302 | 19682 p4 S 0:00 bash |
| 2303 | 15973 p4 S 0:00 \_ man ps |
| 2304 | 15976 p4 S 0:00 \_ sh -c /bin/gzip -dc '/var/catman/cat1/ps.1.gz' | { export MAN_PN LESS; MAN_PN='ps(1)'; LESS="$LESS\$-Pm\:\$i |
| 2305 | 15977 p4 S 0:00 \_ /bin/gzip -dc /var/catman/cat1/ps.1.gz |
| 2306 | 15978 p4 S 0:00 \_ sh -c /bin/gzip -dc '/var/catman/cat1/ps.1.gz' | { export MAN_PN LESS; MAN_PN='ps(1)'; LESS="$LESS\$-Pm\ |
| 2307 | 15979 p4 S 0:00 \_ less |
| 2308 | export MAN_PN LESS; MAN_PN='ps(1)'; LESS="$LESS\$-Pm\ |
| 2309 | 15979 p4 S 0:00 \_ less |
| 2310 | $ |
| 2311 | </example> |
| 2312 | |
| 2313 | <p>Aquí puede ver que tengo un cierto número de procesos |
| 2314 | ejecutándose, incluidas dos shells. Las shells tienen |
| 2315 | procesos hijos: el proceso de la shell 7270 tiene el proceso |
| 2316 | hijo 15980 (<tt>ps f</tt>) y la shell 19682 tiene el proceso |
| 2317 | hijo 15973 (<tt>man ps</tt>). <tt>man ps</tt>, a su vez, ha |
| 2318 | invocado un complejo conjunto de subprocesos para mostrar |
| 2319 | una página de manual. No se preocupe de lo que hacen esos |
| 2320 | procesos por ahora. |
| 2321 | |
| 2322 | <p>Padres e hijos mantienen una compleja relación. La mayor |
| 2323 | parte del tiempo, cuando muere un padre el hijo morirá |
| 2324 | también. De este modo, se puede cerrar un conjunto entero |
| 2325 | de procesos --- por ejemplo, todos los hijos de <tt>man |
| 2326 | ps</tt> en el ejemplo superior --- matando al proceso padre, |
| 2327 | 15973. |
| 2328 | |
| 2329 | <p>Los hijos heredan las variables de entorno de sus padres, y |
| 2330 | algunos otros atributos, como el directorio activo de |
| 2331 | trabajo. |
| 2332 | |
| 2333 | <p>Cuando una shell ejecuta una orden, inicia la instrucción |
| 2334 | como un proceso hijo. Así, la orden <tt>man</tt> hereda el |
| 2335 | entorno de la shell; si usted ha definido la variable |
| 2336 | <tt>PAGER</tt>, <tt>man</tt> será capaz de verla. |
| 2337 | |
| 2338 | <p>Si no llega a exportar una variable, sólo la shell misma la |
| 2339 | verá, y no se la pasará a los hijos como <tt>man</tt>. |
| 2340 | |
| 2341 | <sect id="shell-path"> Donde viven las órdenes: la variable |
| 2342 | <tt>PATH</tt> |
| 2343 | |
| 2344 | <p>Cuando usted escribe una orden en la shell, ésta tiene que |
| 2345 | encontrar el programa en su disco duro antes de ejecutarlo. |
| 2346 | Si la shell tuviera que mirar en todo el disco, sería |
| 2347 | demasiado lenta; en su lugar, mira en una lista de |
| 2348 | directorios contenida en la variable de entorno |
| 2349 | <tt>PATH</tt>. Esta lista de directorios forma el |
| 2350 | <em>camino de búsqueda</em> de las shells; cuando usted |
| 2351 | introduce una instrucción, pasa por cada uno, en orden, en |
| 2352 | busca del programa que le ha pedido ejecutar. |
| 2353 | |
| 2354 | <p>Puede que usted necesite cambiar la variable <tt>PATH</tt> |
| 2355 | si instala programas por sí mismo en una localización no |
| 2356 | estándar. |
| 2357 | |
| 2358 | <p>El valor de <tt>PATH</tt> es una lista de directorios |
| 2359 | separados por dos puntos (:). El valor por defecto en los |
| 2360 | sistemas Debian es: |
| 2361 | |
| 2362 | <example> |
| 2363 | /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games |
| 2364 | </example> |
| 2365 | |
| 2366 | <p>Este valor se encuentra definido en el archivo |
| 2367 | <tt>/etc/profile</tt> |
| 2368 | |
| 2369 | <footnote>(N. del T.: "profile", perfil, por referencia a |
| 2370 | "perfil de usuario".)</footnote> |
| 2371 | |
| 2372 | y se aplica a todos los usuarios. Puede cambiar el valor |
| 2373 | fácilmente, tal como puede cambiar el valor de cualquier |
| 2374 | variable de entorno. |
| 2375 | |
| 2376 | <p>Si introduce la orden <tt>ls</tt>, la shell primero mirará |
| 2377 | en <tt>/usr/local/bin</tt>; <tt>ls</tt> no está ahí, así que |
| 2378 | intentará <tt>/usr/bin</tt>; cuando esto falle, comprobará |
| 2379 | <tt>/bin</tt>. Ahí descubrirá <tt>/bin/ls</tt>, detendrá la |
| 2380 | búsqueda, y ejecutará el programa <tt>bin/ls</tt>. Si |
| 2381 | <tt>/usr/bin/X11/ls</tt> existiera (no existe, pero |
| 2382 | imagínelo), sería ignorado. |
| 2383 | |
| 2384 | <p>Puede ver qué <tt>ls</tt> va a utilizar la shell con la |
| 2385 | orden <tt>type</tt>. <tt>type ls</tt> le dará la respuesta |
| 2386 | <tt>/bin/ls</tt>. Pruébelo usted mismo. |
| 2387 | |
| 2388 | <p>Pregunte dónde se encuentra el propio <tt>type</tt>: |
| 2389 | |
| 2390 | <example> |
| 2391 | $ type type |
| 2392 | type is a shell builtin |
| 2393 | </example> |
| 2394 | |
| 2395 | <p><tt>type</tt> no es en realidad un programa; es una función |
| 2396 | provista por la shell. Sin embargo, se utiliza |
| 2397 | exactamente igual que un programa externo. |
| 2398 | |
| 2399 | <footnote>Si está utilizando un derivado de la shell C, la |
| 2400 | función interna equivalente a <tt>type</tt> es |
| 2401 | <tt>which</tt>.</footnote> |
| 2402 | |
| 2403 | <p>Hay un cierto número de instrucciones como ésta; escriba |
| 2404 | <tt>man builtins</tt> para leer la página de manual que los |
| 2405 | describe. En general, no necesita saber si una orden es |
| 2406 | interna o un auténtico programa; sin embargo, las |
| 2407 | instrucciones internas no aparecen en el resultado de |
| 2408 | <tt>ps</tt> o <tt>top</tt> puesto que no son procesos |
| 2409 | separados. Son solamente parte de la shell. |
| 2410 | |
| 2411 | <sect id="custom_shell-aliases"> Alias y funciones de la shell |
| 2412 | |
| 2413 | <p>Si usted utiliza con frecuencia la misma orden, puede |
| 2414 | cansarse de teclearla. <tt>bash</tt> le permite escribir |
| 2415 | <em>alias</em> más breves para sus instrucciones. También |
| 2416 | puede escribir <em>funciones de la shell</em>, que son |
| 2417 | instrucciones personalizadas compuestas de otras varias |
| 2418 | órdenes. |
| 2419 | |
| 2420 | <p>Supongamos que usted siempre utiliza las opciones |
| 2421 | <tt>--almost-all</tt> y <tt>--color=auto</tt> con |
| 2422 | <tt>ls</tt>. Rápidamente se cansaré de escribir <tt>ls |
| 2423 | --almost-all --color=auto</tt>. Así que hace un alias: |
| 2424 | |
| 2425 | <p> |
| 2426 | |
| 2427 | <example> |
| 2428 | alias mils='ls --almost-all --color=auto' |
| 2429 | </example> |
| 2430 | |
| 2431 | <p>Ahora puede escribir <tt>mils</tt> en lugar de la orden |
| 2432 | completa. Para ver lo que es realmente <tt>mils</tt>, |
| 2433 | ejecute la instrucción <tt>type mils</tt>. Para ver una |
| 2434 | lista de los alias que ha definido, escriba simplemente |
| 2435 | <tt>alias</tt> en una línea independiente. |
| 2436 | |
| 2437 | <p>Las funciones de la shell son un poco más flexibles que los |
| 2438 | alias. Un alias se limita a sustituir una orden más larga |
| 2439 | cuando usted teclea una corta. Las funciones le permiten |
| 2440 | utilizar series de órdenes para realizar alguna acción. |
| 2441 | |
| 2442 | <p>Veamos primero cómo podría usarse una función de la shell |
| 2443 | en lugar del alias de arriba: |
| 2444 | |
| 2445 | <example> |
| 2446 | mils() { |
| 2447 | ls --almost-all --color=auto $* |
| 2448 | } |
| 2449 | </example> |
| 2450 | |
| 2451 | <p>Lo anterior se denomina <em>definición de función</em>, |
| 2452 | porque da un nombre de función (<tt>mils</tt>), y después |
| 2453 | define el significado del nombre (algunas órdenes que deben |
| 2454 | ejecutarse). Para definir una función, escriba su nombre, |
| 2455 | seguido de <tt>()</tt>. Después incluya las instrucciónes |
| 2456 | que hay que ejecutar entre llaves (<tt>{}</tt>). La parte |
| 2457 | dentro de las llaves se conoce como el <tt>cuerpo</tt> de la |
| 2458 | función. |
| 2459 | |
| 2460 | <p>Los argumentos de la función pueden designarse como |
| 2461 | <tt>$*</tt>. Así que si escribe: |
| 2462 | |
| 2463 | <example> |
| 2464 | mils /usr /etc |
| 2465 | </example> |
| 2466 | |
| 2467 | <tt>$*</tt> será <tt>/usr /etc</tt>, los dos argumentos. Si |
| 2468 | no hay argumentos, <tt>$*</tt> estará vacío. |
| 2469 | |
| 2470 | <p>También puede designarse a los argumentos mediante un |
| 2471 | número. Así que <tt>$1</tt> en el cuerpo de la función |
| 2472 | será reemplazado por <tt>/usr</tt>, y <tt>$2</tt> será |
| 2473 | reemplazado por <tt>/etc</tt>. Escriba esta función (puede |
| 2474 | hacerlo en el prompt de la shell; apriete Intro después de |
| 2475 | cada línea): |
| 2476 | |
| 2477 | <p> |
| 2478 | |
| 2479 | <example> |
| 2480 | imprime_argumentos() { |
| 2481 | echo "Primer argumento: $1" |
| 2482 | echo "Segundo argumento: $2" |
| 2483 | echo "Todos los argumentos: $*" |
| 2484 | } |
| 2485 | </example> |
| 2486 | |
| 2487 | <p>Puede verificar si ha introducido la definición de función |
| 2488 | correctamente con la orden <tt>type</tt>; <tt>type |
| 2489 | imprime_argumentos</tt> debería devolver: |
| 2490 | |
| 2491 | |
| 2492 | <example> |
| 2493 | imprime_argumentos es una función |
| 2494 | imprime_argumentos() { |
| 2495 | echo "Primer argumento: $1" |
| 2496 | echo "Segundo argumento: $2" |
| 2497 | echo "Todos los argumentos: $*" |
| 2498 | } |
| 2499 | </example> |
| 2500 | |
| 2501 | <p>Prueba la función. Si introduce <tt>imprime_argumentos uno |
| 2502 | dos</tt> mostrará: |
| 2503 | |
| 2504 | <example> |
| 2505 | Primer argumento: uno |
| 2506 | Segundo argumento: dos |
| 2507 | Todos los argumentos: uno dos |
| 2508 | </example> |
| 2509 | |
| 2510 | <p>Hay cosas más complejas que usted puede hacer en una |
| 2511 | función de la shell; sólo está limitado por su imaginación. |
| 2512 | Para más información, vea <ref id="advanced-scripting">. |
| 2513 | |
| 2514 | <sect id="shell-io"> Controlar la entrada y salida |
| 2515 | |
| 2516 | <footnote>(N. del T.: el presente capítulo se refiere a |
| 2517 | operaciones de entrada y salida de datos. En español, suele |
| 2518 | abreviarse como "E/S". En inglés, se trata de operaciones |
| 2519 | "input/output", abreviadamente, "I/O".)</footnote> |
| 2520 | |
| 2521 | <p>Stdin, stdout, tuberías, y redirección |
| 2522 | |
| 2523 | <footnote>(N. del T.: "stdin" = "standard input", "stdout" = |
| 2524 | "standard output", "stderr" = "standard error".)</footnote> |
| 2525 | |
| 2526 | <p>Cada proceso tiene al menos tres conexiones con el mundo |
| 2527 | exterior. La <em>entrada estándar</em> es la fuente de |
| 2528 | datos del proceso; la <em>salida estándar</em> el es lugar |
| 2529 | al que el proceso envía los datos; y el <em>error |
| 2530 | estándar</em> es un lugar al que el proceso puede enviar |
| 2531 | mensajes de error. (Con frecuencia se abrevian en |
| 2532 | <tt>stdin</tt>, <tt>stdout</tt>, y <tt>stderr</tt>.) |
| 2533 | |
| 2534 | <p>Las palabras `fuente' y `lugar' son deliberadamente vagas. |
| 2535 | El usuario puede cambiar estas localizaciones de entrada y |
| 2536 | salida estándar; podrían serlo la pantalla, el teclado, un |
| 2537 | fichero, incluso una conexión de red. El usuario puede |
| 2538 | especificar la localización que ha de utilizarse. |
| 2539 | |
| 2540 | <p>Cuando usted ejecuta un programa desde la shell, usualmente |
| 2541 | la entrada estándar procede de su teclado y la salida |
| 2542 | estándar y el error estándar van a la pantalla. Sin |
| 2543 | embargo, puede pedirle a la shell que cambie estos valores |
| 2544 | por defecto. |
| 2545 | |
| 2546 | <p>Por ejemplo, la orden <tt>echo</tt> envía su salida a la |
| 2547 | salida estándar, normalmente la pantalla. Pero usted puede |
| 2548 | enviarla en su lugar a un archivo, con el <em>operador de |
| 2549 | redirección de salida</em>, '<tt>></tt>'. Por ejemplo, |
| 2550 | para poner la palabra "Hola" en el archivo |
| 2551 | <tt>miarchivo</tt>: |
| 2552 | |
| 2553 | <example> |
| 2554 | echo Hola > miarchivo |
| 2555 | </example> |
| 2556 | |
| 2557 | |
| 2558 | <p>Utilice <tt>cat</tt> en su paginador de ficheros de texto |
| 2559 | (<tt>more</tt> o <tt>less</tt>) para ver el contenido de |
| 2560 | <tt>miarchivo</tt>. |
| 2561 | |
| 2562 | <p>Puede cambiar la entrada estándar de un programa con el |
| 2563 | <em>operador de redirección de entrada</em>, |
| 2564 | '<tt><</tt>'. Por ejemplo, <tt>more < miarchivo</tt> |
| 2565 | mostrará el contenido de <tt>miarchivo</tt>. Esto, en la |
| 2566 | práctica, no resulta útil; por comodidad, la orden |
| 2567 | <tt>more</tt> acepta como argumento un nombre de fichero. |
| 2568 | Así que usted puede limitarse a decir <tt>more |
| 2569 | miarchivo</tt> y el efecto será el mismo. |
| 2570 | |
| 2571 | <p>En cuanto a su funcionamiento interno, <tt>more < |
| 2572 | miarchivo</tt> significa que la shell abre |
| 2573 | <tt>miarchivo</tt>, después envía su contenido a la entrada |
| 2574 | estándar de <tt>more</tt>. <tt>more miarchivo</tt>, sin el |
| 2575 | operador de redirección, significa que la orden |
| 2576 | <tt>more</tt> recibe un argumento, <tt>miarchivo</tt>, abre |
| 2577 | el archivo mismo, y después lo muestra. |
| 2578 | |
| 2579 | <p>Existe una razón para la doble funcionalidad, no obstante. |
| 2580 | Por ejemplo, usted puede conectar la salida estándar de una |
| 2581 | instrucción a la entrada estándar de otra. Esto se llama |
| 2582 | <em>tubería</em>, y utiliza el <em>operador de tubería</em>, |
| 2583 | '<tt>|</tt>'. |
| 2584 | |
| 2585 | <p>Tal vez quiera ver la Licencia Pública General de GNU al |
| 2586 | revés. Para hacerlo, se utiliza la orden <tt>tac</tt> (es |
| 2587 | <tt>cat</tt>, sólo que al revés). Inténtelo: |
| 2588 | |
| 2589 | <example> |
| 2590 | tac /usr/doc/copyright/GPL |
| 2591 | </example> |
| 2592 | |
| 2593 | <p>Desafortunadamente, pasa demasiado rápido como para leerla, |
| 2594 | así que solamente puede ver un par de párrafos. La solución |
| 2595 | está en una tubería: |
| 2596 | |
| 2597 | <example> |
| 2598 | tac /usr/doc/copyright/GPL | more |
| 2599 | </example> |
| 2600 | |
| 2601 | <p>Esto toma la salida estándar de <tt>tac</tt>, que es la LGP |
| 2602 | al revés, y la envía a la entrada estándar de <tt>more</tt>. |
| 2603 | |
| 2604 | <p>Puede encadenar tantas instrucciones como quiera. Pongamos |
| 2605 | que tiene un inexplicable deseo de reemplazar cada |
| 2606 | <tt>G</tt> por una <tt>Q</tt>; para esto se utiliza la orden |
| 2607 | <tt>G Q</tt>, de este modo: |
| 2608 | |
| 2609 | <example> |
| 2610 | tac /usr/doc/copyright/GPL | tr G Q | more |
| 2611 | </example> |
| 2612 | |
| 2613 | <p>Podría obtener el mismo efecto empleando archivos |
| 2614 | temporales y la redirección. Por ejemplo: |
| 2615 | |
| 2616 | <example> |
| 2617 | tac /usr/doc/copyright/GPL > tmpfile |
| 2618 | tr G Q < tmpfile > tmpfile2 |
| 2619 | more < tmpfile2 |
| 2620 | rm tmpfile tmpfile2 |
| 2621 | </example> |
| 2622 | |
| 2623 | <p>Es evidente que una tubería es más cómoda. |
| 2624 | |
| 2625 | <sect id="shell-wildcards"> Expansión de nombres de ficheros |
| 2626 | ("Comodines") |
| 2627 | |
| 2628 | <p>Con frecuencia querrá que una orden funcione con un grupo |
| 2629 | de ficheros. Los "comodines" se utilizan para crear una |
| 2630 | <em>pauta de expansión de nombres de ficheros</em>: una |
| 2631 | serie de caracteres y comodines que se expande para formar |
| 2632 | una lista de nombres de archivo. Por ejemplo, la pauta |
| 2633 | <tt>/etc/*</tt> se expande para convertirse en una lista de |
| 2634 | todos los archivos en <tt>/etc</tt> |
| 2635 | |
| 2636 | <footnote>En realidad, los archivos que comienzan con un |
| 2637 | punto (.) no se incluyen en la expansión de |
| 2638 | <tt>*</tt>.</footnote>. |
| 2639 | |
| 2640 | <p><tt>*</tt> es un comodín, que puede referirse a cualquier |
| 2641 | serie de caracteres, de modo que la pauta <tt>/etc/*</tt> se |
| 2642 | expandirá para formar una lista con todos los nombres de |
| 2643 | archivos que empiecen con <tt>/etc/</tt>. |
| 2644 | |
| 2645 | <p>Esta lista de nombres de archivo es útil principalmente |
| 2646 | como conjunto de argumentos para una instrucción. Por |
| 2647 | ejemplo, el directorio <tt>/etc</tt> contiene una serie de |
| 2648 | subdirectorios llamados <tt>rc0.d</tt>, <tt>rc1.d</tt>, etc. |
| 2649 | Normalmente, para ver sus contenidos, tendría que |
| 2650 | introducir: |
| 2651 | |
| 2652 | <example> |
| 2653 | ls /etc/rc0.d /etc/rc1.d /etc/rc2.d /etc/rc3.d /etc/rc4.d /etc/rc5.d /etc/rc6.d /etc/rcS.d |
| 2654 | </example> |
| 2655 | |
| 2656 | <p>Esto es tedioso. En su lugar, puede utilizar el comodín |
| 2657 | <tt>?</tt>: |
| 2658 | |
| 2659 | <example> |
| 2660 | ls /etc/rc?.d |
| 2661 | </example> |
| 2662 | |
| 2663 | <p><tt>/etc/rc?.d</tt> se expande para formar una lista con |
| 2664 | los nombres de archivo que comiencen con <tt>rc</tt>, |
| 2665 | seguidos de un sólo carácter (cualquiera), seguido de |
| 2666 | <tt>.d</tt>. |
| 2667 | |
| 2668 | <p>Los comodines disponibles son: |
| 2669 | |
| 2670 | <taglist> |
| 2671 | |
| 2672 | <tag><tt>*</tt><item>Equivale a cualquier grupo de 0 o más |
| 2673 | caracteres |
| 2674 | |
| 2675 | <tag><tt>?</tt><item>Equivale exactamenta a un carácter |
| 2676 | |
| 2677 | <tag><tt>[...]</tt><item>Si encierra algunos caracteres |
| 2678 | entre corchetes, el resultado es un comodín que equivale |
| 2679 | a esos caracteres. Por ejemplo, <tt>[abc]</tt> equivale |
| 2680 | bien a a, o a b, o a c. Si añade un <tt>^</tt> tras el |
| 2681 | primer corchete, el sentido se invierte; de modo que |
| 2682 | <tt>[^abc]</tt> equivale a cualquier carácter que no sea |
| 2683 | ni a, ni b, ni c. Puede incluir un intervalo, como |
| 2684 | <tt>[a-j]</tt>, lo que equivale a cualquier cosa entre |
| 2685 | la a y la j. La equivalencia tiene en cuenta las |
| 2686 | mayúsculas, de modo que para permitir cualquier letra, |
| 2687 | debe utilizar <tt>[a-zA-Z]</tt>. |
| 2688 | |
| 2689 | </taglist> |
| 2690 | |
| 2691 | <p>Las pautas de expansión son simples, una vez que se han |
| 2692 | visto algunos ejemplos concretos: |
| 2693 | |
| 2694 | <taglist> |
| 2695 | |
| 2696 | <tag><tt>*.txt</tt><item>Esto le dará una lista de |
| 2697 | cualquier nombre de fichero que termine en |
| 2698 | <tt>.txt</tt>, puesto que <tt>*</tt> equivale a |
| 2699 | cualquier cosa en absoluto. |
| 2700 | |
| 2701 | <tag><tt>*.[hc]</tt><item>Esto dará una lista de nombres |
| 2702 | de fichero que terminen en <tt>.h</tt> o en <tt>.c</tt>. |
| 2703 | |
| 2704 | <tag><tt>??</tt><item>Esto le proporcionará todos los |
| 2705 | nombres de archivo de tres letras que comiencen con |
| 2706 | <tt>a</tt>. |
| 2707 | |
| 2708 | <tag><tt>[^a]??</tt><item>Esto le dará todos los nombres |
| 2709 | de archivo de tres letras que <em>no</em> comiencen con |
| 2710 | <tt>a</tt>. |
| 2711 | |
| 2712 | <tag><tt>a*</tt><item>Esto le dará todos los nombres de |
| 2713 | archivo que comiencen con <tt>a</tt>, sin importar de |
| 2714 | cuántas letras consten. |
| 2715 | |
| 2716 | </taglist> |
| 2717 | |
| 2718 | |
| 2719 | <!-- FIXME XXX |
| 2720 | <sect id="shell-quoting"> Citar |
| 2721 | <p>Cuándo citar y por qué |
| 2722 | --> |
| 2723 | |
| 2724 | <sect> Shell interactiva/no-interactiva <!-- FIXME mover esto --> |
| 2725 | |
| 2726 | <p>Bash tiene dos modos diferentes: <em>interactivo</em> y |
| 2727 | <em>no-interactivo</em>. Interactivo significa que puede |
| 2728 | escribir en ella, y hacer que haga cosas para usted. Las |
| 2729 | shells no-interactivas interpretan guiones de shell, |
| 2730 | similares a los archivos de procesamiento por lotes de DOS. |
| 2731 | Le da una lista de órdenes que tiene que cumplir, y va y las |
| 2732 | realiza, pero sin su intervención. Usted no ve cómo se |
| 2733 | escriben las instrucciones. Por supuesto, cualquier salida |
| 2734 | será registrada en alguna parte (la salida estándar, o |
| 2735 | stdout, normalmente la pantalla o un archivo de registro). |
| 2736 | Un poco más tarde trataremos más a fondo las shells no |
| 2737 | interactivas. |
| 2738 | |
| 2739 | <sect1 id="interactive-shells">Shells interactivas |
| 2740 | |
| 2741 | <p>Dominar las shells interactivas lleva mucho tiempo, |
| 2742 | simplemente porque tan poderosas que... ¡probablemente nunca |
| 2743 | lo aprenda todo! Es sólo que hay tanto que una shell puede |
| 2744 | hacer, y por supuesto, siempre están cambiando. Aquí |
| 2745 | hablaremos sobre <tt>bash</tt>, y algunas órdenes básicas |
| 2746 | que harán su vida con la shell más fácil. En bash, uno |
| 2747 | puede tener varias actividades desarrollándose a la vez, y |
| 2748 | esto puede volverse confuso. |
| 2749 | |
| 2750 | <p>Una shell está orientada al texto, es un entorno de línea |
| 2751 | de instrucciones. La shell siempre le presentará un prompt |
| 2752 | cuando esté esperando que usted haga cosas. El prompt por |
| 2753 | defecto de Debian es un signo $. |
| 2754 | |
| 2755 | <p>Es en el prompt $ donde puede introducir órdenes para |
| 2756 | decirle a Linux que haga cosas, que pueden ser el nombre de |
| 2757 | un programa, o bien un comando interno que la shell |
| 2758 | proporciona para su comodidad. |
| 2759 | |
| 2760 | <!-- FIXME |
| 2761 | <sect1 id="non-interactive-shells">Shells no-interactivas |
| 2762 | --> |
| 2763 | |
| 2764 | <chapt id="files"> <heading> Más sobre ficheros </heading> |
| 2765 | |
| 2766 | <p>En <ref id="basics-files"> nos ocupamos de de |
| 2767 | mover/renombrar ficheros con <tt>mv</tt>, copiarlos con |
| 2768 | <tt>cp</tt>, borrarlos con <tt>rm</tt>, borrar directorios |
| 2769 | con <tt>rmdir</tt>, y crear directorios con <tt>mkdir</tt>. |
| 2770 | Este capítulo cubrirá algunos aspectos más sobre los |
| 2771 | archivos. |
| 2772 | |
| 2773 | <sect id="files-permissions"> Permisos |
| 2774 | |
| 2775 | <p> Los sistemas GNU y Unix están configurados para permitir a |
| 2776 | mucha gente utilizar la misma computadora, manteniendo |
| 2777 | reservados algunos ficheros o evitando que algunas personas |
| 2778 | puedan modificar ciertos archivos. Puede verificarlo por sí |
| 2779 | mismo: |
| 2780 | |
| 2781 | <enumlist> |
| 2782 | |
| 2783 | <item> Ingrese como usted mismo, esto es, <em>NO</em> como |
| 2784 | root. |
| 2785 | |
| 2786 | <item> <tt>whoami</tt> <p> Compruebe que no es root. |
| 2787 | |
| 2788 | <item> <tt>rm /etc/resolv.conf</tt> <p> Debería obtener un |
| 2789 | "Permiso denegado". <tt>/etc/resolv.conf</tt> es un |
| 2790 | archivo esencial de configuración del sistema; usted no |
| 2791 | está autorizado para alterarlo o borrarlo a menos que sea |
| 2792 | root. Esto evita que accidentalmente estropear el |
| 2793 | sistema, y si la computadora es pública, como en una |
| 2794 | oficina o escuela, evita que los usuarios dañen el sistema |
| 2795 | a propósito. |
| 2796 | |
| 2797 | </enumlist> |
| 2798 | |
| 2799 | <p>Ahora escriba <tt>ls -l /etc/resolv.conf</tt> <p>Le |
| 2800 | devolverá una salida que se asemeja a algo como esto: |
| 2801 | |
| 2802 | <p> |
| 2803 | |
| 2804 | <example> |
| 2805 | -rw-r--r-- 1 root root 119 Feb 23 1997 /etc/resolv.conf |
| 2806 | </example> |
| 2807 | |
| 2808 | <p>La opción <tt>-l</tt> de <tt>ls</tt> solicita toda esa |
| 2809 | información adicional. La información a la derecha es |
| 2810 | fácil: el tamaño del archivo es <tt>119</tt> bytes, la fecha |
| 2811 | en que el archivo cambió por última vez es <tt>Feb 23 |
| 2812 | 1997</tt>, el nombre del fichero es |
| 2813 | <tt>/etc/resolv.conf</tt>. En el lado izquierdo de la |
| 2814 | pantalla las cosas son un poco más complicadas. |
| 2815 | |
| 2816 | <p>Primero la explicación técnica, más breve: el |
| 2817 | <tt>-rw-r--r--</tt> es el <tt>modo</tt> del archivo, el |
| 2818 | <tt>1</tt> es el número de enlaces duros para este fichero |
| 2819 | (o el número de archivos en un directorio), y los dos |
| 2820 | <tt>root</tt> son el usuario y el grupo que poseen este |
| 2821 | archivo. |
| 2822 | |
| 2823 | <p>Eso ha sido bastante críptico. Volvamos despacio sobre |
| 2824 | ello (excepto para la parte de los enlaces duros: para eso |
| 2825 | vea <ref id="advanced-files-hardlinks">). |
| 2826 | |
| 2827 | <sect1 id="files-permissions-groups"> Propiedad de los ficheros |
| 2828 | |
| 2829 | <p>Cada fichero tiene dos propietarios: un usuario, y un |
| 2830 | grupo. El caso de arriba es un poco confuso, puesto que hay |
| 2831 | un grupo llamado <tt>root</tt> además del usuario |
| 2832 | <tt>root</tt>. Los grupos son simplemente conjuntos de |
| 2833 | usuarios a los que se permite colectivamente el acceso a una |
| 2834 | parte del sistema. Un buen ejemplo es el grupo |
| 2835 | <tt>games</tt> |
| 2836 | |
| 2837 | <footnote>(N. del T.: "games", juegos.)</footnote>. |
| 2838 | |
| 2839 | Por el gusto de ser mezquino, puede configurar su sistema de |
| 2840 | modo que sólo las personas en un grupo <tt>games</tt> estén |
| 2841 | autorizadas para jugar. |
| 2842 | |
| 2843 | <p>Un ejemplo más práctico: digamos que está usted |
| 2844 | configurando una computadora para un colegio. Puede querer |
| 2845 | que a ciertos archivos sólo puedan acceder los profesores, |
| 2846 | no los estudiantes, de modo que pone a todos los profesores |
| 2847 | en un único grupo. Después puede decirle al sistema que |
| 2848 | ciertos ficheros pertenecen a los miembros del grupo |
| 2849 | <tt>profesores</tt>, y que nadie más puede acceder a ellos. |
| 2850 | |
| 2851 | <p>Aquí hay algunas cosas que puede hacer para explorar los |
| 2852 | grupos de su sistema: |
| 2853 | |
| 2854 | <enumlist> |
| 2855 | |
| 2856 | <item> <tt>groups</tt> <p> Escribir esta orden en el prompt |
| 2857 | de la shell le dirá de qué grupos es usted miembro. Es |
| 2858 | probable que sea miembro de un único grupo, con el mismo |
| 2859 | nombre que su nombre de usuario. |
| 2860 | |
| 2861 | <item> <tt>more /etc/group</tt> <p> Este archivo lista los |
| 2862 | grupos que existen en su sistema. Fíjese en el grupo |
| 2863 | <tt>root</tt> (el único miembro de este grupo es el |
| 2864 | usuario root), y en el grupo que se corresponde con su |
| 2865 | nombre de usuario. Hay también grupos como |
| 2866 | <tt>dialout</tt> (usuarios que están autorizados a marcar |
| 2867 | con el módem), y <tt>floppy</tt> (usuarios que pueden |
| 2868 | utilizar la disquetera). Sin embargo, probablemente su |
| 2869 | sistema no está configurado para hacer uso de esos grupos; |
| 2870 | es probable que sólo root pueda usar la disquetera o el |
| 2871 | módem ahora mismo. Para más detalles sobre este fichero, |
| 2872 | pruebe a leer <tt>man group</tt>. |
| 2873 | |
| 2874 | <item> <tt>ls -l /home</tt> <p> Observe cómo el directorio |
| 2875 | principal de cada usuario pertenece a ese usuario y al |
| 2876 | grupo personal de ese usuario. (Si acaba de instalar la |
| 2877 | Debian, puede que usted sea el único usuario). |
| 2878 | |
| 2879 | </enumlist> |
| 2880 | |
| 2881 | </sect1> |
| 2882 | |
| 2883 | <sect1 id="files-permissions-mode"> Modo |
| 2884 | |
| 2885 | <p>Además de pertenecer a un usurio y un grupo, cada archivo y |
| 2886 | directorio tienen también un modo, que determina quién está |
| 2887 | autorizado a leerlo, escribir en él, y ejecutarlo. El modo |
| 2888 | también determina algunas otras cosas, pero son temas |
| 2889 | avanzados, de modo que los saltaremos por ahora. |
| 2890 | |
| 2891 | <p>En la salida de <tt>ls</tt> el modo tiene este aspecto: |
| 2892 | <tt>-rw-r--r--</tt>. Hay diez "elementos" aquí, y el modo |
| 2893 | consiste en realidad en doce bits (piense en los bits como |
| 2894 | en interruptores que pueden estar encendidos o apagados). |
| 2895 | Pero por ahora, nosotros consideraremos sólo nueve de esos |
| 2896 | bits: aquellos que controlan los permisos de |
| 2897 | <em>lectura</em>, <em>escritura</em> y <em>ejecución</em> |
| 2898 | para el <em>usuario</em> propietario del archivo, el |
| 2899 | <em>grupo</em> propietario, y los <em>demás</em> (cualquier |
| 2900 | otro en el sistema, denominado a veces el <em>mundo</em> |
| 2901 | |
| 2902 | <footnote>(N. del T.: todo lo relacionado con los permisos |
| 2903 | depende profundamente del inglés. Fíjese y |
| 2904 | recuerde las letras resaltadas en cada palabra: lectura -> |
| 2905 | "Read", escritura -> "Write", ejecución -> "eXecution", |
| 2906 | usuario -> "User", grupo -> "Group", los demás -> |
| 2907 | "Others".)</footnote>. |
| 2908 | |
| 2909 | <p>Fíjese en que las tres clases de permisos (lectura, |
| 2910 | escritura y ejecución) se multiplican por los tres grupos de |
| 2911 | personas que pueden tener permiso (usuario, grupo y otros), |
| 2912 | lo que da un total de nueve elementos. |
| 2913 | |
| 2914 | <p>En la línea de modo, el primer "elemento" informa del tipo |
| 2915 | de fichero. En este caso, el <tt>-</tt> significa que es un |
| 2916 | archivo normal. Si fuera <tt>d</tt>, estaríamos ante un |
| 2917 | directorio. Hay otras posibilidades demasiado complejas |
| 2918 | como para que nos adentremos ahora en ellas (vea <ref |
| 2919 | id="advanced-file-permissions">). |
| 2920 | |
| 2921 | <p>Los nueve "elementos" restantes se utilizan para mostrar |
| 2922 | los 12 bits que forman el modo del fichero. Los 9 bits |
| 2923 | básicos (lectura, escritura y ejecución para el usuario, el |
| 2924 | grupo y los demás) aparecen como tres bloques de |
| 2925 | <tt>rwx</tt>. |
| 2926 | |
| 2927 | <p>De modo que si todos los permisos estuvieran activados y se |
| 2928 | tratara de un archivo normal, el modo sería algo como esto: |
| 2929 | <tt>-rwxrwxrwx</tt>. Si fuera un directorio con todos los |
| 2930 | permisos retirados para los demás y permisos completos para |
| 2931 | el usuario y el grupo, sería <tt>drwxrwx---</tt>. |
| 2932 | |
| 2933 | <p>Los tres bits que restan se representan mediante el cambio |
| 2934 | de <tt>x</tt> por <tt>s</tt>, <tt>t</tt>, <tt>S</tt> o |
| 2935 | <tt>T</tt>, pero es un asunto complejo que estamos |
| 2936 | reservando para <ref id="advanced-files-permissions">.) |
| 2937 | |
| 2938 | <p>Para los archivos normales, "lectura", "escritura" y |
| 2939 | "ejecución" tienen los siguientes significados. |
| 2940 | |
| 2941 | <list> |
| 2942 | |
| 2943 | <item> El permiso de lectura, indicado por <tt>r</tt>, da |
| 2944 | permiso para examinar el contenido de un fichero. Para |
| 2945 | los directorios, da permiso para listar el contenido del |
| 2946 | directorio. |
| 2947 | |
| 2948 | <item> El permiso de escritura, indicado por <tt>w</tt>, da |
| 2949 | permiso para modificar el archivo. Para los directorios, |
| 2950 | da permiso para crear y borrar ficheros en el directorio. |
| 2951 | |
| 2952 | <item> El permiso de ejecución, indicado por <tt>x</tt>, da |
| 2953 | permiso para iniciar el archivo como una instrucción. Es |
| 2954 | evidente que sólo tiene sentido establecer el permiso de |
| 2955 | ejecución si el archivo es de verdad una orden. |
| 2956 | |
| 2957 | <p>Puesto que los directorios nunca pueden ser ejecutados, |
| 2958 | el bit de ejecución tiene para ellos un significado |
| 2959 | diferente. Para los directorios, el bit de ejecución |
| 2960 | significa el permiso para acceder a archivos en el |
| 2961 | directorio. Dése cuenta de que esto interactúa con los |
| 2962 | permisos de escritura: los permisos de ejecución tienen |
| 2963 | que estar activados para permitir acceder <em>de cualquier |
| 2964 | modo</em> a los archivos en un directorio, de modo que sin |
| 2965 | permiso de ejecución en un directorio, el permiso de |
| 2966 | escritura es inútil. El permiso de ejecución en los |
| 2967 | directorios se denomina con frecuencia permiso de |
| 2968 | "búsqueda", puesto que en realidad no tiene nada que ver |
| 2969 | con la ejecución. Permiso de "acceso a ficheros" sería |
| 2970 | probablemente un nombre aún mejor. |
| 2971 | |
| 2972 | </list> |
| 2973 | |
| 2974 | <p>Los modos de los directorios son un poco desconcertantes, |
| 2975 | así que aquí hay algunos ejemplos de los efectos de diversas |
| 2976 | combinaciones: |
| 2977 | |
| 2978 | <list> |
| 2979 | |
| 2980 | <item> <tt>r--</tt> <p> El usuario, grupo u otros con estos |
| 2981 | permisos pueden listar el contenido de un directorio, pero |
| 2982 | nada más. No se puede leer, modificar, borrar o manipular |
| 2983 | los archivos en el directorio de ninguna manera. La única |
| 2984 | acción permitida es la de leer el directorio mismo, esto |
| 2985 | es, ver qué archivos contiene. |
| 2986 | |
| 2987 | <item> <tt>rw-</tt> <p> El permiso de escritura no tiene |
| 2988 | efecto alguno en ausencia del permiso de ejecución, de |
| 2989 | forma que este modo se comporta como el anteriormente |
| 2990 | descrito. |
| 2991 | |
| 2992 | <item> <tt>r-x</tt> <p> Este modo permite listar los |
| 2993 | ficheros en un directorio, y permite acceder a ellos. Sin |
| 2994 | embargo, no pueden crearse o borrarse |
| 2995 | archivos. <em>Acceder</em> significa que puede ver, |
| 2996 | modificar, o ejecutar los archivos en función de lo que |
| 2997 | autoricen los propios permisos de los ficheros. |
| 2998 | |
| 2999 | <item> <tt>--x</tt> <p> Se puede acceder a los archivos en |
| 3000 | este directorio, pero no se pueden listar los contenidos |
| 3001 | del mismo, de modo que tiene que conocer previamente el |
| 3002 | nombre del fichero (a no ser que sea un buen adivinador). |
| 3003 | No pueden crearse o borrarse archivos. |
| 3004 | |
| 3005 | <item> <tt>rwx</tt> <p> Usted puede hacer lo que quiera con |
| 3006 | los archivos de este directorio, siempre que se lo |
| 3007 | permitan los permisos de los propios ficheros. |
| 3008 | |
| 3009 | </list> |
| 3010 | |
| 3011 | <p>El permiso de escritura de los directorios determina si se |
| 3012 | pueden borrar los ficheros en su interior: un fichero de |
| 3013 | sólo lectura puede borrarse, si se tiene permiso de |
| 3014 | escritura en el directorio que lo contiene. No se puede |
| 3015 | borrar un archivo de un directorio de sólo lectura, incluso |
| 3016 | si se está autorizado para introducir cambios en él. Los |
| 3017 | permisos de los archivos no tienen nada que ver con la |
| 3018 | acción de borrarlos. |
| 3019 | |
| 3020 | <p>Esto significa también que si se posee un directorio |
| 3021 | siempre se pueden borrar los archivos en su interior, |
| 3022 | incluso si estos archivos pertenecen a root. |
| 3023 | |
| 3024 | <p>Los permisos de ejecución de directorios determinan si se |
| 3025 | tiene acceso a los archivos; y por tanto si los permisos de |
| 3026 | los archivos se ponen en juego. <em>Si</em> se tiene |
| 3027 | permiso de ejecución en un directorio, los permisos de los |
| 3028 | archivos en ese directorio se vuelven relevantes. En caso |
| 3029 | contrario los permisos de archivo simplemente no importan; |
| 3030 | no se puede acceder a los archivos en ningún caso. |
| 3031 | |
| 3032 | <p>Si se tiene permiso de ejecución en el directorio, los |
| 3033 | permisos de los archivos determinan si puede leer el |
| 3034 | contenido de un archivo, modificarlo, y/o ejecutarlo si el |
| 3035 | archivo es una orden. |
| 3036 | |
| 3037 | <p>Para terminar, los permisos de un archivo o directorio no |
| 3038 | afectan al permiso para cambiar los permisos de ese archivo |
| 3039 | o directorio. Sin embargo, siempre se pueden cambiar los |
| 3040 | permisos de los archivos o directorios que uno posee (pero |
| 3041 | no de los ficheros que pertenecen a alguien más), si que se |
| 3042 | esté autorizado para acceder al archivo. Así que si se |
| 3043 | puede acceder a un archivo que se posee por completo (esto |
| 3044 | es, si se tiene permiso de ejecución en el directorio que lo |
| 3045 | contiene) entonces se pueden cambiar sus permisos. |
| 3046 | |
| 3047 | <p>Esto significa que uno no puede quitarse de modo permanente |
| 3048 | los permisos a sí mismo, porque siempre puede devolvérselos. |
| 3049 | Supogamos que usted se quita el permiso de escritura de un |
| 3050 | archivo que posee, y después intenta modificar el archivo. |
| 3051 | No le estará permitido, pero siempre podrá darse a sí mismo |
| 3052 | permiso de escritura de nuevo y <em>entonces</em> modificar |
| 3053 | el archivo. La única forma de perder la capacidad de |
| 3054 | cambiar de nuevo los permisos es perder por completo acceso |
| 3055 | al archivo. |
| 3056 | |
| 3057 | </sect1> |
| 3058 | |
| 3059 | <sect1 id="files-permissions-tutorial"> Los permisos en la práctica |
| 3060 | |
| 3061 | <p>Esta sección desarrolla una breve sesión de ejemplo para |
| 3062 | mostrar cómo se utilizan los permisos. |
| 3063 | |
| 3064 | <p>Para cambiar los permisos, utilizamos la orden |
| 3065 | <tt>chmod</tt> |
| 3066 | |
| 3067 | <footnote>(N. del T.: "chmod", de "CHange MODe", cambiar el |
| 3068 | modo.)</footnote>. |
| 3069 | |
| 3070 | <enumlist> |
| 3071 | |
| 3072 | <item> <tt>cd; touch miarchivo</tt> <p> Aquí hay un par de |
| 3073 | trucos nuevos. Primero, puede utilizar <tt>;</tt> para |
| 3074 | poner dos órdenes en una línea. Puede escribir lo anterior |
| 3075 | como: |
| 3076 | <p> |
| 3077 | <example> |
| 3078 | &dollar cd |
| 3079 | &dollar touch miarchivo |
| 3080 | </example> |
| 3081 | <p> |
| 3082 | o como: |
| 3083 | <p> |
| 3084 | <example> |
| 3085 | &dollar cd; touch miarchivo |
| 3086 | </example> |
| 3087 | |
| 3088 | <p>y al final sucederá lo mismo. |
| 3089 | |
| 3090 | <p>Recuerde que, por sí mismo, <tt>cd</tt> le devolverá a su |
| 3091 | directorio principal de usuario. <tt>touch</tt> se |
| 3092 | utiliza normalmente para cambiar la fecha de modificación |
| 3093 | de un archivo al momento actual, pero tiene otra |
| 3094 | característica interesante: si el archivo no existe, |
| 3095 | <tt>touch</tt> lo crea. Así que lo estamos utilizando |
| 3096 | para crear un fichero con el que practicar. Utilice |
| 3097 | <tt>ls -l</tt> para confirmar que se ha creado el archivo, |
| 3098 | y fíjese en el modo de sus permisos: |
| 3099 | |
| 3100 | <p> |
| 3101 | <example> |
| 3102 | &dollar ls -l |
| 3103 | -rw-r--r-- 1 havoc havoc 0 Nov 18 22:04 miarchivo |
| 3104 | </example> |
| 3105 | |
| 3106 | <p>Evidentemente el tiempo y los nombres de usuario y de |
| 3107 | grupo serán diferentes cuando usted lo intente. El tamaño |
| 3108 | del archivo es 0, puesto que <tt>touch</tt> crea un |
| 3109 | fichero vacío. <tt>-rw-r--r--</tt> es el modo por defecto |
| 3110 | de los permisos en Debian |
| 3111 | |
| 3112 | <!-- FIXME (usted puede cambiar esto: vea FIXME: añadir una referencia --> |
| 3113 | <!-- a umask) --> |
| 3114 | |
| 3115 | . |
| 3116 | |
| 3117 | <item> <tt>chmod u+x miarchivo</tt> <p> Esta orden significa |
| 3118 | añadir (<tt>+</tt>) permisos de ejecución (<tt>x</tt>) para |
| 3119 | el usuario (<tt>u</tt>) propietario del archivo. Utilice |
| 3120 | <tt>ls -l</tt> para ver los efectos. |
| 3121 | |
| 3122 | <item> <tt>chmod go-r miarchivo</tt> <p> Aquí hemos sustraído |
| 3123 | el permiso de lectura (<tt>r</tt>) del grupo (<tt>g</tt>) al |
| 3124 | que pertenece el archivo, y de todos los demás (otros, |
| 3125 | <tt>o</tt>). De nuevo, utilice <tt>ls -l</tt> para |
| 3126 | verificar los efectos. |
| 3127 | |
| 3128 | <item> <tt>chmod ugo=rx miarchivo</tt> <p> Aquí hemos |
| 3129 | determinado (<tt>=</tt>) que los permisos del usuario, el |
| 3130 | grupo y los otros serán de lectura y ejecución. Esta opción |
| 3131 | establece que los permisos sean <em>exactamente</em> los |
| 3132 | especificados, y elimina cualesquiera otros. De modo que |
| 3133 | deberían estar activados todos los <tt>rx</tt> y no estarlo |
| 3134 | todos los <tt>w</tt>. Ahora, nadie puede escribir en el |
| 3135 | fichero. |
| 3136 | |
| 3137 | <item><tt>chmod a-x miarchivo</tt> <p> <tt>a</tt> es un atajo |
| 3138 | para <tt>ugo</tt>, derivado de "all" |
| 3139 | |
| 3140 | <footnote>(N. del T.: "all" significa "todos".)</footnote>. |
| 3141 | |
| 3142 | De modo que todos los permisos <tt>x</tt> deberían estar |
| 3143 | ahora desactivados. |
| 3144 | |
| 3145 | <item> <tt>rm miarchivo</tt> <p> Estamos borrando el fichero, |
| 3146 | pero sin permiso de escritura. <tt>rm</tt> le preguntará si |
| 3147 | está seguro: |
| 3148 | |
| 3149 | <example> |
| 3150 | rm: ¿borrar el fichero protegido contra escritura `miarchivo'? (s/n) |
| 3151 | </example> |
| 3152 | |
| 3153 | Debería responder a esto apretando la <tt>s</tt> y después |
| 3154 | Intro. Esta es una característica de <tt>rm</tt>, no una |
| 3155 | cuestión de permisos: el permiso para borrar un archivo |
| 3156 | procede de los permisos del directorio, y usted tiene |
| 3157 | permiso de escritura en el directorio. Sin embargo, |
| 3158 | <tt>rm</tt> intenta ayudar, figurándose que si no quería |
| 3159 | modificar el fichero (y por eso retiró el permiso de |
| 3160 | escritura), no quiere tampoco borrarlo, y por tanto |
| 3161 | pregunta. |
| 3162 | |
| 3163 | </enumlist> |
| 3164 | |
| 3165 | <!-- ARREGLAR |
| 3166 | Tenemos un problema: el rm traducido al español no habla de códigos |
| 3167 | numéricos. |
| 3168 | --> |
| 3169 | |
| 3170 | <p>En ocasiones, verá que las órdenes relacionadas con los |
| 3171 | permisos aparecen en la forma siguiente: |
| 3172 | |
| 3173 | <example> |
| 3174 | chmod 0444 miarchivo |
| 3175 | </example> |
| 3176 | |
| 3177 | ¿Qué significa ese <tt>0444</tt> que siggue a |
| 3178 | <tt>chmod</tt>? El modo de los permisos es un número |
| 3179 | binario de doce dígitos, como este: <tt>000100100100</tt>. |
| 3180 | <tt>0444</tt> es este número binario representado como |
| 3181 | número octal (base 8), lo que constituye la forma |
| 3182 | convencional de escribir un modo. De forma que puede |
| 3183 | escribir <tt>chmod 444 miarchivo</tt> en lugar de <tt>chmod |
| 3184 | ugo=r miarchivo</tt>. Esta cuestión se explica por completo |
| 3185 | en <ref id="advanced-files-permissions">. |
| 3186 | |
| 3187 | </sect1> |
| 3188 | |
| 3189 | <sect id="files-tour"> ¿Qué archivos se encuentran en mi sistema? |
| 3190 | ¿Dónde puedo poner mis propios archivos? |
| 3191 | |
| 3192 | <p>Ahora que ya puede navegar por el árbol de directorios, |
| 3193 | vamos a iniciar una visita guiada de los archivos y |
| 3194 | directorios que creó Debian al instalarse. Si es usted |
| 3195 | curioso, haga <tt>cd</tt> a cada directorio y escriba |
| 3196 | <tt>ls</tt> para ver su contenido. Si el listado sobrepasa |
| 3197 | el tamaño de la pantalla, intente <tt>ls | more</tt>, donde |
| 3198 | <tt>|</tt> es el símbolo de la "tubería", generalmente |
| 3199 | situado en la misma tecla que el `1'. |
| 3200 | |
| 3201 | <!-- ARREGLAR : en los teclados españoles. El original dice otra cosa --> |
| 3202 | |
| 3203 | <taglist> |
| 3204 | |
| 3205 | <tag><tt>/</tt> <item> Como ya hemos mencionado, este es el |
| 3206 | directorio raíz, que contiene a todos los demás |
| 3207 | directorios. |
| 3208 | |
| 3209 | <tag><tt>/root</tt> <item> ¡No confunda <tt>/</tt> con |
| 3210 | <tt>/root</tt>! <tt>/root</tt> es el directorio principal |
| 3211 | de usuario del usuario root, o superusuario. Es un |
| 3212 | directorio llamado <tt>/root</tt>, pero no es el |
| 3213 | directorio raíz |
| 3214 | |
| 3215 | <footnote>(N. del T.: la confusión se produce en inglés, |
| 3216 | donde "root" significa raíz y se utiliza indistintamente |
| 3217 | para ambas expresiones. En español, un medio sencillo |
| 3218 | de evitar este inconveniente es hablar de "directorio |
| 3219 | raíz" y "directorio del root".)</footnote> |
| 3220 | |
| 3221 | <tag><tt>/home</tt> <item> Aquí es donde todos los usuarios |
| 3222 | corrientes --- esto es, todos excepto root --- tienen sus |
| 3223 | directorio principal de usuario. Los directorios de |
| 3224 | usuario reciben su denominación de acuerdo con el nombre |
| 3225 | del usuario al que pertenecen, por ejemplo, |
| 3226 | <tt>/home/juana</tt>. Si está usted usando un sistema de |
| 3227 | ciertas dimensiones en un colegio o empresa, el |
| 3228 | administrador de su sistema puede crear directorios |
| 3229 | adicionales para contener los directorios de usuario: |
| 3230 | <tt>/home1</tt> y <tt>/home2</tt>, por ejemplo. En |
| 3231 | algunos otros sistemas, verá un nivel adicional de |
| 3232 | subdirectorios: |
| 3233 | <tt>/home/estudiantes/<var>nombredeusuario</var></tt>, |
| 3234 | <tt>/home/personal/<var>nombredeusuario</var></tt>, etc... |
| 3235 | |
| 3236 | <p>Su directorio principal de usuario es donde pondrá todo |
| 3237 | su trabajo personal, correo electrónico y otros |
| 3238 | documentos, y las preferencias personales de |
| 3239 | configuración. Es su hogar en el sistema. |
| 3240 | |
| 3241 | <tag> <tt>/bin</tt> <item> Este directorio contiene |
| 3242 | "binarios", archivos ejecutables esenciales para el |
| 3243 | funcionamiento del sistema. Ejemplos son la shell |
| 3244 | (<tt>bash</tt>), y órdenes de ficheros como <tt>cp</tt>. |
| 3245 | |
| 3246 | <tag> <tt>/sbin</tt> <item> Este directorio contiene |
| 3247 | "binarios del sistema" |
| 3248 | |
| 3249 | <footnote>(N. del T.: "sbin" procede de "System |
| 3250 | BINaries".)</footnote>, |
| 3251 | |
| 3252 | utilidades que el usuario root o el administrador del |
| 3253 | sistema pueden querer utilizar, pero que probablemente |
| 3254 | usted no necesitará en sus actividades cotidianas. |
| 3255 | |
| 3256 | <tag> <tt>/usr</tt> <item> <tt>/usr</tt> contiene la mayoría |
| 3257 | de los archivos en los que estará interesado. Tiene |
| 3258 | muchos subdirectorios: <tt>/usr/bin</tt> y |
| 3259 | <tt>/usr/sbin</tt> son muy semejantes a <tt>/bin</tt> y |
| 3260 | <tt>/sbin</tt>, con la excepción de que los directorios en |
| 3261 | <tt>/usr</tt> no se consideran "esenciales para el |
| 3262 | funcionamiento del sistema". |
| 3263 | |
| 3264 | <p>Aunque no es esencial para que el ordenador funcione, |
| 3265 | <tt>/usr</tt> contiene las aplicaciones que se utilizan |
| 3266 | para el trabajo real. También encontrará en <tt>/usr</tt> |
| 3267 | los directorios <tt>/usr/man</tt>, <tt>/usr/info</tt> y |
| 3268 | <tt>/usr/doc</tt>, que contienen las páginas de manual, |
| 3269 | las páginas info, y otra documentación, respectivamente. |
| 3270 | ¡Y no olvide <tt>/usr/games</tt>! |
| 3271 | |
| 3272 | <tag> <tt>/usr/local</tt> <item> El sistema Debian no |
| 3273 | instala nada en este directorio. Debería utilizarlo si |
| 3274 | quiere instalar software que compile usted mismo, o |
| 3275 | cualquier software no contenido en un paquete Debian. |
| 3276 | También puede instalar software en su directorio principal |
| 3277 | de usuario, si va a ser el único que lo utilice |
| 3278 | |
| 3279 | <footnote>(N. del T.: aunque pueda parecerlo al principio, |
| 3280 | la existencia de este directorio no es un capricho, o una |
| 3281 | mera cuestión de estética de Debian. Su fin es muy |
| 3282 | concreto: si mantiene aquí el software que no procede de |
| 3283 | Debian, sabrá en todo momento qué programas puede |
| 3284 | necesitar que no se encuentran en una distribución Debian. |
| 3285 | De este modo, si por alguna razón se decide a reinstalar |
| 3286 | el sistema, para actualizarlo por ejemplo, y mantiene |
| 3287 | <tt>/usr/local</tt> en una partición separada, no perderá |
| 3288 | en la reinstalación ninguna de sus |
| 3289 | aplicaciones.</footnote>. |
| 3290 | |
| 3291 | <tag> <tt>/etc</tt> <item> <tt>/etc</tt> contiene todos los |
| 3292 | archivos de configuración del sistema. Siempre que quiera |
| 3293 | hacer un cambio que afecte a todos los usuarios de su |
| 3294 | computadora --- como la forma de conexión a internet, o la |
| 3295 | clase de tarjeta de vídeo de que dispone --- probablemente |
| 3296 | tendrá que ingresar como root y cambiar un archivo en |
| 3297 | <tt>/etc</tt>. |
| 3298 | |
| 3299 | <tag> <tt>/tmp</tt> <item> Aquí encontrará los archivos |
| 3300 | temporales, la mayor parte de los cuales los crea el |
| 3301 | sistema. Este directorio por lo general se borra de |
| 3302 | manera periódica, o cada vez que reinicia el sistema. |
| 3303 | Usted puede crear ficheros aquí si lo desea, pero debe ser |
| 3304 | consciente de que pueden resultar borrados |
| 3305 | automáticamente. |
| 3306 | |
| 3307 | <tag> <tt>/var</tt> <item> <tt>/var</tt> contiene ficheros |
| 3308 | "variables", que el sistema modifica de forma automática. |
| 3309 | Por ejemplo, el correo entrante se almacena aquí. El |
| 3310 | sistema mantiene aquí un registro de sus actuaciones. |
| 3311 | También hay cierto número de otros archivos generados |
| 3312 | Automáticamente. A usted le interesarán principalmente el |
| 3313 | contenido de <tt>/var/log</tt>, donde puede encontrar los |
| 3314 | mensajes de error y tratar de descubrir qué le pasa a su |
| 3315 | sistema si algo va mal. |
| 3316 | |
| 3317 | </taglist> |
| 3318 | |
| 3319 | <p>Es evidente que hay muchos más directorios en el sistema, |
| 3320 | demasiados para describirlos individualmente. |
| 3321 | |
| 3322 | <!-- FIXME ¿incluir referencias a FHS? --> |
| 3323 | |
| 3324 | <p>A la hora de hacer modificaciones, usted normalmente se |
| 3325 | limitará a su directorio principal de usuario y a |
| 3326 | <tt>/etc</tt>. En un sistema Debian, las ocasiones para |
| 3327 | alterar cualquier otra cosa son escasas, porque todo lo |
| 3328 | demás se instala automáticamente para usted. |
| 3329 | |
| 3330 | <p> <tt>/etc</tt> se utiliza para configurar el |
| 3331 | <em>sistema</em> en su conjunto. Usted utilizará su |
| 3332 | directorio de ususario, un subdirectorio de <tt>/home</tt>, |
| 3333 | para configurar sus propias preferencias y almacenar sus |
| 3334 | archivos personales. La idea es que para su actividad |
| 3335 | cotidiana se limite a <tt>/home/nombredeusuario</tt>, de |
| 3336 | modo que no haya forma de que pueda estropear nada. |
| 3337 | Ocasionalmente ingresará como root para alterar algo en un |
| 3338 | directorio que afecte al sistema, pero sólo cuando sea |
| 3339 | absolutamente necesario. Por supuesto, si está usted usando |
| 3340 | Debian en un colegio o empresa y el administrador del |
| 3341 | sistema es otra persona, no tendrá acceso de root y sólo le |
| 3342 | será posible modificar su directorio personal. Esto |
| 3343 | limitará lo que puede hacer con el sistema. |
| 3344 | |
| 3345 | <sect id="file-manager"> Utilizando un gestor de ficheros |
| 3346 | |
| 3347 | <p>En vez de mover los archivos a mano, puede utilizar un |
| 3348 | <em>gestor de ficheros</em>. Si mueve muchos archivos un |
| 3349 | gestor de ficheros puede hacer más eficiente su trabajo. |
| 3350 | Hay gestores de ficheros basados en texto, como el Midnight |
| 3351 | Commander de GNU |
| 3352 | |
| 3353 | <footnote>(N. del T.: "comandante de |
| 3354 | medianoche".)</footnote> |
| 3355 | |
| 3356 | (escriba <prgn>mc</prgn>), y algunos para el Sistema X |
| 3357 | Window (por ejemplo, <prgn>gmc</prgn> para la versión X |
| 3358 | Window del Midnight Commander de GNU). |
| 3359 | |
| 3360 | <p>Describir cada uno de ellos queda fuera del ámbito de este |
| 3361 | manual; pero querrá probarlos si la línea de instrucciones |
| 3362 | no satisface sus necesidades. |
| 3363 | |
| 3364 | <chapt id="editor"> <heading> Crear y editar archivos de texto |
| 3365 | </heading> |
| 3366 | |
| 3367 | <sect id="editor-textfile"> ¿Qué es un archivo de texto? |
| 3368 | |
| 3369 | <p>Un <em>archivo de texto</em> es simplemente un archivo |
| 3370 | normal que contiene texto legible para las personas. Aparte |
| 3371 | de esto, no hay nada especial en él. La otra clase de |
| 3372 | archivo, un archivo binario, está destinado a ser |
| 3373 | interpretado por el ordenador. |
| 3374 | |
| 3375 | <p>Puede ver ambas clases de ficheros con el paginador |
| 3376 | <prgn>less</prgn>, si lo tiene instalado (si no es así, |
| 3377 | instálelo, es bastante útil). Escriba <tt>less |
| 3378 | /etc/profile</tt> para ver un ejemplo de un archivo de |
| 3379 | texto; fíjese en que puede leer los caracteres, incluso si |
| 3380 | su significado le resulta oscuro. Escriba <tt>less |
| 3381 | /bin/ls</tt> para ver un archivo binario; como puede ver, el |
| 3382 | programa <tt>ls</tt> no está destinado a ser leído por las |
| 3383 | personas. |
| 3384 | |
| 3385 | <p>La diferencia entre ambas clases de ficheros es solamente |
| 3386 | cuestión de lo que contienen, al contrario de lo que sucede |
| 3387 | en otros sistemas (como DOS o MacOS) que tratan los archivos |
| 3388 | de distinto modo. |
| 3389 | |
| 3390 | <p>Los archivos de texto pueden contener guiones de la shell, |
| 3391 | documentación, licencias, o cualquier otro texto |
| 3392 | legible para las personas. |
| 3393 | |
| 3394 | <p>Dicho sea de paso, esto ilustra la diferencia entre |
| 3395 | <em>código fuente</em> y <em>binarios ejecutables</em>. |
| 3396 | <tt>/bin/ls</tt> es un binario ejecutable que usted puede |
| 3397 | descargar de Debian, pero también puede descargar el archivo |
| 3398 | de texto que le dice a la computadora cómo crear |
| 3399 | <tt>/bin/ls</tt>. Este fichero de texto es el código |
| 3400 | fuente. Comparar <tt>/bin/ls</tt> con <tt>/etc/profile</tt> |
| 3401 | enseña lo importante que es el código fuente si alguien |
| 3402 | quiere entender y modificar un programa. El software libre |
| 3403 | le proporciona a usted o sus asesores todo este código |
| 3404 | fuente fundamental. |
| 3405 | |
| 3406 | <sect id="editor-editor"> Editores de texto |
| 3407 | |
| 3408 | <p>Un <em>editor de texto</em> es un programa utilizado para |
| 3409 | crear y modificar el contenido de archivos de texto. La |
| 3410 | mayoría de los sistemas operativos tienen un editor de |
| 3411 | texto; DOS tiene <prgn>edit</prgn>, Windows tiene |
| 3412 | <prgn>Notepad</prgn>, MacOS tiene <prgn>SimpleText</prgn>. |
| 3413 | |
| 3414 | <p>Debian proporciona una asombrosa variedad de editores de |
| 3415 | texto. <prgn>vi</prgn> y <prgn>emacs</prgn> son los dos |
| 3416 | clásicos, ambos probablemente los más potentes y más |
| 3417 | ampliamente utilizados. Tanto <prgn>vi</prgn> como |
| 3418 | <prgn>emacs</prgn> son bastante complejos y requieren cierta |
| 3419 | práctica, pero pueden hacer la edición de textos |
| 3420 | extremadamente eficiente. <prgn>emacs</prgn> funciona tanto |
| 3421 | en terminal como en el Sistema X Window; <prgn>vi</prgn> |
| 3422 | normalmente funciona en una terminal, pero la variante |
| 3423 | <prgn>vim</prgn> tiene una opción <tt>-g</tt> que le permite |
| 3424 | trabajar con X. |
| 3425 | |
| 3426 | <p>Editores más simples incluyen <prgn>nedit</prgn>, |
| 3427 | <prgn>ae</prgn>, <prgn>jed</prgn>, y <prgn>xcoral</prgn>. |
| 3428 | <prgn>nedit</prgn> y <prgn>xcoral</prgn> proporcionan |
| 3429 | sencillas interfaces gráficas para el Sistema X Window. Hay |
| 3430 | también diversas variantes de <prgn>vi</prgn>, y una de |
| 3431 | Emacs llamada <prgn>XEmacs</prgn>. |
| 3432 | |
| 3433 | <p>Este manual no cubrirá el uso de ningún editor particular |
| 3434 | en detalle, aunque presentaremos brevemente a |
| 3435 | <prgn>vi</prgn>, puesto que es pequeño, rápido y está casi |
| 3436 | siempre disponible, y necesitará usarlo en ocasiones sin |
| 3437 | importar cuál sea su editor preferido. Emacs proporciona |
| 3438 | por sí mismo una excelente introducción interactiva; para |
| 3439 | leerla, inicie Emacs con la orden <tt>emacs</tt> y presione |
| 3440 | <tt>F1 t</tt>. Emacs es una elección excelente para los |
| 3441 | nuevos usuarios interesados en un editor de propósito |
| 3442 | general o para programar. |
| 3443 | |
| 3444 | <sect id="editor-vi"> Crear y editar un archivo de texto con |
| 3445 | <prgn>vi</prgn> |
| 3446 | |
| 3447 | <p><prgn>vi</prgn> (pronunciado "uve i") es en realidad el |
| 3448 | único editor incluido en casi cada sistema operativo al |
| 3449 | estilo Unix, y Debian no es una excepción. <prgn>vi</prgn> |
| 3450 | se escribió originalmente en Berkeley, en la Universidad |
| 3451 | de California. El nombre del editor es una abreviatura de |
| 3452 | "visual", y hace referencia al hecho de que <prgn>vi</prgn> |
| 3453 | muestra de manera visual el archivo de texto; esto se |
| 3454 | consideró en su tiempo un rasgo único, lo que le dará un |
| 3455 | idea de lo viejo que es el programa. |
| 3456 | |
| 3457 | <p>Resulta un tanto duro acostumbrarse a <prgn>vi</prgn>, pero |
| 3458 | dispone de muchas funciones potentes . En general, |
| 3459 | sugerimos que un nuevo usuario utilice Emacs para las tareas |
| 3460 | cotidianas, como programar. Sin embargo, <prgn>vi</prgn> es |
| 3461 | a veces más cómodo o el único editor disponible; además es |
| 3462 | un fichero mucho más pequeño para descargar. |
| 3463 | |
| 3464 | <p>La explicación que sigue sobre <prgn>vi</prgn> se |
| 3465 | aplica también a sus variantes, como <prgn>elvis</prgn> y |
| 3466 | <prgn>vim</prgn>. |
| 3467 | |
| 3468 | <!-- ARREGLAR : alguna de las funciones que se explican no son aplicables --> |
| 3469 | <!-- a vim --> |
| 3470 | |
| 3471 | |
| 3472 | <sect1 id="editor-vi-creating">Crear un archivo |
| 3473 | |
| 3474 | <p> |
| 3475 | |
| 3476 | <enumlist> |
| 3477 | |
| 3478 | <item><tt>vi fichprueba</tt> |
| 3479 | |
| 3480 | <p>En su directorio de usuario, invoque a vi escribiendo |
| 3481 | <tt>vi</tt>, seguido del nombre del archivo que desea |
| 3482 | crear. Verá una pantalla con una columna de tildes |
| 3483 | (<tt>~</tt>) a lo largo de todo el lado izquierdo. |
| 3484 | <prgn>vi</prgn> está ahora en modo de órdenes |
| 3485 | |
| 3486 | <footnote>(N. del T.: es muy frecuente encontrar la |
| 3487 | expresión "command mode" en libros de Unix y Linux |
| 3488 | traducida como "modo comando".)</footnote>. |
| 3489 | |
| 3490 | Cualquier cosa que teclee ahora será interpretada como una |
| 3491 | orden, no como un contenido que deba añadirse al fichero. |
| 3492 | Para introducir texto, debe teclear una orden. |
| 3493 | |
| 3494 | <item><tt>i</tt> <p>Las dos instrucciones básicas para |
| 3495 | introducir texto son <tt>i</tt>, que significa "inserta el |
| 3496 | texto que estoy a punto de escribir a la izquierda del |
| 3497 | cursor", y <tt>a</tt>, que significa "añade el texto que |
| 3498 | estoy a punto de escribir la derecha del cursor". Puesto |
| 3499 | que usted se halla al principio de un fichero vacío, |
| 3500 | cualquiera de ellas funcionará. Nosotros hemos escogido arbitrariamente |
| 3501 | <tt>i</tt>. |
| 3502 | |
| 3503 | <item>Escriba un texto; aquí está una profunda afirmación |
| 3504 | del filósofo Nicolás Maquiavelo, si no puede pensar en |
| 3505 | una propia: |
| 3506 | |
| 3507 | <p> |
| 3508 | |
| 3509 | <example> |
| 3510 | Dedíquese, pues, el príncipe a superar las dificultades |
| 3511 | y a conservar su Estado. Si logra con acierto su fin |
| 3512 | se tendrán por honrosos los medios conducentes al mismo, |
| 3513 | pues el vulgo se paga únicamente de exterioridades y se |
| 3514 | deja seducir por el éxito. Y como el vulgo es lo que |
| 3515 | más abunda en las sociedades, los escasos espíritus |
| 3516 | clarividentes que existen no exteriorizan lo que |
| 3517 | vislumbran hasta que la inmensa legión de los torpes |
| 3518 | no sabe ya a qué atenerse. |
| 3519 | </example> |
| 3520 | |
| 3521 | <!-- ARREGLAR : er... el original contiene un texto de un tal Charles --> |
| 3522 | <!-- Sanders Peirce, que reza así: |
| 3523 | |
| 3524 | <example> |
| 3525 | And what, then, is belief? It is the demi-cadence |
| 3526 | which closes a musical phrase in the symphony of our |
| 3527 | intellectual life. We have seen that it has just |
| 3528 | three properties: First, it is something that we are |
| 3529 | aware of; second, it appeases the irritation of doubt; |
| 3530 | and, third, it involves the establishment in our |
| 3531 | nature of a rule of action, or, say for short, a |
| 3532 | habit. |
| 3533 | </example> |
| 3534 | |
| 3535 | --> |
| 3536 | |
| 3537 | <!-- ¿Razones para sustituirlo? Más entretenido el segundo :) --> |
| 3538 | |
| 3539 | |
| 3540 | <p>Apriete <tt>RET</tt> después de cada línea, puesto que |
| 3541 | <tt>vi</tt> no se desplazará a la línea siguiente de |
| 3542 | manera automática; cuando termine de escribir, apriete la |
| 3543 | tecla <tt>ESC</tt> para abandonar el modo de insertar o |
| 3544 | añadir y volver al modo de instrucciones. |
| 3545 | |
| 3546 | <item><tt>:wq</tt> <p> Si lo ha hecho todo correctamente, |
| 3547 | cuando teclee esta orden, debería aparecer en la parte |
| 3548 | inferior de su pantalla, bajo todos los caracteres |
| 3549 | <tt>~</tt>. Los <tt>:</tt> le dicen a <tt>vi</tt> que |
| 3550 | está usted a punto de darle una serie de órdenes; la |
| 3551 | <tt>w</tt> significa que grabe el fichero que acaba de |
| 3552 | escribir --- en la mayoría de los nuevos programas esto se |
| 3553 | denomina "guardar" --- y la <tt>q</tt> quiere decir |
| 3554 | abandonar <tt>vi</tt>. Así que usted debería estar de |
| 3555 | vuelta frente al prompt de la shell |
| 3556 | |
| 3557 | <footnote>(N. del T.: las denominaciones originales, |
| 3558 | útiles para recordar las instrucciones, son, "write, |
| 3559 | grabar; "save", guardar; "quit", abandonar.)</footnote>. |
| 3560 | |
| 3561 | <item><tt>cat fichprueba</tt> <p> <tt>cat</tt> mostrará en |
| 3562 | la pantalla el fichero que ha escrito. |
| 3563 | |
| 3564 | </enumlist> |
| 3565 | |
| 3566 | <p> No borre <tt>fichprueba</tt>, lo utilizaremos en la |
| 3567 | siguiente sección. |
| 3568 | |
| 3569 | <p> Cuando utilice, <tt>vi</tt> recuerde siempre que apretar |
| 3570 | <tt>ESC</tt> le devolverá al modo de órdenes. Así que si se |
| 3571 | siente confuso, apriete <tt>ESC</tt> un par de veces y |
| 3572 | empiece de nuevo. |
| 3573 | |
| 3574 | <p> <prgn>vi</prgn> tiene una desagradable tendencia a pitar |
| 3575 | siempre que usted hace algo que se supone que no tiene que |
| 3576 | hacer, como teclear una orden desconocida; no se alarme por |
| 3577 | ello. |
| 3578 | |
| 3579 | <sect1 id="editor-vi-editing"> Editar un archivo existente |
| 3580 | |
| 3581 | <p>Para usar <tt>vi</tt>, usted sólo precisa leer <ref |
| 3582 | id="editor-vi-editing-movement"> y <ref |
| 3583 | id="editor-vi-editing-deletion">. Secciones posteriores |
| 3584 | explican características avanzadas, pero no son |
| 3585 | estrictamente necesarias, aunque harán su tarea más |
| 3586 | eficiente y menos tediosa. |
| 3587 | |
| 3588 | <sect2 id="editor-vi-editing-movement"> Moverse por un fichero |
| 3589 | |
| 3590 | <p>Para moverse por un fichero, el <tt>vi</tt> de Debian le |
| 3591 | permite utilizar las teclas de dirección (flechas). No |
| 3592 | obstante, también funcionan las teclas tradicionales; son |
| 3593 | <tt>h</tt> para la izquierda, <tt>j</tt> para |
| 3594 | descender, <tt>k</tt> para ascender, y <tt>l</tt> para |
| 3595 | la derecha. Se eligieron estas teclas debido a que son |
| 3596 | adyacentes y se encuentran en la línea de partida del |
| 3597 | teclado, y por lo tanto, son fáciles de utilizar. En su |
| 3598 | lugar, muchas personas utilizan las teclas de dirección, |
| 3599 | puesto que son más fáciles de alcanzar con los dedos. |
| 3600 | |
| 3601 | <p> |
| 3602 | |
| 3603 | <enumlist> |
| 3604 | |
| 3605 | <item><tt>vi fichprueba</tt><p> Abra el archivo que creó |
| 3606 | antes con <prgn>vi</prgn>. Debería ver el texto que |
| 3607 | escribió. |
| 3608 | |
| 3609 | <item>Muévase por el archivo con las teclas de dirección o |
| 3610 | <tt>hjkl</tt>. Si intenta moverse demasiado lejos en |
| 3611 | cualquier dirección, <prgn>vi</prgn> pitará y rehusará |
| 3612 | hacerlo; si quiere introducir texto allí, habrá de hacerlo |
| 3613 | con una orden de insercion, como <tt>i</tt> o <tt>a</tt>. |
| 3614 | |
| 3615 | <item><tt>:q</tt><p>Salga de <prgn>vi</prgn>. |
| 3616 | |
| 3617 | </enumlist> |
| 3618 | |
| 3619 | <sect2 id="editor-vi-editing-deletion"> Borrar texto |
| 3620 | |
| 3621 | <p> |
| 3622 | |
| 3623 | <enumlist> |
| 3624 | |
| 3625 | <item><tt>vi fichprueba</tt> <p>Abra de nuevo su archivo de |
| 3626 | prácticas. |
| 3627 | |
| 3628 | <item><tt>dd</tt> <p> La orden <tt>dd</tt> borra una línea; |
| 3629 | la línea superior ahora debería haber desaparecido. |
| 3630 | |
| 3631 | <item><tt>x</tt> <p> <tt>x</tt> borra un único carácter; se |
| 3632 | borrará la primera letra de la segunda línea. BORR y Supr |
| 3633 | no funcionan en <prgn>vi</prgn> por razones históricas |
| 3634 | |
| 3635 | <footnote>El teclado de algunos terminales muy viejos (de |
| 3636 | los 60) no tenía las teclas BORR o Supr.</footnote>. |
| 3637 | |
| 3638 | Algunas variantes de <prgn>vi</prgn> le permitirán usar |
| 3639 | BORR y Supr, como <prgn>vim</prgn>. |
| 3640 | |
| 3641 | <!-- ARREGLAR : vi permite utilizar Supr --> |
| 3642 | |
| 3643 | <item><tt>10x</tt> <p> Si escribe un número antes de una |
| 3644 | orden, la orden se repetirá otras tantas veces. Por |
| 3645 | tanto, ésta borrará diez caracteres. |
| 3646 | |
| 3647 | <item><tt>2dd</tt> <p> Puede también usar un número |
| 3648 | con la orden <tt>dd</tt>, para borrar dos líneas. |
| 3649 | |
| 3650 | <item><tt>:q</tt> <p> Ocasionará un error, puesto que ha |
| 3651 | modificado el fichero pero aún no lo ha guardado. Hay dos |
| 3652 | formas de evitarlo; puede escribir <tt>:wq</tt>, con lo |
| 3653 | que graba el archivo al salir, o puede salir sin grabar: |
| 3654 | |
| 3655 | <item><tt>:q!</tt> <p>Con un signo de exclamación, informa a |
| 3656 | <prgn>vi</prgn> de que usted lo dice en serio, y debería |
| 3657 | salir incluso aunque no haya guardado el archivo. Si |
| 3658 | utiliza <tt>:q!</tt> lo que haya borrado no se guardará en |
| 3659 | <tt>fichprueba</tt>; si utiliza <tt>:wq</tt>, si lo será. |
| 3660 | |
| 3661 | <item><tt>cat fichprueba</tt> <p>De regreso en el prompt de |
| 3662 | la shell, vea <tt>fichprueb</tt>. Ahora debería ser más |
| 3663 | corto, si utilizó <tt>:wq</tt>, o permanecer igual si usó |
| 3664 | <tt>:q!</tt>. |
| 3665 | |
| 3666 | </enumlist> |
| 3667 | |
| 3668 | <p><tt>:q!</tt> es una excelente orden para recordar, porque |
| 3669 | puede utilizarla para salir del lío si se encuentra |
| 3670 | totalmente confundido y cree que ha arruinado el archivo que |
| 3671 | estaba editando. Limítese a apretar <tt>ESC</tt> unas |
| 3672 | cuantas veces para asegurarse de que se encuentra en modo de |
| 3673 | instrucciones y después escriba <tt>:q!</tt>. Esto le |
| 3674 | garantiza salir de <prgn>vi</prgn> sin causar daño. |
| 3675 | |
| 3676 | <p>Ahora sabe todo lo que necesita para hacer edición básica; |
| 3677 | inserción, borrado, guardar y salir. Las secciones |
| 3678 | siguientes describen instrucciones útiles para hacer las |
| 3679 | cosas más rápido; puede saltárselas todas si quiere. |
| 3680 | |
| 3681 | <sect2 id="editor-vi-editing-moremoving"> Movimiento avanzado |
| 3682 | |
| 3683 | <p>Hay muchas órdenes de movimiento, este es un breve resumen: |
| 3684 | |
| 3685 | <p> |
| 3686 | |
| 3687 | <taglist> |
| 3688 | |
| 3689 | <tag><tt>w</tt> <item> Desplaza el cursor hasta el principio |
| 3690 | de la siguiente palabra |
| 3691 | |
| 3692 | <tag><tt>e</tt> <item> Desplaza el cursor hasta el final de |
| 3693 | la siguiente palabra |
| 3694 | |
| 3695 | <tag><tt>E</tt> <item> Desplaza el cursor hasta la última |
| 3696 | letra de la siguiente palabra |
| 3697 | |
| 3698 | <tag><tt>b</tt> <item> Desplaza el cursor hasta el principio |
| 3699 | de la palabra anterior |
| 3700 | |
| 3701 | <tag><tt>0</tt> (cero) <item> Desplaza el cursor hasta el |
| 3702 | principio de la línea |
| 3703 | |
| 3704 | <tag><tt>^</tt> <item> Desplaza el cursor hasta la primera |
| 3705 | palabra de la línea actual |
| 3706 | |
| 3707 | <tag><tt>$</tt> <item> Desplaza el cursor hasta el final de |
| 3708 | la línea |
| 3709 | |
| 3710 | <tag><tt>-</tt> <item> Desplaza el cursor hasta el principio |
| 3711 | de la línea anterior |
| 3712 | |
| 3713 | <tag><tt>G</tt> <item> Desplaza el cursor hasta el final del |
| 3714 | archivo |
| 3715 | |
| 3716 | <tag><tt>1G</tt> <item> Desplaza el cursor hasta el |
| 3717 | principio del archivo |
| 3718 | |
| 3719 | <tag><tt><var>n</var>G</tt> <item> Desplaza el cursor hasta |
| 3720 | la línea número <var>n</var> |
| 3721 | |
| 3722 | <tag><tt>C-G</tt> <item> Muestra el número de la línea |
| 3723 | actual |
| 3724 | |
| 3725 | <tag><tt>H</tt> <item> Desplaza el cursor a la línea |
| 3726 | superior de la pantalla |
| 3727 | |
| 3728 | <tag><tt><var>n</var>|</tt> <item> Desplaza el cursor a la |
| 3729 | columna <var>n</var> |
| 3730 | |
| 3731 | </taglist> |
| 3732 | |
| 3733 | <p>La pantalla se desplazará automáticamente cuando el cursor |
| 3734 | alcance la parte superior o la parte inferior. Hay órdenes |
| 3735 | alternativas que pueden controlar el desplazamiento del |
| 3736 | texto. |
| 3737 | |
| 3738 | <p> |
| 3739 | |
| 3740 | <taglist> |
| 3741 | |
| 3742 | <tag><tt>C-f</tt> <item> Se desplaza una pantalla hacia |
| 3743 | adelante |
| 3744 | |
| 3745 | <tag><tt>C-b</tt> <item> Se desplaza una pantalla hacia |
| 3746 | atrás |
| 3747 | |
| 3748 | <tag><tt>C-d</tt> <item> Se desplaza media pantalla hacia |
| 3749 | abajo |
| 3750 | |
| 3751 | <tag><tt>C-u</tt> <item> Se desplaza media pantalla hacia |
| 3752 | abajo |
| 3753 | |
| 3754 | </taglist> |
| 3755 | |
| 3756 | <p> |
| 3757 | |
| 3758 | <sect2 id="editor-vi-editing-numbers"> Repetición de órdenes |
| 3759 | |
| 3760 | <p>Como quedó mencionado antes, con frecuencia se puede |
| 3761 | preceder una orden de un número para repetir esa orden. Por |
| 3762 | ejemplo, la tecla <tt>l</tt> desplaza el cursor a la |
| 3763 | izquierda; <tt>10l</tt> lo desplazará 10 posiciones a la |
| 3764 | izquierda. |
| 3765 | |
| 3766 | <p>Si quisiera introducir un cierto número de espacios frente |
| 3767 | al texto podría utilizar un número junto con la orden de |
| 3768 | inserción. Introduzca el número <var>n</var>, después |
| 3769 | <tt>i</tt> seguido de <tt>ESPACIO</tt> y <tt>ESC</tt>. |
| 3770 | Debería obtener <var>n</var> espacios. |
| 3771 | |
| 3772 | <p>Las órdenes que tratan con líneas utilizan un número para |
| 3773 | referirse a los números de línea. La <tt>G</tt> es buen |
| 3774 | ejemplo; si la precede de un número, irá a esa línea. |
| 3775 | |
| 3776 | <sect2 id="editor-vi-editing-advanced"> Referencia avanzada |
| 3777 | |
| 3778 | <!-- FIXME ¿trasladarlo al apéndice? (V: en mi humilde opinión, sí) --> |
| 3779 | |
| 3780 | <p>Esta sección proporciona una lista más completa de órdenes |
| 3781 | que puede usar. Es sólo una referencia; si quiere, pruebe |
| 3782 | las órdenes para ver lo que hacen. |
| 3783 | |
| 3784 | <p>Órdenes de inserción: |
| 3785 | |
| 3786 | <taglist> |
| 3787 | |
| 3788 | <tag><tt>a</tt><item> Añade texto a la derecha del cursor |
| 3789 | |
| 3790 | <tag><tt>A</tt><item> Añade texto al final de la línea |
| 3791 | |
| 3792 | <tag><tt>i</tt><item> Inserta texto a la izquierda del |
| 3793 | cursor |
| 3794 | |
| 3795 | <tag><tt>I</tt><item> Inserta texto a la izquierda del |
| 3796 | primer carácter distinto de un espacio en la línea actual |
| 3797 | |
| 3798 | <tag><tt>o</tt><item> Abre una nueva línea bajo la línea |
| 3799 | actual e inserta el texto |
| 3800 | |
| 3801 | <tag><tt>O</tt><item> Abre una nueva línea sobre la línea |
| 3802 | actual e inserta el texto |
| 3803 | |
| 3804 | </taglist> |
| 3805 | |
| 3806 | <p>Órdenes de borrado: |
| 3807 | |
| 3808 | <taglist> |
| 3809 | |
| 3810 | <tag><tt>x</tt> <item>Borra el carácter bajo el cursor |
| 3811 | |
| 3812 | <tag><tt>dw</tt> <item>Borra desde la posición actual del |
| 3813 | cursor hasta el final de la palabra |
| 3814 | |
| 3815 | <tag><tt>dd</tt><item>Borra la línea actual |
| 3816 | |
| 3817 | <tag><tt>D</tt><item>Borra desde la posición actual del |
| 3818 | cursor hasta el final de la línea |
| 3819 | |
| 3820 | </taglist> |
| 3821 | |
| 3822 | <p>Las combinaciones de órdenes pueden ser más potentes. En |
| 3823 | particular, <tt>d</tt> seguida de una instrucción de |
| 3824 | movimiento borra desde la posición actual del cursor hasta |
| 3825 | el punto señalado por la orden de movimiento. Algunos |
| 3826 | ejemplos: |
| 3827 | |
| 3828 | <taglist> |
| 3829 | |
| 3830 | <tag><tt>d<var>n</var>w</tt><item>Borra <var>n</var> |
| 3831 | palabras (<tt><var>n</var>dw</tt> también funciona) |
| 3832 | |
| 3833 | <tag><tt>dG</tt><item>Borra desde la posición actual del |
| 3834 | cursor hasta el final del archivo |
| 3835 | |
| 3836 | <tag><tt>d1G</tt><item>Borra desde la posición actual del |
| 3837 | cursor hasta el principio del archivo |
| 3838 | |
| 3839 | <tag><tt>d$</tt><item>Borra desde la posición actual del |
| 3840 | cursor hasta el final de la línea (igual que <tt>D</tt>) |
| 3841 | |
| 3842 | <tag><tt>d<var>n</var>$</tt><item>Borra desde la posición |
| 3843 | actual hasta el final de la línea <var>n</var> |
| 3844 | |
| 3845 | </taglist> |
| 3846 | |
| 3847 | <p>Órdenes de deshacer: |
| 3848 | |
| 3849 | <taglist> |
| 3850 | |
| 3851 | <tag><tt>u</tt><item> Deshace la última orden |
| 3852 | |
| 3853 | <tag><tt>U</tt><item> Deshace todos los cambios efectuados |
| 3854 | en la línea actual |
| 3855 | |
| 3856 | <tag><tt>:e!</tt><item> "Editar de nuevo". Como salir con |
| 3857 | <tt>:q!</tt> y reiniciar: le devuelve a la última vez que |
| 3858 | grabó con <tt>:w</tt> |
| 3859 | |
| 3860 | </taglist> |
| 3861 | |
| 3862 | <p>Puede deshacer y deshacer, de modo que <tt>uu</tt> resulta |
| 3863 | en un deshacer deshecho, o sin cambios. |
| 3864 | |
| 3865 | <p>Órdenes de reemplazar: |
| 3866 | |
| 3867 | <taglist> |
| 3868 | |
| 3869 | <tag><tt>r<var>c</var></tt><item> Reemplazar el carácter |
| 3870 | bajo el cursor por una <var>c</var> |
| 3871 | |
| 3872 | <tag><tt>R</tt><item> Entra en modo de sobreescritura |
| 3873 | |
| 3874 | <tag><tt>cw</tt><item> Modifica la palabra en la que se |
| 3875 | encuentra el cursor |
| 3876 | |
| 3877 | <tag><tt>c$</tt><item> Modifica el texto desde la posición |
| 3878 | actual del cursor hasta el final de la línea |
| 3879 | |
| 3880 | <tag><tt>c<var>n</var>w</tt><item> Modifica las siguientes |
| 3881 | <var>n </var> palabras (igual que <var>n</var>cw) |
| 3882 | |
| 3883 | <tag><tt>c<var>n</var>$</tt><item> Modifica desde la posición |
| 3884 | actual del cursor hasta el final de la línea <var>n</var> |
| 3885 | |
| 3886 | <tag><tt>C</tt><item> Modifica el texto desde la posición |
| 3887 | actual del cursor hasta el final de la línea (igual que |
| 3888 | <var>c$</var>) |
| 3889 | |
| 3890 | <tag><tt>cc</tt><item> Modifica la línea actual |
| 3891 | |
| 3892 | <tag><tt>s</tt><item> Sustituye el texto sobre el que se |
| 3893 | encuentra el cursor por el carácter que se introduzca |
| 3894 | |
| 3895 | <tag><tt><var>n</var>s</tt><item> Sustituye el texto |
| 3896 | existente por el introducido durante los siguientes |
| 3897 | <var>n</var> caracteres |
| 3898 | |
| 3899 | <!-- ARREGLAR Todos mis comandos <tt>c</tt> derivan de `cut'. Claro que |
| 3900 | podría ser vim |
| 3901 | En efecto, es vim: debería mencionarse este comportamiento que se |
| 3902 | separa del estándar, porque puede causar un buen número de confusiones --> |
| 3903 | |
| 3904 | |
| 3905 | |
| 3906 | </taglist> |
| 3907 | |
| 3908 | <p>Las órdenes en la lista anterior que permiten introducir |
| 3909 | más de un carácter se abandonan con la tecla <tt>ESC</tt>, |
| 3910 | que devuelve al modo de instrucciones. |
| 3911 | |
| 3912 | <p>Cortar y pegar implica primero <em>tirar</em> |
| 3913 | |
| 3914 | <footnote>(N. del T.: "yanking", dar un tirón.)</footnote> |
| 3915 | |
| 3916 | (cortar o copiar) una parte del texto y colocarla en un |
| 3917 | búfer o espacio de memoria intermedia (o "portapapeles"); |
| 3918 | después moverla a la nueva localización que se desee; |
| 3919 | después pegar el texto. |
| 3920 | |
| 3921 | <p>Para cortar el texto utilice la orden <tt>y</tt> y sus |
| 3922 | variantes: |
| 3923 | |
| 3924 | <taglist> |
| 3925 | |
| 3926 | <tag><tt>yy</tt><item>Copia la línea actual y la almacena en |
| 3927 | un búfer |
| 3928 | |
| 3929 | <tag><tt><var>n</var>yy</tt><item> Copia en un búfer las |
| 3930 | siguientes <var>n</var> líneas |
| 3931 | |
| 3932 | <tag><tt>yw</tt><item> Copia una palabra en un búfer |
| 3933 | |
| 3934 | <tag><tt>y<var>n</var>w</tt> Copia en un búfer <var>n</var> |
| 3935 | palabras |
| 3936 | |
| 3937 | <tag><tt>y$</tt><item> Copia en un búfer el texto entre el |
| 3938 | cursor y el final de la línea |
| 3939 | |
| 3940 | </taglist> |
| 3941 | |
| 3942 | <p>Órdenes de pegar: |
| 3943 | |
| 3944 | <taglist> |
| 3945 | |
| 3946 | <tag><tt>p</tt><item> Pegar a la derecha del cursor |
| 3947 | |
| 3948 | <tag><tt>P</tt><item> Pegar a la izquierda del cursor |
| 3949 | |
| 3950 | <tag><tt><var>n</var>P</tt><item> Pegar <var>n</var> copias |
| 3951 | del búfer a la izquierda del cursor |
| 3952 | |
| 3953 | </taglist> |
| 3954 | |
| 3955 | <p>Cuando utiliza <prgn>vi</prgn> en una xterm o usa una |
| 3956 | variante de <prgn>vi</prgn> susceptible de ser utilizada en |
| 3957 | X, puede también utilizar el ratón para copiar texto. Vea |
| 3958 | <ref id="X"> para aprender a copiar y pegar en X; asegúrese |
| 3959 | de que está en modo de inserción cuando pegue, o el texto |
| 3960 | pegado será interpretado como una orden. |
| 3961 | |
| 3962 | <p>Cuando borra, el texto borrado se copia en el búfer |
| 3963 | (portapapeles); entonces puede utilizar las órdenes de |
| 3964 | copia. Esto le permite cortar-y-pegar, mientras que las |
| 3965 | órdenes <tt>y</tt> resultan en copiar-y-pegar. |
| 3966 | |
| 3967 | <!-- ARREGLAR Esto es cierto para vi, pero no para vim --> |
| 3968 | |
| 3969 | <p><prgn>vi</prgn> dispone de órdenes para buscar en el texto. |
| 3970 | También puede utilizarlas como órdenes de movimiento, si |
| 3971 | quiere desplazarse hasta una palabra o carácter en |
| 3972 | particular. |
| 3973 | |
| 3974 | <p>Las órdenes de búsqueda más simples buscan caracteres: |
| 3975 | |
| 3976 | <taglist> |
| 3977 | |
| 3978 | <tag><tt>f<var>c</var></tt><item> Encuentra el siguiente |
| 3979 | carácter <var>c</var> a la derecha o debajo de la posición |
| 3980 | actual del cursor |
| 3981 | |
| 3982 | <tag><tt>F<var>c</var></tt><item> Encuentra el siguiente |
| 3983 | carácter <var>c</var> a la izquierda o sobre la posición |
| 3984 | actual del cursor |
| 3985 | |
| 3986 | <tag><tt>t<var>c</var></tt><item> Se desplaza hacia la |
| 3987 | derecha hasta el carácter anterior al siguiente |
| 3988 | <var>c</var> |
| 3989 | |
| 3990 | <tag><tt>T<var>c</var></tt><item> Se desplaza hacia la |
| 3991 | izquierda hasta el carácter siguiente al <var>c</var> |
| 3992 | anterior |
| 3993 | |
| 3994 | <tag><tt>;</tt><item> Repite la última orden de búsqueda de |
| 3995 | caracteres |
| 3996 | |
| 3997 | <tag><tt>,</tt><item> Igual que <tt>;</tt>, pero invierte la |
| 3998 | dirección de la orden original |
| 3999 | |
| 4000 | </taglist> |
| 4001 | |
| 4002 | <p>Si no encuentra el carácter que estaba buscando, |
| 4003 | <prgn>vi</prgn> pitará o le dará alguna otra clase de señal. |
| 4004 | |
| 4005 | <prgn>vi</prgn> le permite buscar cualquier clase de texto, no |
| 4006 | solamente un carácter. |
| 4007 | |
| 4008 | <taglist> |
| 4009 | |
| 4010 | <tag><tt>/<var>texto</var></tt><item>Busca a la derecha y |
| 4011 | hacia abajo la próxima aparición de <var>texto</var> |
| 4012 | |
| 4013 | <tag><tt>?<var>texto</var></tt><item>Busca a la izquierda y |
| 4014 | hacia arriba la aparición anterior de <var>texto</var> |
| 4015 | |
| 4016 | <tag><tt>n</tt><item>Repite la última orden <tt>/</tt> o |
| 4017 | <tt>?</tt> |
| 4018 | |
| 4019 | <tag><tt>N</tt><item>Repite la última orden <tt>/</tt> o |
| 4020 | <tt>?</tt> en el sentido opuesto. |
| 4021 | |
| 4022 | </taglist> |
| 4023 | |
| 4024 | <p>Al utilizar las órdenes <tt>/</tt> o <tt>?</tt> se |
| 4025 | despejará una línea en la parte inferior de la pantalla. |
| 4026 | Ahí se introduce el texto que se desea buscar seguido de |
| 4027 | <tt>RET</tt>. |
| 4028 | |
| 4029 | <p>El texto en las órdenes <tt>/</tt> o <tt>?</tt> es en |
| 4030 | realidad una <em>expresión regular</em>, vea <ref |
| 4031 | id="text_tools-regexps">. |
| 4032 | |
| 4033 | <chapt id="custom_shell"> <heading> Personalizar la shell |
| 4034 | </heading> |
| 4035 | |
| 4036 | <sect id="custom_shell-dotfiles"> Archivos .rc y <tt>ls -a</tt> |
| 4037 | |
| 4038 | <p>Cuando utiliza <tt>ls</tt>, los archivos cuyo nombre |
| 4039 | comienza con un punto no aparecen listados. |
| 4040 | Tradicionalmente, los ficheros que contienen información |
| 4041 | sobre la configuración, las preferencias del usuario, y |
| 4042 | demás, empiezan con un punto; permanecen ocultos y fuera de |
| 4043 | su camino en su actividad cotidiana. Ejemplos de archivos |
| 4044 | de configuración |
| 4045 | |
| 4046 | <footnote>(N. del T.: la expresión original es "dotfiles", |
| 4047 | esto es, "archivos de punto". Sin embargo, suele hablarse |
| 4048 | de ellos como de "archivos de configuración", y así nos |
| 4049 | referiremos a ellos de aquí en adelante.)</footnote> |
| 4050 | |
| 4051 | con <tt>~/.emacs</tt>, <tt>~/.newsrc</tt>, |
| 4052 | <tt>~/.bashrc</tt>, <tt>~/.xsession</tt>, |
| 4053 | <tt>~/.fvwmrc</tt>, etc... Los anteriores los utilizan |
| 4054 | Emacs, los lectores de noticias, la shell Bash, el Sistema X |
| 4055 | Window, y el gestor de ventanas <prgn>fvwm</prgn>, |
| 4056 | respectivamente. Convencionalmente el nombre de estos |
| 4057 | ficheros termina en <tt>rc</tt>, aunque no siempre. Hay |
| 4058 | también directorios cuyo nombre comienza por un punto, como |
| 4059 | <tt>~/.gimp</tt> y <tt>~/.netscape</tt>, que almacenan las |
| 4060 | preferencias para Gimp y Netscape. |
| 4061 | |
| 4062 | <p>En ocasiones un programa creará un archivo de configuración |
| 4063 | automáticamente; por ejemplo, Netscape le permite editar sus |
| 4064 | preferencias a través de cuadros gráficos de diálogo y |
| 4065 | después guarda su selección. Otras veces los creará usted |
| 4066 | mismo utilizando un editor de texto; esta es la forma |
| 4067 | tradicional de hacerlo, pero tiene que haber aprendido el |
| 4068 | formato particular de cada fichero; incómodo al principio, |
| 4069 | pero puede proporcionarle mucho poder. |
| 4070 | |
| 4071 | <p>Para ver los archivos de configuración, ha de usar la |
| 4072 | opción <tt>-a</tt> con <tt>ls</tt>. La forma larga de |
| 4073 | <tt>-a</tt> es <tt>--all</tt>, que puede encontrar más fácil |
| 4074 | de recordar. Puede usar también, <tt>-A</tt> o |
| 4075 | <tt>--almost-all</tt> |
| 4076 | |
| 4077 | <footnote>(N. del T.: "all", todos; "almost all", casi |
| 4078 | todos.)</footnote>, |
| 4079 | |
| 4080 | que incluye todos los archivos cuyo nombre comienza por un |
| 4081 | punto excepto <tt>.</tt> y <tt>..</tt>; recuerde que |
| 4082 | <tt>.</tt> es el directorio de trabajo, y <tt>..</tt> el |
| 4083 | padre del directorio de trabajo; puesto que éstos es seguro |
| 4084 | que aparecen en cada directorio, no hay una auténtica razón |
| 4085 | para listarlos con <tt>ls</tt>. Usted ya sabe que están |
| 4086 | ahí. |
| 4087 | |
| 4088 | <sect id="custom_shell-etc"> Configuración del sistema contra |
| 4089 | configuración del usuario |
| 4090 | |
| 4091 | <p>Es importante recordar que hay dos clases distintas de |
| 4092 | configuración en un sistema Debian. La <em>configuración |
| 4093 | del sistema</em> afecta a todos los usuarios. Las |
| 4094 | especificaciones del sistema se establecen en el directorio |
| 4095 | <tt>/etc</tt>. Puede configurar el modo en que el sistema |
| 4096 | se conecta a internet, por ejemplo; o hacer que los |
| 4097 | navegadores del sistema siempre se inicien en la página |
| 4098 | principal de la empresa. Puesto que quiere que estas |
| 4099 | especificaciones se apliquen a todos los usuarios, hace las |
| 4100 | modificaciones en <tt>/etc</tt>. Ejemplos de archivos de |
| 4101 | configuración en <tt>/etc</tt> incluyen |
| 4102 | <tt>/etc/X11/XF86Config</tt>, <tt>/etc/lynx.cfg</tt>, y |
| 4103 | <tt>/etc/ppp/options</tt>. De hecho, casi todos los |
| 4104 | ficheros en <tt>/etc</tt> son archivos de configuración |
| 4105 | |
| 4106 | <footnote>(N. del T.: una peculiaridad que notará en los |
| 4107 | ficheros de este directorio es que, a pesar de que se trata |
| 4108 | de archivos de configuración, su nombre no está precedido de |
| 4109 | un punto, y por tanto, sí aparecen en los listados de |
| 4110 | <tt>ls</tt>. La razón consiste en que <tt>/etc</tt> no |
| 4111 | contiene más que estos ficheros, y en él no se desarrolla |
| 4112 | otro trabajo que el de la configuración. Por lo tanto, no |
| 4113 | hay que sacarlos del camino de su trabajo diario, porque no |
| 4114 | hay trabajo diario que hacer en <tt>/etc</tt>.)</footnote>. |
| 4115 | |
| 4116 | <p>Normalmente, debe ser root para alterar especificaciones |
| 4117 | que afectan al sistema en su totalidad. |
| 4118 | |
| 4119 | <p>La <em>configuración del usuario</em> afecta solamente a un |
| 4120 | único usuario. Esta configuración se realiza a través de |
| 4121 | archivos de configuración. Por ejemplo, el archivo |
| 4122 | <tt>~/.newsrc</tt> almacena una lista de qué artículos de |
| 4123 | Usenet (grupos de discusión) ha leído, y a qué grupos está |
| 4124 | suscrito. Esto permite a los lectores de noticias como |
| 4125 | <tt>trn</tt> o Netscape mostrar los artículos no leídos de |
| 4126 | los grupos en los que está interesado. Esta información |
| 4127 | será diferente para cada usuario del sistema, de modo que |
| 4128 | cada usuario tiene su propio archivo <tt>.newsrc</tt> en su |
| 4129 | directorio de usuario. |
| 4130 | |
| 4131 | <!-- FIXME : hay que escribir |
| 4132 | <sect id="custom_shell-login"> Shell de ingreso contra shell no de |
| 4133 | ingreso. |
| 4134 | <p>La diferencia, qué archivos editar para cada una. |
| 4135 | |
| 4136 | <sect id="custom_shell-profile"> Editar .bash_profile |
| 4137 | <p>Un pequeño manual, quizás establecer algunas variables de entorno |
| 4138 | comunes o alias útiles. |
| 4139 | <p>Utilizar algunos trucos ingeniosos de edición de textos. |
| 4140 | <p>Describir <tt>umask</tt> |
| 4141 | |
| 4142 | <sect id="custom_shell-changing"> Cambiar la shell |
| 4143 | <p>Simplemente mencionar la posibilidad, y por qué alguien podría |
| 4144 | querer hacerlo. |
| 4145 | |
| 4146 | --> |
| 4147 | |
| 4148 | <chapt id="X"> <heading> El Sistema X Window </heading> |
| 4149 | |
| 4150 | <p>Este capítulo describe la interfaz de usuario del Sistema |
| 4151 | gráfico X Window. Presupone que usted ha configurado ya |
| 4152 | X con éxito, según las instrucciones del Manual de |
| 4153 | Instalación (de nuevo, el manual de instalación no está |
| 4154 | escrito aún; por ahora necesitará utilizar el XFree86-CÓMO, |
| 4155 | el contenido de <tt>/etc/doc/X11</tt>, y este capítulo). |
| 4156 | Una vez instalado X, puede entrar en el entorno X |
| 4157 | escribiendo <tt>startx</tt> o vía <tt>xdm</tt>, en función |
| 4158 | de las elecciones hechas durante la configuración. |
| 4159 | |
| 4160 | <sect id="X-starting"> Arrancando el entorno X |
| 4161 | |
| 4162 | <p>Hay dos formas de arrancar X. La primera es iniciarlo |
| 4163 | manualmente cuando tenga ganas de usarlo. Para hacerlo, |
| 4164 | ingrese en una de las consolas de texto, y escriba |
| 4165 | <tt>startx</tt>. Esto iniciará X y le llevará a una |
| 4166 | consola virtual. |
| 4167 | |
| 4168 | <p>La segunda forma (recomendada) de utilizar X es con |
| 4169 | <prgn>xdm</prgn>, o X Display Manager |
| 4170 | |
| 4171 | <footnote>(N. del T.: Gestor de Visualización de |
| 4172 | X)</footnote>. |
| 4173 | |
| 4174 | Básicamente, <prgn>xdm</prgn> le proporciona un agradable |
| 4175 | prompt gráfico para el ingreso en la consola virtual de X |
| 4176 | (probablemente CV 7 |
| 4177 | |
| 4178 | <footnote>(N. del T.: recuerde que CV procedía de "Consola |
| 4179 | Virtual". Habrá observado que en Debian, por defecto |
| 4180 | dispone de seis consolas virtuales en modo texto. Al |
| 4181 | arrancar X se inicia, pues, la consola virtual número |
| 4182 | 7.)</footnote> |
| 4183 | |
| 4184 | |
| 4185 | ), y usted ingresa ahí. |
| 4186 | |
| 4187 | <p>Por defecto, cualquiera de ambos métodos iniciará una |
| 4188 | <tt>xterm</tt>, que es una pequeña ventana que contiene un |
| 4189 | prompt de shell. En el prompt de la shell, usted puede |
| 4190 | introducir cualesquiera instrucciones, tal como lo haría en |
| 4191 | una consola virtual de texto. Así que puede seguir todos |
| 4192 | los ejemplos de este manual utilizando <tt>xterm</tt>, |
| 4193 | puesto que ya ha ingresado en X. |
| 4194 | |
| 4195 | <p>Hay también muchas cosas que pueden solamente hacerse en X, |
| 4196 | cubiertas en este capítulo. |
| 4197 | |
| 4198 | <p>Una nota: por defecto, <tt>xterm</tt> tiene una fuente más |
| 4199 | bien pequeña. Si tiene un monitor pequeño o una resolución |
| 4200 | muy alta o mala vista, puede querer arreglarlo. Siga estos |
| 4201 | pasos: |
| 4202 | |
| 4203 | <enumlist> |
| 4204 | |
| 4205 | <item> Mueva el puntero del ratón al centro de la ventana de |
| 4206 | la <tt>xterm</tt>. |
| 4207 | |
| 4208 | <item> Mantenga apretados la tecla <tt>Control</tt> y el |
| 4209 | botón <em>derecho</em> del ratón simultáneamente. Esto le |
| 4210 | dará un menú de fuentes. |
| 4211 | |
| 4212 | <item> Señale la fuente que quiere y libere el botón del |
| 4213 | ratón. |
| 4214 | |
| 4215 | </enumlist> |
| 4216 | |
| 4217 | <sect id="X-intro"> Introducción: Qué es X |
| 4218 | |
| 4219 | <p>Una GUI (Interfaz Gráfica de Usuario) |
| 4220 | |
| 4221 | <footnote>(N. del T.: esto es, "Graphical User Interface". |
| 4222 | Se mantiene la abreviatura original debido a su gran |
| 4223 | difusión.)</footnote> |
| 4224 | |
| 4225 | es una parte esencial de los sistemas operativos Windows y |
| 4226 | Mac. Es básicamente imposible escribir una aplicación para |
| 4227 | esos sistemas que no utilice la GUI, y los sistemas no se |
| 4228 | pueden utilizar de manera efectiva desde la línea de |
| 4229 | instrucciones. GNU/Linux es más <em>modular</em>, esto es, |
| 4230 | compuesto de muchos componentes pequeños e independientes |
| 4231 | que pueden usarse o no según las necesidades o preferencias |
| 4232 | propias. Uno de esos componentes es el Sistema X Window, o |
| 4233 | simplemente X |
| 4234 | |
| 4235 | <footnote>También se le llama a veces X11 o X Window. Dése |
| 4236 | cuenta, por favor, de que "X Windows" <em>no</em> es |
| 4237 | correcto, y es probable que ofenda a los puristas si |
| 4238 | utiliza este término incorrecto.</footnote>. |
| 4239 | |
| 4240 | <p>X en sí mismo constituye un medio de que los programas |
| 4241 | hablen con su ratón y tarjeta de vídeo, sin saber qué clase |
| 4242 | de ratón o tarjeta de vídeo tiene. O sea, se trata de una |
| 4243 | <em>abstracción</em> del equipo físico gráfico. Las |
| 4244 | aplicaciones de usuario hablan a X, en el lenguaje de X; X |
| 4245 | después traduce al lenguaje de su equipo físico particular. |
| 4246 | Esto quiere decir que los programas sólo tienen que |
| 4247 | escribirse una vez, y funcionan en las computadoras de |
| 4248 | todos. |
| 4249 | |
| 4250 | <p>En la jerga de X, el programa que habla con el equipo |
| 4251 | físico se denomina <em>servidor</em>. Las aplicaciones de |
| 4252 | usuario que solicitan al servidor X que muestre ventanas o |
| 4253 | gráficos en la pantalla se denominan <em>clientes</em>. El |
| 4254 | servidor X incluye un <em>controlador de vídeo</em>, de modo |
| 4255 | que usted debe tener un servidor X que se corresponda con su |
| 4256 | tarjeta de vídeo. |
| 4257 | |
| 4258 | <p>El servidor X no proporciona ninguna de las características |
| 4259 | que uno esperaría de una GUI, como redimensionado y |
| 4260 | resdistribución de ventanas. Un cliente X especial, |
| 4261 | denominado <em>gestor de ventanas</em>, dibuja bordes y |
| 4262 | barras de título en las ventanas, redimensiona y coloca las |
| 4263 | ventanas, y proporciona recursos para iniciar otros clientes |
| 4264 | X desde un menú. Algunos gestores de ventanas pueden |
| 4265 | ofrecer características adicionales. |
| 4266 | |
| 4267 | <p>Los gestores de ventanas disponibles en un sistema Debian |
| 4268 | comprenden <tt>fvwm</tt>, <tt>fvwm2</tt>, <tt>icewm</tt>, |
| 4269 | <tt>afterstep</tt>, <tt>olvwm</tt>, <tt>wmaker</tt>, |
| 4270 | <tt>mwm</tt>, <tt>twm</tt>, <tt>enlightenment</tt> y otros. |
| 4271 | Probablemente querrá probarlos todos y escoger su favorito. |
| 4272 | (Para más información sobre los gestores de ventanas, y más |
| 4273 | material interesante sobre X, <url id="http://www.x11.org" |
| 4274 | name="X11.org"> es un buen sitio.) |
| 4275 | |
| 4276 | <p>Ni el servidor X ni el gestor de ventanas proporcionan un |
| 4277 | <em>gestor de ficheros</em>; esto es, no hay ventanas que |
| 4278 | contengan iconos que representen sus archivos y directorios. |
| 4279 | Usted puede iniciar un gestor de ficheros como aplicación |
| 4280 | independiente; hay disponibles muchos de ellos, aunque |
| 4281 | desafortunadamente aún no los hay buenos que estén basados |
| 4282 | en iconos. El proyecto de escritorio GNOME está |
| 4283 | desarrollando un gestor de ficheros basado en iconos y otros |
| 4284 | recursos GUI, sin embargo. En <url |
| 4285 | id="http://www.gnome.org" name="la página principal del |
| 4286 | proyecto GNOME"> puede leer las últimas noticias al |
| 4287 | respecto. |
| 4288 | |
| 4289 | <p>Una última característica de X es su <em>transparencia en |
| 4290 | la red</em>, lo que quiere decir que los clientes X no se |
| 4291 | preocupan de si están hablando a un servidor X en la misma |
| 4292 | máquina o en cualquier otra de la red. En la práctica, esto |
| 4293 | significa que pueden iniciar un programa en una máquina |
| 4294 | remota más potente, pero mostrarlo en su ordenador de |
| 4295 | escritorio. |
| 4296 | |
| 4297 | <sect id="X-basics"> Operaciones básicas en X |
| 4298 | |
| 4299 | <sect1 id="X-basics-mouse"> El ratón |
| 4300 | |
| 4301 | <p>El ratón en X funciona prácticamente igual que el ratón en |
| 4302 | otros sistemas, excepto que tiene tres botones. Si su ratón |
| 4303 | tiene sólo dos, puede simular el tercer botón (central) |
| 4304 | picando simultáneamente los otros dos. Esto es una especie |
| 4305 | de apaño algo molesto, de modo que invertir unas dos mil |
| 4306 | pesetas en un ratón de tres botones probablemente no es mala |
| 4307 | idea. Están disponibles en cualquier tienda de informática. |
| 4308 | |
| 4309 | <p>Los botones se numeran de izquierda a derecha, asumiendo |
| 4310 | que usted tenga un ratón para diestros, de manera que el |
| 4311 | botón uno está a la izquierda, el dos en el centro, el tres |
| 4312 | a la derecha. Puede ver tanto los números como las |
| 4313 | localizaciones en la documentación. |
| 4314 | |
| 4315 | <p>X dispone de un servicio interno simple para cortar y |
| 4316 | pegar. Para seleccionar el texto que quiera copiar, pique y |
| 4317 | arrastre con el botón izquierdo del ratón. Esto debería |
| 4318 | seleccionar el texto que quiere copiar, suponiendo que la |
| 4319 | aplicación que esté usando soporte el copiar-y-pegar. Para |
| 4320 | pegar el texto, pique con el botón central en una aplicación |
| 4321 | X distinta. Por ejemplo, si recibe un correo electrónico |
| 4322 | que contiene una URL, puede seleccionar la URL con el botón |
| 4323 | izquierdo, luego picar en el apartado "Location" de su |
| 4324 | navegador con el botón central para pegarla allí. |
| 4325 | |
| 4326 | <sect1 id="X-basics-clients"> Clientes X |
| 4327 | |
| 4328 | <p>Los programas que se comunican con el servidor X se |
| 4329 | denominan clientes X. La mayor parte de estos programas |
| 4330 | pedirán al servidor X que muestre ventanas en la pantalla. |
| 4331 | |
| 4332 | <p>Un cliente X se inicia del mismo modo que cualquier otro |
| 4333 | programa Debian. Simplemente escriba el nombre del cliente |
| 4334 | en la línea de instrucciones. Escriba <tt>xterm</tt> en una |
| 4335 | xterm existente, y un nuevo cliente xterm aparecerá en la |
| 4336 | pantalla. |
| 4337 | |
| 4338 | <p>Se dará cuenta de que ahora la xterm original es inútil, |
| 4339 | puesto que la shell está esperando que la segunda xterm se |
| 4340 | cierre. Para evitar este problema, puede iniciar el cliente |
| 4341 | X en segundo plano; añada un <tt>&</tt> tras el nombre |
| 4342 | de la orden, así: <tt>xterm &</tt>. Si se le olvida, puede |
| 4343 | colocar un proceso activo en segundo plano. Primero |
| 4344 | suspenda el proceso con <tt>C-z</tt>, y después envíelo al |
| 4345 | segundo plano con la orden <tt>bg</tt>. |
| 4346 | |
| 4347 | <p>Si utiliza un programa con frecuencia, su gestor de |
| 4348 | ventanas ofrecerá generalmente un modo de colocar ese |
| 4349 | programa en un cómodo menú gráfico. |
| 4350 | |
| 4351 | <sect1 id="X-basics-trouble"> Resolución de problemas |
| 4352 | |
| 4353 | <p>En ocasiones, cuando inicie un cliente X desde un menú |
| 4354 | gráfico, no podrá ver ningún mensaje de error si falla. |
| 4355 | Puede encontrar cualquier mensaje de error en el archivo |
| 4356 | <tt>~/.xsession-errors</tt>. |
| 4357 | |
| 4358 | <sect1 id="X-basics-leaving"> Dejar el entorno X |
| 4359 | |
| 4360 | <p>Para dejar X, necesitará utilizar un menú. |
| 4361 | Desafortunadamente para los principiantes, éste será |
| 4362 | distinto para cada gestor de ventanas, y en muchos gestores |
| 4363 | de ventanas puede configurarse de muchas maneras. Si hay un |
| 4364 | menú aparente, busque una entrad similar a "Salir" o "Cerrar |
| 4365 | el gestor de ventanas" |
| 4366 | |
| 4367 | <footnote>(N. del T.: es conveniente que conozca los |
| 4368 | mensajes que puede encontrar en gestores no |
| 4369 | internacionalizados. Así, "Exit", "Close Window Manager" |
| 4370 | o "Log out" con expresiones corrientes.)</footnote>. |
| 4371 | |
| 4372 | Si no ve un menú, pruebe a picar con cada uno de los botones |
| 4373 | del ratón en el fondo de la pantalla. Si falla todo lo |
| 4374 | demás, puede cerrar el servidor X por la fuerza apretando |
| 4375 | <tt>C-A-BORR</tt>. Cerrar el servidor de esta manera |
| 4376 | destruirá los datos no guardados de las aplicaciones |
| 4377 | abiertas. |
| 4378 | |
| 4379 | <sect id="X-startup"> Personalizar el arranque de X |
| 4380 | |
| 4381 | <p>Cuando arranca X, Debian iniciará algunos guiones de la |
| 4382 | shell que arrancan el gestor de ventanas y otros clientes X. |
| 4383 | Por defecto, iniciará para usted un gestor de ventanas, una |
| 4384 | <tt>consola</tt> y una <tt>xterm</tt>. |
| 4385 | |
| 4386 | <p>Para personalizar el arranque de X, el fichero |
| 4387 | <tt>/etc/X11/config</tt> debe contener la línea |
| 4388 | <tt>allow-user-xsession</tt>. Si no es así, conviértase en |
| 4389 | root y añada ahora la línea. Después ingrese de nuevo como |
| 4390 | usted mismo y continúe con la práctica |
| 4391 | |
| 4392 | <!-- ARREGLAR : en potato /etc/X11/config ya no es funcional, y sus --> |
| 4393 | <!-- entradas se han repartido entre varios ficheros. En concreto, --> |
| 4394 | <!-- ésta s encuentra ahora en /etc/X11/Xsession --> |
| 4395 | |
| 4396 | |
| 4397 | <footnote>Puede ver cómo funciona el arranque de X de Debian |
| 4398 | en el archivo <tt>/etc/X11/Xsession</tt>. Fíjese en que |
| 4399 | el comportamiento de <tt>/etc/X11/Xsession</tt> puede |
| 4400 | cambiarse modificando el archivo <tt>/etc/X11/config</tt>, |
| 4401 | que especifica algunas preferencias que afectan a todo el |
| 4402 | sistema.</footnote>. |
| 4403 | |
| 4404 | <p>Para iniciar los clientes de su elección cuando arranca X, |
| 4405 | debe crear un guión ejecutable de la shell llamado |
| 4406 | <tt>.xsession</tt> en su directorio de usuario. |
| 4407 | |
| 4408 | <enumlist> |
| 4409 | |
| 4410 | <item><tt>touch ~/.xsession</tt> <p> Esto crea el fichero. |
| 4411 | |
| 4412 | <item><tt>chmod u+x ~/.xsession</tt> <p> Hace ejecutable al |
| 4413 | fichero. |
| 4414 | |
| 4415 | </enumlist> |
| 4416 | |
| 4417 | <!-- ARREGLAR ????????????????????? --> |
| 4418 | |
| 4419 | <p>Una vez que existe <tt>.xsession</tt>, necesita editarlo |
| 4420 | con su editor de texto favorito para hacer algo útil. Puede |
| 4421 | hacer lo que quiera en este guión. No obstante, cuando el |
| 4422 | proceso del script termine, X también terminará. |
| 4423 | |
| 4424 | <p>En la práctica esto significa que a menudo terminará el |
| 4425 | guión con una llamada a <tt>exec</tt>. |
| 4426 | |
| 4427 | <!-- FIXME xref que explique exec contra tareas en segundo plano --> |
| 4428 | <!-- contra ejecución normal --> |
| 4429 | |
| 4430 | Cualquier programa que invoque con <tt>exec</tt> sustituirá |
| 4431 | al proceso del guión consigo mismo, de manera que se |
| 4432 | ignorarán las órdenes tras la línea de <tt>exec</tt>. El |
| 4433 | programa ejecutado con <tt>exec</tt> se convertirá en el |
| 4434 | nuevo "propietario" del proceso del guión, lo que quiere |
| 4435 | decir que X terminará cuando termine el proceso de este |
| 4436 | nuevo programa. |
| 4437 | |
| 4438 | <!-- FIXME : ¿sustituir las apariciones de fvwm por un WM más moderno? |
| 4439 | wmaker, enlightenment o icewm parecen mejores candidatos --> |
| 4440 | |
| 4441 | <p>Digamos que termina su .xsession con la línea <tt>exec |
| 4442 | fvwm</tt>. Esto significa que el gestor de ventanas |
| 4443 | <tt>fvwm</tt> se iniciará cuando arranca X. Cuando salga |
| 4444 | del gestor de ventanas fvwm, su sesión X terminará y se |
| 4445 | cerrarán todos los clientes restantes. No tiene por qué |
| 4446 | usar un gestor de ventanas aquí; podría incluir <tt>exec |
| 4447 | xterm</tt>, in cuyo caso escribir <tt>exit</tt> es esa xterm |
| 4448 | específica causaría el final de toda la sesión X. |
| 4449 | |
| 4450 | <p>Si quiere iniciar otros clientes antes de hacer su |
| 4451 | <tt>exec</tt>, necesitará iniciarlos en segundo plano. De |
| 4452 | otro modo, <tt>.xsession</tt> se detendrá hasta que termine |
| 4453 | cada cliente, y después pasará a la línea siguiente. Vea la |
| 4454 | sección anterior sobre ejecutar trabajos en segundo plano |
| 4455 | |
| 4456 | <!-- FIXME xref --> |
| 4457 | |
| 4458 | (básicamente habrá de poner una <tt>&</tt> al final, por |
| 4459 | ejemplo, <tt>xterm &</tt>. |
| 4460 | |
| 4461 | <p>Puede sacar provecho de este comportamiento, no obstante. |
| 4462 | Si quiere ejecutar órdenes al terminar su sesión X, puede |
| 4463 | hacer que su <tt>.xsession</tt> inicie un gestor de ventanas |
| 4464 | o similar y esperar que termine. Esto es, no utilice el |
| 4465 | <tt>exec</tt> y el <tt>&</tt>, simplemente escriba |
| 4466 | <tt>fvwm</tt> sin más. Entonces ponga las instrucciones que |
| 4467 | quiera después de <tt>fvwm</tt>. |
| 4468 | |
| 4469 | <p>Probablemente le ayudaría ver algunos ficheros |
| 4470 | <tt>.xsession</tt> de ejemplo. En todos ellos, sustituya |
| 4471 | <tt>fvwm</tt> con el gestor de ventanas que prefiera. |
| 4472 | |
| 4473 | <p>El <tt>.xsession</tt> más sencillo se limita a iniciar un |
| 4474 | gestor de ventanas: |
| 4475 | |
| 4476 | <example> |
| 4477 | exec fvwm |
| 4478 | </example> |
| 4479 | |
| 4480 | Esto ejecutará fvwm, y la sesión X terminará cuando fvwm se |
| 4481 | cierre. Si lo hace sin <tt>exec</tt>, todo parecerá |
| 4482 | comportarse igual, pero tras las bambalinas, |
| 4483 | <tt>.xsession</tt> se colgará esperando a fvwm, y |
| 4484 | <tt>.xsession</tt> se cerrará después de que fvwm lo haga. |
| 4485 | Usar <tt>exec</tt> es ligeramente mejor porque fvwm |
| 4486 | sustituye a <tt>.xsession</tt> en lugar de dejarlo |
| 4487 | esperando. Puede utilizar las órdenes <tt>ps</tt> o |
| 4488 | <tt>top</tt> para comprobarlo. |
| 4489 | |
| 4490 | <p>Un <tt>.xsession</tt> más útil ejecuta algunos clientes |
| 4491 | antes de iniciar el gestor de ventanas. Por ejemplo, usted |
| 4492 | puede querer algunas xterms y un reloj x |
| 4493 | |
| 4494 | <footnote>(N. del T.: reloj x, "xclock".)</footnote> siempre |
| 4495 | que inicie X. Sin problemas: |
| 4496 | |
| 4497 | <example> |
| 4498 | xterm & |
| 4499 | xterm & |
| 4500 | xclock & |
| 4501 | exec fvwm |
| 4502 | </example> |
| 4503 | |
| 4504 | Dos xterms y un reloj de X arrancan en segundo plano, y |
| 4505 | después se inicia el gestor de ventanas. Cuando abandone el |
| 4506 | gestor de ventanas, también saldrá de X. |
| 4507 | |
| 4508 | <p>Puede intentarlo sin utilizar el segundo plano sólo para |
| 4509 | ver qué sucede. Haga esto: |
| 4510 | |
| 4511 | <example> |
| 4512 | xterm |
| 4513 | xclock |
| 4514 | exec fvwm |
| 4515 | </example> |
| 4516 | |
| 4517 | la xterm se iniciará, y esperará a que usted la cierre. |
| 4518 | Entonces se iniciará xclock; tendrá que salir de xclock |
| 4519 | antes de que pueda comenzar fvwm. Las órdenes se ejecutan |
| 4520 | una tras otra, puesto que el guión espera a que cada una |
| 4521 | termine. |
| 4522 | |
| 4523 | <p>Puede sacar provecho de la ejecución sucesiva. Tal vez |
| 4524 | quiera mantener un registro de cuándo deja de trabajar cada |
| 4525 | día: |
| 4526 | |
| 4527 | <example> |
| 4528 | xterm & |
| 4529 | xclock & |
| 4530 | fvwm |
| 4531 | date >> ~/hora-de-terminar |
| 4532 | </example> |
| 4533 | |
| 4534 | Esto se dividirá en un doble proceso con una xterm y un |
| 4535 | xclock, después iniciará fvwm y esperará a que éste termine. |
| 4536 | Cuando abandone fvwm, se moverá hasta la última línea, la |
| 4537 | cual añade la fecha y hora actuales al archivo |
| 4538 | <tt>~/hora-de-terminar</tt>. |
| 4539 | |
| 4540 | <p>Por último, puede hacer que un programa distinto del gestor |
| 4541 | de las X determine cuándo se abandona X: |
| 4542 | |
| 4543 | <example> |
| 4544 | xclock & |
| 4545 | fvwm & |
| 4546 | exec xterm |
| 4547 | </example> |
| 4548 | |
| 4549 | Este guión ejecutará xclock y fvwm en segundo plano, y |
| 4550 | después se sustituye por una xterm. Cuando abandona la |
| 4551 | xterm, su sesión X terminará. |
| 4552 | |
| 4553 | <p>La mejor manera de aprender a usar <tt>.xsession</tt> es |
| 4554 | intentar algunas de estas cosas. De nuevo, asegúrese de que |
| 4555 | utiliza <tt>chmod</tt> para hacerlo ejecutable; éste es un |
| 4556 | error común. |
| 4557 | |
| 4558 | <!-- FIXME : Necesita completarse |
| 4559 | |
| 4560 | <sect id="X-custom"> Personalizar X |
| 4561 | <p>Cómo personalizar el mapa del teclado, el concepto de los recursos |
| 4562 | X. |
| 4563 | <p>Qué hay en /etc/X11/config (o puede que sólo una referencia a |
| 4564 | /usr/doc en este tema. |
| 4565 | |
| 4566 | --> |
| 4567 | |
| 4568 | <!-- ARREGLAR : igual que antes, /etc/X11/config ha quedado sin efecto --> |
| 4569 | |
| 4570 | <!-- |
| 4571 | |
| 4572 | <sect id="X-wm"> Personalizar el gestor de ventanas |
| 4573 | <p>Una pequeña introducción. Pero hay que escoger uno en concreto |
| 4574 | para explicar esta sección. |
| 4575 | |
| 4576 | --> |
| 4577 | |
| 4578 | <chapt id="text_tools"> <heading> Herramientas de texto </heading> |
| 4579 | |
| 4580 | <p>head, tail, grep, wc, tr, sed, perl y demás |
| 4581 | |
| 4582 | <sect id="text_tools-regexps"> Expresiones regulares |
| 4583 | |
| 4584 | <p>Una expresión regular es una descripción de un conjunto de |
| 4585 | caracteres. Esta descripción puede utilizarse para buscar a |
| 4586 | través de un fichero buscando texto que <em>equivalga</em> a |
| 4587 | la expresión regular. Las expresiones regulares son |
| 4588 | análogas a los comodines de la shell (vea <ref |
| 4589 | id="shell-wildcards">), pero son tanto más complicadas como |
| 4590 | más potentes. |
| 4591 | |
| 4592 | <p>Una expresión regular se compone de texto y |
| 4593 | <em>metacaracteres</em>. Un metacarácter es simplemente un |
| 4594 | carácter con un significado especial. Los metacaracteres |
| 4595 | incluyen: <tt> . * [] - \ ^ $</tt>. |
| 4596 | |
| 4597 | <p>Si una expresión regular contiene sólo texto (sin |
| 4598 | metacaracteres), entonces equivale a ese texto. Por |
| 4599 | ejemplo, la expresión regular '<tt>mi expresión |
| 4600 | regular</tt>' equivale al texto '<tt>mi expresión |
| 4601 | regular</tt>, y nada más. Las expresiones regulares tienen |
| 4602 | generalmente en cuenta las letras mayúsculas. |
| 4603 | |
| 4604 | <p>Puede utilizar la instrucción <tt>egrep</tt> para mostrar |
| 4605 | todas las líneas de un fichero que contienen una expresión |
| 4606 | regular. Su sintaxis es: |
| 4607 | |
| 4608 | <p><tt>egrep '<var>regexp</var>' <var>nombredefichero1</var> |
| 4609 | ... </tt> |
| 4610 | |
| 4611 | <footnote>Las comillas no se necesitan siempre, pero no |
| 4612 | hacen daño.</footnote> |
| 4613 | |
| 4614 | <p>Por ejemplo, para encontrar todas las líneas de la GPL que |
| 4615 | contienen la palabra GNU, escriba: |
| 4616 | |
| 4617 | <example> |
| 4618 | egrep 'GNU' /usr/doc/copyright/GPL |
| 4619 | </example> |
| 4620 | |
| 4621 | <p><tt>egrep</tt> imprimirá las líneas en la salida estándar. |
| 4622 | |
| 4623 | <p>Si quiere todas las líneas que contienen <tt>freedom</tt> |
| 4624 | |
| 4625 | <footnote>(N. del T.: "freedom", libertad.)</footnote>, |
| 4626 | |
| 4627 | seguida de cualquier otro texto, seguido de <tt>GNU</tt>, |
| 4628 | puede hacer: |
| 4629 | |
| 4630 | <example> |
| 4631 | egrep 'freedom.*GNU' /usr/doc/copyright/GPL |
| 4632 | </example> |
| 4633 | |
| 4634 | <p>El <tt>.</tt> significa "cualquier carácter"; el <tt>*</tt> |
| 4635 | significa "cero o más de la cosa precedente", en este caso, |
| 4636 | "cero o más de cualquier carácter". De modo que <tt>.*</tt> |
| 4637 | equivale a cualquier texto, sin limitaciones. |
| 4638 | <tt>egrep</tt> sólo busca equivalencias por líneas, por lo |
| 4639 | que <tt>freedom</tt> y <tt>GNU</tt> tienen que estar en la |
| 4640 | misma línea. |
| 4641 | |
| 4642 | <p>Aquí hay un resumen de los metacaracteres de expresiones |
| 4643 | regulares: |
| 4644 | |
| 4645 | <p> |
| 4646 | |
| 4647 | <taglist> |
| 4648 | |
| 4649 | <tag><tt>.</tt><item> Equivale a cualquier carácter |
| 4650 | individual excepto fin de línea. |
| 4651 | |
| 4652 | <tag><tt>*</tt><item> Equivale a cero o más apariciones de |
| 4653 | la cosa precedente. Así que la expresión <tt>a*</tt> |
| 4654 | equivale a 0 o más <tt>aes</tt> minúsculas, y <tt>.*</tt> |
| 4655 | equivale a cero o más caracteres. |
| 4656 | |
| 4657 | <tag><tt>[<var>caracteres</var>]</tt><item>Los corchetes |
| 4658 | deben contener uno o más caracteres; la expresión entre |
| 4659 | corchetes en su totalidad equivale exactamente a un |
| 4660 | carácter del conjunto. Así que <tt>[abc]</tt> equivale a |
| 4661 | una <tt>a</tt>, una <tt>b</tt>, o una <tt>c</tt>; no |
| 4662 | equivale a 0 caracteres, y no equivale a un carácter |
| 4663 | distinto de esos tres. |
| 4664 | |
| 4665 | <tag><tt>^</tt><item>Restringe su búsqueda al principio de |
| 4666 | la línea. La expresión <tt>^El</tt> equivale a |
| 4667 | <tt>El</tt> sólo al principio de la línea; no puede haber |
| 4668 | espacios u otro texto antes de <tt>El</tt>. Si quiere |
| 4669 | permitir espacios, puede permitir 0 o más caracteres de |
| 4670 | espacio así: <tt>^ *El</tt>. |
| 4671 | |
| 4672 | <tag><tt>$</tt><item>Restringe la búsqueda al final de la |
| 4673 | línea. <tt>final$</tt> exige que el texto <tt>final</tt> |
| 4674 | se encuentre al final de la línea, sin espacios en blanco |
| 4675 | o texto. |
| 4676 | |
| 4677 | <tag><tt>[^<var>carácter</var>]</tt><item><tt>^</tt> |
| 4678 | invierte el sentido de una lista de caracteres entre |
| 4679 | corchetes. Así que <tt>[^abc]</tt> equivale a cualquier |
| 4680 | carácter individual, <em>excepto</em> a, b, o c. |
| 4681 | |
| 4682 | <tag><tt>[<var>carácter</var>-<var>carácter</var>]</tt><item> |
| 4683 | Puede incluir intervalos en una lista entre corchetes. |
| 4684 | Para incluir cualquier letra minúscula, utilice |
| 4685 | <tt>[a-z]</tt>. Puede tener más de un intervalo; de modo |
| 4686 | que para equivaler a las primeras tres o las últimas tres |
| 4687 | letras del alfabeto, pruebe <tt>[a-cx-z]</tt>. Para |
| 4688 | obtener cualquier letra, sin importar si es mayúscula o |
| 4689 | minúscula, use <tt>[a-zA-Z]</tt>. Puede mezclar los |
| 4690 | intervalos con caracteres individuales y con el |
| 4691 | metacarácter <tt>^</tt>; por ejemplo, <tt>[^a-zBZ]</tt>, |
| 4692 | siginifica "cualquier cosa excepto una letra minúscula, la |
| 4693 | B mayúscula, o la Z mayúscula". |
| 4694 | |
| 4695 | <tag><tt>()</tt><item>Puede utilizar paréntesis para agrupar |
| 4696 | partes de la expresión regular, tal como se hace en una |
| 4697 | expresión matemática. |
| 4698 | |
| 4699 | <tag><tt>|</tt><item><tt>|</tt> quiere decir "o"; puede |
| 4700 | utilizarlo para proporcionar una serie alternativa de |
| 4701 | expresiones. Normalmente querrá poner las alternativas |
| 4702 | entre paréntesis, así: <tt>c(asa|ala|ama)</tt> equivale a |
| 4703 | <tt>casa</tt> o <tt>cala</tt> o <tt>cama</tt>. En caso de |
| 4704 | faltar los paréntesis, equivaldría a <tt>casa</tt> o |
| 4705 | <tt>ala</tt> o <tt>ama</tt>. |
| 4706 | |
| 4707 | <tag><tt>\</tt><item>Sirve para poder incluir cualquier |
| 4708 | carácter especial; si quisie entontrar un <tt>*</tt>, |
| 4709 | escriba <tt>\*</tt>. La barra invertida significa que se |
| 4710 | debe ignorar el significado especial de <tt>*</tt>. |
| 4711 | |
| 4712 | </taglist> |
| 4713 | |
| 4714 | <p>Aquí hay algunos ejemplos más, para ayudarle a cogerle el |
| 4715 | tranquillo: |
| 4716 | |
| 4717 | <taglist> |
| 4718 | |
| 4719 | <tag><tt>c.sa</tt> equivale <tt>casa</tt>, <tt>cesa</tt>, |
| 4720 | <tt>cosa</tt> |
| 4721 | |
| 4722 | <tag><tt>c\.</tt><item>equivale a <tt>c.sa</tt>, |
| 4723 | <tt>c.ma </tt> |
| 4724 | |
| 4725 | <tag><tt>ci*dad</tt><item>equivale a <tt>cdad</tt>, |
| 4726 | <tt>cidad</tt>, <tt>ciidad</tt> |
| 4727 | |
| 4728 | <tag><tt>car.*n</tt><item>equivale a <tt>carton</tt>, |
| 4729 | <tt>carrion</tt>, <tt>carmen</tt> |
| 4730 | |
| 4731 | <tag><tt>xyz.*</tt><item>equivale a <tt>xyz</tt> y cualquier |
| 4732 | cosa tras ello; algunas herramientas, como <tt>egrep</tt>, |
| 4733 | sólo buscan equivalencias sólo hasta el final de la línea |
| 4734 | |
| 4735 | <tag><tt>^El</tt><item>equivale a <tt>El</tt> al principio |
| 4736 | de la línea |
| 4737 | |
| 4738 | <tag><tt>palabra$</tt><item>equivale a <tt>palabra</tt> al |
| 4739 | final de la línea |
| 4740 | |
| 4741 | <tag><tt>^Solo$</tt><item>equivale a una línea que consiste |
| 4742 | solamente en la palabra <tt>Solo</tt>: sin espacios, sin |
| 4743 | otros caracteres, nada. Solamente se permite |
| 4744 | <tt>Solo</tt> |
| 4745 | |
| 4746 | <tag><tt>m[eiu]sa</tt><item>equivale a <tt>mesa</tt>, |
| 4747 | <tt>misa</tt>, <tt>musa</tt> |
| 4748 | |
| 4749 | <tag><tt>Ver[D-F]</tt><item>equivale a <tt>VerD</tt>, |
| 4750 | <tt>VerE</tt>, <tt>VerF</tt> |
| 4751 | |
| 4752 | <tag><tt>Ver[^0-9]</tt><item>equivale a <tt>Ver</tt> seguido |
| 4753 | por cualquier carácter que no sea un número |
| 4754 | |
| 4755 | <tag><tt>libr[oa][sr]</tt><item>equivale a <tt>libros</tt>, |
| 4756 | <tt>libror</tt>, <tt>libras</tt>, <tt>librar</tt> |
| 4757 | |
| 4758 | <tag><tt>[A-Za-z][A-Za-z]*</tt><item>equivale a cualquier |
| 4759 | palabra que consista solamente en letras, y al menos una |
| 4760 | letra. No equivaldrá a números o espacios |
| 4761 | |
| 4762 | </taglist> |
| 4763 | |
| 4764 | <!-- FIXME : ¿Dar algunos otros ejemplos de expresiones regulares --> |
| 4765 | <!-- además de egrep? --> |
| 4766 | |
| 4767 | <chapt id="file_tools"> <heading> Herramientas de ficheros |
| 4768 | </heading> |
| 4769 | |
| 4770 | <sect id="file_tools-backup"> Herramientas de copia de seguridad |
| 4771 | |
| 4772 | <!-- <p> FIXME esta sección está claramente incompleta: |
| 4773 | |
| 4774 | <p>tar, cpio, dump; también la copia a gran escala, cp -a etc. |
| 4775 | |
| 4776 | <p>(Quizás algo sobre cómo hacer copias de respaldo solamente |
| 4777 | de /home y /etc si se tiene sólo una disquetera, puesto que |
| 4778 | muchos usuarios no tienen cinta). |
| 4779 | |
| 4780 | <p>Cómo utilizar tar para copiar muchos archivos, o hacer |
| 4781 | copias de seguridad de sus ficheros. Tarballs. Pienso que |
| 4782 | esta debería ser una sección breve dirigida a los sistemas |
| 4783 | de usuario único, con una explicación más profunda para |
| 4784 | administradores del sistema en un manual diferente. |
| 4785 | |
| 4786 | --> |
| 4787 | |
| 4788 | <p>Los comandos de copia de seguridad (aportados por Oliver |
| 4789 | Elphick, una sección que tiene que ser aclarada y |
| 4790 | elaborada): |
| 4791 | |
| 4792 | <p>dump: vuelca un sistema de ficheros cada vez; sus opciones |
| 4793 | presumen que se utiliza una cinta de media pulgada (máximo |
| 4794 | de 45 Mb por cartucho) de modo que es un tanto desagradable |
| 4795 | cuando se utiliza DAT(2 Gb o más). Probablemente lo mejor |
| 4796 | para copias de seguridad periódicas. No se puede usar en |
| 4797 | sistemas de ficheros montados con NFS. |
| 4798 | |
| 4799 | <p>cpio: `find [directorios] -print | cpio -ovH newc -B > |
| 4800 | /dev/st0' |
| 4801 | |
| 4802 | <p>tar: `tar cvf /dev/st0 [directorios]' |
| 4803 | |
| 4804 | <p>afio: como cpio; proporciona precompresión de los ficheros |
| 4805 | antes de archivarlos. |
| 4806 | |
| 4807 | <p>tob: frontal para afio. |
| 4808 | |
| 4809 | <sect id="file_tools-compression"> Compresión de ficheros con |
| 4810 | <tt>gzip</tt> |
| 4811 | |
| 4812 | <p>Con frecuencia estaría bien poder reducir el tamaño de un |
| 4813 | archivo: bien para descargarlo más aprisa, o para que ocupe |
| 4814 | menos espacio en su disco. El programa que hace esto se |
| 4815 | llama <tt>gzip</tt> (GNU zip). |
| 4816 | |
| 4817 | <enumlist> |
| 4818 | |
| 4819 | <!-- FIXME : utilizar gzip con mi /etc/profile sólo lo reduce en 17 --> |
| 4820 | <!-- bytes (de 178 a 161). Considerar utilizar otro ejemplo (¿la --> |
| 4821 | <!-- GPL?) --> |
| 4822 | |
| 4823 | <item><tt>cd; cp /etc/profile ./fichejemplo</tt> <p>Regrese a |
| 4824 | su directorio de usuario, copie un fichero elegido al azar |
| 4825 | (<tt>/etc/profile</tt>) en su directorio de trabajo, |
| 4826 | cambiándole el nombre en el proceso a <tt>fichejemplo</tt>. |
| 4827 | Esto nos da un fichero con el que jugar con <tt>gzip</tt>. |
| 4828 | |
| 4829 | <item><tt>ls -l</tt> <p>Liste los contenidos del directorio de |
| 4830 | trabajo. Fíjese en el tamaño de <tt>fichejemplo</tt>. |
| 4831 | |
| 4832 | <item><tt>gzip fichejemplo</tt> <p>Comprima |
| 4833 | <tt>fichejemplo</tt>. |
| 4834 | |
| 4835 | <item><tt>ls -l</tt> <p>Observe los resultados: |
| 4836 | <tt>fichejemplo</tt> se llama ahora <tt>fichejemplo.gz</tt>. |
| 4837 | También es bastante más pequeño. |
| 4838 | |
| 4839 | <item><tt>gunzip fichejemplo.gz; ls -l </tt> <p>Descomprima. |
| 4840 | Observe que <tt>fichejemplo</tt> ha regresado a su estado |
| 4841 | original. Dése cuenta de que par descomprimir se utiliza |
| 4842 | <tt>gunzip</tt>, no <tt>gzip</tt>. |
| 4843 | |
| 4844 | <item><tt>rm fichejemplo</tt> <p>Borre el fichero, puesto que |
| 4845 | era nada más para practicar. |
| 4846 | |
| 4847 | </enumlist> |
| 4848 | |
| 4849 | <sect id="file_tools-split"> Dividir archivos en trozos más |
| 4850 | pequeños |
| 4851 | |
| 4852 | <p>A veces un fichero es demasiado grande para caber en un |
| 4853 | disco, o usted no quiere enviar un archivo enorme a través |
| 4854 | de la red en una sola pieza. Puede dividir el fichero |
| 4855 | utilizando la utilidad <tt>split</tt>, y móntelo de nuevo |
| 4856 | con la utilidad <tt>cat</tt> (con<em>cat</em>enar). |
| 4857 | |
| 4858 | <enumlist> |
| 4859 | |
| 4860 | <item><tt>cd; cp /bin/bash mifichero; ls -l mifichero</tt> |
| 4861 | <p>Copie el ejecutable <tt>bash</tt> en un fichero en su |
| 4862 | directorio de usuario llamado <tt>mifichero</tt>. Observe |
| 4863 | que <tt>mifichero</tt> ocupa un poco más de 400.000 |
| 4864 | bytes, o alrededor de 400 kilobytes. |
| 4865 | |
| 4866 | <!-- ARREGLAR : bash 2.1 tiene 364.336 bytes --> |
| 4867 | |
| 4868 | <item><tt>split -b100k mifichero miprefijo</tt> <p>Divide el |
| 4869 | archivo en secciones de 100 kilobytes, y llama a las |
| 4870 | secciones <tt>miprefijoaa</tt>, <tt>miprefijob</tt>, etc. |
| 4871 | Escriba <tt>ls -l</tt> para ver los resultados. |
| 4872 | |
| 4873 | <item>Puede especificar cualquier número tras <tt>-b</tt>: |
| 4874 | elija uno que tenga sentido. Si quita la <tt>k</tt>, se |
| 4875 | entenderá que son bytes en lugar de kilobytes. Si utiliza |
| 4876 | <tt>m</tt> en lugar de <tt>k</tt>, se entenderá que son |
| 4877 | megabytes. |
| 4878 | |
| 4879 | <item><tt>cat miprefijo* > mifichero2</tt> <p>Una todos |
| 4880 | los ficheros y escríbalos en |
| 4881 | <tt>mifichero2</tt>. (<tt>*</tt> y <tt>></tt> son trucos |
| 4882 | que aprenderá en otro capítulo |
| 4883 | |
| 4884 | <!-- ARREGLAR : atención pregunta: ¿no debería ser >> --> |
| 4885 | |
| 4886 | |
| 4887 | <!-- FIXME xref -->.) |
| 4888 | |
| 4889 | <item> <tt>rm mifichero miprefijo* mifichero2</tt> |
| 4890 | <p>Bórrelo todo. |
| 4891 | |
| 4892 | </enumlist> |
| 4893 | |
| 4894 | <sect id="file_tools-find"> Buscar ficheros |
| 4895 | |
| 4896 | <p>Hay dos utilidades diferentes para buscar ficheros: |
| 4897 | <tt>find</tt> y <tt>locate</tt> |
| 4898 | |
| 4899 | <footnote>(N. del T.: "find", encontrar; "locate", |
| 4900 | localizar.)</footnote>. |
| 4901 | |
| 4902 | <tt>find</tt> busca los ficheros en su estado presente. |
| 4903 | <tt>locate</tt> busca en un índice generado diariamente por |
| 4904 | el sistema |
| 4905 | |
| 4906 | <!-- ARREGLAR : el original dice encontrar en el título --> |
| 4907 | |
| 4908 | <!-- ARREGLAR : el original dice que lo genera el sistema a las 6:42 de --> |
| 4909 | <!-- la mañana. Evidentemente es un trabajo cron, no un trabajo --> |
| 4910 | <!-- anacron, de modo que no es válido para todos los usuarios --> |
| 4911 | |
| 4912 | (se trata de un trabajo <tt>cron</tt>, explicado en otro |
| 4913 | lugar de este manual |
| 4914 | |
| 4915 | <!-- FIXME xref --> |
| 4916 | |
| 4917 | ). <tt>locate</tt> no encontrará ningún fichero creado |
| 4918 | después de la generación del índice. Sin embargo, puesto |
| 4919 | que <tt>locate</tt> busca en un índice, es mucho más rápido: |
| 4920 | como utilizar el índice de un libro en lugar de buscar en |
| 4921 | cada página. |
| 4922 | |
| 4923 | <p>Para comparar las dos formas de buscar ficheros, imagine |
| 4924 | que no puede recordar dónde reside el fichero de |
| 4925 | configuración de X <tt>XF86Config</tt>. |
| 4926 | |
| 4927 | <enumlist> |
| 4928 | |
| 4929 | <item><tt>locate XF86Config</tt> <p> Esto debería ser |
| 4930 | bastante rápido. Obtendrá una lista de nombres de fichero |
| 4931 | que <em>contienen</em> XF86Config, algo como esto: |
| 4932 | |
| 4933 | <example> |
| 4934 | /etc/X11/XF86Config |
| 4935 | /usr/X11R6/lib/X11/XF86Config |
| 4936 | /usr/X11R6/lib/X11/XF86Config.eg |
| 4937 | /usr/X11R6/man/man5/XF86Config.5x.gz |
| 4938 | </example> |
| 4939 | |
| 4940 | <item><tt>find / -name XF86Config</tt> |
| 4941 | |
| 4942 | <p>Escuchará un montón de actividad en el disco, y llevará |
| 4943 | mucho más tiempo. Los resultados se asemejarán a: |
| 4944 | |
| 4945 | <example> |
| 4946 | /etc/X11/XF86Config |
| 4947 | /usr/X11R6/lib/X11/XF86Config |
| 4948 | find: /var/spool/cron/atjobs: Permiso denegado |
| 4949 | find: /var/spool/cron/atspool: Permiso denegado |
| 4950 | find: /var/lib/xdm/authdir: Permiso denegado |
| 4951 | </example> |
| 4952 | |
| 4953 | <p>Fíjese en que <tt>find</tt> sólo encuentra ficheros que se |
| 4954 | llaman <em>exactamente</em> <tt>XF86Config</tt>, en lugar de |
| 4955 | ficheros que contienen esa secuencia de letras. Además, |
| 4956 | <tt>find</tt> intentó mirar en cada directorio del sistema, |
| 4957 | incluidos algunos para los que usted no tenía permiso de |
| 4958 | lectura. De ahí los mensajes de "Permiso denegado". |
| 4959 | |
| 4960 | <p>La sintaxis también es diferente. Tiene que especificar en |
| 4961 | qué directorio buscar --- <tt>/</tt> --- mientras que |
| 4962 | <tt>locate</tt> automáticamente escoge el directorio raíz. |
| 4963 | Y tiene que especificar que la búsqueda es por nombre, |
| 4964 | utilizando la opción <tt>-name</tt>. También podría haber |
| 4965 | buscado ficheros utilizando otros muchos otros criterios, |
| 4966 | como la fecha de modificación o el propietario. Para que |
| 4967 | <prgn>find</prgn> busque ficheros cuyo nombre equivalga a |
| 4968 | XF86Config, tiene que usar una expresión regular |
| 4969 | |
| 4970 | <!-- FIXME xref --> |
| 4971 | |
| 4972 | : <tt>find / -name '*XF86Config*'</tt> |
| 4973 | |
| 4974 | <!-- ARREGLAR : esto se parece sospechosamente a la utilización de --> |
| 4975 | <!-- comodines más que a una expresión regular. La forma correcta --> |
| 4976 | <!-- (probablemente: comprobar sintaxis find) sería '.*XF86Config.*' --> |
| 4977 | <!-- --> |
| 4978 | |
| 4979 | Como muchas de las herramientas que se utilizan desde la |
| 4980 | línea de instrucciones, <prgn>find</prgn> acepta expresiones |
| 4981 | regulares como argumento. |
| 4982 | |
| 4983 | </enumlist> |
| 4984 | |
| 4985 | <p>En general, <tt>find</tt> es una utilidad más potente, y |
| 4986 | <tt>locate</tt> es más rápido para las búsquedas cotidianas. |
| 4987 | Explicar la lista completa de las posibles búsquedas |
| 4988 | llevaría mucho tiempo; para más detalles escriba <tt>info |
| 4989 | find</tt>, lo que le traerá las exhaustivas páginas info |
| 4990 | sobre <tt>find</tt> y <tt>locate</tt>. |
| 4991 | |
| 4992 | <sect id="file_tools-file"> Determinar el contenido de un fichero |
| 4993 | |
| 4994 | <p>Debian viene con una utilidad que puede adivinar el |
| 4995 | contenido de un archivo para usted. No siempre acierta. |
| 4996 | Sin embargo, es razonablemente exacta, y puede usarla para |
| 4997 | explorar su sistema. |
| 4998 | |
| 4999 | <enumlist> |
| 5000 | |
| 5001 | <item><tt>file /bin/cp</tt> <p> Debería ver algo parecido a |
| 5002 | esto: |
| 5003 | |
| 5004 | <example> |
| 5005 | /bin/cp: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), stripped |
| 5006 | </example> |
| 5007 | |
| 5008 | Saltándonos las partes técnicas, se trata de un archivo ejecutable |
| 5009 | para máquinas Intel. |
| 5010 | |
| 5011 | <item><tt>file /etc/init.d/reboot</tt><p> |
| 5012 | |
| 5013 | <example> |
| 5014 | /etc/init.d/reboot: Bourne shell script text |
| 5015 | </example> |
| 5016 | |
| 5017 | <!-- ARREGLAR : en el original, el ejemplo hace referencia a --> |
| 5018 | <!-- /etc/init.d/boot, pero resulta que ese script no existe (al menos --> |
| 5019 | <!-- en potato, o mi ordenador no debería arrancar en condiciones :) --> |
| 5020 | |
| 5021 | Lo que quiere decir que se trata de un archivo de texto |
| 5022 | que contiene un guión para la shell Bourne. |
| 5023 | |
| 5024 | </enumlist> |
| 5025 | |
| 5026 | <chapt id="disks"> <heading> Utilizar discos </heading> |
| 5027 | |
| 5028 | <sect id="disks-concepts"> Conceptos |
| 5029 | |
| 5030 | <p>Probablemente es buena idea explicar un poco de teoría |
| 5031 | antes de entrar la mecánica de la utilización de los discos. |
| 5032 | En particular, el concepto de <em>sistema de archivos</em> |
| 5033 | |
| 5034 | <!-- ARREGLAR : en el original hay una nota sobre si en inglés se trata --> |
| 5035 | <!-- de una sola palabra o de dos; "filesystem" vs. "file system". En --> |
| 5036 | <!-- español no tiene sentido --> |
| 5037 | |
| 5038 | . Es confuso, porque tiene varios significados. |
| 5039 | |
| 5040 | <list> |
| 5041 | |
| 5042 | <item><em>El</em> sistema de ficheros se refiere a todo el |
| 5043 | árbol de directorios, empezando con el directorio raíz |
| 5044 | <tt>/</tt> como se ha descrito antes. |
| 5045 | |
| 5046 | <item>Un "sistema de archivos" en general, significa |
| 5047 | cualquier organización de archivos y directorios en un |
| 5048 | dispositivo físico concreto. "Organización" quiere decir |
| 5049 | la estructura jerárquica de directorios, y cualquier otra |
| 5050 | información sobre ficheros de la que se quiera estar al |
| 5051 | tanto: su tamaño, quién tiene permiso para modificarlos, |
| 5052 | etc. De modo que usted puede tener un sistema de archivos |
| 5053 | en su disco duro, y otro en cada disquete. |
| 5054 | |
| 5055 | <item>"Sistema de archivos" también se utiliza para designar |
| 5056 | una <em>clase</em> de sistema de ficheros. Por ejemplo, |
| 5057 | MS-DOS y Windows 3.1 organizan los archivos de un modo |
| 5058 | concreto, con reglas particulares: los nombres de ficheros |
| 5059 | sólo pueden tener 8 caracteres, por ejemplo, y no se |
| 5060 | almacena información sobre permisos. Linux le llama a |
| 5061 | esto el sistema de archivos <tt>msdos</tt>. Linux tiene |
| 5062 | también su propio sistema de archivos, denominado sistema |
| 5063 | de ficheros <tt>ext2</tt> (versión dos del sistema de |
| 5064 | ficheros <tt>ext</tt>). Usted utilizará el sistema de |
| 5065 | archivos <tt>ext2</tt> prácticamente todo el tiempo, a |
| 5066 | menos que esté accediendo a archivos procedentes de otros |
| 5067 | sistemas operativos o que tenga otras necesidades |
| 5068 | especiales. |
| 5069 | |
| 5070 | </list> |
| 5071 | |
| 5072 | <p>Cualquier dispositivo físico que desee utilizar para |
| 5073 | almacenar ficheros debe tener al menos un sistema de |
| 5074 | archivos en él. Esto se refiere al segundo significado de |
| 5075 | sistema de archivos: una jerarquía de ficheros y |
| 5076 | directorios, junto con información sobre ellos. Por |
| 5077 | supuesto, cualquier sistema de archivos pertenece a una |
| 5078 | clase, así que el tercer sentido también entra en escena. |
| 5079 | Si tiene más de un sistema de archivos en un solo |
| 5080 | dispositivo, cada sistema de archivos puede pertenecer a una |
| 5081 | clase distinta; por ejemplo, puede tener una partición DOS |
| 5082 | junto con una partición Linux en su disco duro. |
| 5083 | |
| 5084 | <p>Es importante distinguir el sistema de archivos del formato |
| 5085 | de bajo nivel del disco. En los mundos de DOS y Macintosh, |
| 5086 | el sistema de archivos recibe el nombre de formato de alto |
| 5087 | nivel. Cuando formatea un disco utilizando uno de esos |
| 5088 | sistemas operativos, generalmente da formato de bajo nivel y |
| 5089 | también crea un sistema de archivos (formato de alto nivel). |
| 5090 | En los sistemas GNU y Unix, se dice generalmente nada más |
| 5091 | "formato" para referirse al formato de bajo nivel y "hacer |
| 5092 | un sistema de archivos" para el formato de alto nivel. |
| 5093 | |
| 5094 | <p>Formatear tiene que ver con los pormenores del dispositivo |
| 5095 | físico, tales como la exacta localización física de los |
| 5096 | datos en un disquete (al borde o cerca del centro del disco, |
| 5097 | por ejemplo). El sistema de archivos es el nivel de |
| 5098 | organización del que usted tiene que ocuparse: los nombres |
| 5099 | de directorios y ficheros, sus tamaños, etc. |
| 5100 | |
| 5101 | </sect> |
| 5102 | |
| 5103 | <sect id="disks-mount"> <tt>mount</tt> y <tt>/etc/fstab</tt> |
| 5104 | |
| 5105 | <p>Esta sección describe cómo montar un disquete o un disco |
| 5106 | Zip, el directorio <tt>/dev</tt>, y la distribución del |
| 5107 | árbol de directorios sobre varias particiones o dispositivos |
| 5108 | físicos. |
| 5109 | |
| 5110 | <sect1 id="disks-mount-mounting"> Montar un sistema de archivos |
| 5111 | |
| 5112 | <p>En un sistema GNU/Linux no existe una correspondencia |
| 5113 | necesaria entre los directorios y los dispositivos físicos, |
| 5114 | como sucede en Windows, donde cada unidad de almacenamiento |
| 5115 | tiene su propio árbol de directorios que comienza con una |
| 5116 | letra (como <tt>C:\</tt>). |
| 5117 | |
| 5118 | <p>En vez de eso, cada dispositivo físico, como un disco duro |
| 5119 | o un disquete, tiene uno o más sistemas de ficheros en él. |
| 5120 | Para hacer accesible un sistema de archivos concreto, se le |
| 5121 | asigna un directorio particular en otro sistema de ficheros. |
| 5122 | Para evitar círculos viciosos, el sistema raíz de archivos |
| 5123 | (que contiene el directorio root, <tt>/</tt>) no se |
| 5124 | encuentra en el interior de ningún otro sistema de archivos; |
| 5125 | se accede a él automáticamente al arrancar Debian. |
| 5126 | |
| 5127 | <p>Un directorio en un sistema de archivos que contiene otro |
| 5128 | sistema de archivos se conoce como <em>punto de |
| 5129 | montaje</em>. Un punto de montaje es un directorio en un |
| 5130 | primer sistema de archivos en un dispositivo (como el disco |
| 5131 | duro) que "contiene" un segundo sistema de archivos, quizá |
| 5132 | en otro dispositivo (como un disquete). Para acceder a un |
| 5133 | sistema de archivos, es preciso montarlo en algún punto de |
| 5134 | montaje. |
| 5135 | |
| 5136 | <p>Así que, por ejemplo, usted puede montar un CD en el punto |
| 5137 | de montaje <tt>/cdrom</tt>. Esto significa que si mira en |
| 5138 | el directorio <tt>/cdrom</tt>, verá el contenido del CD. El |
| 5139 | directorio <tt>/cdrom</tt> en sí mismo se encuentra en |
| 5140 | realidad en su disco duro. A todos los efectos prácticos el |
| 5141 | contenido del CD pasa a formar parte del sistema raíz de |
| 5142 | archivos, y al escribir órdenes y utilizar programas la |
| 5143 | localización física real de los ficheros no supone |
| 5144 | diferencia alguna. Podría haber creado un directorio en su |
| 5145 | disco duro llamado <tt>/cdrom</tt>, y haber puesto algunos |
| 5146 | ficheros en él, y todo se comportaría exactamente de la |
| 5147 | misma manera. Una vez que monta un sistema de archivos, no |
| 5148 | hay necesidad de prestar atención a los dispositivos |
| 5149 | físicos. |
| 5150 | |
| 5151 | <p>No obstante, antes de montar un sistema de ficheros, o de |
| 5152 | crear de verdad un sistema de ficheros en un disco que aún |
| 5153 | no tiene uno, es necesario referirse a los dispositivos |
| 5154 | mismos. Todos los dispositivos tienen nombres, y se |
| 5155 | encuentran situados en el directorio <tt>/dev</tt>. Si |
| 5156 | ahora escribe <tt>ls /dev</tt>, verá una lista bastante |
| 5157 | larga de cada posible dispositivo que podría tener en su |
| 5158 | sistema Debian. |
| 5159 | |
| 5160 | <footnote>(N. del T.: "device", dispositivo.)</footnote> |
| 5161 | |
| 5162 | <p>Los dispositivos posibles incluyen: |
| 5163 | |
| 5164 | <footnote>Esta no es una lista exhaustiva. Generalmente, la |
| 5165 | documentación de un dispositivo o programa concretos le |
| 5166 | dirán que nombre de dispositivo ha de utilizar. Hay |
| 5167 | cientos de nombres de dispositivo distintos. Una lista |
| 5168 | bastante completa (aunque no muy detallada) debería |
| 5169 | hallarse en su sistema en el archivo |
| 5170 | <tt>/usr/src/linux/Documentation/devices.txt</tt>.</footnote> |
| 5171 | |
| 5172 | <list> |
| 5173 | |
| 5174 | <item><tt>/dev/hda</tt> es la unidad IDE A. En general, |
| 5175 | será un disco duro. IDE hace referencia al tipo de |
| 5176 | unidad; si no sabe lo que significa, probablemente tiene |
| 5177 | esta clase de disco, porque es el más corriente. Su |
| 5178 | partición DOS/Windows <tt>C:\</tt> es probable que esté |
| 5179 | aquí. |
| 5180 | |
| 5181 | <item><tt>/dev/hdb</tt> es la unidad IDE B, como puede |
| 5182 | suponer. Podría ser un segundo disco duro, o puede que un |
| 5183 | lector de CD-ROM. Las unidades A y B son las unidades |
| 5184 | primera y segunda (maestro y esclavo) del controlador |
| 5185 | primario IDE. Las unidades C y D son la unidad primera y |
| 5186 | segunda del controlador secundario. |
| 5187 | |
| 5188 | <item><tt>/dev/hda1</tt> es la primera partición de la |
| 5189 | unidad IDE A, normalmente denominada <tt>C:\</tt> en los |
| 5190 | sistemas DOS o Windows. Fíjese en que las diferentes |
| 5191 | unidades se designan mediante letras, mientras que las |
| 5192 | particiones concretas de esas unidades además se numeran. |
| 5193 | |
| 5194 | <item><tt>/dev/sda</tt> es el disco SCSI A. SCSI es como |
| 5195 | IDE, sólo que si no sabe lo que es, probablemente |
| 5196 | <em>no</em> tiene una de estas unidades. No son muy |
| 5197 | comunes en los PC de Intel de particulares, aunque con |
| 5198 | frecuencia se usan en servidores y Macintosh. |
| 5199 | |
| 5200 | <footnote>Los dispositios SCSI tienen un sistema de |
| 5201 | denominaciones más complejo que los dispositivos IDE, |
| 5202 | principalmente debido a que SCSI tiene se utiliza de más |
| 5203 | formas. Las particiones de un disco SCSI tienen la |
| 5204 | forma <tt>/dev/sda[1-9a-f]</tt>, esto es, |
| 5205 | <tt>/dev/sda</tt> (o <tt>sdb</tt> o <tt>sdc</tt>, etc.) |
| 5206 | seguido de un número o una letra de <tt>1--9</tt> o |
| 5207 | <tt>a--f</tt>. <tt>/dev/scd0</tt> es el primer |
| 5208 | dispositivo cd CDROM SCSI; los dispositivos generales |
| 5209 | como los escáner, pueden aparecer como |
| 5210 | <tt>/dev/sg0</tt>; <tt>/dev/st0</tt> es una unidad de |
| 5211 | cinta SCSI.</footnote> |
| 5212 | |
| 5213 | <item><tt>/dev/fd0</tt> es la primera disquetera, |
| 5214 | generalmente <tt>A:\</tt> en DOS. Puesto que los |
| 5215 | disquetes no tienen particiones, sólo tienen números, en |
| 5216 | lugar de la combinación letras--números empleada en los |
| 5217 | discos duros. Sin embargo, en las disqueteras los números |
| 5218 | se refieren a la unidad, y en los discos duros los números |
| 5219 | se refieren a las particiones. |
| 5220 | |
| 5221 | <item><tt>/de/ttyS0</tt> es el primero de sus puertos de |
| 5222 | serie (<tt>COM1:</tt> en DOS). <tt>/dev</tt> contiene los |
| 5223 | nombres de muchos dispositivos, no solamente unidades de |
| 5224 | disco. |
| 5225 | |
| 5226 | </list> |
| 5227 | |
| 5228 | <p>Para montar un sistema de archivos, le tenemos que decir a |
| 5229 | Linux que asocie cualquier sistema de archivos que encuentre |
| 5230 | en un dispositivo concreto con un punto de montaje concreto. |
| 5231 | En el proceso, puede que tengamos que informarle de qué |
| 5232 | clase de sistema de archivos buscar. |
| 5233 | |
| 5234 | </sect1> |
| 5235 | |
| 5236 | <sect1 id="disks-mount-cdromexample"> Ejemplo: montar un CD-ROM |
| 5237 | |
| 5238 | <p>A modo de ejemplo básico, montaremos un CD-ROM, tal como el |
| 5239 | que puede que haya usado para instalar Debian. Precisará |
| 5240 | ser root para hacer esto, así que tenga cuidado; siempre que |
| 5241 | se es root se tiene el poder para estropear el sistema |
| 5242 | entero, y no sólo los propios ficheros. Además, estas |
| 5243 | órdenes presumen que hay un CD en la unidad; debería poner |
| 5244 | uno ahora. |
| 5245 | |
| 5246 | <enumlist> |
| 5247 | |
| 5248 | <item><tt>su</tt><p>Si no lo ha hecho aún, necesita ingresar |
| 5249 | como root u obtener privilegios de root con la instrucción |
| 5250 | <tt>su</tt> |
| 5251 | |
| 5252 | <!-- ARREGLAR : el original incluye entre paréntesis la expresión "super --> |
| 5253 | <!-- user". Creo que esto puede resultar malo para los novatos, --> |
| 5254 | <!-- porque van a acostumbrarse a no utilizar su más que para root, y --> |
| 5255 | <!-- van a desperdiciar formas de usar la imaginación: por ejemplo, --> |
| 5256 | <!-- alguien que quiera tener cuentas de correo totalmente separadas --> |
| 5257 | <!-- para correo personal y del trabajo --> |
| 5258 | <!-- puede crear un usuario correo_xx e intercambiar con su. Por --> |
| 5259 | <!-- otro lado, tanto como "super user", su podría valer como "suid --> |
| 5260 | <!-- user", mencionado por el propio autor, o mejor todavía, como --> |
| 5261 | <!-- "substitute user", como aparece en el título de man e info. --> |
| 5262 | |
| 5263 | . Si utiliza <tt>su</tt>, introduzca la contraseña de |
| 5264 | root cuando se le solicite. |
| 5265 | |
| 5266 | <item><tt>ls /cdrom</tt> <p>Vea lo que hay en el directorio |
| 5267 | <tt>/cdrom</tt> antes de comenzar. Si no tiene un |
| 5268 | directorio <tt>/cdrom</tt> puede crear uno con <tt>mkdir |
| 5269 | /cdrom</tt>. |
| 5270 | |
| 5271 | <item><tt>mount</tt> <p>Escribir <tt>mount/</tt> sin |
| 5272 | argumentos lista los sistemas de archivos montados en este |
| 5273 | momento. |
| 5274 | |
| 5275 | <item><tt>mount -t iso9660 <var>dispositivo de CD</var> |
| 5276 | /cdrom</tt> <p>En esta instrucción deberá sustituir la |
| 5277 | expresión <tt><var>dispositivo de CD</var></tt> por el |
| 5278 | nombre de su dispositivo de CD-ROM. Si no está seguro |
| 5279 | <tt>/dev/cdrom</tt> puede funcionar, puesto que el proceso |
| 5280 | de instalación debería haber creado en el sistema este |
| 5281 | enlace simbólico. Si esto falla, pruebe los distintos |
| 5282 | dispositivos IDE: <tt>/dev/hdb</tt>, <tt>/dev/hdc</tt>, |
| 5283 | etc. Debería ver un mensaje como éste: |
| 5284 | |
| 5285 | <!-- ARREGLAR : el original dice sólo /dev/hdc. Por razones obvias, --> |
| 5286 | <!-- mejor incluir ambos. --> |
| 5287 | |
| 5288 | <example> |
| 5289 | mount: block device /dev/hdc is write-protected, mounting read-only |
| 5290 | </example> |
| 5291 | |
| 5292 | <p>La opción <tt>-t</tt> especifica la clase de sistema de |
| 5293 | archivos, en este caso <tt>iso9660</tt>. La mayoría de los |
| 5294 | CD son <tt>iso9660</tt>. El siguiente argumento es el |
| 5295 | nombre del dispositivo que se monta, y el último argumento |
| 5296 | es el punto de montaje. Hay muchos otros argumentos para |
| 5297 | <tt>mount</tt>; vea la página de manual para más detalles. |
| 5298 | |
| 5299 | <p>Una vez que el CD está montado, descubrirá que la bandeja |
| 5300 | de la unidad no se abre. Debe desmontar el CD antes de |
| 5301 | retirarlo. |
| 5302 | |
| 5303 | <item><tt>ls /cdrom</tt> <p>Confirme que <tt>/cdrom</tt> ahora |
| 5304 | contiene lo que sea que haya en el CD en la unidad. |
| 5305 | |
| 5306 | <item><tt>mount</tt> <p>Mire otra vez la lista de sistemas de |
| 5307 | archivos, fijándose en que ahora la unidad de CD está |
| 5308 | montada. |
| 5309 | |
| 5310 | <item> <tt>umount /cdrom</tt> <p>Esto desmonta el lector de |
| 5311 | CD. Ahora es seguro retirar el CD de la unidad. Dése |
| 5312 | cuenta de que la instrucción es <tt>umount</tt>, sin "n". |
| 5313 | |
| 5314 | <!-- ARREGLAR: he suprimido un juego de palabras entre "umount" y --> |
| 5315 | <!-- "unmount", imposible en español. --> |
| 5316 | |
| 5317 | <item><tt>exit</tt> <p>No permanezca como root en el sistema. |
| 5318 | Abandónelo inmediatamente, sólo para estar seguro. |
| 5319 | |
| 5320 | </enumlist> |
| 5321 | |
| 5322 | </sect1> |
| 5323 | |
| 5324 | <sect1 id="disks-mount-fstab"> <tt>/etc/fstab</tt>: automatizar el |
| 5325 | proceso de montaje |
| 5326 | |
| 5327 | <p>El archivo <tt>/etc/fstab</tt> (procede de "file system |
| 5328 | table" |
| 5329 | |
| 5330 | <footnote>(N. del T.: tabla del sistema de |
| 5331 | archivos.)</footnote>) |
| 5332 | |
| 5333 | contiene las descripciones de los sistemas de archivos que |
| 5334 | se montan con frecuencia. Estos sistemas de ficheros pueden |
| 5335 | montarse también con una orden más breve, como <tt>mount |
| 5336 | /cdrom</tt>. También puede configurar los sistemas de |
| 5337 | archivos para que se monten automáticamente al arrancar el |
| 5338 | sistema. Probablemente querrá montar todos los sistemas de |
| 5339 | archivos del disco duro al arrancar. |
| 5340 | |
| 5341 | <p>Mire ahora este fichero, escribiendo <tt>more |
| 5342 | /etc/fstab</tt>. Tendrá dos o más entradas que se |
| 5343 | configuraron automáticamente al instalar el sistema. |
| 5344 | Probablemente se parece a esto: |
| 5345 | |
| 5346 | <example> |
| 5347 | # /etc/fstab: static file system information. |
| 5348 | # |
| 5349 | # <file system> <mount point> <type> <options> <dump > <pass> |
| 5350 | |
| 5351 | /dev/hda1 / ext2 defaults 0 1 |
| 5352 | /dev/hda3 none swap sw 0 0 |
| 5353 | proc /proc proc defaults 0 0 |
| 5354 | |
| 5355 | /dev/hda5 /tmp ext2 defaults 0 2 |
| 5356 | /dev/hda6 /home ext2 defaults 0 2 |
| 5357 | /dev/hda7 /usr ext2 defaults 0 2 |
| 5358 | |
| 5359 | /dev/hdc /cdrom iso9660 ro,noauto 0 0 |
| 5360 | /dev/fd0 /floppy auto noauto,sync 0 0 |
| 5361 | </example> |
| 5362 | |
| 5363 | |
| 5364 | <p>La primera columna lista el dispositivo en el que reside el |
| 5365 | sistema de archivos. La segundas, el punto de montaje, la |
| 5366 | tercera la clase de sistema de archivos. La línea que |
| 5367 | comienza con <tt>proc</tt> es un sistema de archivos |
| 5368 | especial |
| 5369 | |
| 5370 | <!-- explicado en FIXME xref --> |
| 5371 | |
| 5372 | . Fíjese en que la partición de intercambio |
| 5373 | (<tt>/dev/hda3</tt> en el ejemplo) no tiene punto de |
| 5374 | montaje, de modo que la columna de punto de montaje contiene |
| 5375 | <tt>none</tt> |
| 5376 | |
| 5377 | <footnote>(N. del T.: ninguno.)</footnote>. |
| 5378 | |
| 5379 | <p>Las últimas tres columnas requieren alguna explicación. |
| 5380 | |
| 5381 | <p>La quinta columna la usa la utilidad <tt>dump</tt> para |
| 5382 | decidir cuándo hacer una copia de seguridad del sistema de |
| 5383 | ficheros. En la mayoría de los casos puede poner <tt>0</tt> |
| 5384 | ahí. |
| 5385 | |
| 5386 | <!-- FIXME xref dump/backup --> |
| 5387 | |
| 5388 | <p>La sexta columna la utiliza <tt>fsck</tt> para decidir en |
| 5389 | qué orden comprueba los sistemas de ficheros al arrancar el |
| 5390 | sistema. El sistema raíz de archivos debería tener un |
| 5391 | <tt>1</tt> en este campo, los sistemas de ficheros que no |
| 5392 | necesitan ser comprobados (como la partición de intercambio) |
| 5393 | deberían tener un <tt>0</tt>, y el resto de los sistemas de |
| 5394 | archivos deberían tener un <tt>2</tt>. |
| 5395 | |
| 5396 | <!-- FIXME referencia a <tt>fsck</tt> --> |
| 5397 | |
| 5398 | Vale la pena darse cuenta de que la partición de intercambio |
| 5399 | no es exactamente un sistema de archivos en el sentido de |
| 5400 | que no contiene archivos ni directorios, sino que el kernel |
| 5401 | Linux la utiliza como memoria secundaria. No obstante, |
| 5402 | debido a razones históricas, las particiones de intercambio |
| 5403 | aún aparecen listadas en el mismo fichero que los sistemas |
| 5404 | de archivos. |
| 5405 | |
| 5406 | <p>La cuarta columna contiene una o más opciones utilizadas |
| 5407 | cuando se monta el sistema de archivos. Aquí está un breve |
| 5408 | resumen (algunas de ellas no tendrán aún mucho sentido para |
| 5409 | usted; están aquí para futura referencia): |
| 5410 | |
| 5411 | <taglist> |
| 5412 | |
| 5413 | <tag> <tt>async</tt> y <tt>sync</tt> <item> Entrada y salida |
| 5414 | (E/S) síncronas y asíncronas. La E/S síncrona graba |
| 5415 | inmediatamente los cambios en los archivos, mientras que |
| 5416 | la E/S asíncrona puede mantener datos en espacios de |
| 5417 | almacenamiento temporal y grabarlos después, por razones |
| 5418 | de rendimiento. |
| 5419 | |
| 5420 | <!-- FIXME : referencia a la sección de sync para una explicación --> |
| 5421 | <!-- completa. Además, debería recomendar cuándo utilizar una o la --> |
| 5422 | <!-- otra. --> |
| 5423 | |
| 5424 | <tag><tt>ro</tt> y <tt>rw</tt> <item> Monta el sistema de |
| 5425 | archivos como de sólo lectura o de lectura y escritura. |
| 5426 | Si no necesita modificar un sistema de archivos, es buena |
| 5427 | idea montarlo como de sólo lectura, de modo que no pueda |
| 5428 | estropear algo por accidente. Además, los dispositivos de |
| 5429 | sólo lectura (como los lectores de CD-ROM y disquetes con |
| 5430 | pestañas de protección contra escritura) deberían montarse |
| 5431 | como de sólo lectura. |
| 5432 | |
| 5433 | <footnote>(N. del T.: "ro" procede de "read only", sólo |
| 5434 | lectura; "rw" de "read-write", lectura y |
| 5435 | escritura.)</footnote> |
| 5436 | |
| 5437 | <tag><tt>auto</tt> y <tt>noauto</tt> <item>Al arrancar el |
| 5438 | sistema, o al dar la orden <tt>mount -a</tt>, |
| 5439 | <tt>mount</tt> intenta montar todos los sistemas de |
| 5440 | ficheros que aparecen en la lista de <tt>/etc/fstab</tt>. |
| 5441 | Si no quiere que monte automáticamente un sistema de |
| 5442 | ficheros, deberá utilizar la opción <tt>noauto</tt>. |
| 5443 | Probablemente, es buena idea usar <tt>noauto</tt> con los |
| 5444 | dispositivos extraíbles, como los disquetes, porque puede |
| 5445 | o puede no haber un disco en la unidad. Esos dispositivos |
| 5446 | se montan manualmente después de introducir el disco. |
| 5447 | |
| 5448 | <tag><tt>dev</tt> y <tt>nodev</tt> <item>Utilizar o ignorar |
| 5449 | dispositivos de ficheros en este sistema de ficheros. |
| 5450 | Puede usar <tt>nodev</tt> si monta el directorio raíz de |
| 5451 | otro sistema en su sistema: no querrá que su sistema |
| 5452 | intente usar los dispositivos de la otra máquina. |
| 5453 | |
| 5454 | <tag><tt>user</tt> y <tt>nouser</tt> <item>Permite o prohíbe |
| 5455 | a los usuarios corrientes montar el sistema de archivos. |
| 5456 | <tt>nouser</tt> significa que sólo el root puede montar el |
| 5457 | sistema de ficheros. Este es el sistema normal. Puede |
| 5458 | usar la opción <tt>user</tt> para acceder a la disquetera |
| 5459 | sin necesidad de ser root. |
| 5460 | |
| 5461 | <tag><tt>exec</tt> y <tt>noexec</tt> <item>Permitir o no |
| 5462 | permitir la ejecución de ficheros en este sistema de |
| 5463 | archivos. Probablemente no precisará estas opciones. |
| 5464 | |
| 5465 | <tag><tt>suid</tt> y <tt>nosuid</tt> <item>Permitir o no |
| 5466 | permitir que funcione el bit suid. Probablemente no |
| 5467 | precisará estas opciones. |
| 5468 | |
| 5469 | <tag><tt>defaults</tt> <item>Equivale a: <tt>rw</tt>, |
| 5470 | <tt>dev</tt>, <tt>suid</tt>, <tt>exec</tt>, <tt>auto</tt>, |
| 5471 | <tt>nouser</tt>, <tt>async</tt>. Puede especificar |
| 5472 | <tt>defaults</tt> seguida de otras opciones que |
| 5473 | invalidarán aspectos concretos de <tt>defaults</tt>. |
| 5474 | |
| 5475 | </taglist> |
| 5476 | |
| 5477 | </sect1> |
| 5478 | |
| 5479 | <sect1 id="disks-mount-removable"> Discos extraíbles (disquetes, |
| 5480 | discos Zip, etc.) |
| 5481 | |
| 5482 | <p>Añad las líneas siguientes a su archivo |
| 5483 | <tt>/etc/fstab</tt>: |
| 5484 | |
| 5485 | <example> |
| 5486 | /dev/sda1 /mnt/zip ext2 noauto,user 0 0 |
| 5487 | /dev/sda4 /mnt/dos msdos noauto,user 0 0 |
| 5488 | </example> |
| 5489 | |
| 5490 | De ahora en adelante podrá montar discos Zip formateados |
| 5491 | para DOS con la orden <tt>mount /mnt/dos</tt>, y discos Zip |
| 5492 | formateados para Linux con la orden <tt>mount /mnt/zip</tt>. |
| 5493 | |
| 5494 | <footnote>Si tiene discos duros SCSI en el sistema, tendrá |
| 5495 | que sustituir <tt>sda</tt> por <tt>sdb</tt> o |
| 5496 | <tt>sdc</tt>, etc... en el ejemplo anterior.</footnote> |
| 5497 | |
| 5498 | </sect1> |
| 5499 | |
| 5500 | <!-- FIXME : hay que escribir --> |
| 5501 | <!-- <sect id="disks-preparing"> Preparar los discos para usar: --> |
| 5502 | <!-- formatear y --> |
| 5503 | <!-- crear un sistema de archivos --> |
| 5504 | <!-- <p> --> |
| 5505 | <!-- </sect> --> |
| 5506 | |
| 5507 | <!-- <sect id="disks-lilo"> LILO --> |
| 5508 | <!-- <p>Cómo configurarlo, nada más lo esencial --> |
| 5509 | |
| 5510 | <!-- <chapt id="printers"> <heading> Utilizar impresoras </heading> --> |
| 5511 | <!-- <sect id="printers-commands"> lpr y compañía --> |
| 5512 | <!-- <p>lprm, lpc --> |
| 5513 | <!-- ARREGLAR : yo añadiría cancel y lpq --> |
| 5514 | <!-- <sect id="printers-setup"> Configurar impresoras --> |
| 5515 | |
| 5516 | <!-- <chapt id="network"> <heading> Configurar la red </heading> --> |
| 5517 | <!-- <p>(usuario individual con conexión telefónica o usuario --> |
| 5518 | <!-- individual --> |
| 5519 | <!-- con máquina de oficina. ¿Deberíamos cubrir alguna otra opción?) --> |
| 5520 | <!-- <sect id="network-config"> Ficheros relevantes en /etc --> |
| 5521 | <!-- <sect id="network-ethernet"> ethernet --> |
| 5522 | |
| 5523 | <sect id="network-ppp"><heading>PPP</heading> |
| 5524 | |
| 5525 | <sect1 id="network-ppp-introduction"> <heading> Introducción |
| 5526 | </heading> |
| 5527 | |
| 5528 | <p>Si se conecta a internet a través de una línea telefónica, |
| 5529 | tendrá que utilizar PPP (Point-To-Point Protocol) |
| 5530 | |
| 5531 | <footnote>(N. del T.: Protocolo Punto a Punto.)</footnote>. |
| 5532 | |
| 5533 | Este es el método estándar de conexión que ofrecen los PSI |
| 5534 | (Proveedores de Servicios de Internet) |
| 5535 | |
| 5536 | <footnote>(N. del T.: ISP, Internet Service |
| 5537 | Providers.)</footnote>. |
| 5538 | |
| 5539 | Además de usar PPP para telefonear a su PSI, puede hacer que su |
| 5540 | computadora escuche conexiones entrantes: esto le permite |
| 5541 | telefonear a su ordenador desde una localización remota |
| 5542 | |
| 5543 | <footnote>(N. del T.: remota se utiliza aquí en un sentido |
| 5544 | especial. Si dos ordenadores se encuentran conectados, |
| 5545 | aunque sea en la misma habitación, el que se conecta al otro |
| 5546 | será la máquina "remota".)</footnote> |
| 5547 | |
| 5548 | <p>Esta sección es una guía rápida y sin florituras para |
| 5549 | configurar PPP en Debian. Si necesitara más detalle, vea el |
| 5550 | excelente <url |
| 5551 | id="http://metalab.unc.edu/LDP/HOWTO/PPP-HOWTO.html" name="PPP |
| 5552 | CÓMO"> del Proyecto de Documentación de Linux. El CÓMO entra |
| 5553 | en mucho más detalle, si está interesado o tiene necesidades |
| 5554 | específicas. |
| 5555 | |
| 5556 | <sect1 id="network-ppp-preparation"><heading>Preparativos</heading> |
| 5557 | |
| 5558 | <p>Configurar PPP en GNU/Linux es muy simple una vez que dispone |
| 5559 | de toda la información que necesita. Debian hace incluso más |
| 5560 | fáciles las cosas con sus sencillas herramientas de |
| 5561 | configuración. |
| 5562 | |
| 5563 | <p>Antes de comenzar, asegúrese de tener toda la información |
| 5564 | facilitada por su PSI. Esto incluirá: |
| 5565 | |
| 5566 | <list> |
| 5567 | |
| 5568 | <item>Nombre de usuario o ingreso |
| 5569 | |
| 5570 | <item>Contraseña |
| 5571 | |
| 5572 | <item>Su IP (Internet Protocol) estática, si la tiene (son |
| 5573 | semejantes a <tt>209.81.8.242</tt>) |
| 5574 | |
| 5575 | <item>Su máscara (será algo parecido a |
| 5576 | <tt>255.255.255.248</tt>) |
| 5577 | |
| 5578 | <footnote>(N. del T.: no se preocupe si nunca ha oído |
| 5579 | hablar de las dos anteriores. Si se conecta vía |
| 5580 | telefónica, lo normal es que tenga IP dinámica, con lo |
| 5581 | que no necesitará estas especificaciones.)</footnote> |
| 5582 | |
| 5583 | <item>Las direcciones IP de los servidores de nombres del |
| 5584 | PSI |
| 5585 | |
| 5586 | <footnote>(N. del T.: los servidores de nombres suelen |
| 5587 | abreviarse en DNS, de "Domain Name Server", o Servidores |
| 5588 | de Nombres de Dominio. Su función es convertir los |
| 5589 | nombres de dominio, como por ejemplo www.altavista.com, |
| 5590 | en su IP, KKKK. Es probable que disponga de dos, que su |
| 5591 | PSI le indicará como DNS primario y DNS secundario. |
| 5592 | Anote cuál es cada uno.)</footnote>. |
| 5593 | |
| 5594 | <item>Cualquier procedimiento especial de ingreso requerido |
| 5595 | por el PSI. |
| 5596 | |
| 5597 | </list> |
| 5598 | |
| 5599 | <p>Después, deberá investigar la configuración de su equipo |
| 5600 | físico: si su módem funciona con GNU/Linux, y a qué puerto de |
| 5601 | serie está conectado. |
| 5602 | |
| 5603 | <p>Hay una regla muy simple para determinar si su módem |
| 5604 | funcionará. Si es un "WinModem" o un "módem basado en |
| 5605 | sistema anfitrión" |
| 5606 | |
| 5607 | <footnote>(N. del T.: "host-based modem".)</footnote>, |
| 5608 | |
| 5609 | no funcionará. Estos módems son baratos porque son muy |
| 5610 | limitados, y necesitan que la computadora supla sus |
| 5611 | deficiencias. Desafortunadamente, esto significa que son |
| 5612 | complicados de programar, y los fabricantes no hacen públicas |
| 5613 | sus especificaciones para los desarrolladores. |
| 5614 | |
| 5615 | <p>Si tiene un módem con su propia circuitería integrada, no |
| 5616 | debería tener ningún problema. |
| 5617 | |
| 5618 | <p>En los sistemas GNU/Linux, los puertos de serie se denominan |
| 5619 | <tt>/dev/ttyS0</tt>, <tt>/dev/ttyS1</tt>, y así en adelante. |
| 5620 | Su módem está casi con seguridad conectado o al puerto 0 o al |
| 5621 | puerto 1, equivalentes a <tt>COM1:</tt> y <tt>COM2</tt> en |
| 5622 | Windows. Si no sabe a cuál está conectado su módem, |
| 5623 | <tt>wvdialconf</tt> puede intentar detectarlo (vea más |
| 5624 | abajo); si no, simplemente pruebe ambos y vea cuál funciona |
| 5625 | |
| 5626 | <footnote>(N. del T.: en todo caso, si su módem no está |
| 5627 | conectado a uno de esos puertos no se preocupe. Como todo |
| 5628 | depende del técnico que le haya instalado la máquina, es |
| 5629 | perfectamente posible encontrar el módem en <tt>COM4</tt>, |
| 5630 | esto es, <tt>/dev/ttyS03</tt>, por ejemplo.</footnote>. |
| 5631 | |
| 5632 | <p>Si quiere comunicarse con el módem o conectarse con su PSI |
| 5633 | sin utilizar PPP, puede usar el programa <tt>minicom</tt>. |
| 5634 | Necesitará instalar el paquete minicom para que este |
| 5635 | programa esté disponible. |
| 5636 | |
| 5637 | <!-- ARREGLAR : en toda esta sección no se menciona la necesidad de --> |
| 5638 | <!-- que el kernel soporte PPP. Considerando que viene (¿viene o --> |
| 5639 | <!-- venía? comprobar) sin ese soporte, debería al menos comentarse --> |
| 5640 | <!-- --> |
| 5641 | |
| 5642 | <sect1 id="network-ppp-wvdial"> <heading>El Camino Fácil: |
| 5643 | <tt>wvdial</tt> </heading> |
| 5644 | |
| 5645 | <p>La forma más sencilla de hacer funcionar PPP es utilizar el |
| 5646 | programa <tt>wvdial</tt>. Hace algunas conjeturas |
| 5647 | razonables e intenta configurarle las cosas. Si funciona, |
| 5648 | ha tenido usted suerte. Si se equivoca en sus suposiciones, |
| 5649 | tendrá que hacer las cosas a mano. |
| 5650 | |
| 5651 | <p>Asegúrese de tener instalados los siguientes paquetes: |
| 5652 | |
| 5653 | <list> |
| 5654 | |
| 5655 | <item><tt>ppp</tt> |
| 5656 | |
| 5657 | <item><tt>ppp-pam</tt> |
| 5658 | |
| 5659 | <item><tt>wvdial</tt> |
| 5660 | |
| 5661 | </list> |
| 5662 | |
| 5663 | <p>Al instalar el paquete <tt>wvdial</tt> se le dará la |
| 5664 | oportunidad de configurarlo. En caso de que no lo haya |
| 5665 | hecho así, para configurar <tt>wvdial</tt> siga estas |
| 5666 | sencillas instrucciones: |
| 5667 | |
| 5668 | <p> |
| 5669 | |
| 5670 | <enumlist> |
| 5671 | |
| 5672 | <item>Ingrese como root, utilizando <tt>su</tt>, como se |
| 5673 | describe en un capítulo anterior. |
| 5674 | |
| 5675 | <item><tt>touch /etc/wvdial.conf</tt><p><tt>touch</tt> |
| 5676 | creará un archivo vacío si éste no existe; el programa de |
| 5677 | configuración requiere que ese archivo exista. |
| 5678 | |
| 5679 | <item><tt>wvdialconf /etc/wvdial.conf</tt><p>Esto quiere |
| 5680 | decir que está usted creando un archivo de configuración, |
| 5681 | <tt>/etc/wvdial.donf</tt>. |
| 5682 | |
| 5683 | <item>Responda a todas las preguntas que aparezcan en la |
| 5684 | pantalla. <tt>wvdialconf</tt> también examinará el sistema |
| 5685 | en busca de su módem y le dirá en qué puerto serie se |
| 5686 | encuentra; tome nota de él para futura referencia. |
| 5687 | |
| 5688 | <item><tt>/etc/wvdial.conf</tt> ahora debería parecerse a |
| 5689 | esto: |
| 5690 | |
| 5691 | <p> |
| 5692 | |
| 5693 | <example> |
| 5694 | [Dialer Defaults] |
| 5695 | Modem = /dev/ttyS1 |
| 5696 | Baud = 115200 |
| 5697 | Init1 = ATZ |
| 5698 | Init2 = ATQ0 V1 E1 S0=0 S11=55 +FCLASS=0 |
| 5699 | ; Phone = [El teléfono al que se conecta] |
| 5700 | ; Username = [Su nombre de usuario] |
| 5701 | ; Password = [Su contraseña] |
| 5702 | </example> |
| 5703 | |
| 5704 | <p>Simplemente sustituya la información entre corchetes con |
| 5705 | los datos adecuados y borre los signos de punto y coma del |
| 5706 | principio de esas líneas ¡y habrá terminado! Un archivo completo |
| 5707 | <tt>wvdial.conf</tt> debería parecerse a esto: |
| 5708 | |
| 5709 | <p> |
| 5710 | <example> |
| 5711 | [Dialer Defaults] |
| 5712 | Modem = /dev/ttyS1 |
| 5713 | Baud = 115200 |
| 5714 | Init1 = ATZ |
| 5715 | Init2 = ATQ0 V1 E1 S0=0 S11=55 +FCLASS=0 |
| 5716 | Phone = 5551212 |
| 5717 | Username = beavis |
| 5718 | Password = password |
| 5719 | </example> |
| 5720 | |
| 5721 | </enumlist> |
| 5722 | |
| 5723 | <p>Ahora que <tt>wvdial.conf</tt> está configurado, para |
| 5724 | conectarse a su PSI nada más escriba <tt>wvdial</tt>. Si no |
| 5725 | funciona, probablemente tendrá que proceder a configurar PPP |
| 5726 | a mano. |
| 5727 | |
| 5728 | <sect1 id="network-ppp-pppd"><heading>Hacerlo |
| 5729 | manualmente</heading> |
| 5730 | |
| 5731 | <p>Esto tampoco es en absoluto difícil, aunque es ligeramente |
| 5732 | más complicado que con <tt>wvdial</tt>. El resumen rápido: |
| 5733 | escriba <tt>pppconfig</tt> como root, responda a las |
| 5734 | preguntas, después escriba <tt>pon</tt> para ingresar y |
| 5735 | <tt>poff</tt> para cerrar la sesión. No obstante, |
| 5736 | profundizaremos un poco más. |
| 5737 | |
| 5738 | <!-- FIXME <p> terminar de insertar todo lo de Iván --> |
| 5739 | |
| 5740 | <chapt id="dpkg"> <heading> Instalar y desinstalar software |
| 5741 | </heading> |
| 5742 | |
| 5743 | <sect id="dpkg-dpkg"> La utilidad de paquetes <prgn>dpkg</prgn> |
| 5744 | |
| 5745 | <!-- FIXME ¿decir algo sobre ello? --> |
| 5746 | |
| 5747 | <sect id="dpkg-what"> Lo que hace una utilidad de mantenimiento de |
| 5748 | paquetes |
| 5749 | |
| 5750 | <p>Una aplicación o utilidad implica normalmente a unos |
| 5751 | cuantos archivos. Puede involucrar bibliotecas, archivos de |
| 5752 | datos, como escenarios de juegos o iconos, archivos de |
| 5753 | configuración, páginas de manual y documentación. Al |
| 5754 | instalar el programa, deberá asegurarse de tener todos |
| 5755 | los archivos que precisa en el lugar correcto. |
| 5756 | |
| 5757 | <p>También querrá poder desinstalar el programa. Al |
| 5758 | desinstalar, se asegurará de que se borran todos los |
| 5759 | archivos asociados. Sin embargo, si un programa que aún |
| 5760 | tiene en el sistema los necesita, querrá estar seguro de |
| 5761 | conservarlos. |
| 5762 | |
| 5763 | <p>Por último, le gustaría ser capaz de actualizar un |
| 5764 | programa. Al actualizar, querrá borrar archivos obsoletos y |
| 5765 | añadir otros nuevos, sin estropear nada en el sistema. |
| 5766 | |
| 5767 | <p>El sistema de paquetes de Debian resuelve estos problemas. |
| 5768 | Le permite instalar, desinstalar y actualizar |
| 5769 | <em>paquetes</em> de software, que son como pequeñas piezas |
| 5770 | bien ajustadas que contienen los archivos de programas e |
| 5771 | información que ayuda a la computadora a manejarlos |
| 5772 | adecuadamente. Los paquetes Debian tienen nombres que |
| 5773 | terminan en <tt>.deb</tt>, y están disponibles en el sitio |
| 5774 | ftp o en el CD-ROM oficial Debian. |
| 5775 | |
| 5776 | <!-- FIXME: Hay que escribir... |
| 5777 | <sect id="dpkt-ftp"> Conseguir los archivos |
| 5778 | <p>Organización del sitio ftp, CD |
| 5779 | <p>Mencionar los paquetes de non-US |
| 5780 | <p>Describir las distribuciones estable e inestable |
| 5781 | --> |
| 5782 | |
| 5783 | <sect id="dpkg-apt"> Apt |
| 5784 | |
| 5785 | <sect1 id="apt-config"> Configurar Apt |
| 5786 | |
| 5787 | <p>Debian proporciona ahora una herramienta llamada Apt (de "A |
| 5788 | Package Tool") |
| 5789 | |
| 5790 | <footnote>(N. del T.: Una Herramienta de |
| 5791 | Paquetes.)</footnote> |
| 5792 | |
| 5793 | para ayudar a los administradores a añadir o quitar software |
| 5794 | más fácilmente. Su primera tarea será personalizar el |
| 5795 | archivo de configuración <tt>/etc/apt/sources.list</tt>. |
| 5796 | Esta lista de fuentes de paquetes se utiliza para localizar |
| 5797 | archivos del sistema de distribución de paquetes que se |
| 5798 | utilizan en el sistema. La lista de fuentes está diseñada |
| 5799 | para admitir cualquier número de fuentes activas, y fuentes |
| 5800 | de distinta naturaleza. El archivo lista una fuente por |
| 5801 | línea, en orden de preferencia. El formato de una entrada |
| 5802 | de <tt>sources.list</tt> es: |
| 5803 | |
| 5804 | <example>deb uri distribution [component1] [component2] [...]</example> |
| 5805 | |
| 5806 | La URI |
| 5807 | |
| 5808 | <footnote>(N. del T.: URI procede de "Uniform Resource |
| 5809 | Identifier", "Identificador Uniforme de |
| 5810 | Recursos".)</footnote> |
| 5811 | |
| 5812 | |
| 5813 | de la clase <tt>deb</tt> ha de especificar la base de la |
| 5814 | distribución Debian, a partir de la cual APT encontrará la |
| 5815 | información que necesita. <tt>distribution</tt> puede |
| 5816 | especificar un camino exacto, en cuyo caso han de omitirse |
| 5817 | los componentes y la <tt>distribution</tt> debe terminar con |
| 5818 | una barra (/). Esto es útil cuando sólo interesa una |
| 5819 | subsección concreta del archivo designado por la URI. Si |
| 5820 | <tt>distribution</tt> no señala un camino exacto, debe |
| 5821 | aparecer al menos un componente. |
| 5822 | |
| 5823 | <p>Los tipos de URI reconocidos a día de hoy son cdrom, file, |
| 5824 | http, y ftp. |
| 5825 | |
| 5826 | <taglist> |
| 5827 | |
| 5828 | <tag><tt>file</tt><item> La clase <tt>file</tt> |
| 5829 | permite que un directorio arbitrario del sistema de |
| 5830 | ficheros se considere un archivo. Es útil para sistemas |
| 5831 | montados mediante NFS y espejos locales de archivos. |
| 5832 | |
| 5833 | <footnote>(N. del T.: en éste y los párrafos siguientes, |
| 5834 | se utiliza la palabra archivo en el sentido de fichero, |
| 5835 | al igual que en el resto de esta Iniciación, pero sobre |
| 5836 | todo, como repositorio unitario de paquetes |
| 5837 | Debian.)</footnote> |
| 5838 | |
| 5839 | <tag><tt>cdrom</tt><item>La clase <tt>cdrom</tt> |
| 5840 | permite a APT utilizar una unidad local de CD-ROM con |
| 5841 | varios CDs. Utilice el programa apt-cdrom para crear las |
| 5842 | entradas del CD-ROM en la lista de fuentes. |
| 5843 | |
| 5844 | <!-- ARREGLAR : en el original hay una errata: "entires" por "entries" --> |
| 5845 | <!-- --> |
| 5846 | |
| 5847 | <tag><tt>http</tt><item>La clase http especifica un servidor |
| 5848 | http como archivo. Si la variable de entorno $http_proxy |
| 5849 | está definida con el formato http://servidor:puerto/, se |
| 5850 | utilizará el servidor proxy especificado en $http_proxy. |
| 5851 | Los usuarios de proxys HTTP/1.1 con autenticación pueden |
| 5852 | usar una cadena del formato |
| 5853 | http://usuario:contraseña@servidor:puerto/. Dése cuenta |
| 5854 | de que éste es un método inseguro de autenticación. |
| 5855 | |
| 5856 | <tag><tt>ftp</tt><item>La clase ftp designa un servidor FTP |
| 5857 | para el archivo. La conducta FTP de APT es muy |
| 5858 | configurable; para más información vea la página de manual |
| 5859 | de apt.conf(5). |
| 5860 | |
| 5861 | <tag><tt>copy</tt><item>La clase copy es idéntica a la de |
| 5862 | file excepto en que los paquetes se copian en el |
| 5863 | directorio de caché en lugar de utilizarse directamente |
| 5864 | donde se encuentran. Es útil para quienes usan un disco |
| 5865 | Zip para copiar archivos con APT. |
| 5866 | |
| 5867 | </taglist> |
| 5868 | |
| 5869 | <p>Algunos ejemplos: |
| 5870 | |
| 5871 | <example>deb http://www.debian.org/archive stable main contrib</example> |
| 5872 | |
| 5873 | Utiliza HTTP para acceder al archivo en www.debian.org, y |
| 5874 | usa las áreas stable/main y stable/contrib. |
| 5875 | |
| 5876 | <example>deb ftp://ftp.debian.org/debian unstable main contrib non-free</example> |
| 5877 | |
| 5878 | Utiliza FTP para acceder al archivo en ftp.debian.org, en el |
| 5879 | directorio /debian, y usa las áreas unstable/main, |
| 5880 | unstable/contrib y unstable/non-free. |
| 5881 | |
| 5882 | <example>deb ftp://ftp.debian.org/debian stable main</example> |
| 5883 | |
| 5884 | Utiliza FTP para acceder al archivo en ftp.debian.org, en el |
| 5885 | directorio /debian, y usa el área stable/main. |
| 5886 | |
| 5887 | <p>Si esta línea aparece junto con la del ejemplo anterior en |
| 5888 | <tt>sources.list</tt>, se utilizará una sola sesión FTP para |
| 5889 | ambas líneas. |
| 5890 | |
| 5891 | <example>deb file:/home/vincent/debian stable main contrib |
| 5892 | non-free</example> |
| 5893 | |
| 5894 | Utiliza el archivo localmente almacenado (o montado con NFS) |
| 5895 | en /home/vincent/debian en stable/main, stable/contrib, y |
| 5896 | stable/non-free. |
| 5897 | |
| 5898 | <!-- FIXME : añadir un ejemplo con el método de acceso del CDROM --> |
| 5899 | |
| 5900 | <sect1 id="apt-usage"> Usar apt-get |
| 5901 | |
| 5902 | <p><tt>apt-get</tt> es la herramienta de la línea de |
| 5903 | instrucciones para manejar paquetes, y puede considerarse |
| 5904 | como la interfaz de usuario de apt. <tt>apt-get</tt> es |
| 5905 | sencillísimo de usar. |
| 5906 | |
| 5907 | <p> |
| 5908 | |
| 5909 | <example> |
| 5910 | apt-get [opciones] [orden] [paquete ...] |
| 5911 | </example> |
| 5912 | |
| 5913 | Donde <em>orden</em> es una de las siguientes: |
| 5914 | |
| 5915 | <taglist> |
| 5916 | |
| 5917 | <tag><tt>update</tt> |
| 5918 | |
| 5919 | <footnote>(N. del T.: actualizar.)</footnote> |
| 5920 | |
| 5921 | <item>update se usa para poner al día los archivos que guardan |
| 5922 | la información general de los paquetes usando sus fuentes |
| 5923 | como referencia. La información general de los paquetes |
| 5924 | disponibles se va a buscar a la(s) localizaciones(s) |
| 5925 | señaladas en <tt>/etc/apt/sources.list</tt>. Por ejemplo, |
| 5926 | al utilizar un archivo Debian, esta orden recupera y examina |
| 5927 | los archivos Packages.gz, de modo que pone a su disposición |
| 5928 | la información sobre paquetes nuevos y actualizados. |
| 5929 | Siempre debería actualizarse con update antes de un |
| 5930 | <tt>upgrade dist-upgrade</tt>. |
| 5931 | |
| 5932 | <tag><tt>upgrade</tt><item>upgrade se utiliza para instalar |
| 5933 | las versiones más recientes de todos los paquetes |
| 5934 | actualmente instalados en el sistema, tomándolas de las |
| 5935 | fuentes enumeradas en <tt>/etc/apt/sources.list</tt>. Se |
| 5936 | recuperan y actualizan los paquetes instalados con nuevas |
| 5937 | versiones disponibles; en ningún caso se desinstalan |
| 5938 | paquetes instalados, ni se recuperan e instalan paquetes no |
| 5939 | instalados. Las paquetes actualmente instalados de los que |
| 5940 | han aparecido nuevas versiones que no pueden ser |
| 5941 | actualizadas sin cambiar el estado de instalación de otro |
| 5942 | paquete se dejarán en su versión actual. Debe |
| 5943 | realizarse un <tt>apt-get update</tt> previo, para que |
| 5944 | apt-get sepa qué nuevas versiones de los paquetes hay |
| 5945 | disponibles. |
| 5946 | |
| 5947 | <tag><tt>dist-upgrade</tt><item><em>dist-upgrade</em>, además |
| 5948 | de realizar la función de <em>upgrade</em>, se ocupa también |
| 5949 | de cambiar las dependencias respecto de las nuevas versiones |
| 5950 | de los paquetes; apt-get dispone de un sistema "inteligente" |
| 5951 | de resolución de conflictos, e intentará actualizar los |
| 5952 | paquetes más importantes a costa de los menos importantes si |
| 5953 | fuera necesario. El archivo <tt>/etc/apt/sources.list</tt> |
| 5954 | contiene una lista de localizaciones desde el que recuperar |
| 5955 | los paquetes deseados. |
| 5956 | |
| 5957 | <tag><tt>install</tt><item>A <em>install</em> le sigue el |
| 5958 | nombre de uno o más paquetes cuya instalación desea. Cada |
| 5959 | paquete se designa con el nombre del paquete, no con el |
| 5960 | nombre de fichero completo (por ejemplo, en un sistema |
| 5961 | Debian GNU/Linux, el argumento sería <em>lsdo</em>, no |
| 5962 | <em>ldso_1.9.6-2.deb</em>). También se recuperarán e |
| 5963 | instalarán todos los paquetes requeridos por los paquetes |
| 5964 | especificados para su instalación. Para localizar los |
| 5965 | paquetes deseados se usa <tt>/etc/apt/sources.list</tt>. Si |
| 5966 | se añade un guión al nombre del paquete (sin espacio |
| 5967 | intermedio), se desinstalará el paquete así identificado (si |
| 5968 | está instalado). Esta última característica puede |
| 5969 | utilizarse para anular decisiones adoptadas por el sistema |
| 5970 | de resolución de conflictos de <em>apt-get</em>. |
| 5971 | |
| 5972 | <tag><tt>remove</tt><item><em>remove</em> es idéntico a |
| 5973 | <em>install</em>, excepto que desinstala los paquetes en |
| 5974 | lugar de instalarlos. Si se añade un signo más al nombre |
| 5975 | del paquete (sin espacio intermedio), se instalará el |
| 5976 | paquete así identificado. |
| 5977 | |
| 5978 | <tag><tt>clean</tt><item><em>clean</em> vacía el repositorio |
| 5979 | local de paquetes recuperados. Lo borra todo excepto el |
| 5980 | fichero de cerrojo de <tt>/var/cache/apt/archives/</tt> y |
| 5981 | <tt>/var/cache/apt/archives/partial/</tt>. |
| 5982 | |
| 5983 | </taglist> |
| 5984 | |
| 5985 | <p>Las opciones más útiles son: |
| 5986 | |
| 5987 | <taglist> |
| 5988 | |
| 5989 | <tag><tt>-m</tt><item>Ignora los paquetes que falten, si hay |
| 5990 | alguno. |
| 5991 | |
| 5992 | <tag><tt>-d</tt><item>Descarga solamente paquetes |
| 5993 | necesarios, pero no los instala. |
| 5994 | |
| 5995 | <tag><tt>-f</tt><item>Arregla las dependencias rotas; |
| 5996 | ejecute <tt>apt-get -f install</tt> para reparar |
| 5997 | automágicamente los problemas de dependencias de su |
| 5998 | sistema. |
| 5999 | |