Kategórie →

All posts tagged Bash

Skracujeme URL s bit.ly aj cez shell

Bit.ly je moja obľúbená služba pre skracovanie URL. Svoje opodstatnenie má hlavne pri mikroblogoch ako je Twitter alebo Plurk. No môže sa hodiť aj pri práci s CLI , keď je URL neskutočne dlhá a mohla by robiť problémy.

Základom je mať nainštalované curl. Vytvorte skript, ktorý bude obsahovať:

#!/bin/sh
curl -s http://bit.ly/?url=$1 \
| sed -n 's/.*\(shortened-url" value="http:\/\/bit.ly\/[a-zA-Z0-9][a-zA-Z0-9]*\).*/\1/p' \
| sed -n 's/.*\(http:\/\/bit.ly\/[a-zA-Z0-9][a-zA-Z0-9]*\).*/\1/p' \
| uniq

a nastavte mu práva na spúšťanie. URL skrátite nasledovne:

# ./bitly http://alian.info

http://bit.ly/7tP2ng

Samozrejme skript si môžete upraviť podla vlastných potrieb, pridať link na skript do /usr/bin nech ho môžete spúšťať odvšadiaľ a pod.

Posielanie mailu s prílohou zo shellu

Celkom často sa stretávam s potrebou zasielania mailov s prílohou zo shellu. Užitočné to je aj pri skriptoch kedy si môžete nechať zaslať nejaké komprimované logy a podobne. Doteraz som neobjavil na takúto činnosť nič lepšie než konzolový mailový klient Mutt. Takže ako na to?

V prvom rade Mutt treba nainštalovať, ide o takú „legendu“ že ho nájdete skutočne v každej distribúcii – napr. pre Ubuntu použite:

# sudo apt-get install mutt

Mail nasledne odošlete príkazom:

# mutt -s "Moj mail zo shellu" -a /home/alian/log.tgz user@example.com
< /home/alian/body_mail.txt

Kde parameter -s špecifikuje predmet mailu, -a samotnú prílohu a na konci príkazu som uviedol súbor body_mail.txt, ktorého obsah bude použitý ako samotný obsah mailu. Všetko sa to pošle na user@example.com. Jednoduché a hlavne použiteľné. Ako – to je už na vás.

Hotwire – grafický terminál pre Ubuntu

Hotwire je celkom vydarený grafický terminál pre linux. Nejde o ďalšiu náhradu xterm, aterm či gnome-terminal ale o skutočne grafický interaktívny shell. Ten vie celkom slušne napovedať, doplňovať príkazy, zvýrazňovať syntax, rozlišovať adresáre od súborov a pod. Stiahnuť ho môžete na tejto adrese ako .deb balíček, následne ho nainštalujete obvyklým príkazom sudo dpkg -i nazov_balicka.deb. Hotwire sa pridá so menu Applications > System Tools > Hotwire Shell.

1222_02

GTK dialógové boxy zo shellových skriptov

Ak používate grafické pracovné prostredie, ale naďalej skriptujete napríklad cez Bash môžete vaše viac zinteraktívniť. Stačí použiť utilitku zenity, ktorá je dostupná pre väčšinu distribúcii. Najjednoduchší príklad použitia je asi zenity --info –text="Ahoj svet."

0213_01

Odporúčam naštudovať si manuálové stránky, nakoľko je toho pomerne dosť čo aplikácia zvláda. Samozrejme ide hlavne o vaše potreby – dokáže zobraziť kalendár, môžete do nej presmerovať výsledky vyhľadávania súborov a podobne.

Užitočné linuxové príkazy

Pripravil som výber mojich TOP 15 obľúbených a často používaných príkazov pre linux (CLI). Kedže môžu byť užitočné aj niekomu inému publikujem ich tu, prípadne ak viete o ničom inom – hodte do komentárov.

stiahnutie súbora

# wget -c "http://www.website.com/nazov_subora.tgz"

obmedzenie rýchlosti sťahovania súbora

# wget --limit-rate=30k "http://www.website.com/nazov_subora.tgz"

zobrazenie kalendára

# cal

informácie o disku a partíciach

# fdisk -l
# mount -l

história reštartov systému

# last reboot

informácie o procesore

# cat /proc/cpuinfo

vyhľadanie súborov s právami 750

# find /home -type f -perm 750

vyhľadávanie súborov väčších ako XXX kB

# find /home -size +9000k

zmena dátumu poslednej úpravy súbora (YYMMDDhhmm)

# touch -c -t 0708061224 nazov_subora.txt

zmena domovského adresára užívateľa

# usermod -d /novy_adresar username

ako spraviť ISO imidž adresára

# mkisofs -V label-name -r nazov_adresara > iso-image.iso

vyčistenie primontovaného CD RW média

# cdrecord -v dev=/dev/cdrom blank=fast

spustenie skriptu ako iný užívateľ

# runuser user_ name nazov_skriptu

zistenie verzie Sendmail-u

# /usr/sbin/sendmail -bt -d0

zistenie verzie Postfix-u

# postconf |grep version

CLI: Zobrazte si celoročný kalendár na konzole

Troška som sa prehrabával nejakými Bash skriptami a zaujal ma jeden, ktorý dokáže na konzole vypísať kalendár na celý aktuálny rok podľa mesiacov tak ako vám visí možno na stene:

cal -y | tr 'n' '|' | sed "s/^/ /;s/$/ /;s/ $(date +%e) / $(date +%e | sed 's/./#/g') /$(date +%m | sed s/^0//)" | tr '|' 'n'

CLI a Linux

Vrámci pravidelného seriálu o linuxovom „príkazovom riadku“ na Linuxsoft.cz sme sa dočkali aj časti na tému práca s Wi-Fi . Ak chcete prísť na chuť nástrojom ako iwconfig a iwlist určite zamierte na spomínaný web.

Nastavenie proxy pre Bash

Ak aj vy ste nútený behať na net cez proxy server určite viete, že pre každú aplikáciu všetko nastavovať je viac než otravné najmä konzolové aplikácie. Napríklad na rýchlé vyhľadávanie praimo zo shellu z obľubou používam links. Jednoduchym príkazom si môžete nastaviť pre väčšinu programov proxy. Napr. ak je IP adresa vašho proxy 192.168.0.50 a port 8080 príkazy sú nasledovné:

export http_proxy=192.168.0.50:8080
export ftp_proxy=192.168.0.50:8080

všeobecne export http_proxy=ip_proxy:port

Ak chcete trvalo uložiť toto nastavenie, doporučujem do vášho .bashrc pridať vyššie uvedené riadky.