← Back to course

Zmienne Środowiskowe, Aliasy i Podstawy Shell

Zmienne Środowiskowe, Aliasy i Podstawy Shell

Witaj ponownie.

W poprzedniej lekcji nauczyłeś się pakować i rozpakowywać pliki za pomocą archiwów.

Teraz wchodzimy do świata shell.

To tutaj terminal zaczyna pamiętać rzeczy.

Zmienne. Ścieżki. Aliasy. Pliki konfiguracyjne.

W skrócie: uczymy terminal kilku nawyków.

Oby dobrych.

Czego Się Nauczysz

W tej lekcji nauczysz się:

Misja

Twoja misja jest prosta:

Zrozumieć, jak shell przechowuje informacje i jak tworzyć skróty dla komend, których używasz często.

Bo wpisywanie długich komend ciągle od nowa to nie dyscyplina.

To cierpienie z dodatkowymi krokami.

Wypisywanie Tekstu za Pomocą echo

Komenda echo wypisuje tekst.

Spróbuj:

echo "Cześć, terminalu!"

Powinieneś zobaczyć:

Cześć, terminalu!

Proste.

Użyteczne.

Bardzo uprzejme.

echo jest często używane do wypisywania wartości, testowania zmiennych albo tworzenia małych plików tekstowych.

Czym Jest Zmienna?

Zmienna to nazwa, która przechowuje wartość.

Stwórz jedną:

name="Viktor"

Teraz ją wypisz:

echo $name

Powinieneś zobaczyć:

Viktor

Ważne: nie używaj spacji wokół =.

To jest poprawne:

name="Viktor"

To jest błędne:

name = "Viktor"

Shell widzi spacje i się gubi.

Bardzo potężny.

Bardzo wrażliwy.

Jak genialny kot.

Wbudowane Zmienne Środowiskowe

Linux ma już wiele zmiennych środowiskowych.

Spróbuj:

echo $HOME

Możesz zobaczyć:

/home/viktor

HOME przechowuje ścieżkę do katalogu domowego.

Spróbuj:

echo $USER

Możesz zobaczyć swoją nazwę użytkownika.

Spróbuj:

echo $SHELL

Możesz zobaczyć coś takiego:

/bin/bash

albo:

/usr/bin/zsh

To pokazuje, jakiej shell używasz.

Zmienna PATH

Jedną z najważniejszych zmiennych jest PATH.

Spróbuj:

echo $PATH

Możesz zobaczyć coś takiego:

/usr/local/bin:/usr/bin:/bin:/home/viktor/.local/bin

PATH mówi shell, gdzie szukać komend.

Kiedy wpisujesz:

ls

shell przeszukuje katalogi z PATH, aż znajdzie program ls.

Bez PATH musiałbyś wpisywać pełne lokalizacje komend jak bardzo zmęczony robot.

Sprawdzenie, Gdzie Jest Komenda

Użyj:

command -v ls

Możesz zobaczyć:

/usr/bin/ls

Spróbuj:

command -v bash
command -v zsh
command -v python
command -v node

Niektóre mogą istnieć.

Niektóre nie.

Terminal jest szczery.

Czasem brutalnie.

Zmienne Tymczasowe

Zmienne utworzone w shell zwykle są tymczasowe.

Spróbuj:

course="Terminal Linux"
echo $course

Powinieneś zobaczyć:

Terminal Linux

Teraz zamknij terminal i otwórz go ponownie.

Spróbuj:

echo $course

Prawdopodobnie będzie pusto.

Shell zapomniał.

Nie dlatego, że jest niegrzeczny.

Po prostu tego nie zapisałeś.

Eksportowanie Zmiennej

Aby zmienna była dostępna dla procesów potomnych, użyj export.

Przykład:

export COURSE_NAME="Terminal Linux"

Teraz uruchom:

echo $COURSE_NAME

Powinieneś zobaczyć:

Terminal Linux

Zmienne środowiskowe są często używane do konfiguracji.

Na przykład:

export API_URL="http://localhost:8080"
export NODE_ENV="development"

Programiści używają tego cały czas.

Bo zapisywanie sekretów bezpośrednio w kodzie to sposób, w jaki projekty stają się miejscem zbrodni.

Pokazanie Zmiennych Środowiskowych

Aby zobaczyć wiele zmiennych środowiskowych, użyj:

env

To może wypisać dużo tekstu.

Możesz w tym szukać:

env | grep HOME

Albo:

env | grep PATH

Symbol | przekazuje wynik env do grep.

To nazywa się pipe.

Pipe to jeden z powodów, dla których terminal jest potężny.

I jeden z powodów, dla których ludzie zaczynają dziwnie się uśmiechać podczas używania Linuxa.

Czym Jest Alias?

Alias to skrót do komendy.

Przykład:

alias ll="ls -la"

Teraz uruchom:

ll

Działa jak:

ls -la

To przydatne, bo niektóre komendy są długie, a życie jest krótkie.

Przydatne Aliasy

Oto kilka przydatnych przykładów:

alias ll="ls -la"
alias gs="git status"
alias c="clear"
alias ..="cd .."

Teraz:

..

działa jak:

cd ..

Wygląda jak oszustwo.

Ale jest dozwolone.

Linux nie jest przeciwko skrótom.

Linux jest przeciwko głupotom.

Przeważnie.

Sprawdzenie Istniejących Aliasów

Aby zobaczyć istniejące aliasy:

alias

Możesz już mieć kilka.

Wiele systemów definiuje aliasy dla bezpieczeństwa lub wygody.

Na przykład:

alias rm="rm -i"

To pyta przed usunięciem.

Bardzo ostrożne.

Bardzo rodzicielskie.

Usunięcie Aliasu

Aby usunąć alias:

unalias ll

Teraz spróbuj:

ll

Może już nie działać.

To normalne.

Usunąłeś skrót.

Terminal nie chowa urazy.

Zwykle.

Trwałe Zapisanie Aliasów

Aliasy utworzone w terminalu znikają po jego zamknięciu.

Aby je zapisać, dodaj je do pliku konfiguracyjnego shell.

Jeśli używasz Bash:

nano ~/.bashrc

Jeśli używasz Zsh:

nano ~/.zshrc

Dodaj:

alias ll="ls -la"
alias c="clear"
alias ..="cd .."

Zapisz plik.

Potem przeładuj go.

Dla Bash:

source ~/.bashrc

Dla Zsh:

source ~/.zshrc

Teraz aliasy zostają.

Terminal się nauczył.

Dumny moment.

Prawie wzruszający.

Sprawdzenie, Jakiej Shell Używasz

Uruchom:

echo $SHELL

Jeśli widzisz Bash:

/bin/bash

użyj .bashrc.

Jeśli widzisz Zsh:

/usr/bin/zsh

użyj .zshrc.

Jeśli używasz Arch Linux z Zsh, tak, prawdopodobnie jesteś dokładnie taką osobą, która będzie za bardzo lubić aliasy.

Częste Błędy

Spacje wokół =

Źle:

name = "Viktor"

Dobrze:

name="Viktor"

Shell jest tutaj surowy.

Bez spacji.

Nie ma negocjacji.

Zapomnienie $

To wypisuje słowo name:

echo name

To wypisuje wartość zmiennej:

echo $name

$ oznacza:

Daj mi wartość zapisaną w tej zmiennej.

Bez $ shell myśli, że po prostu lubisz mówić imiona.

Zapisywanie aliasów w złym pliku

Jeśli używasz Zsh i edytujesz .bashrc, może nic się nie stać.

Jeśli używasz Bash i edytujesz .zshrc, może nic się nie stać.

Najpierw sprawdź shell:

echo $SHELL

Potem edytuj właściwy plik.

Mierz dwa razy.

Edytuj raz.

Praktyka

Spróbuj:

echo "Praktyka shell"
echo $HOME
echo $USER
echo $SHELL
echo $PATH
course="Terminal Linux"
echo $course
alias ll="ls -la"
ll
unalias ll

Potem odpowiedz:

  1. Co robi echo?
  2. Co pokazuje $HOME?
  3. Co robi $PATH?
  4. Co tworzy alias?
  5. Dlaczego aliasy znikają po zamknięciu terminala?

Mini Wyzwanie

Stwórz trzy aliasy:

alias ll="ls -la"
alias home="cd ~"
alias ports="ss -tuln"

Potem:

  1. Uruchom ll.
  2. Uruchom home.
  3. Uruchom ports.
  4. Zapisz te aliasy w .bashrc albo .zshrc.
  5. Przeładuj plik przez source.

Bez myszy.

Mysz patrzy teraz z emerytury.

Podsumowanie

Dzisiaj nauczyłeś się, że:

Shell to nie tylko miejsce, gdzie wpisujesz komendy.

To środowisko, które możesz dostosować.

Ostrożnie.

Z mocą.

I najlepiej bez zamieniania terminala w cyrk.

Następna Lekcja

W następnej lekcji napiszemy nasz pierwszy skrypt Bash.

To moment, w którym komendy przestają być pojedynczymi akcjami i zaczynają być automatyzacją.

Terminal zaraz zacznie robić nudną pracę za ciebie.

Wreszcie.