No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

C贸mo configurar variables de entorno

13/23
Recursos

Las variables de entorno son 煤tiles cuando necesitamos que cierta informaci贸n prevalezca para poder trabajar m谩s r谩pido o necesitamos guardar informaci贸n para no tener que recordarla constantemente.

Variables de entorno en Linux

En linux hay varias variables de entorno que ya est谩n preestablecidas, para verlas desde la consola es tan simple como usar el comando seguido de la variable de entorno.

Por cierto, todas las variables de entorno se mandan a llamar con un signo de peso por delante, de lo contrario se interpretar谩 como un comando.

Captura de pantalla de 2023-05-30 09-55-10.png

Hay muchas m谩s, pero estas son las que te pueden interesar. Por cierto, por convenci贸n las variables de entorno se crean en may煤sculas.

驴C贸mo crear tus propias variables de entorno?

En el home de tu usuario debe haber un archivo oculto llamado 鈥溾.bashrc"", lo puedes ver ejecutando el comando ls -la la opci贸n -a es de all.

ls -la
ejemplo-como-crear-variables-entorno.png

脕brelo utilizando el comando code .bashrc, si tienes instalado VS Code esto te mostrar谩 el documento en el editor. Si est谩s en WSL y no te funciona, ve a la cmd, ejecuta el comando wsl y vu茅lvelo a intentar desde ah铆.

Cuando lo abras ten cuidado con lo que tocas, podr铆as da帽ar la shell, pero desde ah铆 puedes crear una variable de entorno, por ejemplo, como yo estoy usando WSL, voy a crear una variable de entorno que me de la ruta de mi carpeta en Windows sin que tenga que escribir toda la ruta.

ejemplo-al-ejecutar-variables-entorno.png
Ahora guardo el archivo, reinicio la terminal y ejecuto:

cd $WINDOWS
variable-de-entorno-configuracion.png

Pero se puede hacer mejor porque tambi茅n puedo crear un alias que no se borre cuando cierre la terminal.

ejemplo-configuracion-variable-entorno.png
ejemplo-configuracion-variables-de-entorno.png

Ahora solo tengo que ejecutar cc para ir a mi carpeta en Windows sin necesidad de escribir la variable de entorno.

Ahora crea las variables o alias que necesites para ser m谩s eficiente tu trabajo, por ejemplo, podr铆as crear un alias que ejecute VS Code y lo abra en la carpeta que requieres.

Contribuci贸n creada con los aportes de: Miguel Gonzalez.

Aportes 275

Preguntas 157

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

![](

Notas 馃槃
Variables de entorno.

  • La termina tiene una configuraci贸n con diferentes valores, que se pueden acceder con las variables de entorno. Estas son muy importantes para la configuraci贸n general del sistema 馃殥.
  • Podemos guardar alias para que se queden de manera permanente con esto 馃槈.
  • ln -s <ruta> <Nombre> Esto para hacer link simb贸licos, que son un tipo de archivo que hacen referencia a otro lugar, b谩sicamente es un acceso directo desde terminal 馃搧.
  • printenv nos muestra todas las variables de entorno que tenemos configuradas 馃摂.
  • echo $<variables> esto nos sirve para imprimir una variable en particular.
  • Algunas variables son:
    • HOME es nuestro HOME de usuario 馃槅.
    • PATH tiene todas las rutas donde se encuentran los binarios en los que se ejecuta nuestro sistema. 馃洠锔 Hay varios manejadores de paquetes para binarios, pero no todas las veces se agregan a PATH, y se deben agregar a mano.
  • En HOME, existe un archivo que se llama .bashrc que es donde est谩 nuestra configuraci贸n de Bash. Lo podemos abrir con VS Code para modificarlo. En este archivo podemos crear alias.
  • alias <nombre>="comando" para crear un alias 煤til 馃憖.
  • code <archivo> para abrir un archivo de texto en VS Code desde la terminal.
  • Para modificar o crear una variable de entorno, se hace, por ejemplo PLATZI_MESSAGE='Hola amigos".
  • Para agregar una ruta a la variable PATH ponemos en .bashrc PATH=$PATH:<ruta>, guardamos, cargamos bash en la terminal, y listo 馃槃.
  • Es muuuy importante tener cuidado con los alias, nunca hay que nombrar un alias como un comando ya existente 馃槦.

鈽 Las variables de entorno son muy 煤tiles cuando quieres compartir un script que usa dichas variables de entorno. Por ejemplo, 驴alguna vez has usado variables de entorno en proyectos de NodeJS, PHP, Vue, React? Esas que se guardan en archivos .env, aqu铆 en la terminal son muy similares, puedes tener tus propias variables de entorno, y puedes crear un script para la terminal que haga uso de ellas!
.
Claro, si solo nos enfocamos al uso exclusivo de la terminal podemos sacarle mucho provecho tambi茅n, por ejemplo, podemos saber cu谩ntas rutas tiene nuestra variable PATH:

echo $PATH

Esto por ejemplo, sirve para debuguear cuando alg煤n comando no funcione, podemos mirar si la ruta de su archvio est谩 dentro de PATH 馃槃

con lo visto hasta el momento cree un mensaje cada vez que se inicia la terminal o se llama al bash en su defecto jajaja

Como aporte por si quieren ver las rutas de $PATH mas f谩cil o legibles en formato de lista pueden usar echo $PATH | tr : \\n y de esta manera se vera cada ruta en forma de lista

馃惐鈥嶐煉 Las variables de entorno permiten pasar informaci贸n de forma simple, de una aplicaci贸n a otra.

Si a alguien mas le pasa que cuando abren la terminal, el directorio inical siempre es su usuario pero de Windows y para ir la ruta home de Linux deben usar el comando cd cada que la abren, les comparto la solucion que me ayudo mucho:
.
Configure su distribuci贸n WSL para que se inicie en el directorio de inicio ~ cuando se abra la terminal
.

Cuando el profe menciona lo de la broma. 馃槇

En el curso de Python se crea un alias para activar el entorno virtual:

Relacionado con Git, el siguiente art铆culo puede ser de ayuda: Improve your productivity using git and bash aliases

Go to platzi!

alias ch='google-chrome'
alias platzi='ch https://platzi.com/home'

Un peque帽o aporte:

30 pr谩cticos alias para tu Bash

De todo y para todos鈥 馃槈馃槈馃槈

Si de casualidad instalaron oh-my-zsh pueden abrir en VSC los archivos

code .bashrc .zshrc

y si entran en el archivo .bashrc y buscan los alias que hay alli y no les funcionan es porque deben copiarlos y ponerlos en el archivo .zshrc

para cambiar de shell ya que si instalan oh-my-zsh, bash sigue funcionando solo deben escribir en su consola

bash o zsh 

para cambiar entre shells

Un peque帽o resumen
ln -s --> Nos permite a crear enlaces simb贸licos que en simples palabras son accesos directos con un nombre descriptivo o f谩cil de aprender, esto nos ayuda a acceder a ubicaciones dentro de nuestro sistema sin tener que usar rutas absolutas, esta es su estructura b谩sica:
ls -s ubicaci贸nAbsoluta nombreDescriptivo

printenv --> Nos imprime todas las variables de entorno configuradas en nuestro sistema.

Si deseamos el contenido de alguna variable de entorno utilizamos el comando echo $nombreVaraible

Si deseamos configurar nuestras variables de entorno debemos acceder al archivo oculto de nuestra Shell, para esto usaremos el comando ls -la y debemos encontrar uno de estos archivos (dependiendo tu SO):

  • Linux --> .bashrc

  • Mac --> .zshrc
    Generalmente este archivo no est谩 creado en Mac, para esto debemos crearlo, les dejo el siguiente vinculo en donde se habla de su creaci贸n (archivo zshrc)

Tras haber modificado o creado las variables de entorno, debemos guardar los cambios(dentro del editor de texto), luego debemos decirle a nuestra terminal que lea las variables de entorno y pueda actualizar (si es que existen cambios), para esto usamos el comando bash y listo, ya podemos usar nuestras variables de entorno, saludos a tod@s!!!

Les comparto mis apuntes, espero que le sirva. 馃槃
Nuestra shell o l铆nea de comandos tiene una configuraci贸n, esta y diferentes valores del sistema se pueden acceder a trav茅s de las variables de entorno es super 煤til poder manejarlas. Hay variables de entornos primordiales incluso para la configuraci贸n del sistema, podemos tener variables de entorno para saber la ubicaci贸n del home, los binarios, etc.

Links simb贸licos

Son un tipo de archivo que hacen referencia a un lugar, es como un acceso directo desde la terminal.

Lo podemos crear as铆:

$ ln -s [ruta] [nombre del link simb贸lico]

s: Es de simb贸lico.

Ejemplo

lrwxrwxrwx 1 galeedgutierrez galeedgutierrez   12 Aug  4 20:19 documentosLink -> ./documentos

Aqu铆 vemos que el link simb贸lico 鈥渄ocuementosLink鈥 apunta a ./documentos.

Tambi茅n vemos que antes de los permisos vemos una l.

Permisos dummy

Todos los permisos que vemos son permisos dummy o permisos que no tienen valor. Los links simb贸licos como tal no tienen permisos.

Variables de entorno

printenv

Este nos muestra todas las variables de entorno que tenemos configuradas

Imprimir variables de entorno

Podemos usar la siguiente sintaxis.

$ echo $[variable de entorno]

Variables que tenemos que conocer

$HOME

Es la ruta de nuestro home de nuestro usuario. Podemos usarla para ir al home.

$ cd $HOME

Esto es 煤til por si queremos configurar una ruta en espec铆fica que vayamos a usar en alg煤n programa o script, etc.

$PATH

PATH tiene toda la ruta en donde se encuentran los binarios que ejecuta nuestro sistema.

Modificar/crear variables de entorno

Debemos buscar el archivo .bashrc en el home de nuestra terminal, este archivo es donde se mantienen la configuraci贸n del bash. En caso de ZSH lo vamos a encontrar en .zshrc.

Modificar

Podemos modificar estos archivos desde un editor de texto como ser VSCode o con los que ya vienen en la terminal como VIM o NANO.

Podemos modificar o crear usando alias.

alias l='ls -lh'

Crear

MENSAJE_NUEVO="Mensaje"

A esto lo podemos invocar usando el comando echo, tal como $HOME o $PATH.

$ echo $MENSAJE_NUEVO

Manejadores de paquetes

Normalmente cuando estamos instalando nuevos binarios hay diferentes manejadores de paquetes, es el que se encarga de traer un repositorio e instalar alg煤n binario dentro de la m谩quina, esto lo podemos hacer con el sistema de paquetes nativos en Linux es apt, etc.

Lo que hacen estos es traer un repositorio, instalar alg煤n binario, pero no todas las veces las rutas donde est谩n estos binarios hay que agregarlos a la variable PATH.

Agregar una nueva ruta de binarios a PATH

Una vez dentro de la terminal realizamos lo siguiente

PATH=$PATH:nuevaRutaDelBinario

Cuando ponemos $PATH quiere decir que use lo que ya tiene y con : le estamos diciendo que agregue la nueva ruta del binario鈥

Alias

Es importante que tengamos cuidado con los alias y como los asignamos, no hay que crear alias de comandos que ya existen.

$ alias cd='rm -rf' #Es muy peligroso

Tambi茅n les comparto apuntes del mismo curso pero del 2019.

Clase: Qu茅 son y c贸mo se utilizan las variables de entorno

El hecho que podamos ejecutar comandos sin necesidad de colocar su ruta completa, esto es posible porque tenemos algo llamado variables de entorno.

Variable de entorno

Es una definici贸n global a la que todos los procesos tienen acceso y espec铆ficamente el sistema operativo tiene acceso a esa variable para tomar m谩s informaci贸n sobre lo que est谩 pasando a su alrededor.

$PATH

El $PATH o ruta en esta variable se almacena todas las rutas en la que el int茅rprete de comandos, la terminal, tiene que ir a buscar los archivos que pueden ser ejecutables.

Si usamos el comando:

$ echo $PATH

Podemos ver los lugares donde podemos encontrar los archivos ejecutables.

Todos los comandos que utilizamos tienen que estar definidos en la variable $PATH.

$: Es una forma de pedirle al int茅rprete de comandos que expanda el contenido de esa variable, esto sucede con todas las variables de entorno.

Todos los procesos tiene acceso a las variables de entorno, tanto para leerlas como para cambiarlas.

Asignaci贸n de las variables de entorno

Esto se puede hacer para un comando en particular o para toda la sesi贸n.

Asignaci贸n global

Para asignarla para toda la sesi贸n usamos el comando:

$ export VAR=valor

Asignaci贸n particular

Podemos definir el valor solamente para el pr贸ximo comando que vamos a ejecutar, no es usual, pero lo podemos usar para sobreescribir una variable que ya ten铆amos definida y no queremos alterarla para todos los comandos sino para una ejecuci贸n en particular.

$ VAR=valor comando

VAR: El nombre de la variable.

valor: Es lo que queramos que exista.

Clase: Sistemas de manejo de paquetes

Instalar software

Para poder usar un software que no viene en nuestro sistema, lo que necesitamos es instalarlo para poder usarlo.

Una instalaci贸n implica descargar el programa por lo que tenemos que saber de donde sacarlo, cuando lo tengamos procedemos a realizar la descarga, despu茅s tenemos que copiar los archivos del programa a los lugares en los que sea necesario y por 煤ltimo hacer algunas configuraciones para que el programa pueda correr.

Paquetes de software

Son programas que se encargan de realizar todas las tareas por nosotros y se llaman paquetes de software.

As铆 como existen los paquetes tambi茅n existen otros programas que son los administradores de paquetes, estos conocen de donde realizar la descarga que otros paquetes ya tenemos instalados y como configurara todo de tal manera que no genere conflictos, se encarga de resolver los problemas de dependencias.

Paquetes binarios

Seg煤n el sistema operativo vamos a poder usar diferentes manejadores de paquetes. Son archivos que ya son ejecutables.

apt

Se utiliza en distribuciones de Linux basadas en Debian.

install: Es uno de los comandos que tiene incorporado apt.

$ apt install nombreDelProgramaAInstalar

zypper

Se utiliza en las distribuciones de SUSE.

rpm

Es el comando universal, es un poco m谩s r煤stico.

En caso de no poder instalar debemos usar sudo.

lynx

Es un navegador de internet desde la l铆nea de comandos.

$ lynx paginaWeb

Paquetes de lenguajes

Son librer铆as escritas en el mismo lenguaje que vamos a utilizar.

Cada lenguaje propone su manejador de paquetes.

pip

Se usa con Python.

Para ejecutar archivos en Python necesitamos ciertas librer铆as como pandas.

$ sudo pip install pandas

composer

Es para PHP.

npm

Este es para NODE.JS.

Otros

Estos pretenden ser m谩s gen茅ricos con los que es posible instalar paquetes binarios o propios de un lenguaje.

  • conda
  • homebrew

Para usarlos hay que instalarlos primero.

Por alg煤n motivo al momento de ejecutar el comando code .bashrc en la terminal me sale esto.

As铆 que ingres茅 desde la terminal de Visual Studio code.

En este punto he decidido volver al principio del curso y tomarlo enserio ,no me sirve tener el certificado y la cabeza hueca.

Esta clase tiene la particularidad de que se siguen muchas procesos y el profesor da muchas instrucciones de muchas herramientas y codigos que podemos usar, pero en ning煤n momento se detiene a pensar en las personas que estan empezando a desarrollar su conocimiento y sus bases de programaci贸n por lo cual se hace muy dificil seguir la dinamica, ya que no se entiende que se esta haciendo, por que se esta haciendo y se pierde el hilo conductor

Si revisan el archivo .bashrc se van a encontrar con esto:

Lo que dice es que es preferible a帽adir nuestros alias personalizados en un archivo .bash_aliases

Para visualizar todos los alias que existen en nuestro sistema, basta con escribir alias en la terminal y nos mostrara todos los alias existentes.

Tambien es posible saber si un comando en especifico es un alias o no. Con el comando type podremos saber esto, por ejemplo, yo tengo un alias para neovim

$ type vim
vim is an alias for nvim

Cuando el comando es un comando nativo o una funci贸n, type nos lo dira.

$ type git
git is /usr/bin/git
$ type my_function
my_function is a shell function from /home/user/.zshrc

Para usuarios con WSL, hice un alias que permiten ingresar a https://platzi.com/home directamente, y da un peque帽o saludo:

alias platzi='cmd.exe /c start chrome  https://platzi.com/home && clear && echo "Saludos Platzinauta" | lolcat --animate' 

Hola a todos,para aquellos a los que el comando code . no les funciona en el WSL, les cuento que busqu茅 en varios post de Google y en uno encontr茅 lo que me funcion贸 y que fue la soluci贸n m谩s f谩cil.

  1. Abran una ventana de Windows PowerShell en modo administrador y ejecuten el comando wsl --update

  2. Cuando termine la actualizaci贸n del WSL (la cual puede demorar algunos minutos) ejecuten el comando en la ventana del PowerShell wsl --shutdown para que se apague la WSL y se apliquen los cambios.

  3. Abran nuevamente la wsl y listo, ya el comando code . en la WSL les deber铆a funcionar, bueno, al menos a mi me funcion贸.

Saludos

Link simb贸licos:

  • Son acceso directo desde la terminal

  • Para usarlo escribimos: Ln -s direcci贸n (nombre del atajo)

  • Se crea un documento especial (se puede observar con ls -l)

  • Ejemplo: ln -s Documents/Dev Desarrollo (para crear)

Definici贸n de variable de entorno:

  • Las variables de entorno nos sirve para acceder a las configuraciones de tu terminal y del sistema.

  • Las variables de entorno hacen referencia a archivos, directorios y funciones comunes del sistema cuya ruta concreta puede variar, pero que otros programas necesitan poder conocer.

  • Se pueden configurar, manipular y crear.

Comando printenv

  • Lista todas las variables de entorno

Comando echo {contenido}

  • Imprime la informaci贸n en contenido

  • En caso de variable de entorno: echo $variable

variable de entorno $HOME

  • Guarda la ruta del usuario

  • -echo $HOME // imprimir la ruta

  • -cd $HOME // ir a la ruta

variable de entorno $PATH

  • Guarda todas las direcciones de los binarios que ejecuta nuestro sistema.

  • Cuando ejecutamos node, usa esta variable para buscar el binario.

  • Esta variable es importante al instalar paquetes desde un gesto (como npm) pues muchas veces nos pedir谩 el paquete agregar la ruta del binario del paquete a la variable $PATH

.bashrc

  • Es el archivo donde se encuentra la configuraci贸n de nuestro bash.

  • Se puede modificar para modificar las variables de entorno.

  • De no existir debes crear lo junto al archivo .bash_profile

  • Para crear comandos tipo alias
    alias l=鈥榣s -lh鈥

  • Para crear variables de entorno
    MAXI_MESSAGE=鈥淗OLA MUNDA鈥

  • Para a帽adir nuevas rutas a la variable de entorno $PATH debemos concatenar la informacion previamente guardada con la nueva que queremos agregar:
    PATH=$PATH:/home/user/bin

Es increible el valor de esta clase , aqui les dejo unos alias que hice :

<alias nf="neofetch"
alias fx='firefox'
alias platzi='fx https://platzi.com/home'
alias yt='fx https://www.youtube.com/'
alias sup='sudo apt install update && sudo apt install upgrade && autoremove'
alias py="cd /home/bitecode/Bryan/python"
alias work="cd /home/bitecode/Bryan && code python"
alias bryan="cd /home/bitecode/Bryan"> 

Hola chicos y chicas, aqui les dejo un excelente video de las VARIABLES DE ENTORNO para reforzar lo que nos explico el profesor en esta clase, espero y les sea 煤til.
https://www.youtube.com/watch?v=ocdlXH9jAjA

La terminal tiene ciertas configuraciones, esta y diferentes valores del sistema se pueden acceder con variables de entorno. En ocasiones podremos crear alias pero esta vez ser谩n de forma permanente.

Los links simb贸licos hacen referencia a un lugar.

ln -s ruta nombreLink

De esta forma creamos un acceso directo a la ruta que escribimos con el nombre que mandamos como par谩metro. En este caso ahora si escribimos

cd nombreLink

Este nos mandara a la ruta que le asignamos en el comando.

printenv

Este comando nos muestra todas las variables de entorno que existen en nuestro sistema operativo.

echo $nombre

Este comando nos muestra el valor de la variable que seleccionemos. Al igual que ya tengamos el nombre y su valor, podremos utilizarlo para alg煤n programa o para usar comandos.

code .bashrc

Este comando nos abrir谩 visual studio code y nos abrir谩 el archivo .bashrc que es donde tenemos guardada todas nuestras variables de entorno y donde podemos modificarlas.

Si queremos crear una variable de entorno, necesitamos poner el nombre en may煤sculas y la sentencia que queramos entre " ".

Si queremos modificar una variable de entorno y concatenarla con su valor original, utilizamos

PATH=$PATH:/home/codevars/bin

NO HAGAS ALIAS DE COMANDOS EXISTENTES, ES PELIGROSO

Buenas, estoy haciendo el curso con una WSL con distribuci贸n Ubuntu, casi en todas las clases venia teniendo alg煤n problema ya sea con un comando, una extensi贸n y siempre que me fije a muchos les pasaba lo mismo por eso me puse a investigar y encontr茅 un mini tutorial de VS que explica paso a paso todo, desde este archivo pude solventar todos los problemas, espero les sirva =D
https://code.visualstudio.com/docs/remote/wsl-tutorial

Hola a todos!

En mi caso no encontraba el archivo .bashrc as铆 que buscando encontr茅 que estaba oculto y para poderlo visualizar us茅:

ls -la ~/ | more

Y problema solucionado鈥

Me generaba error al abrir el archivo con VS en WSL2, se soluciono reiniciando

Estos son mis alias:

# Actualizando el sistema
alias update="sudo apt update && sudo apt upgrade"

# 驴Qu茅 d铆a es hoy?
alias time="date; cal"

# Muestra todos los archivos de mayor a menor tama帽o, tambien los archivos ocultos y nos muestra los permisos, y por 煤ltimo, a帽ade / al final de cada directorio.
alias content="ls -lFAS"

Aqu铆 hay una lista de alias que pueden llegar a ser 煤tiles
https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html

Para los que esten usando WSL, y no les quiera reconocer el comando code a mi me funciono lo siguiente:

sudo apt-get update
sudo apt-get upgrade

cabe destacar que a mi me funcionaba normal desde el terminal de windows, pero queria abrir VSC desde ubuntu, con el codigo anterior me funciono.

驴Por qu茅 al guardar un alias en el .bashrc queda permanente?

.
Realmente no es que quede permanente si se guarda en el archivo de configuraci贸n de nuestra terminal. Lo que pasa es que este archivo es ejecutado cada vez que iniciamos la shell. Por esta raz贸n siempre que iniciamos la terminal estos comandos ser谩n ejecutados, se crear谩n los alias y estar谩n disponibles para nuestro uso 馃槈馃槉.

Dos alias que hacen de mi vida m谩s f谩cil son:

alias step1='sudo apt-get update'
alias step2='sudo apt-get upgrade'

me ahorran unos cuantos movimientos de dedos y son el pan de cada d铆a

En el 6:20 dices: 鈥渜ue te recomiendo que lo tengas, porque ya hiciste el curso de prework鈥, creo que Platzi deber铆a dejar claro qu茅 asume el instructor que uno ya ha hecho de cursos. A m铆 no me afecta, pero a otros que llegaron a este curso les puede frenar en su aprendizaje

Se pueden hacer cosas muy interesantes con esta informaci贸n

Hola alguien me podr谩 ayudar c贸mo accedo o ejecuto el comando 鈥榗ode .bashrc鈥 desde WSL?

Acabo de crear mi primer alias
En este caso no es muy relevante puesto que la ruta es solo 1 carpeta mas.
Pero aprendido esto podr茅 crear mis alias para los comandos de Git que despu茅s de tantas veces ingresarlos se agradecer铆a tener un atajo personalizado.
Ustedes tienen alias de git que deseen compartir como los colocaron? o si existe alg煤n est谩ndar 馃槄

Si a alguno no le funciona la terminal de Ubuntu cuando tratan de abrir VSCode con code . traten de usar otra terminal, yo use Windows Terminal y desde ahi se se hizo el update automaticamente del acceso a vscode.
Ya luego pude regresar a la terminal de ubuntu y pude abrir tranquilamente vsc, igual desde la windows terminal claro.

Los links simb贸licos son como darle un alias a una direccion en la computadora para acceder a ella m谩s r谩pido. Por ejemplo: ln -s Documents/Dev Desarrollo. -> ln -s para decir que es un link simb贸lico, luego la ruta a donde iremos y finalmente el nombre que tendr谩 este link simb贸lico. Los links simb贸licos no tienen permisos.

  • printenv nos mostrar谩 las variables de entorno de nuestra computadora.
  • echo $NombreDeVariable nos mostrar谩 una variable de entorno espec铆fica.

La variable de entorno PATH tiene las rutas de todos los binarios que se ejecutan en nuestro sistema. Esta variables es MUY IMPORTANTE.

En el archivo 鈥.bashrc鈥 tenemos guardadas las configuraciones de la terminal. Si es una terminal de ZSH, estar谩n en el archivo 鈥.zsgrc鈥

Un alias muy 煤til para evitar escribir git push origin main es simplemente alias gpom='git push origin main'.

Si usas Mac y te aparece en la terminal el mensaje 鈥渃ommand not found鈥. Abre VSC, ve a la opci贸n View y luego a Command Palette, te aparecer谩 un recuadro, aqu铆 buscas el sgte y se instalar谩, finalmente cierra/abre la terminal y usa Code.

Acabo de crear un alias, espero les sirva (la verdad se me hace my largo hacer todo ese proceso de entrar carpeta por carpeta y m谩s si lo que busco son mis archivos). 馃槖por fa si lo ven util sigan paso a paso. 馃憣

  1. si estamos en windos con wsl escribimos
code.bashrc

(si est谩n en mac .zshrc ) 馃槝ahora se abrir谩 VisualStudio si no, lo abren manualmente. 馃し鈥嶁檪锔

  1. en la linea 15 (es la que yo uso de referencia) 馃し鈥嶁檪锔徛(enserio haganlo para que se acuerden)聽馃槖 escriben o聽(copian y pegan preferiblemente todo lo que sigue desde aqu铆):

#esto lo hice para acortar tiempo y lo puedo modificar.

alias mipc='cd /mnt/c/Users/AquiPonenElNonmbreDeSuUsuario'

hasta aqui no mas.

ojo que la comilla final es necesaria, no est谩 de adorno. 馃槝

Si no saben como encontrar el nombre de su usuario la ruta en su computador Windows es:C:\Userssolo copien y peguen en la barra de buscar.(si el nombre de su usuario en el pc tiene espacios(CELIA CRUZ CORTEZ) se debe poner as铆:鈥淐ELIA CRUZ CORTEZ鈥聽y finalizar con la comilla sola 鈥>聽聽quedando as铆 la ruta:

alias mipc='cd /mnt/c/Users/"CELIA CRUZ CORTEZ"'

(cuidado con las may煤sculas y min煤sculas)

  1. ahora guardamos en VisualStudio con Ctrl+s
  2. vamos a la terminal de ubuntu o WSL y escribimos
bash

(esto para actualizar聽y si, es muy importante hacerlo) 馃槖
5. esribimos mipc y ahora disfruten su nueva ruta.si les gusto demen un coraz贸n no sean taca帽os.聽馃槩

12. Variables de entorno:

Para crear un archivo simbolico escribimos:

  1. ln -s Documents/Dev Desarrollo

Para ver nuestras variables de entorno usamos printenv

Veamos algunas variables de entorno:

  1. $HOME : Nos muestra la ruta de nuestro home.
  2. $PATH : Vamos a ver nuestro path de nuestro.

Jugando con la terminal

Probando los alias. 馃挭

En windows, para imprimir variables de entrono usamos

set variable de entorno

ejm

set HOME
es equivalente a echo $HOME

Si estan en MAC y quieren ver el .bash, solo tienen que editar el .bash_profile

Peque帽o resumen de lo que entend铆 a nivel no tan t茅cnico.

鈻禠os alias escritos directamente en la terminal solo funcionaran durante esa sesi贸n, si reinicias, cierras o recargas la terminal estos alias desaparecer谩n.

鈻禠os alias asignados en el archivo .bashrc o .zshrc (ubicado y oculto en $home) no se borran al cerrar o reiniciar la terminal.

鈻$PATH es la ruta donde se buscan binarios/archivos ejecutables para otros programas, todos los comandos que hemos ejecutado hasta ahora se encuentran en alguna carpeta de $PATH (min 4:14).

En el ejemplo que del profesor, la carpeta vac铆a BIN no se usara hasta el momento donde se instale alg煤n programa en esa carpeta (min 8:35), cuando un comando no funcione correctamente o un programa necesite buscar funciones en otra ruta que no este incluido en $PATH podemos asignar nuevas direcciones con las instrucciones del minuto (9:02)
PATH=$PATH:/HOME/carpetaDeTuEleccion/

si te aparece el error 鈥渟u: Authentication failure鈥, entonces para acceder a root debes usar

sudo root

Estos son algunos alias que utilice:

alias instalar='sudo apt-get install' 
alias actualizar='sudo apt update; sudo apt upgrade'

Si a alguien no le funciona el comando code a pesar de tener instalado Visual Studio Code, simplemente cierre la terminal y vuelvalo a abrir.

Gracias a esta clase, decid铆 crear un comando, un poco peculiar鈥

Para aquellos que est茅n usando la terminal de windows y les marque un error al ejecutar 鈥渃ode鈥 (no existe) intenten abrir ubuntu directamente desde su terminal en lugar de la de windows e intenten ejecutar el comando code.
Una vez hecho esto ya podr谩n volver a la terminal de windows y ejecutar el comando sin problemas

Siento que hacen falta cosas por explicar, sobre todo para usuarios de WSL, hay cosas diferentes y hay temas que necesitan mayor desarrollo

Les dejo mis apuntes de esta clase partida en 2 partes.


Para los que no pod铆an abrir VSC desde la terminal, sigan los pasos que les muestro en la imagen! Saludos

驴Qu茅 son las variables de entorno en Linux?

  • Las variables de entorno son valores din谩micos que afectan los programas o procesos que se ejecutan en un servidor Linux en este caso. Las variables de entorno se pueden crear, editar, guardar y eliminar.

  • Las variables de entorno de Linux, son marcadores de posici贸n para la informaci贸n almacenada dentro del sistema que pasa datos a los programas iniciados en shells (int茅rpretes de comando) o sub-shells.

  • El entorno se implementa como cadenas que representan pares clave-valor. Si se transmiten m煤ltiples valores, estos suelen separarse mediante s铆mbolos de dos puntos (馃槂. Normalmente, cada par tendr谩 un aspecto similar a este:

Les cuento que estaba intentando abrir el visual studio code con

<code .baschrc> 

y me abr铆a el visual studio pero con el archivo vac铆o, despu茅s de averiguar por todo lado encontr茅 que la soluci贸n era resetear, 馃槕 馃槕 pues eso hice, resetee la laptop y listo, ahora si abre.

No se la causa pero si la soluci贸n jajaja.

El problema de editar el archivo .bashrc con la finalidad de editar una variable de entorno como el ejemplo PATH=$PATH:/home/usuario/bin es que cada vez que se reinicie la bash se le va a agregar la misma ruta al final. Solo es una observaci贸n, 茅sta fue una poderos铆sima clase.

Comando para crear un link simbolico

ln -s <ruta> <nombre-link>

If you use WSL, and it is not working, the code command. You can use, the next steps:

  • Instead of running the command above, you can manually add VS Code to your path, to do so run the following commands:
cat << EOF >> ~/.bash_profile
  • Then add:
# Add Visual Studio Code (code)
export PATH="\$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
EOF
  • Start a new terminal to pick up your .bash_profile changes.
    And now, it is working.

Nota: Que pena mi ingl茅s, pero estoy tratando de manejar m谩s el ingl茅s t茅cnico, para mejorar en esta habilidad para mi trabajo.


manejador de paquetes es el que instala programas por ejemplo apt

Un atajo bastante simple pero 煤til a m铆 parecer es el comando:
$ cd ~
No importa en que path estemos, nos lleva al directorio Home.
$ cd /
Esto nos lleva directamente a la ra铆z ( root ) del sistema.

Vale tambi茅n a帽adir las funciones. Son similares al alias, pero permiten meter variables (por ejemplo, si quieres hacer find y rm pero sin meter todo el rato -exec鈥 o -delete).

# funci贸n en .bashrc para hallar y remover, 煤til cuando 
# uno usa wsl para borrar zoneid. El nombre viene de 
# findremove

fndrmv() {
    find . -name $1 -exec rm -ir {} \;
}

Ese es un ejemplo, pero puedes hacerlas m谩s complejas. Vale aclarar que hay otra forma de hacerlas, pero bueno. Lo importante es que se sepa que $1 es la variable que insertas.

Tratando de replicar lo que un compa帽ero hizo modificando el comando bash para que imprima un drag贸n el ejecutarlo como se muestra en la imagen:

Antes hagan una copia del archivo de configuraci贸n para que no les pas茅 lo que a mi que dejaron de funcionar el comando bash jajaja:

Despu茅s de esto editar el archivo:

Agregar esta l铆nea y guardar los cambios:

ejecutar nuevamente el comando bash para que se hagan efecivos los cambios:

Listo ya tienen su bash personalizado 馃槂

Muy buena explicaci贸n. como recomendaci贸n personal, les aconsejo que utilicen los al铆as de los comandos raros, aquellos que pueden ser muy dif铆ciles de aprenderse. Eso les evitara de estar buscando cada cierto tiempo en el historial de comandos.

Las variables de entorno son definiciones globales o valores globales a los que todos los procesos de un sistema tiene acceso, por ejemplo, la variable PATH es accesible para todos los procesos del sistema, debido a que en esta variable se almacenan todas las rutas de los ejecutables.

Para consultar el contenido de una variable de entorno se debe anteponer el simbolo pesos ($). Ejemplo: echo $PATH.

Se pueden asignar variables de entorno para un comando en particular o para toda la sesi贸n en que nos encontremos.

La asignaci贸n de variables de entorno para toda la sesi贸n, se realiza asi: export VAR=valor, donde VAR es el nombre de la variable que estamos creando y valor es lo que queremos que exista en esta variable.

para asignaci贸n de variables locales, simplemente se debe asignar un valor a una variable simple. Esto se utiliza por ejemplo, cuando queremos asignar un valor a una variable que solo sea valido para la ejecuci贸n de un comando, sin afectar el valor global que ya tengo asignado. Para eso, podemos hacerlo asi: VAR=valor comando.

Es un definici贸n global a la que todos los procesos tienen acceso. esta toma mas informaci贸n de lo que se este typeando.

Ejemplo: echo $PATH = se encuentran todos los comandos ejecutables

Asignaci贸n de las variables de entorno

export: Este comando se utiliza para asignar a toda la sesi贸n

Ejemplo: export MI_VAR = david, si luego escribimos echo $MI_VAR se mostrar谩 mauro en la terminal. (Este permanecer谩 miestras dure mi sesi贸n)

var: Este comando solo asigna el valor para el proximo proceso que se va a ejecutar. este no es muy usual.

Ejemplo: MI_VAR=/home php env.php

Variables de entorno
Son variables que cargamos en el c贸digo de la shell y que conviven de manera permanente para su acceso

  • Normalmente se escribe en may煤sculas una variable de entorno creada por el usuario
  • Se puede concatenar el valor de una variable
  • PATH=$PATH:/rutanueva/subdirectorio
  • Los dos puntos ( : ) son los encargados de concatenar

Comandos 煤tiles

  • printenv: muestra todas las variables de entorno
  • echo $nombreVariable: imprime la variable
  • $PATH: muestra los paths de binarios

Links simb贸licos

  • ln -s Directorio/Subdirectorio LinkSimbolico
  • Los links simb贸licos son como accesos directos

Las variables de entorno son una herramienta que nos va a facilitar mucho la vida en nuestro d铆a a d铆a, bien sea para tomar variables de entorno para nuestras aplicaciones como para crear las nuestras. De igual forma nos permite crear alias permanentes que nos ayudaran a simplificar nuestro trabajo con los comandos mas comunes que usemos.

Les comparto mi alias favorito

alias up='sudo apt update && sudo apt upgrade -y'

As铆 personalice mi terminal para que al abrirla siempre me aparezca rick

Hola Platzinautas despu茅s de ejecutar el comando code. bashrc me abre visual studio code pero el bash me sale vacio.
alguno sabe 驴 qu茅 puedo hacer para resolver este problema ?
encontre este video https://www.youtube.com/watch?v=c6IRQBqAw0I si este tiene la soluci贸n les estare comentando en caso de que alguien tenga mi misma duda

A quienes no les est茅 abriendo VSCode desde la terminal, hay mucho aportes en el chat, sin embargo intenten primero cambiar la configuraci贸n de la terminal si es que tienen 鈥淯buntu鈥 como perfil predeterminado, cambien la selecci贸n al otro 鈥淯buntu鈥 (en mi caso ten铆a la del ping眉ino y cambi茅 a la del circulo naranja).

Abran nuevamente la terminal y listo!.

Me funcion贸, espero le sea 煤til a alguien m谩s.

Se complementa con la lectura que est谩 en los recursos, ah铆 se suelen ver otro ejemplos m谩s pr谩cticos adem谩s de su explicaci贸n.

al instalar el code y ejecutar el comando code .bashrc me carga en blanco

Saludos. ten铆a el problema de no poder entrar al Visual Estudio Code desde mi SO Ubuntu pero ya lo hice. Entre en Ubuntu Software y ah铆 aparece un programa llamado CODE lo descargas y lo instala listo. Luego vas a la terminal y vuelves a escribir code .bashrc y ya abre el VSC (Visual Estudio Code) Espero les ayude mi aporte 馃槈馃槈

Clase 13 鈥 C贸mo configurar variables de entorno


驴Para qu茅 nos sirven las variables de entorno?

  • Para hacer que alguna informaci贸n prevalezca para que podamos trabajar m谩s r谩pido y no tener que recordarla en todo momento.
  • Hacer configuraciones globales.

驴Qu茅 podemos entender como un link simb贸lico?

  • Como un acceso directo a alg煤n directorio desde la terminal.

驴C贸mo podemos crear un link simb贸lico?

  • Con el comando:
    ln -s ruta nombre-link

驴Un link simb贸lico da todos los permisos a los diferentes roles que podemos tener en Linux?

  • Aunque veamos que todos los permisos est茅n dados, esto no significa que de verdad todos los roles tengan todos los permisos para el link simb贸lico. Esto es porque los permisos que vemos no tienen ning煤n valor.

驴Para qu茅 nos sirve el comando printenv?

  • Para imprimir en la pantalla todas las variables de entorno de nuestros sistema operativo Linux.

驴C贸mo podemos imprimir el contenido de una variable de entorno desde la terminal?

  • Escribiendo:
    echo $NOMBRE-VARIABLE

驴Los nombres de las variables de entorno est谩n en may煤scula?

  • S铆.

驴Qu茅 variables de entorno importantes deber铆amos de conocer?

  • HOME
  • PATH
  • BASH_VERSION
  • SHELL

驴Para qu茅 nos sirve la variable de entorno HOME?

  • Para saber la direcci贸n de nuestro home.

驴Para qu茅 nos sirve la variable de entorno PATH?

  • Para saber las direcciones de nuestros binarios que usa el sistema.

驴Por qu茅 la variable de entorno PATH es importante?

  • Porque es muy posible que necesitemos las rutas de dichos binarios para trabajar con manejadores de paquetes y algunos lenguajes de programaci贸n.

驴Para qu茅 nos sirve la variable de entorno BASH_VERSION?

  • Para saber la versi贸n del bash que estamo usando.

驴Para qu茅 nos sirve la variable de entorno SHELL?

  • Para saber la direcci贸n de la Shell que se est茅 usando.

驴En d贸nde podemos configurar nuestras variables de entorno?

  • Esto depende del sistema operativo
    Linux: en el archivo .bashrc
    Mac: en el archivo .zshrc

驴C贸mo podemos abrir los archivos bashrc o zshrc con Visual Studio Code?

  • Escribiendo:
    code .bashrc
    code . zsgrc

驴Qu茅 cosas podemos hacer dentro el archivo bashrc o zshrc a parte de configurar nuestras variables de entorno?

  • Crear alias que permanezcan para siempre en nuestro sistema operativo.

驴C贸mo ser铆a la sintaxis para crear una variable de entorno desde los archivos bashrc o zshrc?

	NOMBRE-VARIABLE=鈥渧alor鈥

驴Qu茅 debemos hacer cuando editamos los archivos bashrc o zshrc?

  • Cargar la bash.

驴C贸mo cargamos la bash?

  • Con el comando bash.

驴C贸mo podemos agregar contenido a la variable de entorno PATH?

  • Escribiendo:
    PATH=$PATH: 鈥榥uevo-contenido鈥

驴Deber铆amos crear alias de comandos que ya existen?

  • No.

Excelente curso, fue muy bueno

Como estoy usando WSL, cree este alias para que en el futuro al querer acceder a Windows, pues me evite algunas tecleadas jajajaja

ln -s [direccion] [NombreDelLinkSimbolico] -> de esta manera creamos los links simbolicos. En resumen, un link simbolico es un acceso directo a la direccion que especificamos al momento de ejecutar/crear el link simbolico. Los permisos que tienen los link simbolicos son permisos dummy o permisos sin valor ya que los links simbolicos no tienen valor
printenv -> nos muestra todas las variable de entorno que tenemos configuradas
echo $[NombreDeLaVariable] -> Nos imprime la direccion de la variable de entorno
echo $PATH -> PATH tiene todas las rutas de donde se encuentran los binarios donde se ejecutan en nuestros sistemas
~/.bashrc -> En este archivo se encuentran nuestran configuraciones de bash
~/.zshrc -> Si estamos utilizando zsh, los archivos de configuracion se encuentran en este archivo

Es curioso que despu茅s de la clase anterior me met铆 a buscar alg煤n curso de servidores linux y en esta clase lo sugieren.

Ok, en este momento dejo de tomar el curso y busco en otro lado informaci贸n sobre la terminal, aqu铆 estoy muy p茅rdido 馃檪

Los alias que mas voy a usar

alias l='ls -alh'
alias c='clear'
alias pp='cd /home/matiaschiodo/personalProjects'
alias rm='rm -ir'

Espero sirva:
Hice esta modificaci贸n en el archivo .bashrc
alias xampp=鈥榗d /opt/lampp
sudo ./manager-linux-x64.run鈥

Esto hace que se abra la interz谩s gr谩fica de xampp

El framework Laravel maneja un archivo .env donde se colocan las variables de entornos.

Para wsl el .bashrc que hay que abrir es el de el home, es deicr pueden ir al home y ahi si abrir el archivo:

cd $HOME //viene por defecto
code .bashrc

Y ahi si editan el archivo.
Para volver simplemente hacen:

cd $OLDPWD //viene por defecto

Y ven los resultados
//Esto es lo que me funciono a mi

Para aquellos que no pudieron abrir VSC desde la temrinal en wsl. la pueden abrir con el siguiente comando.

<wslview .bashrc> 

Les comparto mi primer alias de buenas practicas n_n

alias upup='echo "UPDATE!!!" && sudo apt update && echo "UPGRADE!!!!!" && sudo apt upgrade'

Algunos Alias que agregue
.

alias gp="git push origin main"
alias act="sudo apt update"
alias act2="sudo apt update"
alias prende="sudo /opt/lampp/lampp start"
alias apaga="sudo /opt/lampp/lampp stop"

Los 煤ltimos dos son para iniciar y detener xampp

Mi alias 馃槑

alias animo="cowsay \"S茅 que t煤 puedes lograrlo :3\" | lolcat"

Comando printenv te muetra todas las varianbles de entorno de tu equipo que tenemos configuradas
Impimir variables de entorno con echo $
Variable de todas las rutas que ejecuta nuestro sistema es con echo $PATH
麓PATH=$PATH: nueva ruta鈥 se agrega una nueva ruta de binarios
Nunca crean alias de comandos que ya existen

En windows, es necesario apenas salgan de WSL cambiar devolverse hasta home y cambiar el usuario para que no les quede por defecto en root

cuando abres un terminal en linux, por defecto est谩s en tu home /home/pepito/
podemos verlo as铆:

$ pwd
/home/pepito

(pwd= print work directory)

y si tecleo un comando, lo cual llama a un programa ejecutable (un binario), como por ejemplo 芦ls禄 que lista los directorios y archivos que hay en ese directorio, 驴c贸mo sabe el sistema operativo d贸nde est谩 ese binario para ejecutarlo?. La respuesta es, gracias al PATH.

autor: https://rootsudo.wordpress.com/2014/04/06/el-path-la-ruta-de-linux-variables-de-entorno/

comando printenv nos muestra las variables de entorno del sistema

No se como hacer, me dice, Estas tratando de usar Visual Studio Code como super usuario y no es recomendable

Un alias puede ser tan largo como se requiera y utilizar redirecciones y operadores de ejecuci贸n. El siguiente ejemplo que usa los parametros que se le pueden dar a ls, muestra todos los archivos (a), en una lista larga (l), con tama帽os de archivo facilmente entendibles (h) y al final de cada elemento le coloca una clasificaci贸n (/ para carpetas, *para archivos, etc.) y tambien 鈥渙rdena鈥 o muestra primero los directorios, luego los archivos, luego los enlaces y despu茅s otros tipos de recursos que pueden existir en el sistema de archivos de linux (los m谩s usados); al final muestra el total de uso en disco (tama帽o total de archivos), todo gracias a que se enlaza el resultado con el comando grep.

alias dir="ls -ahlF | grep '^d'; ls -ahlF | grep '^-'; ls -ahlF | grep '^l'; ls -ahlF | grep '^c'; ls -ahlF | grep '^b'; ls -ahlF | grep '^s'; ls -ahlF | grep '^p'; ls -ahlF | grep '^total'"

Se repite el comando ls tantas veces como tipos de recursos existen (archivos, directorios, enlaces, etc), pues grep imprime SOLO el resultado de las lineas que comienzan (^) por la letra de cada tipo de recurso, por ello hay que hacerlo, en secuencia por cada tipo de recurso, incluyendo la palabra total al final en una ultima busqueda.

Igualmente no es muy util utilizar este comando, se pierden los colores que da el comando ls, pero sobre todo porque la busqueda en una carpeta con muchos archivos o posiblemente en algunas utilizando el parametro -r sea una busqueda demasiado larga.

En mi caso no me funciono el code .bashrc y lo que hice fue abrir la terminal desde visual studio y ejecutar el mismo comando