3

Mi resumen del curso :)

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
Escribe tu comentario
+ 2