Diferentes comandos de la terminal de Linux, si sabes alguno que no esta aca ¡dejalo en un pull request! 😄
ls
lista los archivosls -a
lista los archivos ocultos..
directorio padre.
directorio al puntero actualpwd
identificar el directoriocd
cambiar de directorio (parametro el directorio que quiero moverme)mkdir
crear un directorio (parametro del directorio a crear)ls -l
ver si si son directorio o archivosrm
borrar un archivomv
mover un archivo (mv ../archivoamover.extension .)rmdir
eliminar un directorio (rmdir nombredirectorio) * primero borrar los archivos dentro de directorio, para poder borrar el directorio
vim
i: para escribir, esc para salir del modo edicion, :q para salir de vim, :x salir y guardar cambiosnano
editor de texto en linux
cat
mostrar el contenido completo de un archivohead
ver solo las primeras lineas del archivohead -n 5 archivo.txt
mostramos solo 5 lineas del archivotail
me muestra las ultimas lineas (lo contrario de head)grep
busqueda por expresiones regularesgrep expresionabuscar archivo.sql
busqueda avanzada con grepgrep -i expresionabuscarnoimportantomayusominus archivo.sql
busqueda avanzada con grepgrep -i "frasequeterminaren$" archivo.sql
busqueda avanzada con grepsed
tratamiento de flujos de caracteressed 's/palabraareemplazardentrodelarchivo/palabranueva/g' archivo.extension
(s: sustitucion, g: global)*
no modifica el archivo, solo crea un nuevo flujo con la modificación, pero el archivo sigue teniendo lo que teniased '$d' archivo.extension
borra la ultima lineaawk
tratamiento de texto delimitadoawk -F ';' '{ print $1 }' text.txt
indica que el delimitador de las columnas es el ; y que imprima solo la primer columnatouch
permite crear archivostouch archivo.txt
ejemplo de como crear archivos
mysql -h ip -u root -p123 < archivo.sql
conectarse al servidorls > archivos.txt
almacena todo lo que esta en un archivo, redireccionar la salidals -l >> archivo.txt
el nuevo resultado lo agrega al final del archivo con la doble >ls -l | more
para ver mas archivoscat archivo.txt | wc -l
work count, para contar cuantos caracteres tiene un archivohead -n 15 archivo30lineas.txt > primeras15.txt
obtener 15 primeras linea de un archivo y y guardarlo en otro archivodate >> code.js
imprime la fecha al final de un archivo
- Si colocamos el ' al final de un comando, se ejecuta el proceso pero nos devuelve el control de la terminar (segundo plano/background)
Ctrl+z
puedes mandar un proceso al backgroundps
lista los procesos que se estan ejecutandops ax
da mas informacion de los procesosps ax | grep init
solo muestra las lineas que tengan inittop
muestra en tiempo real como los procesos estan cambiando (con que salimos del dashboard)**foreground
primer planokill -9 numerodeproceso
mata el proceso (a un proceso en si) mandando una señalkillall
mata a todos (si no escuchan las señales) solo se coloca el nombre del archivo, no el id
- Alterar permisos:
chmod
cambia el modo del archivochown
quien es el dueño del archivochgrp
quien es el grupo de usuarios que puede acceder al archivochmod o-w code.js
que le quite el permiso a otros usuarios para escribirchmod +x code.js
que tanto al dueño, grupos y otros usuarios se les de el permiso de ejecutar- **notacion binaria: 777 - primera posicion owner, segunda grupos, tercera otros
sudo
nos permite ser superusuario por un momento
- Paquetes binarios: apt (debian, ubuntu), zypper (algunas otras), rpm (universal)
- apt install lynx: ejemplo
- Paquetes de lenguajes: pip, composer, npm
- Otros: conda, homebrew
ls code.js -lh
da mas detalles de cuanto pesa el archivo y fecha en que se hizogzip code.js
comprimimos el archivogzip -d code.js
descomprimir el archivotar cf backup.tar backup/*
agrupa los archivos en un archivo backup.tar, todos los que esten dentor de la carpeta backup/tar tf backup.tar
vemos el contenido del archivo, solo agrupa, no comprimetar xf backup.tar
lo visualizatar czf backup.tgz backup/*
agrupa y comprime los archivos
locate
hace una busqueda en todo el sistema de archivoswhereis
para buscar comandosfind
busca en un arbol de directorios, dependiendo los criterios que le ingresesfind . -user rodcko -perm 644
buscar todos los archivos que le pertenecen a rodcko y con ciertos permisosfind . -type f -mtime +7 -exec cp {} ./backup/ \;
buscar un tipo de archivo file y que haya sido modificado hace 7 dias, y seran copiados a un directorio backup, comando poderoso para hacer backups
curl
hacer pedidos directamente, es decir pedidos crudoswget
realiza descargas desde servidores http (recursivo)curl https://platzi.com
nos devuelve todo el textocurl -v https://platzi.com | more
nos devuelve todo el textocurl -v https://platzi.com > /dev/null
solo ve la comunicacion de encabezados httpwget https://www.url.com
nos descarga el archivo
ssh
terminal segurassh usuario
terminal seguracat .ssh/
ver la configuracion sshls .ssh/ -l
ver llaves publicas y privadasecho "Probando" | mail -s "Probando para Platzi" [email protected]
enviar correos desde la terminal, hay que tener ciertas cosas configuradas
Es una definicion global a la que todos los procesos tienen acceso, para tomar info de lo que esta pasando alrededor de, se conoce como $PATH, todos los procesos podrán acceder a ellas, tanto para leerlas como modificarlas, los tipos de asignación son:
- Para un comando: VAR=valor comando
- Para toda la sesión: export VAR=valor
Scripting bash, codigo de programacion
source .bashrc
para ejecutar el comando
at: at now +2 minutes
ejecutar algo dentro de 2min y luego colocamos el comandocron
utiliza la crontab (tareas programadas)crontab -e
nos permite ver las tareas programadas y agregar nuevas, se ingresa a un archivo donde nos indica el minuto que lo queremos ejecutar, dias y que comando, luego salimos guardando los cambios en el archivo y listo
- Curso de Introducción a la Terminal y Línea de Comandos: https://platzi.com/clases/terminal/
- Usuario de Platzi: https://platzi.com/p/rodcko2417/