Introducción a la Terminal
|
Una terminal es un programa cuyo objetivo principal es leer comandos y ejecutar otros programas.
Las principales ventajas de la terminal son su alta relación acción-tecla, su soporte para la automatización de tareas repetitivas, y que puede utilizarse para acceder a otras máquinas en una red.
Las desventajas principales de la terminal son su naturaleza primordialmente textual y que sus comandos y operación pueden llegar a ser muy crípticos.
|
Navegación de archivos y directorios
|
El sistema de archivos es responsable de administrar la información en el disco.
La información se almacena en archivos, que a su vez se almacenan en directorios (carpetas).
Los directorios también pueden almacenar otros directorios, formando un árbol de directorios.
cd path cambia el directorio de trabajo actual.
ls path imprime un listado de un archivo o directorio específico; ls por si solo lista el directorio de trabajo actual.
pwd imprime el directorio de trabajo actual del usuario.
whoami muestra la identidad actual del usuario.
/ es el directorio raíz de todo el sistema de archivos.
Una ruta relativa especifica una ubicación desde la ubicación actual.
Una ruta absoluta especifica una ubicación desde la raíz del sistema de archivos.
Los nombres de directorio en una ruta están separados por ‘/’ en Unix, pero por ‘' en Windows.
’..’ significa ‘el directorio por encima del actual’; ‘.’ por si solo significa ‘el directorio actual’.
La mayoría de los nombres de los archivos son algo.extension . La extensión no es necesaria y no garantiza nada, pero normalmente se utiliza para indicar el tipo de datos en el archivo.
La mayoría de los comandos toman opciones (flags) que comienzan con un ‘-‘.
|
Trabajando con archivos y directorios
|
cp old new copia un archivo.
mkdir path crea un nuevo directorio.
mv old new mueve (renombra) un archivo o directorio.
rm path elimina un archivo.
El uso de la tecla Control puede ser descrito de muchas maneras, incluyendo Ctrl-X , Control-X y ^ X .
El shell no tiene una papelera de reciclaje o bote de basura: una vez que algo se elimina, se borra completamente.
Dependiendo del tipo de trabajo que se requiera, puede ser necesario utilizar un editor de textos más poderoso que Nano.
|
Pipes y filtros
|
cat muestra el contenido de sus entradas.
head muestra las primeras líneas de su entrada.
tail muestra las últimas líneas de su entrada.
sort ordena sus entradas.
wc cuenta líneas, palabras y caracteres en sus entradas.
* coincide con cero o más caracteres en un nombre de archivo, por lo que*.txt coincide con todos los archivos que terminan en .txt .
? Coincide con un solo carácter en un nombre de archivo, así que ?.txt coincide con a.txt pero no any.txt .
command > file redirige la salida de un comando a un archivo.
first | second es un pipeline: la salida del primer comando se utiliza como entrada para el segundo.
La mejor manera de usar la terminal es utilizar pipes para combinar programas sencillos de propósito único (filtros).
|
Bucles
|
Un bucle for repite comandos una vez para cada elemento de una lista.
Cada bucle for necesita una variable para referirse al elemento en el que está trabajando actualmente.
Uso de $name para expandir una variable (es decir, obtener su valor). También se puede usar ${name} .
No utilizar espacios, comillas o caracteres especiales como ‘*’ o ‘?’ en nombres de directorios, ya que complica la expansión de variables.
Proporcionar a los archivos nombres coherentes que sean fáciles de combinar con los caracteres especiales para facilitar la selección de los bucles.
Utilizar la tecla de flecha hacia arriba para desplazarse por los comandos anteriores para editarlos y repetirlos.
Usar Ctrl-R para buscar a través de los comandos previamente introducidos.
Usar history para mostrar comandos recientes, y !number para repetir un comando por número.
|
Scripts de la terminal
|
Guardar comandos en archivos (normalmente llamados scripts de la terminal) para su reutilización.
bash filename ejecuta los comandos guardados en un archivo.
$@ se refiere a todos los parámetros de la línea de comandos de un script de la terminal.
$1 , $2 , etc., se refieren al primer parámetro de la línea de comandos, al segundo parámetro de la línea de comandos, etc.
Coloque las variables entre comillas si los valores tienen espacios en ellas.
Dejar que los usuarios decidan qué archivos procesar es más flexible y más consistente con los comandos de Unix.
|
Encontrando cosas
|
find encuentra archivos con propiedades específicas que coinciden con patrones especificados.
grep selecciona líneas en archivos que coinciden con patrones especificados.
--help es un indicador soportado por muchos comandos bash, y programas que se pueden ejecutar desde dentro de Bash, para mostrar más información sobre cómo usar estos comandos o programas.
man command muestra la página de manual de un comando dado.
$(comando) contiene la salida de un comando.
|
La siguiente es una descripción general de un sistema de archivos Unix estándar.
La jerarquía exacta depende de la plataforma,
por lo que es posible que no vea exactamente los mismos archivos / directorios en su computadora: