No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Repaso y próximos pasos

23/23
Recursos

Aportes 337

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

¡Gracias Mauro! Solo una cosa: nunca más pongas la terminal en blanco. Pero por lo demás, muy bien.

Como critica constructiva. Sin duda el Profesor Mauro sabe y conoce el tema pero no creo que exprese tan bien las clases. Da por hecho algunas cosas, no detalla algunas otras y le falta ser mas descriptivo. Me quedo con una mala experiencia con respecto a otros curso que he podido tomar. Pero si me llevo un gran agrado que muchos compañeros que aquí en los comentarios compartian sus apuntes o comprensiones me ayudaron más para entender los temas.

A seguir ¡Nunca pares de aprender!

voy a insertar una imagen que creo, resume mi opinion con respecto a las ultimas clases:

Del resto, muchisimas gracias!!!



Hola Rapidoso del Futuro...
Este Archivo ha sido creado en VIM

CURSO TERMINAL DE COMANDOS
Windows 10 - Ubuntu WSL LTS 20.04



COMANDOS BÁSICOS : 

$ ls (muestra todos los directorios y archivos en la carpeta actual);

$ ls -a (nos muestra lo mismo que ls, pero añadiendo elementos ocultos);

$ ls -l (muestra lo mismo que ls, pero añadiendo datos del archivo);

$ mkdir (crea directorios, carpetas);

$ cd (nos lleva a otro directorio);

$ pwd (nos muestra en que directorio estamos);

$ rm (borra archivos);

$ rmdir (borra directorios, siempre y cuando estén vacíos);

$ rm -rfv (borra directorios aunque no estén vacíos);

$ mv nombre.txt carpeta/ (mueve archivos a otras rutas, también se puede
usar para cambiar el nombre de los directorios);

$ cp nombre.txt carpeta/ (copia archivos a otros directorios);

$ touch nombre.txt (crea un archivo vacío);

$ date (muestra la fecha y hora del equipo);

$ echo "Hola" (muestra en la terminal lo escrito);



COMANDOS DE TEXTO:

$ vim nombre.txt (abre el editor de texto vim);

$ nano nombre.txt (abre el editor de texto nano);

$ cat nombre.txt (muestra el archivo completo en terminal);

$ head nombre.txt (muestra las primeras líneas de texto);

$ tail nombre.txt (muestra las últimas líneas de texto);

//NOTA: tanto a head y tail, se le puede añadir un flag
"-n" + un número, para mostrar las líneas específicas que
quieres mostrar.

$ grep palabra nombre.txt (muestra las líneas en las que se muestra esa palabra);

$ grep -i palabra nombre.txt (muestra lo mismo de grep, pero al escribir la palabra
no importa las mayúsculas y minúsculas.

$ grep "palabra$" nombre.txt (muestra lo mismo que grep, pero si se pone el "$"
al final de la palabra, y todo esto se encierra en comillas, te mostrará las 
líneas donde esta palabra aparezca al final);

$ grep "^palabra" nombre.txt (muestre lo mismo que grep, pero si se pone un "^"
al principio de la palabra, y todo esto se encierra en comillas, te mostrará las 
líneas donde empiecen con esta palabra);

$ sed "s/palabra/otra_palabra/g" nombre.txt (nos va a mostrar en consola
el archivo pero sustituyendo la primera palabra por la segunda que pusimos);

$ sed "$d" nombre.txt (nos muestra el archivo en terminal sin la última línea);



COMANDOS DE PROCESOS:

$ equipo < nombre.txt (ejecuta el comando escrito en el archivo al equipo escrito);

$ comando > nombre.txt (lo que se muestre en terminal se va a pegar en el archivo);

//NOTA: Si este último se usa, todo lo que estaba escrito se remplazará por lo 
mostrado en terminal, si se quiere añadir se usa el siguiente:

$ comando >> nombre.txt (lo que se muestra en termianl se pega en el archivo abajo
de lo que está escrito en él);

$ comando | more (si el resultado es largo, te mostrará solo la primera pantalla, 
después de ahí, si presionas enter, te mostrará una línea de código más y si
presionas espacio te mostrará lo que equivale a una pantalla más);

$ comando | wc (mostrará datos del resultado, en orden sería el número de líneas, 
el número de palabras y el número de bytes que pesa ese resultado);

//NOTA: Podemos ser específicos con ese comando, si le ponemos -l nos mostrará
sólo el número de líneas y así con los demás.



ADMINISTRACIÓN DE PROCESOS:

$ ...& (si al final de un comando escribimos un "&" el proceso correra en segundo
plano, mientras que nosotros podremos seguir en la consola);

$ ^z (si en un proceso, hacemos "control + z" nuestro proceso se pausará.

$ fg (con el fg reanudamos donde estabamos en el proceso, ya sea que hayamos
hecho un "&" para que se ejecutara en segundo plano, como que lo hayamos pausado 
con un "control + z).

$ ps (nos muestra la lista de los procesos en segundo plano);

$ ps -ax (nos muestra la lista de todos los procesos más los del sistema);

$ top (nos muestra la lista de todos los procesos en forma interactica);

$ kill -9 numero_proceso (apagara el proceso que seleccionemos, el número lo
encontramos en ps o en top);

$ killall nombre.txt (apagará todos los procesos que haga este archivo);

$ service --status-all (dará una lista de todos los servicios que esten
activos e inactivos);

$ sudo service comando start (empezará un servicio que estaba
desactivado);




PERMISOS:

$ chmod (cambia los permisos de cada archivo especificando el tipo de usuario);

$ chown (cambia el propietario del archivo);

$ chgrp (cambia los usuarios que pertenecen al grupo del archivo);



PAQUETES DE INSTALACIÓN BINARIOS:

//NOTA: Para instalaciones se usan diferentes comandos dependiendo de
la distribución Linux que uno tenga, si se usa distribuciones basadas
en Debian como Ubuntu, Kali Linux, etc, se usa apt. Si se usan 
distribuciones basadas en SUSE (el del camaleón) se usa zypper. Y,
hay un comando "universal" para todas las distribuciones
Linux que se llama rpm pero no es tan utilizado.

$ apt install nombre_del_repositorio (instala un programa desde un
repositorio remoto hacia el sistema);

$ apt-get install (es una alternativa para ciertos programas a
apt install);

$ apt-get update (actualiza el sistema);



PAQUETES DE INSTALACIÓN DE LENGUAJE:

//NOTA: Igual que en la instalación de archivos binarios, aquí cambia
el comando dependiendo del lenguaje al que se le va a instalar.

$ pip nombre_del_paquete (se usa para descargar paquetes de lenguajes
para Python);

$ composer nombre_del_paquete (se usa para descargar paquetes de 
lenguajes para PHP);

$ npm nombre_del_paquete (se usa para instalar paquetes de lenguajes
en Node.js



COMPRESIÓN Y COMBINACIÓN DE ARCHIVOS DE ARCHIVOS:

$ gzip nombre.txt (comprime un archivo y lo convierte a tipo .gz);

$ gzip -d nombre.txt.gz (descomprime el archivo que habia sido comprimido);

$ tar cf nombre.tar directorio/ (une todos los archivos de una carpeta
dentro de sólo archivo);

$ tar tvf nombre.tar (muestra los archivos dentro de uno .tar);

$ tar xf nombre.tar (descompone el archivo .tar seleccionado);

//NOTA: Una archivo .tar por sí solo no está comprimido, pero es
posible hacerlo, comprimiendo el .tar en un gzip);



BÚSQUEDAS

$ locate nombre.txt (dará la ubicación de todos los archivos con ese
nombre en el equipo);

//NOTA: locate no viene predeterminado con Linux y se tiene que instalar);

$ updatedb ("update data base", actualiza los archivos para ser 
reconocidos por locate);

$ whereis programa_random (nos dará la ubicación de donde se ubican 
los programas escritos);

$ find nombre.txt (find sirve para localizar pero es especial
por su capacidad de complejidad en la especificación de búsqueda);

//NOTA: Estos son unos de las flags que ocupa find:
-type -f (tipo de elemento, un ejemplo es poniendo f, lo que sería file);
-user rapidoso (ubica los elementos creados por ese usuario);
-perm 777 (busca por niveles de permisos);
-mtime +7 (ubica el tiempo, en este caso el 7 representa días);

En total, si juntaramos todo se escribiría así:
find -type f -user rapidoso -perm 777 -mtime +7
Lo que nos daría una busqueda de elementos que sean archivos, creados
por el usuario rapidoso, con los permisos 777 y que hayan sido 
creados hace más de 7 días.

//NOTA: Si se les quiere hacer algo especial a los archivos encontrados
con find, se usa el flag "-exec" que va a ejecutar un comando.
En este caso, los archivos en el comando se van a representar con 
corchetes "{}". Un ejemplo sería:
find . -user rapidoso -exec cp {} -r ../backup/ \;



TRAER INFORMACIÓN DE SERVIDORES:

$ curl https://pagina.com (recoge la información que ofrece un servidor web);

$ wget https://página.com (descarga archivos que un servidor ofrece);



ACCESO REMOTO A OTRAS COMPUTADORAS

$ ssh hostname user (con el hostname o número del servidor y con el 
nombre de usuario registrado en ese servidor o computadora, se puede
acceder a otra mediante clave pública y privada);

$ echo "Hola como tas" | mail -s "Título de Correo" [email protected]
(este copia el mensaje echo de la terminal para redirigirlo a una
dirección de correo y enviarlo como correo");



VARIABLES DE ENTORNO:

$ comando $PATH (te dice las especificaciones y rutas completas del
programa seleccionado);

$ls /usr/bin (muestra todos los programas del sistema);

//NOTA: Los programas se deberían ejecutar poniendo la ruta completa
del programa, sin embargo, las variables de entorno logran que
desde cualquier lugar del Equipo podamos ejecutarlos.

La forma para hacer esto con una propia es:

$ export VARIABLE=comando (con un nombre para una variable le
asignamos un valor con una dirección o un comando);

//NOTA: Si queremos sobreescribir una variable, lo hacemos como
lo hariamos en un lenguaje de programación:

VARIABLE=otro_comando



SCRIPTS CON BASH:

//NOTA: Los scripts se crean con extensión .sh, ya dentro de ahí uno
tiene que poner la dirección en la que va a ser ejecutado.
En este caso la más normal es en el bash, que está dentro de bin.
Para poner la dirección sólo hay que poner #!usr/bin/bash

Ya con la dirección anexada, podemos poner los comando que queramos
que ejecute nuestro script. Cuando ya allamos acabo de escribirlo, 
para programar el final de este hay que escribir $x

Una vez que ya lo guardamos, para ejecutarlo hay que escribir la 
dirección y el archivo de esta manera:
	./nombre_del_script_creado.sh

Por predeterminado no va a ser posible ejecutarlo, por lo que se
deben de cambiar los permisos con chmod y agregarle el permiso x.



TAREAS PROGRAMADAS POR TIEMPO:

$ at now +2 minutes (el comando at nos permite ejecutar tareas con
tiempo, uno de sus flags es now, que quiere decir, desde ahora. 
Desde ese punto se pueden escribir los minutos específicos que
tienen que pasar para que se ejecuten. Para cerrar la cadena de
comandos que se va a ejecutar sólo oprime ^d.

$ crontab -e (nos permite editar la lista de tareas que se van a repetir por tiempo, para enlistarlas, sólo hay que escribir el comando y,
después poner en este orden: el minuto, la hora, el día del mes, 
el mes, y el nombre del día de la semana. Si se uno de estos se quiere
omitir sólo hay que poner en su lugar un *.   

Se necesitaba una actualización del curso realizado por Beco y de verdad Mauro siento que tiene una mejor metodología para explicar de verdad que un update de 10

Este curso estuvo de maravilla, conocí mucho de la terminal y ahora puedo moverme fácilmente entre las carpetas y entender Scripts en Linux o demás. Muy, muy bueno.

Buen curso.

Comparto mis apuntes en un repositorio en GitHub, para cualquier interesado:
https://github.com/victorhtorres/Terminal-y-linea-de-comandos

Si usted trabaja con la terminal Ubuntu en Windows y quiere ver sus archivos

Para ver sus archivos de windows puede hacerto de la siguiente manera con estos comandos

  1. cd /
  2. cd mnd
  3. Ya en este punto le saldrá el disco C o D o como tenca particionado su PC. ahí ya puede acceder a sus directorios de Windows

Creo que seguir con el curso de programación en Bash o el de expresiones regulares, es un muy buen complemento! Muchas gracias, excelente curso!

Gracias profe Mauro las clases estuvieron de maravilla repetí el curso antes de tomar el examen ahora si ya estoy listo.

Me gustó la actualización, sin embargo creo que el curso anterior tenía ejemplos más prácticos, este curso me deja con la sensación de que faltaron cosas por ver o más ejercicios por realizar.
Aún así creo el curso cumple con su función que es introducir el uso básico de la terminal.

Muchas gracias Mauro, en verdad aprendí mucho con este curso sobre los comandos para usar la termina. esto me vendrá genial para continuar aprendiendo más en mi especialidad que es el Desarrollo web.

✨ Adquirí un superpoder para interactuar con el computador de manera más eficiente. Buscar, crear, modificar, otorgar permisos, sin la necesidad de una interfaz de usuario.

buen curso! estaria bueno que tuviera mas practica pero se entendio el concepto

chevere todo, parte de enviar correos… super fácil, todos los pasos que uno puede ahorrarse, y también al hacer otros procesos, simplifica todo.

Me parece muy interesante este tema y es bueno saber lo que significa los comandos, a veces uno los ejecuta sin sabe que hacen exactamente

Es fascinante comprender el por qué de las cosas. Llevo muchos años ejecutando comandos que funcionan sin tener la certeza de exactamente que hacen y como lo hacen…

Excelente curso! ya habia hecho el del año pasado con alberto pero estuvo muy bueno el update, aprendi cosas nuevas como el uso del locate y el updatedb. Gracias profe!

¡Gracias, Buen curso !

Excelente curso, Felicitaciones al Profe

https://platzi.com/r/pablohugomontenegro/ mi link para un mes gratis de afiliación. Tanto para mí como para el que decida tener algún plan.

Por que habla sobre Data Science? alguien me puede explicar en que se relaciona con esto?

Muy buen curso!

Excelente profesor. Muchas gracias

Este curso es extremadamente valioso , conciso, te da una visión amplia en el manejo se sistemas operativos… abre un nuevo mundo.

Gracias!

Incredible curso Mauro! A continuar con el Road To Code 😄

Soy nuevo en el mundo de la programación y la verdad este es uno de los mejores cursos que me he encontrado, ahora comprendo mejor el uso de la terminal y todas las herramientas que puedo utilizar para sacarle el mejor provecho a mi computadora ¡excelente cursos!

gracias por la enseñanza profe mauro

expresiones regulares / dev ops / jenkins /

Muchas gracias excelente curso, con aportes de mis compañeros en comentarios me ayudo a enteder un poco mas las cosas y a profundizar mas

excelente ! interesante y al punto !

Excelente curso! Esperemos darle uso a lo aprendido. Gracias Mauro!

Muchas Gracias Mauro, excelente contenido y muy fluida tu manera de explicar los contenidos.

Sin duda una gran introducción a la terminal de comandos, ahora solo es cuestión de practicar lo aprendido y profundizar más

Directo a DevOps!

Buen dia he tratado de hacer el examen ya qu termine el curso sin embargo no logra completarse porque ocurre un error llevo asi dos dias seguidos sin poder completar el examen lo cual me saca calificacion no aceptable.
si alguien me puede ayudar, saludos

Gran curso ! Gracias

Buen curso, pero tengo un comentario, hace falta mejorar, si es un curso básico el ETC, no cabe, hay que explicar todo, eso se deja para los avanzados, por lo demás, como dije buen curso.

Es un buen curso, gracias al profesor por el conocimiento compartido.

Un buen resumen y tambien sobre las recomendacion hacia donde orientarse.

Definitivamente lo que necesitaba para desempolvar algunos conceptos y actualizarme un poquito…excelente Mauro!!!

Voto por un curso práctico de Línea de comandos. xD

Creo que fue muy buen el curso. solo que costó un poco manejar el sistem. Nuevo en esto.

A pesar de que uno ya ha trabajado con muchos comandos este curso es de gran ayuda en tips y explicaciones de comandos extra que dan una nueva perspectiva al manejo de la terminal.

buen curso talvez me falta un poco mas pero por el camino voy aprendiendo super gracias

Muy buen curso, muy general y especifico.

gracias por este curso, me generó mucha curiosidad sobre algo que no se porque nunca tomé muy en cuenta

A continuar con mas cursos…

Muchas Gracias!!

Muchas gracias! me sentí muy perdida al principio y ahora me siento muy cómoda, con ganas de encontrarle mas utilidades a esta terminal.

Gracias, aprendi bastante.

Me encantó el curso 😃

Gracias por el curso, muy bueno

Me gusto el curso, mis felicitaciones al profe!

Excelente curso!!!

Realmente un curso introductorio pero bien explicado

Excelente curso. El gran poder que tiene alguien estudia para comunicarse con su PC, automatizando trabajo y disfrutando nuestro tiempo.

Me gustó mucho este curso. Cada vez me gusta más la Terminal.

Está genial el curso.

Excelente

Muchas gracias profe, la verdad aprendi mucho pero igual voy a repetir el curso para reforzar mas lo visto.

Muchas gracias profesor. Genial este curso.

Genial!

Este curso me ha gustado un buen todo es muy conciso muy práctico me encanta!

Gracias muy buen curso y bastante resumido. Es hora de sacar el poder de la terminal

un curso rapido y sencillo sin embargo me gustaria recalcar que faltaron mas explicaciones en cuanto a los demas tipos de shells y sobre todo que pasa cuando algunos comandos no funcionan porque los servicios estan detenidos, dependiendo de la distribucion y la configuracion que tenga SISVINIT o SYSTEMD etc esto puede cambiar

Gracias. Muy buen curso.

Gran curso y muy util ! 😄

genial sigamos con expresiones regulares!!

Gracias por el curso, Mauro, aprendí todo porque no sabía nada de esto.

Excelente curso!! Muy divertido el ejecutar comandos 😄

Muchas Gracias…!

Que gran curso, recordé varios conceptos y aprendí que la terminal es muy potente a la hora de automatizar procesos. Gracias! 😉👍❤

Buen curso. Se pudo entender perfectamente todo.

gracias por este excelente curso

Excelente curso, para conocer los comandos

Excelente curso a seguir practicando y saquerle el jugo a todo

Genial curso!!

Muchas Gracias Mauro, Me ayudaste bastante con la consola de linux
Gracias por tu tiempo y dedicación
Saludos desde Peru

Dicho a la manera Argentina, SOS UN GROSO! Muchas gracias, saludos desde Perú.

at>Buena onda el pibe.sh 

Muchas gracias por todo! Ahora a ponerlo en practica.

Gracias profe!

Muchas gracias. Buen curso.

Hola tengo una pregunta. Hoy presenté el examen por 4 vez y coloqué respuestas diferentes en ¿Qué es un comando?, y con las 4 me lo rechazó, mi sentido común me dice que la respuesta tiene que ser una orden que se le dá al computador, pero la única opción que me queda es un archivo ejecutable que la computadora puede realizar (o algo así) Soy yo el problema o está mal esa pregunta? Gracias??

En general, el curso estuvo bueno, sin embargo, hay muchas cosas que no me quedaron muy claras, como por ejemplo lo de (/bin/bash) o lo de (platzi.sh) que fue la clases de automatizacion, realmente la informacion que me salia en la pantalla no era lo misma que salia en el video y entonces me perdia, supongo que como soy principante no entiendo, igual no me voy a rendir y voy a seguir investigando al respecto. NUNCA PARES DE APRENDER.

Gracias x todo Mauro

¡Uno de los mejores cursos que he visto!

Muchas Gracias 😃

Gracias por la información, excelente curso.

Muchas gracias profe! Está buenísimo el curso!

Gracias profe, aprendi mucho

Excelente curso, la primera vez que lo tome no entendi mucho, pero ahora que estoy mas adentrado en el mundo de la programacion veo lo mucho que se aprende

Excelente curso,solo un consejo nunca pongas la consola en blanco.

Excelente curso.

PD: El profesor sabe mucho se nota pero aun le queda desarrollar mas su capacidad para instruir y compartir sus conocimientos de una manera mas acertada a este medio de aprendizaje.

Gracias profe por compartir sus conocimientos.

Recien me pase a linux y encontrarme con este curso ha hecho la experiencia mucho mas sencilla.

Gracias Mauro, gran profesor!

Gracias, muy buen curso. Bien explicado.

Muy buen curso, basico para muchos