Autor Wątek: Alias, czyli oszczędzamy pamięć... Własną :)  (Przeczytany 2305 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

pavbaranov

  • Administrator
  • Ekspert
  • *****
  • Wiadomości: 848
  • Reputacja +25/-0
  • Architektura: x86_64
  • DE/WM: KF5.16+Plasma5.4.95+KDEApps 15.11.80+git na KF5
  • Distro: Arch Linux
  • GPU: Radeon free
  • Kernel: 4.3 (BFQ/CK/BLD/UKSM/+optymalizacje)
Alias, czyli oszczędzamy pamięć... Własną :)
« dnia: Październik 30, 2014, 12:07:15 »
Wielu użytkowników linuksa narzeka na straszliwą konieczność pracy w konsoli. Na to, że wszystko tu trzeba wpisywać itp. itd. i bez tego ani rusz, a polecenia konsolowe to katorga dla "normalnego" człowieka, bowiem kto by spamiętał to wszystko.
Pomijam prawdziwość twierdzenia o konieczności wpisywania wszystkiego w konsoli. Obecne środowiska graficzne i programy dla nich, oferują spore możliwości praktycznie kompletnego pominięcia używania poleceń konsolowych. Niemniej jednak z różnych przyczyn może okazać się, że albo w istocie nie ma "zamiennika" z wygodnym GUI, albo owe GUI wcale nie jest wygodniejsze od polecenia wpisanego w konsoli, albo... no mnóstwo rzeczy, by skończyć na jednym: wolę używać pacman od octopi (choćby).
Niemniej jednak sam zauważam, że niektóre polecenia są zbyt długie, by je spamiętać (przykład z innego wątku:
# reflector --verbose --country 'Poland' -l 5 -p http --sort rate --save /etc/pacman.d/mirrorlist- zresztą po co?
W takich przypadkach z pomocą przychodzi nam "alias", dzięki któremu w swoim środowisku możemy przyporządkować określone ciągi pod łatwiejszą do zapamiętania nazwę, w dodatku łatwo zawsze dostępną. Raz zdefiniowane - jeśli tylko nie skasujemy sobie pliku, bądź zawartości katalogu /home/user/ będzie nam funkcjonować wiecznie.
Zamiast zatem ww. ciągu możemy wstawić dowolną inną nazwę, np. refresz (to wyłącznie przykład). Wówczas po wpisaniu w konsoli wyrazu: refresz, system (a w zasadzie, to bash), sam podporządkuje przypisane mu polecenie i je wykona.
Jak to zrobić?
Znów będzie konsolowo - kiedyś już pisałem dlaczego. Nie mam zamiaru zastanawiać się nad tym jaki edytor tekstu macie u siebie w systemie, ani czytać: mam komunikat, że nie znaleziono kate.

Zaczynamy od otwarcia w dowolnym edytorze tekstu (u mnie to będzie nano) plik ~/.bashrc
nano ~/.bashrci dopisujemy ciąg, który ma postać:
alias nazwa='polecenie'
Opierając się na przywołanym poleceniu reflectora, będzie to wyglądać następująco:
alias refresz='sudo reflector --verbose --country 'Poland' -l 5 -p http --sort rate --save /etc/pacman.d/mirrorlist'które po wpisaniu w konsoli polecenia: refresz - wykona to, co opisane jest tutaj: http://www.archlike.darmowefora.pl/index.php/topic,67.0.html

Poprzedzające polecenie: reflector, sudo pojawia się tutaj, z uwagi na to, że winno ono zostać wykonane z uprawnieniami administratora. Jeśli jakieś polecenie tego nie wymaga, to oczywiście je pomijamy.
Np.:
alias kwininfo='qdbus org.kde.kwin /KWin supportInformation'po wydaniu w konsoli polecenia kwininfo udzieli nam informacji o wsparciu dla KWin (oczywiście nazwa kwininfo jest przykładowa).

Po zapisaniu pliku .bashrc musimy jeszcze poinformować bash o wprowadzeniu zmian, co zrobimy poprzez wydanie w konsoli polecenia:
source ~/.bashrcJak nam się polecenie znudzi, bądź uznamy, że inne będzie dla nas łatwiejsze do zapamiętania, to po prostu edytujemy .bashrc, a potem wydajemy wspomniane wyżej polecenie source.
Zwracam jedynie uwagę na jedną rzecz. Aliasem można zmienić domyślne działanie polecenia, o czym system nas nie poinformuje. Dla przykładu, jeśli z jakiegoś powodu chcielibyśmy dać taki alias:
alias ls='sudo pacman -Syu'to "stracimy" w systemie polecenie ls, a w jego miejsce pojawi się komenda, która zaktualizuje nam system. Z drugiej strony, w ten sposób możemy zmodyfikować domyślne działanie jakiegoś polecenia, o ile nam na tym zależy.
Tak czy inaczej - ostrożności nigdy za wiele.

 

Polityka cookies
Darmowe Fora | Darmowe Forum
sawanna tojestforum altervita blume-treu moher