Kompilacja tricków w bashu

  • Będąc w powłoce używaj CTRL+R do wyszukiwania wpisanych już kiedyś poleceń
  • Dodaj “set -o vi” w swoim ~/.bashrc by używać skrótów klawiaturowych z VI zamiast emacsowych
  • używaj sedowej składni zastępowania tesktu w bashu
$ ls Downloads/
$ ^wnload^cument
 
  • używaj składni !!:n, gdzie n to parametry poprzedniego polecenia, możesz je podawać w zakresie:
$ ls Downloads/ Documents/ Projects/
ls Documents/:
ls Downloads/:
ls Projects/:

$ ls !!:1-2
ls Downloads/ Documents/

  • poprzedź poprzednie polecenie komendą sudo jeśli wykonałeś je bez
$ zypper up
Loading repository data...
Root privileges are required for updating packages.
$ sudo !!
sudo zypper up
 
  • zobacz więcej tricków z podmianą tekstu http://tiny.cc/ecv0cw http://tiny.cc/8zbltw
  • nohup ./skryp_ktory_dlugo_sie_wykonuje & i zostaw tak działający skrypt, możesz się teraz nawet wylogować
  • cd –  by wrócić do katalogu, z którego przed chwilą przyszedłeś
  • CRTL+X, CTRL+E by otworzyć edytor tekstu
  • użyj “pułapek” by posprzątać po sobie wychodząc z konsoli
  • shopt -s cdspell automatycznie naprawia Twoje literówki w cd

 

Pseudo aliasy do długich komend:

  • function lt() { ls -ltrsa “$@” | tail; }
  • function psgrep() { ps axuf | grep -v grep | grep “$@” -i –color=auto; }
  • function fname() { find . -iname “*$@*”; }

 

Narzędzia:

  • używaj htop zamiast top
  • ranger jest konsolowym managerem plików dla fanów vi
  • używaj apt-file by dowiedzieć się, która paczka zawiera plik którego szukasz
  • dict jest konsolowym słownikiem
  • naucz się używać findlocate by sprawniej odnajdywać pliki
  • trash-cli przenosi pliki do kosza zamiast je usuwać całkowicie
  • file podaje informacje o pliku jak rozdzielczość zdjęcia czy kodowanie znaków
  • awk ‘!x[$0]++’ by znaleźć duplikaty lini
  • echo skrypt.sh | at midnight odpali komendę o podanej porze
  • oddziel inne komendy poleceniem column -t by ładnie wyrównać je do kolumn
  • Wygooglaj magic SysRq by powrócić swoją maszynę do żywych
  • diff –side-by-side plikA.txt plikB.txt | pager by wygodnie przejrzeć różnice
  • j.py http://tiny.cc/62qjow zapamiętuje Twoje najczęściej używane foldery
  • dropbox_uploader.sh http://tiny.cc/o2qjow możesz używać Dropboxa przez API gdy nie możesz używać oficjalnego klienta
  • naucz się używać pushd by szybciej nawigować pomiędzy folderami zamiast cd
  • nigdy nie używaj chmod o+x * -R napisz X z wielkiej litery by omijać pliki wykonywalne
  • xargs bierze potok ( | ) swój input i dla każdego elementu wykonuje polecenie
     
$ echo 1 2 3 4 | xargs -n 2
1 2
3 4
 

Sieci

  • Nie wiesz z czym zacząć? sshfs_mount nie jest może zbyt stabilne, ale dobre na początek zamiast konfiguracji SMB
  • python -m SimpleHTTPServer 8080 szybko uruchomi sewer HTTP na porcie 8080 by się dzielić plikami w sieci
  • ssh -R 12345:localhost:22 server.com “sleep 1000; exit” przekieruje port 12345 serwer.com na Twój lokalny port ssh nawet gdy Twoja maszyna nie jest widoczna w sieciTeraz gdy zrobisz ssh localhost -p 12345 zalogujesz się do swojej maszynysleep nie pozwoli na to by zdalny serwer wyrzucił Cię za brak aktywności
  • zapoznaj się z ssh-keygen by nie musieć więcej wpisywać swojego hasła
  • socat TCP4-LISTEN:1234,fork TCP4:192.168.1.1:22 szybki NAT, przekierowuje Twój port 1234 na port 22 innej maszyny
  • skonfiguruj postfix by używać swojego GMailia z linii poleceń
echo "Hello, User!" | mail user@domain.com
 
  • lsof -i monitoruje połączenia sieciowe w czasie rzeczywistym
  • iftop pokazuje zużycie łącza przez połączenie
  • nethogs pokazuje zużycie łącza przez proces
  • użyj tego tricku by połączyć się z host2, który jest w prywatnej sieci, a pośrednikiem w połączeniu będzie host1:
Host host2
ProxyCommand ssh -T host1 'nc %h %p'
HostName host2
 
Ten wpis jest tłumaczeniem. Licencja CC by-ncc.
[Total: 0    Average: 0/5]