Argumento de Manual Práctico de Linux : Comandos, Editores y Programación Shell
Para ser realmente productivo en Linux, hay que dominar la línea de comandos. Antes era necesario comprar varios manuales para abarcar todos los temas. Ahora este libro reúne de forma inteligente una guía con todas las herramientas que los administradores de sistemas, los desarrolladores y en general los usuarios de Linux requieren en su trabajo cotidiano. Puede utilizarlo en cualquier distribución GNU/Linux, actual y futura, incluidas Ubuntu, Fedora, openSUSE, Red Hat, Debian, Mandriva, Mint, y ahora, también Mac OS X. Contiene cientos de ejemplos prácticos que cubren todo el espectro de Linux, con explicaciones claras que abarcan desde los sistemas de archivos a las shells, desde los editores a las utilidades, desde las herramientas de programación a las expresiones regulares. Conviértase en un gurú de Linux, manejando toda la potencia de los comandos. El libro incluye también un capítulo sobre Perl, el lenguaje de programación más importante para los administradores de sistemas que desean automatizar tareas complejas.0Introducción Convenciones Contenidos Suplementos 1. Bienvenido a Linux y Mac OS X La historia de UNIX y GNU-Linux La herencia de Linux: UNIX Regreso a 1983 Siguiente periodo: 1991 El código es libre Diviértase ¿Qué es lo bueno de Linux? Por qué Linux es tan popular entre las empresas de hardware y los desarrolladores Linux es portable El lenguaje de programación C Visión general de Linux Linux tiene una interfaz de programación del núcleo Linux admite varios usuarios Linux puede ejecutar varias tareas simultáneamente Linux tiene un sistema de archivos jerárquico seguro La shell: intérprete de comandos y lenguaje de programación Generar nombres de archivos Función de completar Entrada y salida independiente del dispositivo Funciones de shell Control de trabajos Una gran conjunto de utilidades prácticas Comunicación entre procesos Administrar el sistema Funciones adicionales de Linux Interfaces de usuario gráficas Utilidades de red e Internet Desarrollo de software Resumen del capítulo Ejercicios 2. Primeros pasos Iniciar una sesión en una terminal o emulador de terminal Utilizar la shell ¿Qué shell se está ejecutando? Corregir errores Borrar caracteres Borrar palabras Borrar líneas Detener programas Repetir y editar en la línea de comandos su/sudo: privilegios del usuario root (administrador) Buscar documentación La opción --help man: el manual de sistema apropos: buscar por palabra clave info: Muestra información sobre las utilidades Documentos HOWTO: averiguar cómo funciona algo Obtener ayuda con el sistema Buscar ayuda local Buscar ayuda en Internet Más sobre iniciar sesiones Usar consolas virtuales Problemas para iniciar la sesión Cerrar la sesión Cambiar la contraseña Resumen del capítulo Ejercicios Ejercicios avanzados 3. Las utilidades Caracteres especiales Utilidades básicas ls: enumerar los nombres de archivo cat: mostrar el contenido de un archivo de texto rm: elimina un archivo less ls more: visualizar archivos de texto paso a paso hostname: muestra el nombre del sistema Trabajar con archivos cp: copiar un archivo mv: cambiar el nombre de un archivo lpr: imprimir un archivo grep: buscar una cadena de texto head: mostrar el comienzo de un archivo tail: mostrar el final de un archivo sort: mostrar un archivo ordenado uniq: eliminar líneas duplicadas de un archivo diff: comparar dos archivos file: identificar el contenido de un archivo | (canalización): comunicar unos procesos con otros Cuatro utilidades más echo: mostrar texto date: mostrar la hora y la fecha script: registrar una sesión de shell todos/unix2dos: convertir archivos de Linux y Mac OS X a formato Windows Comprimir y archivar archivos bzip2: comprimir un archivo bunzip2 y bzcat: descomprimir un archivo gzip: comprimir un archivo tar: empaquetar y desempaquetar archivadores Localizar comandos which y whereis: localizar una utilidad slocate/locate: buscar archivos Obtener información del usuario y del sistema who: mostrar los usuarios conectados al sistema finger: mostrar los usuarios del sistema w: muestra usuarios del sistema Comunicarse con otros usuarios write: enviar un mensaje mesg: denegar o aceptar mensajes Correo electrónico Resumen del capítulo Ejercicios Ejercicios avanzados 4. El sistema de archivos de Linux El sistema de archivos jerárquico Archivos de directorios y archivos normales Nombres de archivo Extensiones de los nombres de archivos Nombres de archivo ocultos El directorio de trabajo El directorio de inicio Archivos de inicio Nombres de ruta Nombres de ruta absolutos La tilde (~) en los nombres de ruta Nombres de ruta relativos Importancia del directorio de trabajo Trabajar con directorios mkdir: crear un directorio cd: cambiar de un directorio de trabajo a otro Las entradas de directorio . y .. rmdir: eliminar un directorio Usar nombres de ruta mv y cp: mover o copiar archivos mv: mover un directorio Directorios y archivos estándar importantes Permisos de acceso ls -l: mostrar los permisos de acceso chmod: cambiar permisos de acceso Argumentos simbólicos de chmod Argumentos numéricos de chmod Permisos setuid y setgid Permisos de acceso a directorios ACL: listas de control de acceso Activar las ACL Reglas de acceso Definir reglas predeterminadas para un directorio Vínculos Vínculos simbólicos ln: crear vínculos simbólicos rm: eliminar un enlace Resumen del capítulo Ejercicios Ejercicios avanzados 5. La shell La línea de comandos Sintaxis Nombre del comando Argumentos Procesar la línea de comandos Ejecutar la línea de comandos Entrada y salida estándar La pantalla como un archivo El teclado y la pantalla como entrada y salida estándar Redirigir la entrada y salida estándar Redirigir la salida estándar Redirigir la entrada estándar noclobber: evitar sobrescribir archivos Añadir la salida estándar a un archivo /dev/null: hacer que los datos desaparezcan Canalizar Filtros tee: envíar la salida en dos direcciones Ejecutar un comando en segundo plano Cambiar un trabajo en primer plano a segundo plano kill: interrumpir un trabajo en segundo plano Generar nombres de archivo/expandir nombres de ruta El carácter especial ? El carácter especial * Los caracteres especiales [ ] Comandos integrados Resumen del capítulo Utilidades y complementos presentados en este capítulo Ejercicios Ejercicios avanzados 6. El editor vim Historia Tutorial: crear y editar un archivo con vim Iniciar vim Comandos y modos de entrada Escribir texto Obtener ayuda Corregir texto mientras se escribe Mover el cursor Eliminar texto Deshacer errores Escribir texto adicional Corregir texto Finalizar la sesión de edición El parámetro compatible Introducción a las funcionalidades de vim Ayuda en línea Terminología Modos de operación La pantalla Línea de estado Actualizar la pantalla El símbolo de tilde (~) Corregir texto mientras lo escribe Buffer de trabajo Longitud de línea y tamaño de archivo Ventanas Bloquear archivos Cerrar sesión de edición de forma anormal Recuperar texto si el sistema se bloquea Modo de comandos: desplazar el cursor Mover el cursor un número determinado de caracteres Mover el cursor a un carácter determinado Mover el cursor por palabras Mover el cursor línea a línea Mover el cursor frase a frase y párrafo a párrafo Mover el cursor por la pantalla Visualizar partes diferentes del buffer de trabajo Modo de inserción Insertar texto Añadir texto Abrir una línea de texto Reemplazar texto Deshabilitar los caracteres especiales en modo de inserción Modo de comandos: eliminar y cambiar texto Deshacer cambios Borrar caracteres Eliminar texto Sustituir texto Reemplazar texto Cambiar mayúsculas a minúsculas y viceversa Buscar y reemplazar Buscar un carácter Buscar una cadena Búsqueda normal y búsqueda incremental Caracteres especiales en las cadenas de búsqueda Sustituir una cadena por otra Dirección de reemplazo Buscar y reemplazar cadenas Comandos varios Unir Estado . (punto) Copiar, mover y borrar texto El buffer de propósito general Copiar texto en el buffer Copiar de texto desde el buffer El texto eliminado se copia en el buffer Leer y escribir archivos Leer de archivos Escribir archivos Identificar el archivo actual Configurar parámetros Configurar parámetros en vim Configurar parámetros en un archivo de inicio El archivo de inicio .vimrc Parámetros Técnicas de edición avanzadas Ejecutar comandos de shell en vim Unidades de medida Carácter Palabra Palabras delimitadas por espacios en blanco Línea Frase Párrafo Pantalla (ventana) Factor de repetición Resumen del capítulo Ejercicios Ejercicios avanzados 7. El editor emacs Historia Evolución emacs frente a vim emacs de línea de comandos frente a emacs de entorno gráfico Tutorial: empezar a trabajar con emacs Iniciar emacs Salir de emacs Insertar texto Eliminar caracteres Desplazar el cursor Mover el cursor carácter a carácter Mover el cursor palabra a palabra Mover el cursor línea a línea Mover el cursor frase a frase, párrafo a párrafo y por posición de ventana Editar en la posición de cursor Guardar y recuperar el contenido del buffer La interfaz de usuario gráfica de emacs Comandos de edición básicos Teclas: notación y uso Secuencia de teclas y comandos Alt-x: ejecutar un comando sin tecla asignada Argumentos numéricos Punto y cursor Recorrer el buffer Borrar texto Buscar texto Búsquedas incrementales Búsquedas no incrementales Buscar con expresiones regulares Usar la barra de menús con el teclado Ayuda en línea Edición avanzada Deshacer cambios Punto, marca y región Mover la marca y establecer una región Trabajar con la región El anillo de marcas Definir una marca automáticamente Cortar y pegar: copiar texto eliminado Insertar caracteres especiales Comandos del buffer global Buscar y reemplazar en líneas Reemplazo incondicional e interactivo Visitar y guardar archivos Visitar archivos Completar nombres de ruta Guardar archivos Buffers Ventanas Dividir una ventana Manipular ventanas Mostrar otra ventana Ajustar y eliminar ventanas Comandos de la shell en primer plano Comandos de shell en segundo plano Modos principales: editar lenguajes de programación Seleccionar un modo principal Modos de lenguaje humano Palabras Frases Párrafos Rellenar Convertir mayúsculas a minúsculas y viceversa Modo de texto Modo de C Expresiones Definir funciones Sangrado Personalizar el sangrado Comentarios Modos de propósito especial Modo shell Más información Acceder a emacs Resumen del capítulo Ejercicios Ejercicios avanzados 8. La shell bash Historia Fundamentos básicos de la shell Archivos de inicio Shell de inicio de sesión Shells interactivas que no inician sesión Shells no interactivas Configurar archivos de inicio . (punto) o source: ejecutar un archivo de inicio en la shell actual Comandos que son símbolos Redirigir el error estándar Escribir un script de shell sencillo chmod: convertir un archivo en ejecutable #! especifica una shell # precede un comentario Ejecutar un script Separar y desagrupar comandos ; (punto y coma) y retorno de carro separan comandos continúa el comando | y & separan comandos y algo más Control de trabajos jobs: listar trabajos fg: traer un trabajo a primer plano Suspender un trabajo bg: enviar un trabajo a segundo plano Manipular la pila de directorios dirs: mostrar la pila pushd: insertar un directorio en la pila popd: eliminar un directorio de la pila Parámetros y variables Variables creadas por el usuario unset: eliminar una variable Atributos de variable readonly: convertir en permanente el valor de una variable declare y tipeset: asignar atributos a variables Variables de palabra clave HOME: el directorio de inicio PATH: donde la shell busca los programas MAIL: donde se guarda el correo electrónico PS1: indicador de comandos principal PS2: indicador de comandos secundario PS3: indicador de comandos del menú PS4: indicador de comandos de depuración IFS: separa campos de entrada (dividir palabras) CDPATH: ampliar el ámbito de cd Variables de palabra clave: un resumen Caracteres especiales Procesos Estructura de un proceso Identificar el proceso Ejecutar un comando Historial Variables que controlan el historial Repetir y editar comandos fc: mostrar, editar y volver a ejecutar comandos Usar el signo de exclamación para hacer referencia a eventos La biblioteca Readline Edición de modo vi Modo de edición de emacs Comandos para completar de Readline .inputrc: configurar la biblioteca Readline Alias Comillas simples frente a comillas dobles en los alias Ejemplos de alias Funciones Controlar bash: funcionalidades y opciones Opciones de la línea de comandos Funcionalidades de la shell set +/-O: activar y desactivar las funcionalidades de la shell shopt: activar y desactivar las funcionalidades de la shell Procesar la línea de comandos Expandir el historial Sustituir alias Redistribuir y analizar la línea de comandos Expandir la línea de comandos Orden de expansión Expandir llaves Expandir tildes Expandir parámetros y variables Expansión aritmética Sustituir comandos Dividir palabras Expandir nombres de ruta Sustituir procesos Resumen del capítulo Ejercicios Ejercicios avanzados 9. La shell TC Scripts Entrar y salir de TC shell Archivos de inicio Funcionalidades comunes a las shell Bourne Again y TC Expansión de la línea de comandos (sustitución) Historial Alias Control de trabajos Sustituir nombres de archivo Manipular la pila de directorios Sustituir comandos Redirigir el error estándar Trabajar en la línea de comandos Completar palabras Completar nombres de archivo Completar con tildes Completar comandos y variables Editar la línea de comandos Corregir ortografía Antes de pulsar Intro Después de pulsar Intro Variables Sustituir variables Variables de cadena Vectores de variables de texto Variables numéricas Expresiones Vectores de variables numéricas Llaves Formas de variable especiales Leer la entrada del usuario Variables de shell Variables que aceptan valores Variables de la shell que actúan como conmutadores Estructuras de control if goto Gestión de las interrupciones if..then..else foreach while break y continue switch Comandos integrados Resumen del capítulo Ejercicios Ejercicios avanzados 10. Programar el Bourne Again Shell Estructuras de control if.then if.then.else if.then.elif Depuración de shell script for.in for while until break y continue case select Documento Here Descriptores de archivo Parámetros y variables Variables array Localización de variables Funciones Parámetros especiales $$: Número PID $?: Estado de salida Parámetros posicionales $#: Número de argumentos de la línea de comandos $0: Nombre del programa de llamada $1-$n: Argumentos de la línea de comandos shift: Asciende los argumentos de la línea de comandos set: Inicializa los argumentos de la línea de comandos $* y $@: Representan a todos los argumentos de la línea de comandos Expandir variables null y unset :- Utiliza un valor predeterminado := Asigna un valor por defecto :? Muestra un mensaje de error Comandos integrados type: Muestra información sobre un comando read: acepta la entrada de usuario exec: ejecuta un comando o redirecciona descriptores de archivo exec: Ejecuta un comando exec: Redirecciona la entrada y la salida trap: atrapa una señal Kill: aborta un proceso getopts: Opciones de corrección gramatical Una lista parcial de comandos integrados Expresiones Evaluación aritmética Evaluación lógica (expresiones condicionales) Concordar modelos de cadena Operadores Programas shell Un shell script recursivo El shell script del quiz Resumen del capítulo Ejercicios Ejercicios avanzados 11. El lenguaje de programación Perl Introducción a Perl Más información Ayuda perldoc Terminología Ejecutar un programa Perl Perl versión 5.10 Sintaxis Variables Variables escalares Variables array Variables hash Estructuras de control if / unless if...else if...elsif...else foreach/for foreach: Sintaxis 1 last y next foreach: Sintaxis 2 while/until Trabajar con archivos Sort Subrutinas Expresiones habituales Sintaxis y el operador = ~ Parejas ambiciosas Expresiones entre corchetes Módulos CPAN Ejemplos Resumen del capítulo Ejercicios Ejercicios avanzados 12. El lenguaje de procesamiento de modelos AWK Sintaxis Argumentos Opciones Notas Fundamentos del lenguaje Modelos Acciones Comentarios Variables Funciones Operadores aritméticos Arrays asociativos printf Estructuras de control if.else while for break continue Ejemplos Resumen del capítulo Ejercicios Ejercicios avanzados 13. El editor sed Sintaxis Argumentos Opciones Nociones básicas del editor Addresses: Direcciones Instrucciones Estructuras de control El búfer Hold space Ejemplos Resumen del capítulo Ejercicios 14. La utilidad de copia segura rsync Sintaxis Argumentos Opciones Notas Más información Ejemplos Utilizar una barra de cierre (/) en source-file Eliminar archivos Copiar archivos hacia y desde un sistema remoto Realizar una réplica de un directorio Realizar copias de seguridad Resumen del capítulo &n A. Referencia de comandos Sufijos multiplicativos estándar Opciones comunes La utilidad sample sample (OS X: indica que esta utilidad sólo se ejecuta bajo Mac OS X) Argumentos Opciones Discusión Notas Ejemplos aspell Acciones Argumentos Opciones Discusión Notas &n B. Expresiones regulares Caracteres Delimitadores Cadenas simples Caracteres especiales Puntos Corchetes Asteriscos Acentos circunflejos y signos de dólar Acotar caracteres especiales Reglas La correspondencia más larga posible Expresiones regulares vacías Expresiones entre paréntesis La cadena de reemplazo Ampersand Dígitos acotados Expresiones regulares ampliadas Resumen C. Ayuda Solucionar un problema El sitio Web de Apple Encontrar información relacionada con Linux y con Mac OS X Documentación Sitios útiles de Linux y de Mac OS X Grupos de noticias de Linux y de Mac OS X Listas de correo Palabras Software Suites de ofimática y procesadores de texto Especificar un termin D. Mantener el sistema actualizado Utilizar yum Utilizar yum para instalar, eliminar y actualizar paquetes Otros comandos yum Grupos yum Descargar archivos del paquete rpm con yumdownloader Configurar yum Utilizar apt-get Utilizar apt-get para instalar, eliminar y actualizar paquetes Utilizar apt-get para actualizar el sistema Otros comandos apt-get Repositorios source.list: especifica repositorios para que apt-get realice la búsqueda BitTorrent Requisitos previos Utilizar BitTorren E. Notas sobre el sistema operativo Mac OS X Open Directory Sistemas de archivos Sistemas de archivos que no son discos Diferencia entre mayúsculas y minúsculas /Volúmenes Nombres de ruta Carbon Atributos ampliados File Forks Atributos de los archivos Indicadores de atributos Códigos de creador y códigos de tipo Alias de Finder y vínculos simbólicos ACL fsaclctl: Habilitar y deshabilitar las ACL chmod: Trabajar con las ACL Activar la tecla META Archivos de inicio Registros remotos Muchas utilidades no respetan los principios de diseño de interfaz humana de Apple Implementación de las funciones de Linux en alfabético