La terminal es una herramienta la cual interpreta comandos y ejecuta acciones sobre tu ordenador
Algunos ejemplos de lo que se puede logar con la terminal son:
todo tipo de manipulación de los archivos, navegar y ver a través de los datos del disco duro, instalar programas, cambiar permisos sobre archivos, hacer protocolos de cambios de datos y asegurar la transferencia de datos y sobre todo la automatización de tareas.
Aquí dejo un listado de los comandos vistos en el curso, para que sirven, y como se usan de la manera mas simple
General
Directorios
cd moverse de directorio
cd (ruta del directorio)
pwd: indica el directorio actual
mkdir:crear directorio
mkdir (nombre)
rmdir: borrar directorio
rmdir (directorio)
Root
sudo: hacer root para un solo comando
sudo su: iniciar un root
Instaladores
apt/zypper/rpm: instalador de paquetes (apt es mas sencillo)(binarios)
pip composer npm (lenguajes)
conda homebrew (genéricos)
Algunos muy útiles que no encontré clasificación
flag: indica mas sobre el comando, son como parámetros
-(flag de una letra) --(flag de una palabra)
. directorio actual .. directorio padre ~ home
q: universal para salir
clear/ctrl l: limpiar consola, ctrl L solo se salta unas lineas, clear lo borra
echo muestra el texto en pantalla
echo (texto)
history muestra un historial de los comandos realizados en todos los tiempos
alias nos ayuda a usar un alias para un comando mas largo
alias "nombreDeAlias"=comando
por ejemplo
alias "instalar java"=sudo get-apt install java
ls
muestra lo que hay en el directorio actual
Flags:
-a muestra los ocultos -l muestra mas informacion
-t por fecha -x por nombre -X por extenion -S por tamaño
-h muestra su tamaño -R muestar tambien los subdirectorios
Variables de entorno
crea variables para el sistema para posteriores uso con export
Archivos
Manejo
rm: para eliminar archivos
rm (archivo)
touch: crear archivos
touch (archivo)
mv: mover archivos
mv (archivo) (nuevo lugar)
cp:duplicar archivos
cp (archivo) (nuevo lugar)
Visualización
cat: mostrar contenido
cat (archivo)
head, tail: muestra el archivo de arriba hacia abajo el numero de lineas indicadas por defecto son 10
(head/tail) -n (numero de lineas) (archivo)
grep: busca una palabra en el archivo
grep (flags)(palabra) (archivo)
-i ignora mayúsculas y minúsculas
agregar un $ al final de la palabra para buscarlo al final de lineas o un ^ al principio para el principio
sed: cambiar palabras por otra unicamente para la visualizacion
sed 's/(palabra actual)/(palabra que quiero que muestre)' ; (para agregar mas) (archivo)
Edición
vim, nano: editar archivo en terminal
En nano aparecen los comandos están especificados dentro del editor
(vim/nano) (archivo)
comandos básicos vim
i: insertar
:W : guardar
:q : salir
Búsqueda
locate: busca en todo el sistema (debe estar actualizado)
whereis: para binarios
find: debes indicar el directorio pero puedes poner muhcos parametrtos
-user para indicar el dueño -perm sus permisos
-type tipo de archivo -mtime ultima modificacion
-exec hacerles algo a los encontrados
Permisos
Descripcion
en ls -l las letras del inicio indican los permisos
los primeros para el dueño los segundos de otros usuarios y lo ultimos par otros
- permiso denegado
r leer, w editar, x ejecutar
u dueño, g grupo de usuarios, o otros, a todos
Comandos
Chmod
chmod: cambiar los permisos
chmod (quien)(+/-/=)(permiso) (archivo)
chmod (numero) (archivo)
numero:se consigue de forma binaria
d r x w r w x r w x
4 2 1 4 2 1 4 2 1
cada 3 son para dueño, usuarios, otros,y representan un digito
Solo se puede haciendo root:
chown: cambia el dueño
chgrp: cambia el acceso
(chown/chgrp) (usuario)(archivo)
Compresion y combinacion
Compresión
gzip: comprime y descomprime archivos agregando un .gz
comprimir
gzip (archivo)
descomprimir
gzip -d (archivo)
combinación
tar: combina los archivos en un .tar
tar (flag) nombre.tar (archivos)
Flags:
cf crear tf mostrar xf sacar czf comprimir y crear
debe ser .tgz xzf sacar del comprimido
HTTPS
curl transmisión de textos en https
curl/wget (url)
wget para ambos comandos
Automatización
General
Se crea un archivo .sh y en el se ponen comandos indicando al principio donde esta el bash (#!/usr/bin/bash o sin usr)
y se colocan todos los comandos deseados en bash: el lenguaje de programación para el bash
Se pueden hacer iteraciones, es decir condicionales y bucles
Tiempo
Se puede pre-establecer el tiempo de ejecución de algún comando con
at y cron
Espero que les sirva 😃