Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Czy aliasy na desktopie mogą być przydatne?

W dzisiejszym wpisie chciałem się z Wami podzielić moimi skromnymi doświadczeniami w używaniu aliasów. Nie raz odwiedzałem różne strony, gdzie ktoś dzielił się swoim zestawem, ale w większości przypadków były to zestawy poleceń o przeznaczeniu typowo administracyjnym. Mnie bardziej interesują pomysły na ułatwienie codziennej pracy na desktopie, osobie która korzysta również z konsoli. Mam nadzieję, że uda mi się tym wpisem rozpocząć dyskusję, w której podzielicie się swoimi zestawami aliasów, dzięki czemu można by zbudować w miarę uniwersalny zestaw startowy.

Co to są aliasy?

Być może wpis ten będzie czytany również przez osoby mniej obyte z Linuxem, dlatego słowem wstępu chciałem krótko wyjaśnić czym są aliasy i dlaczego mogą być w ogóle przydatne.

Wikipedia tłumaczy ogólnie alias jako ksywkę / pseudonim, który służy do identyfikacji osoby lub obiektu. W systemach unixowych alias jest poleceniem, które pozwala nam zastąpić bardziej złożone polecenie jakimś krótkim, łatwym do zapamiętania hasłem.

SKŁADNIA:

alias nazwa='złożone polecenie'

Przykład:

Chcemy sprawdzić nasz adres ip w sieci lokalnej. Niestety za każdym razem, gdy tego potrzebujemy, zapominamy polecenia i googlujemy. A gdyby tak po prostu wpisać własne polecenie, np. ip? Nic prostszego.

alias ip='ifconfig'

W tym przypadku ciapki (pojedynczy cudzysłów) są zbędne bo nasze polecenie składa się tylko z jednego wyrazu, ale jak ich zawsze używam, żeby wyrobić sobie taki nawyk, zwłaszcza że przeważnie aliasy tworzymy do poleceń złożonych.
Prawdopodobnie większość informacji wyświetloną przez to polecenie nas kompletnie nie interesuje. Chcieliśmy tylko sprawdzić nasz adres IP, ewentualnie maskę. Możemy więc nieco zmodyfikować to polecenie:

alias ip='ifconfig | grep inet addr'

Takie polecenie jest tym bardziej trudne do zapamiętania, a na pewno trudniej się wpisuje niż samo "ip".
Pipe "|" przekierowuje wyniki polecenia ifconfig do polecenia grep, które filtruje treść po zadanym haśle. W ten oto sposób otrzymujemy tylko te linijki, w których pojawia się adres IP. W moim przypadku są to dwie linijki bo poza interfejsem mojej karty sieciowej mam jeszcze włączony Loopback.
W Mincie oczywiście można sobie kliknąć na ikonkę połączenia sieciowego i tam wybrać Informacje, by uzyskać to samo w okienku graficznym. Większość rzeczy można obecnie zrobić w interfejsie graficznym i nie używać konsoli. W dużej mierze to kwestia osobistych preferencji stylu pracy z komputerem. Z własnego doświadczenia wiem, że gdy użytkownik oswoi się nieco z konsolą, to sięga do niej zdecydowanie częściej, bo jest szybka, konkretna i programowalna. Okienka z informacją o połączeniu sieciowym nie możemy sobie przefiltrować:)

Skoro mamy już sposób na proste uzyskanie adresu ip, to moglibyśmy się pokusić o alias do polecenia zwracającego nas zewnętrzny adres ip. Znów, można włączyć przeglądarkę, wejść na stronę typu myip.com/ i odczytać z niej nasz adres. Ja osobiście wolę wpisać sobie w konsoli myip. Naciskam enter i mam.

alias myip='wget -qO- http://wtfismyip.com/text'

Jest wiele sposobów by uzsykać zewnętrzne ip w consoli. Ja korzystam ze strony, która zwraca adres ip w postaci tekstowej. Tekst ten pobieram programem wget. Parametr -q ustawia wget w tryb cichy (nie wyświetla dodatkowych komunikatów), natomiast -O pozwala zapisać pobraną treść do pliku, natomiast "-" wpisany jako nazwa pliku sprawia, że treść nie jest zapisywana do pliku na dysku, tylko wypluwana na standardowe wyjście, czyli na konsolę.

Jak zapisać aliasy?

Polecenie alias sprawia, że nasze aliasy działają w konsoli tak długo, jak uruchomiony jest komputer. Być może na serwerach jest to wystarczająco długo, ale w domu komputer wyłączamy nawet kilka razy dziennie. Czy da się zatem zapisać jakoś aliasy na stałe, aby były dostępne w konsoli od razu po uruchomieniu?
Nie wiem jak to dokładnie wygląda na innych dystrybucjach (pracuję na Mincie), ale sądzę, że na Ubuntopodobnych jest tak samo jak u mnie. Ja zapisuję sobie wszystkie moje aliasy w pliku .bashrc, który znajduje się w katalogu użytkownika. UWAGA: jest to plik ukryty i aby go zobaczyć trzeba w menadżerze plików włączyć wyświetlanie plików ukrytych (CTRL+H).
Można też (będąc w katalogu domowym) w konsoli wpisać: gedit .bashrc Domyślnie plik ten jest pusty.
Ponieważ używam Minta na kilku komputerach, zapisuję sobie ten plik w Dropboxie, a następnie tworzę w katalogu domowy link symboliczny do lokalizacji w Dropboxie. Dzięki temu, jeśli na jednym z komputerów dopiszę sobie jakiś nowy alias, mam do niego dostęp także na pozostałych komputerach. Wszędzie mam takie samo środowisko pracy.
Ogólna postać polecenia tworzące link symboliczny:

ln -s źródło link

Aby więc utworzyć link do pliku .bashrc umieszczonego w Dropboxie wpisujemy:

ln -s ~/Dropbox/.bashrc .bashrc

gdzie "~" zastępuje nam ścieżkę do katalogu domowego użytkownika.

Dalsze przykłady

Skoro wspomniałem już o dopisywaniu nowych aliasów do mojego zestawu, to wspomnę również o tym, że z mojego doświadczenia wynika, iż wygodnie jest mieć alias na szybkie dopisywanie aliasów. :) Tak, tak, z czasem można się od tego uzależnić i tworzyć aliasy na wszystko, co nam tylko przyjdzie do głowy. Ja używam takiego:

alias brc='gedit ~/.bashrc'

Co ciekawe, polecenie wywołuje do edycji edytorem gedit plik w katalogu użytkownika, a nie ten w Dropboxie. Na tym właśnie polega piękno linków symbolicznych. Można powiedzieć, że link symboliczny jest traktowany jakby był samym celem, do którego prowadzi.

Może piszę to wszystko dosyć łopatologicznie, ale zależy mi na tym, by dotrzeć także do osób, które nie miały z tym styczności i mogły sobie samodzielnie sprawdzić działanie tego, o czym pisze.

Analogicznie mam także alias na wyświetlanie zawartości mojego zbiorów aliasów w konsoli: alias catbrc='cat ~/.bashrc'

Niby proste polecenie, ale tyle w nim znaków specjalnych, że się niewygodnie pisze.

Teraz kilka aliasów na instalację programów:

alias inst='sudo apt-get install'alias ppa='sudo apt-add-repository'alias update='sudo apt-get update'alias usun='sudo apt-get purge'

Włączanie/wyłączanie komputera:

alias uspij='sudo pm-suspend'alias wylacz='sudo shutdown -P now'alias hib='sudo pm-hibernate'alias restart='sudo shutdown -r now'Restart X'ów, na wypadek, gdyby skrót CTRL+ALT+BACKSPACE nie zadziałał.alias restartX='sudo service lightdm restart'

Kolejnym obszarem, w którym używam wielu aliasów to montowanie zasobów sieciowych.
Najpierw montowanie zasobów przez NFS. Owszem, mógłbym montowanie zrealizować w jakimś fstabie, ale ponieważ korzystam z tych zasobów od czasu do czasu, to wolę mieć kontrolę i podłączać je tylko wtedy, gdy ich potrzebuję.

alias doc='sudo mount -t nfs host:/folder1/doc ~/NFS/doc/'

Jako host wpisujemy adres ip serwera, na którym znajdują się zasoby udostępnione NFS'em. Skoro montujemy zasób tylko na określony czas, to warto sobie zrobić alias na odmontowanie:

alias udoc='sudo umount ~/NFS/doc/'

Teraz montowanie zasobów z sieci lokalnej udostępnionych sambą:

alias doc='sudo mount -t cifs -o username="użytkownik",password="hasło" //IP/folder1/doc ~/samba/doc'

W miejsce IP wpisujemy adres IP serwera samby.
Jeśli z jakiegoś powodu uważacie, że przechowywanie haseł w pliku tekstowym jest niebezpieczne, to można pominąć parametr hasła. Przy montowaniu wyskoczy w konsoli monit o podanie hasła samby, po monicie o wpisanie hasła super użytkownika. Ja lubię mieć hasło zapamiętane.

Teraz dwa aliasy na uruchomienie zdalnych pulpitów.
Najpierw VNCViewer:

alias ciocia='~/MojeProgramy/./VNC-Viewer-5.2.0-Linux-x86 ip-cioci'

Uwaga: Nazwę pliku wykonywalnego należy dostosować w zależności od używanej wersji VNC-Viewera!
Z tego co czytałem, nie ma możliwości przekazania z konsoli hasła do połączenia VNC-Viewera. Prawdopodobnie względy bezpieczeństwa o tym decydują.

Używam też Remminy, ze względu na jej możliwość obsługi RDP, także w wersji z Windowsa 8. Remmina obsługuje także protokół NX. Aby wywołać połączenie Remminy z konsoli, trzeba mieć wcześniej zapisane parametry połączenia do pliku. Taką konfigurację zapisujemy z poziomu programu. Następnie w aliasie odwołujemy się do tego pliku:

alias wujek='remmina -c ~/.remmina/1411908101121.remmina'

Mam jeszcze parę innych aliasów, których używam zdecydowanie rzadziej. Pozwolę sobie ich na razie nie zdradzać, żeby nie zaśmiecać wpisu niepotrzebnie, a jeśli wywiąże się dyskusja, to w zależności od jej kierunku, być może wtedy je dopiszę.

Przeciążanie poleceń aliasami

Na koniec chciałem wspomnieć o małej sztuczce związanej z aliasami. Polega ona na zastąpieniu istniejącej komendy własnym aliasem o tym samym brzmieniu.
Przykładowo często korzystamy z polecenia ls, ale nie podoba nam się forma wyświetlanych wyników. Preferujemy ls -la.
Możemy utworzyć następujący alias:

alias ls='ls -la'

To spowoduje, że ilekroć wpiszemy ls, to będzie działał nasz alias o ej nazwie, a nie oryginalne polecenie ls. Nie jest ono jednak utracone, a jedynie "schowane".
Aby wywowłać oryginalne polecenie ls bez kasowania aliasu wpisujemy:

\ls

Jest jednak jedna różnica między oryginalnym poleceniem ls a \ls. Oryginalne polecenie ls wyświetla nam wyniki kolorowane, a \ls jest pozbawione kolorów. Warto jednak znać taki zabieg, bo być może wolimy sobie przeciążyć kilka domyślnych poleceń. Przykładowo możemy ustawić by wszystkie linki były tworzone jako linki symboliczne.  

linux porady

Komentarze

0 nowych
hind   2 #1 23.10.2014 13:56

Akurat alias "ip" jest bardzo nie trafiony, zwłaszcza że nowej fedory jest to jedno z podstawowych poleceń do obsługi sieci

  #2 23.10.2014 14:05

A gdzie odpowiedź na pytanie postawione w tytule??? Dla przypomnienia pytanie brzmi: Czy aliasy na desktopie mogą być przydatne?

Byłbym wdzięczny za zmianę tytułu wpisu, bądź udzielenie tejże odpowiedzi. Mnie bardzo ciekawie to zagadnienie, przez co wpis mnie bardzo rozczarował...

  #3 23.10.2014 14:08

"\ls" nie wyświetla kolorów bo zazwyczaj "ls" jest już domyślnie zaliasowane na "ls --color=auto".

  #4 23.10.2014 14:08

"\ls" nie wyświetla kolorów bo zazwyczaj "ls" jest już domyślnie zaliasowane na "ls --color=auto".

  #5 23.10.2014 14:09

\ls nie wyświetla kolorów bo zazwyczaj "zwykłe" ls jest już domyślnie zaliasowane na ls --color=auto.

kaisuj   10 #6 23.10.2014 14:10

@hind: Moim zdaniem to był dobry przykład na rozpoczęcie tematu, a że w konsoli można to samo zrobić na wiele sposobów wiadomo nie od dziś. Jeśli Ty to samo robisz inaczej to nie znaczy, że Twój sposób jest lepszy, a mój nietrafiony. Chętnie zresztą zapoznam się z Twoim sposobem. Napisz coś więcej na ten temat.

Autor edytował komentarz.
  #7 23.10.2014 14:12

\ls nie wyświetla kolorów bo zazwyczaj "zwykłe" ls jest już domyślnie zaliasowane na ls --color=auto.

Ja tam nie lubię stosować aliasów, bo i tak ich później zapominam, albo się gubię i zastanawiam czy to było 'backup_file' czy 'file_backup'... ;) Jak już mam się pogubić to wolę się pogubić na oryginalnych komendach... :)

kaisuj   10 #8 23.10.2014 14:44

@likufanele (niezalogowany): Podpowiadanie tabem działa także na aliasach, a w razie problemu mam alias do wyświetlenia wszystkich aliasów. Poza tym własne nazwy lepiej się pamięta. Ostateczny argument za aliasami mam taki, że nie trzeba pamiętać wszystkich parametrów, a mam kilka aliasów, których bym za nic w świecie nie zapamiętał.

hind   2 #9 23.10.2014 14:46

@kaisuj w nowym centosie 7.0 i bodjaże w fedorze od wersji 19 domyślnie nie ma komendy ifconfig, route, network-system-config-tui i parę innych. Zamiast tego dostajemy nmcli i w/w ip.
Co prawda komenda ip była dostępna już wcześniej, ale teraz staje się domyślnym narzędziem do obsługi sieci.

kaisuj   10 #10 23.10.2014 14:47

@Wicu (niezalogowany): Wydaje mi się, że wykazałem przydatność aliasów na konkretnych przykładach. Przecież nie muszę odpowiadać jak w szkole: "Aliasy na desktopie uważam za przydatne bo :.." Napisałem, że w dużej mierze ich przydatność zależy od preferowanego stylu pracy z komputerem, aczkolwiek jeśli ktoś nie odrzuca konsoli, to istnieje wiele możliwych aliasów, które się bardzo przydają właśnie na desktopie w codziennym użytkowaniu.

  #11 23.10.2014 14:49

\ls nie wyświetla kolorów bo zazwyczaj "zwykłe" ls jest już domyślnie zaliasowane na ls --color=auto.

Ja tam nie lubię stosować aliasów, bo i tak ich później zapominam, albo się gubię i zastanawiam czy to było 'backup_file' czy 'file_backup'... ;) Jak już mam się pogubić to wolę się pogubić na oryginalnych komendach... :)

anakkin   5 #12 23.10.2014 14:50

kiedyś widziałem ciekawy alias:
alias simon_says='sudo'

pocolog   11 #13 23.10.2014 14:54

@likufanele (niezalogowany): komentarze niezalogowanych osob przechodza przez wieksza moderacje stad opoznienie w ich pojawianiu sie na stronie. Nie wysylaj jednego komentarza kilka razy jak dostajesz odpowiedz od serwera ze zostal dodany pomimo ze go od razu nie widzisz.

  #14 23.10.2014 15:11

No właśnie za każdym razem dostałem odpowiedź, że wystąpił błąd...

WODZU   16 #15 23.10.2014 15:40

Człowiek napisał wpis, który może być przydatny, szczególnie dla początkujących użytkowników Linuksa i co? I oczywiście pod spodem komentarze, że bez sensu, że po co, że ja wiem lepiej... Wszyscy mądrzy i elokwentni, ale jak dzwonią podczas transmisji na YT, to można sobie w łeb strzelić, słuchając tego jąkania.

pocolog   11 #16 23.10.2014 16:24

@WODZU: Nie kozakuj, mozna sie stremowac. Ogladalnosc na poziomie 150 widzow, caly swiat na ciebie patrzy a ty tu mow! ;)

  #17 23.10.2014 16:26

@kaisuj: iptraf/ipconfig weź no poczytaj trochę bo widać że nie znasz podstawowych poleceń zarządzania ruchem, więc jak hind zauważył alias jest nietrafiony. Zmień ip na coś innego bo to się krzaczy.... człowieku przyjmij to na klatę że błąd popełniłeś a nie się bulwersujesz..

WODZU   16 #18 23.10.2014 16:52

@pocolog: Jak mawiają starożytni Rosjanie - you made my day :D

kaisuj   10 #19 23.10.2014 16:53

@Anonim (niezalogowany): Wcale się nie bulwersuję. Po prostu chciałbym zrozumieć o co Wam chodzi. Piszesz, że popełniłem błąd, a nie wyjaśniasz na czym on polega. Skoro uważasz, że wiesz coś czego ja nie wiem i przeszkadza Ci moja niewiedza, to podziel się swoją wiedzą.

  #20 23.10.2014 17:08

@kaisuj: Wykazałeś, że można konstruować aliasy oraz w jaki sposób to osiągnąć. Czy efekty Twojej pracy będą przydatne, nie napisałeś.

Wyobraź cechę przedmiotu, która jest powszechnie dostępna. Wyobraź sobie, że ktoś postanowił opisać sposób wykorzystywania tej cechy, więc napisał bloga na jej temat. O takim wpisie można powiedzieć, że jest to instrukcja pozwalająca poznać metody korzystania z opisanej cechy tego przedmiotu. Czy to jest wystarczające do tego by uznać daną cechę za przydatną? Nie! Nawet jeżeli dana cecha jest przydatna, dopóki nie dowiedzie się samej przydatności, dopóki owy wpis nie będzie oceną przydatności. To absolutnie nie jest nic złego, pod warunkiem, że autor wpisu na blogu nada mu temat adekwatny do treści, np. Poradnik korzystania z cechu przedmiotu XYZ. I wtedy wszystko jest ok.

Uważam, że Twój wpis informuje jak korzystać z cechy basha jaką jest tworzenie aliasów i uważam, że tytuł tego wpisu powinien odzwierciedlać treść.

I to tyle. I mogę się oczywiście mylić, ale wtedy proszę o wskazanie błędów w moim rozumowaniu.

koksik202   8 #21 23.10.2014 17:57

ciekawy wpis na pewno skorzystam z "alias myip='wget -qO- http://wtfismyip.com/text'"

zaczynam zabawę z hypervisorami i stawianiem wirtualnych maszyn Debian z LAMP na pewno przyda się kilka takich tricków przy tym

nr47   7 #22 23.10.2014 18:44

To ja zaspamuję aliasem na mój ulubiony kalkulator, może komuś się przyda:
alias calc='python -i -c "from math import *"'

Ubbaa   6 #23 23.10.2014 18:45

@WODZU: #14 " że bez sensu, że po co, że "
Jeśli używasz Linuksa to zauważyłeś, że aliasy są nie dobrane jak ip czy restart. Jak tylko zaloguje się na moją maszynę to podam kilka moich.

A wpis fajnie się czytało, czuć nutkę odkrywcy :)

mikolaj_s   13 #24 23.10.2014 19:42

@Wicu (niezalogowany): " Wykazałeś, że można konstruować aliasy oraz w jaki sposób to osiągnąć. Czy efekty Twojej pracy będą przydatne, nie napisałeś."

Jak jesteś tam mało domyślny to mogą Ci się te aliasy nie przydać. ;) Sam sobie zdecyduj/odkryj, czy dla Ciebie są one przydatne czy nie. Nie oczekuj, że ktoś Ci powie czy dla Ciebie będą dobre. Dla autora są, to oczywiste, ale nie oczekuj, że będzie Ci wciskać swój punkt widzenia (to właśnie świadczy o dobrym poziomie tego wpisu).

" to tyle. I mogę się oczywiście mylić, ale wtedy proszę o wskazanie błędów w moim rozumowaniu."

Wskaż błąd w stwierdzeniu, że aliasy mogą być przydatne. Albo spróbuj udowodnić, że nie mogą :)

roobal   14 #25 23.10.2014 19:43

@kaisuj: Alias nie jest nietrafiony przez to, że można to zrobić inaczej, ale przez to, że w Linuksie masz polecenie ip, które służy między innymi do tego co twój alias i nie tylko. Poczytaj o iproute2 to będziesz wiedział dlaczego alias ip jest nietrafiony.

pocolog   11 #26 23.10.2014 19:48

@Wicu (niezalogowany): Kazdy potrafi wyciagnac samodzielnie wnioski o przydatnosci opisanego rozwiazania kiedy zostanie mu ono wytlumaczone. Uwazam za bezcelowe wskazywanie palcem oczywistosci bo taki tekst traktowal by czytelnika jak idiote.

kaisuj   10 #27 23.10.2014 20:21

@roobal: Szczerze mówiąc to nadal nie jestem pewien czy dobrze rozumiem co macie na myśli. Chodzi tylko o nazwę aliasu, która jest identyczna z poleceniem ip, które pozwala osiągnąć taki sam efekt, a jednocześnie ma większe możliwości, a zatem stosując taki alias blokuję sobie dostęp do tego polecenia?
Tak czy siak, Wasza uwaga na ten temat skłoniła mnie do pobieżnego przestudiowania tematu i przez przypadek znalazłem prostszą metodę wyłuskania adresu ip (przy założeniu jednego aktywnego interfejsu):
hostname -I

Autor edytował komentarz.
Luki_2   8 #28 23.10.2014 23:07

@kaisuj: Pomysł na wpis fajny, wykonanie 3+/5. Przykłady wydają się mało praktyczne, tzn. można chyba zdecydowanie lepiej wykorzystać aliasy. Choćby poprzez dłuższe polecenia, bardziej konkretne, które zdecydowanie dłużej osiąga się na piechotę aniżeli poddając je aliasom. Jest nieźle, ale może być sporo lepiej? Udało Ci się pokazać wg mnie użyteczność aliasów, ale dałbyś rade zrobić to trochę lepiej :-)

Autor edytował komentarz.
moh   6 #29 24.10.2014 00:08

alias yolo='git commit -am "DEAL WITH IT" && git push -f origin master'
Z roflcoptera - bardzo mi sie podba ten alias

  #30 24.10.2014 09:18

@mikolaj_s: Naprawdę potrafię sam o siebie zadbać i jeśli pewnego dnia będę potrzebował aliasów, wierz mi, poradzę sobie. Problem polega na tym, że rozmowa dotyczy czegoś zupełnie innego. Problem polega na tym, że tytuł jest nieadekwatny do treści. Próbowałem traktować to jako rzecz mało istotną, taką krótką uwagę dla autora, ale widzę, że zamiast tego, próbuje się tu robić z bieli czerń i źle dobrany tytuł okazuje się być moim problemem, a nie tekstu. Doprawdy, gratuluję logiki rozumowania...

@pocolog: Skoro każdy potrafi takie wnioski wyciągnąć, po co użyto takiego tytułu dla tego wpisu??? Wykazałem chyba, że problemem jest przede wszystkim użycie takiego tytułu.

  #31 24.10.2014 09:24

@moh: Komentarz do commita wyjaśnia wszystko. Ciekawe, jak później commity będziesz przeszukiwał. :D

mikolaj_s   13 #32 24.10.2014 13:52

@Anonim (niezalogowany): Czepiasz się ;)

Ubbaa   6 #33 24.10.2014 22:31

@moh #29: Dobre , rozbawiło mnie to :)

@kaisuj #27: "szczerze mówiąc to nadal nie jestem pewien czy dobrze rozumiem co macie na myśli. Chodzi tylko o nazwę aliasu, która jest identyczna z poleceniem ip"

Tu raczej chodzi o pewne standardy ogólnoprzyjęte. Komenda "ip" jest wykorzystywane w niektórych dystrybucjach i nie powinna być nadpisana. Drugi, który mi się rzucił w oczy to "restart" po co skoro 95% dystrybucji pozwala na reboot (tylko bardzo stare dystrybucje nie pozwalały na to i nie pamięta dlaczego). Niepotrzebna redundancja.
A z drugiej strony każdy ma prawo do własnych aliasów nawet do
alias yes="yes n"
... i wyjdzie to doskonale jeśli opiszesz taki alias z dozą humoru.
Trochę też zbrakło tu typowych aliasów dla desktopu, cześć z zaprezentowanych aliasów mogłaby równie dobrze sprawować się na serwerze czy tylko w trybie tekstowym.

Zgodnie z obietnicą kilka moich aliasów desktopwych:
1.
alias mynotify='notify-send -u critical -h int:x:1280 -h int:y:22 '
Wysłanie notyfikacji na desktop, przydatne zwłaszcza jak zalogujesz się zdalnie przez ssh i chcesz przekazać wiadomość osobie siedzącej przed komputerem (pamiętaj o export DISPLAY=":0" oraz o xhost + 127.0.0.1).

2.
alias swine='schedtool -a 0x1 -e wine '
Niektóre gry pod WINE źle działają na wielu procesorach (jak NFS II SE z emulacją 3dfx-a). Alias odpala tylko na pierwszym procesorze wine.

3.
alias xres='xrandr -s 1280x800'
Niekiedy gra działając w niższej rozdzielczości wysypie się, czy po wyjściu zapomni o zmianie rozdzielczość na wyższą. Alias przywaraca mi domyślną rozdzielczość (zawsze używam czegoś aka guake, gdyż nie każdy desktop radzi sobie z alt+f2 i aliasami).

4.
alias crt-on='disper -d DFP-0,CRT-0 -r auto -e -t left'
Wymuszenie wałczenia drugiego monitora po lewej stronie, rozszerzającego desktop dla kart Nvidia. Obecnie rzadko używany, gdyż zieloni znacznie poprawili jakość sterowników i na laptopie można ten sam efekt uzyskać wciskają odpowiedni klawisz funkcyjny.

I trochę mniej desktopowych:
5.
alias mountnrg='sudo mount -o loop,offset=307200 '
Montowanie płyt zrzuconych przez Nero.

6.
alias scpresume='rsync -Pazhv -e ssh -p '
Wznawianie operacji kopiowania przerwanej przez scp.

Autor edytował komentarz.
  #34 25.10.2014 01:55

Z ciekawszych rzeczy w moim pliku .zshrc (odpowiednik .bashrc, tylko że dla powłoki zsh) trzymam sobie takie linijki:

1)
USER = alpha
alias reisersync="sudo rsync -avxP --delete /home/$USER/.backups/system/latest/ /home/$USER/.backups/system/previous/ && sudo rsync -avxP --delete / /home/$USER/.backups/system/latest/"

Co to robi?
a) Do zmiennej USER przypisuje nazwę mojego profilu (zdarza mi się ją zmieniać, bo eksperymentuję z dystrybucjami od czasu do czasu).
b) tworzy mój alias 'reisersync', którego zadaniem jest wykonanie dla mnie i za mnie podwójnej kopii zapasowej całego systemu (nie licząc podpiętych dysków i katalogu "/home", który siedzi na osobnym dysku) z użyciem programu rsync. Najpierw metodą porównywania robi kopię obecnej kopii (po to, bym w razie stworzenia błędnego backupu miał do czego wrócić :p) i umieszcza ją w "~/.backups/system/previous", a następnie wykonuje prawdziwą kopię zapasową, też metodą porównywania (bo szybciej) i umieszcza ją tuż obok w katalogu "latest".

Co podoba mi się w tym aliasie najbardziej? To, że kopie powstają bardzo szybko (urok programu rsync), to że nieistniejące pliki z kopii są usuwane oraz to, że używając systemu plików btrfs zajmuje to naprawdę niewiele miejsca na dysku.

Uwagi? Gdyby ktoś chciał powyższego aliasu używać u siebie, to musi zmienić nazwę profilu na własny, zainstalować program rsync oraz stworzyć odpowiednie katalogi na własną rękę.



2)
alias webrestart="sudo systemctl restart lighttpd.service && sudo systemctl restart php-fpm.service"

Co to robi? To akurat podstawa w momencie, gdy zaczynam zabawę z php - resetuje (lub uruchamia, jeśli jeszcze nie są włączone) serwer http oraz php. Czemu nie mam ich w "autostarcie"? Bo nie są mi potrzebne za każdym razem, gdy włączam komputer :)

Uwagi? Na dobrą sprawę użyłem tego aliasu tylko raz :p Od tamtej pory korzystam ze skrótu klawiaturowego "CTRL+R" i wpisuję tylko pierwsze trzy litery i potwierdzam enterem. Jest jeszcze szybciej :)

  #35 25.10.2014 02:23

Też mam alias na dopisywanie aliasów! :D

Leci on tak:

addalias()
{
echo "alias $1=\"$2\"" >> /home/mojanazwaużytkownika/.zshrc
echo "Dodano nowy alias '$1'. Bedzie on dostępny w nowym terminalu"
}
alias addalias=addalias

Jak to działa? Tworzę sobię w pliku .zshrc "na boku" funkcję o nazwie _addalias. Potrafi ona przyjąć i obsłużyć dwa parametry. Pierwszym parametrem z założenia ma być nazwa aliasu, a drugim jego ciało. Następnie alias ten jest dopisywany do końca pliku .zshrc w moim katalogu domowym a ja dostaję o tym śliczną informację. Tyle na dobrą sprawę by wystarczyło, ale że tematem nie jest pisanie funkcji, a aliasów, to daną funkcję przypisujemy do aliasu o tej samej nazwie :p.

Przykład użycia?
addalias siema "echo 'Witaj! Co u Ciebie?' && echo '...znowu piszę sam ze sobą...'"

Wynik:

Witaj! Co u Ciebie?
...znowu piszę sam ze sobą...

  #36 25.10.2014 02:38

addalias()
{
echo "alias $1=\"$2\"" >> /home/mojanazwaużytkownika/.zshrc
echo "Dodano nowy alias '$1'. Bedzie on dostępny w nowym terminalu"
}
alias addalias=addalias

roobal   14 #37 26.10.2014 02:29

@kaisuj: "a zatem stosując taki alias blokuję sobie dostęp do tego polecenia? "
Tak, bo jak masz pod aliasem ifconfig | grep inet, to wpisując ip a, będziesz mial ifconfig | grep inet a.

  #38 26.10.2014 07:26

@Wicu (niezalogowany): Kaisuj pokazał, że używanie aliasów może usprawnić obsługę systemu przez zwykłego/desktopowego użytkownika linuksa. Z artykułu widać, że aliasy nie są czymś interesującym tylko dla administratora systemu serwerowego. IMHO nie trzeba pisać dodatkowo "to jest przydatne" - każdy sam może ocenić, czy i jak często używa w konsoli danych poleceń i czy chciałby je skrócić, żeby ułatwić sobie życie.

Mnie osobiście do przeczytania artykułu zachęcił właśnie jego tytuł - byłem ciekaw jakich to aliasów używa autor "na co dzień / na desktopie". Treść okazała się ciekawa, a aliasy przydatne. Poza tym całość napisana jest na tyle jasno, że będę mógł polecić ten art młodszym adeptom linuksowego biurka, którzy dopiero poznają tajniki systemu. Brawo! Dzięki za podzielenie się z nami Twoimi aliasami:)

  #39 26.10.2014 08:01

@kaisuj: Tu nie chodzi tylko o blokowanie _sobie_ dostępu, bo tak jak wspomniałeś user mógłby użyć \ip, żeby dostać się do oryginalnego polecenia. Problem leży jeszcze w tym, że 'ip' jest na tyle standardowym i powszechnym poleceniem, że różne skrypty konfiguracyjne (systemowe lub z jakiś innych programów) mogą zakładać, że nie jest ono nadpisane aliasem. Te skrypty prawdopodobnie przestaną działać, bo nie dostaną tego, czego spodziewały się po użyciu polecenia ip.

Dlatego generalnie lepiej jest stosować nazwy aliasów, które nie nadpisują nazw standardowych poleceń, bo mogą być one używane przez zewnętrzne skrypty / instalatory, konfiguratory itp.

  #40 26.10.2014 08:01

@kaisuj: Tu nie chodzi tylko o blokowanie _sobie_ dostępu, bo tak jak wspomniałeś user mógłby użyć \ip, żeby dostać się do oryginalnego polecenia. Problem leży jeszcze w tym, że 'ip' jest na tyle standardowym i powszechnym poleceniem, że różne skrypty konfiguracyjne (systemowe lub z jakiś innych programów) mogą zakładać, że nie jest ono nadpisane aliasem. Te skrypty prawdopodobnie przestaną działać, bo nie dostaną tego, czego spodziewały się po użyciu polecenia ip.

Dlatego generalnie lepiej jest stosować nazwy aliasów, które nie nadpisują nazw standardowych poleceń, bo mogą być one używane przez zewnętrzne skrypty / instalatory, konfiguratory itp.

  #41 26.10.2014 08:03

@kaisuj: Tu nie chodzi tylko o blokowanie _sobie_ dostępu, bo tak jak wspomniałeś user mógłby użyć \ip, żeby dostać się do oryginalnego polecenia. Problem leży jeszcze w tym, że 'ip' jest na tyle standardowym i powszechnym poleceniem, że różne skrypty konfiguracyjne (systemowe lub z jakiś innych programów) mogą zakładać, że nie jest ono nadpisane aliasem. Te skrypty prawdopodobnie przestaną działać, bo nie dostaną tego, czego spodziewały się po użyciu polecenia ip.

Dlatego generalnie lepiej jest stosować nazwy aliasów, które nie nadpisują nazw standardowych poleceń, bo mogą być one używane przez zewnętrzne skrypty / instalatory, konfiguratory itp. do wyciągania konkretnych informacji z systemu.

  #42 26.10.2014 08:03

@kaisuj: Tu nie chodzi tylko o blokowanie _sobie_ dostępu, bo tak jak wspomniałeś user mógłby użyć \ip, żeby dostać się do oryginalnego polecenia. Problem leży jeszcze w tym, że 'ip' jest na tyle standardowym i powszechnym poleceniem, że różne skrypty konfiguracyjne (systemowe lub z jakiś innych programów) mogą zakładać, że nie jest ono nadpisane aliasem. Te skrypty prawdopodobnie przestaną działać, bo nie dostaną tego, czego spodziewały się po użyciu polecenia ip.

Dlatego generalnie lepiej jest stosować nazwy aliasów, które nie nadpisują nazw standardowych poleceń, bo mogą być one używane przez zewnętrzne skrypty / instalatory, konfiguratory itp. do wyciągania konkretnych informacji z systemu.

  #43 26.10.2014 08:43

@kaisuj: Tu nie chodzi tylko o blokowanie _sobie_ dostępu, bo tak jak wspomniałeś user mógłby użyć \ip, żeby dostać się do oryginalnego polecenia. Problem leży jeszcze w tym, że 'ip' jest na tyle standardowym i powszechnym poleceniem, że różne skrypty konfiguracyjne (systemowe lub z jakiś innych programów) mogą zakładać, że nie jest ono nadpisane aliasem. Te skrypty prawdopodobnie przestaną działać, bo nie dostaną tego, czego spodziewały się po użyciu polecenia ip.

Dlatego generalnie lepiej jest stosować nazwy aliasów, które nie nadpisują nazw standardowych poleceń, bo mogą być one używane przez zewnętrzne skrypty / instalatory, konfiguratory itp. do wyciągania konkretnych informacji z systemu.

kryspin013   3 #44 26.10.2014 16:13

alias please='sudo $(fc -nl -1)'

skandal   2 #45 28.10.2014 15:19

Też mam kilka aliasów, głównie do połączeń zdalnych. Zapamiętanie rdesktopa o składni rdesktop -r printer:HP_LaserJet_M1120n_MFP -r disk:home=/home/user -r clipboard:PRIMARYCLIPBOARD -g 1330x700 -n x.x.x.x x.x.x.x nie należy do nałatwiejszych ;)

Autor edytował komentarz.