Faceți căutări pe acest blog

luni, 16 ianuarie 2012

CLI tricks 2

  Trucuri similare aici: http://stressat.blogspot.com/2011/11/cli-tricks.html

 Corectare  greșeli de tastare. Ați scris sl în loc de ls, puneți cursorul pe l (ultimul caracter) și apasați Ctrl+t, va inversa ordinea literelor, deci veți avea comanda dorită: ls. Ctrl+t inversează ordinea ultimelor două caractere. Valabil și pentru cazuri precum: pacmna in loc de pacman, neapăsare Space între comandă și parametri, etc.
 Pentru a inversa ordinea ultimelor două cuvinte: Esc+t.



PBTORRENT
 Dacă folosiți un client de torrente CLI, gen rtorrent, v-ar prinde bine o aplicație care să caute și descarce torrentele dorite. Pbtorrent este un script care permite acest lucru.
 Instalați pbtorrent (yaourt -S pbtorrent în Arch Linux), porniți în terminal aplicația (pbtorrent parametri fișier-căutat, de exemplu pbtorrent v The.Big.Bang.Theory). Parametriii sunt categoria de căutare și categoria de sortare. Putem specifica categoria în care se va căuta:
a= audio
v= video
s= software
g= jocuri
x= orice altceva
A= toate categoriile
 De asemenea putem alege, specifica și ordinea sortării rezultatelor:
s= numărul de seederi
z= dimensiune
r= relevanță, criteriul implicit de sortare
 Dacă folosim ambele categorii de parametri, categoria va fi prima în sintaxă.
 Parametrul A necesită obligatoriu un termen de căutare (nume fișier), ceilalți parametri pot fi folosiți fără termen de căutare, afișând toate rezultatele găsite pe http://thepiratebay.org/ .
 Fișierul torrent va fi descărcat în directorul /home, sub numele pb_număr_torrent.torrent (pb1.torrent, pb3.torrent, etc), pentru a fi descărcat de rtorrent e suficient să-l copiem în watch. Ar fi bine  să schimbați directorul de destinație al torrentelor (watch), să fie același director de unde rtorrent caută fișierele torrent pentru download. Editați fișierul (sudo nano /usr/bin/pbtorrent) și înlocuiți linia:
wget -U "$userid" -qO ${watchdir}/pb${l}.torrent "${torrenturl[$l]}" && echo "${torrenturl[$l]} downloaded."            
cu:
wget -U "$userid" -qO ${watchdir}/watch/pb${l}.torrent "${torrenturl[$l]}" && echo "${torrenturl[$l]} downloaded."
  Închidem pbtorrent cu q și Enter sau Ctrl+c.



SUBMARINE
 Presupunem că aveți un film dar nu aveți subtitrare. Instalați submarine, utilitar cu care căutăm și descărcăm subtitrări potrivite.
 Instalați submarine (yaourt -S submarine pentru Arch), deschideți o consolă/ terminal și dați comanda: submarine -l ro nume-film, de exemplu submarine -l ro submarine -l ro Videos/Carjacked.2011.BRRip.XviD-ROMANIAN-ZONE/Carjacked.2011.BRRip.XviD-ROMANIAN-ZONE.avi), iar submarine va căuta și descărca în același director cu fișierul video subtitrarea potrivită în limba română, o va redenumi exact după numele filmului. Dacă doriți subtitrarea în altă limbă înlocuiți ro cu de (germană), hu (maghiară), etc...


UNITS
 Putem face conversii între unități de măsură cu units.


Evitare inregistrare comandă dată în history (doar în sesiunea curentă va apărea în history):
spațiu comandă



Ștergere rapidă a conținutului unui fișier, fără editare:
> fișier.txt


Schimbare locație, executare comandă in noul director și reintoarcere automată în vechiul director (punem comenzile intre paranteze):
(cd $DIR && comandă)     de exemplu: (cd Video/filme && rm -rf nume-director)


Urmăriți Star Wars (ASCII) în terminal :
telnet towel.blinkenlights.nl


Pentru a fi anuntați sonor în momentul când o adresă IP e online:
ping -i 60 -a IP_address    (-i 60 inseamnă că veți fi anuntați după 60 secunde, -a reprezintă semnalul sonor)


Căutarea în history a celor mai utilizate 10 comenzi CLI folosite:
history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10  
sau
history | awk '{a[$'$(echo "1 2 $HISTTIMEFORMAT" | wc -w)']++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
 Vreți să fie afișate într-un grafic? Instalați gnuplot și dați comanda:
HISTTIMEFORMAT='' history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head > /tmp/cmds ; gnuplot -persist <<<'plot "/tmp/cmds" using 1:xticlabels(2) with boxes'


Salvare ultima comandă executată într-un fișier:
echo "!!" > nume-fișier


Traducere text:
wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=translation+example&sl=auto&tl=ro" | sed 's/\[\[\[\"//' | cut -d \" -f 1
 Inlocuiți text cu textul propriu zis, la tl (tl= target language= limba în care se va traduce, iar sl= source language= limba din care se traduce)) este ro pentru română, puneți de pentru germană, hu pentru maghiară, etc.
 Evident că în această formă este destul de dificil de memorat și folosit, de aceea putem crea o funcție bash în .bashrc:
#Traducere
trans () {
wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$1+$2+$3+$4+$5+$6+$7+$8+$9+${10}&sl=auto&tl=ro" | sed 's/\[\[\[\"//' | cut -d \" -f 1
}

iar comanda trans text-de-tradus va face ce dorim.
 După ceva căutări și încercări am ajuns la o variantă mai elegantă (și care poate lucra cu mai mult de 10 termeni, las totuși și prima variantă pentru a vedea și altă modalitate):
#Traducere
trans () {
for ARG in "$*"
do
wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$ARG&sl=auto&tl=ro" | sed 's/\[\[\[\"//' | cut -d \" -f 1
done
}

 În cazul în care doriți să traduceți din română în engleză (sau altă limbă), trebuie înlocuit auto (engleza folosită implicit) cu ro (română) și ro cu en (engleză) sau altă limbă (de, tr, hu, ru, șamd). Funcția va arăta așa:
tradu () {
for ARG in "$*"
do
wget -U "Mozilla/5.0" -qO - "http://translate.google.com/translate_a/t?client=t&text=$ARG&tl=en" | sed 's/\[\[\[\"//' | cut -d \" -f 1
done
}

iar comanda tradu text de tradus în engleză vă va furniza traducerea dorită.
Funcția tratează termenii global, deci e bună pentru propoziții, fraze, etc, dacă doriți traducerea mai multor cuvinte independente, înlocuiți "$*" cu "$@" .



 Salvează output ultima comandă ca imagine:
comandă | convert label:@- imagine.png
ifconfig | convert label:@- ip.png


 Dati o comanda eludând aliasurile:
\comanda   


 Etichetarea unei comenzi lungi, complicate este un inlocuitor pentru aliasuri sau funcții bash:
comandă-complicată-cu-mulți parametri # etichetă
ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x960 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 captura.avi # captură
 Urmatoarea tură cand vrem sa folosim comanda apăsăm Ctrl+r și scriem eticheta: Ctrl+r captură.


 Realizarea unei imagini .iso de pe un cd/ dvd:
dd if=/dev/sr0 of=/cale/către/imagine.iso
readom dev=/dev/sr0 f=/cale/către/imagine.iso


 Creati un director cu tot cu directoarele intermediare:
mkdir -p /cale/catre/director
 De exemplu vrem sa cream in director  /home/user/Videos/filme/noi/seriale, dar ultima veriga intermediara este Videos, nu exista Videos/filme, nici Videos/filme/noi, parametrul -p va crea si "parintii", intermediarii.
 De asemenea se pot crea multiple subdirectoare cu tot cu verigile intermediare:
mkdir -p Director-nou/{d1,d2}/{bac,bin,src}   va crea directorul Director-nou cu subdirectoarele d1 și d2 și în fiecare din aceste două directoare (d2 și d2) subdirectoarele bac, bin și src.


 Modificare permisiuni fișier în raport cu alt fișier (fișier2 să aibă exact aceleași permisiuni/ drepturi/ proprietar... ca fișier1):
chmod --reference fișier1 fișier2       sau
chown --reference fișier1 fișier2       sau
chgrp --reference fișier1 fișier2 


  Redenumire fișiere ce conțin spații în nume cu alt caracter:
rename 'y/ /_/' *  (va inlocui în numele tuturor fișierelor din directorul curent spațiile cu _ )
rename 'y/ /-/' *   (va înlocui spațiile cu - )
rename 'y/ /./' *    (va înlocui spațiile cu puncte . )


 Redenumire fișiere din majuscule in minuscule:
rename 'y/A-Z/a-z/' *


 Inlocuire recursivă a unui termen de căutare cu alt termen:
grep -rl termen-vechi . |xargs sed -i -e 's/termen-vechi/termen-nou/'
 Comanda caută în toate fișierele din directorul curent.


 Faceți terminalul să ”cânte”...
echo {1..199}"text-de-reprodus,, " | espeak -v english -s 140
echo {1..199}" bottles of beer on the wall, cold bottle of beer, take one down, pass it around, one less bottle of beer on the wall,, " | espeak -v english -s 140
 Evident că e posibil același lucru în română, setând limba (espeak -v romanian 140) și pasând un text în română.
echo {2..10}" elefanți se legănau, pe o pânză de pâianjen, și fiindcă ea nu se rupea, a mai venit un elefant,, " | espeak -v romanian -s 140


 ATENȚIE:  dacă una din aceste comenzi returnează erori de genul:
bash: espeak: command not found
trebuie instalat pachetul respectiv!!!

sâmbătă, 7 ianuarie 2012

Youtube-viewer

 Cunoașteți expresia: ”eu am o idee, tu ai o idee, dacă le împărtășim avem fiecare două idei”??? Prin schimbul de cunoștințe devenim mai pricepuți, învățăm unii de la alții. Acest material este rezultatul colaborării mele cu amicul calvarr , căruia îi mulțumesc pe această cale!

 Youtube-viewer este o aplicație cu ajutorul căreia putem căuta, reda și descărca materiale de pe Youtube. Este o aplicație în linia de comandă, deci nu consumă mult, nu folosește flashplayer, poate fi folosită atât în interfața grafică (konsole, yakuake, terminal, xterm, etc), cât și în afara mediului grafic, direct într-un terminal în mod text tty.

 Instalare
- Arch (CLI)yaourt -S youtube-viewer
- Mandrivaurpmi youtube-viewer, symbianflo a avut amabilitatea să împacheteze youtube-viewer!
- alte distribuții (sau chiar și Arch Linux dacă preferați o altă metodă...): descărcăm arhiva .tar.gz sau .zip de aici: https://github.com/trizen/youtube-viewer/downloads, o dezarhivăm, intrăm în directorul rezultat, facem fișierul youtube-viewer executabil. Pentru funcționare avem nevoie și de pachetele mplayer, perl-libwww și perl-xml-fast.


 Pornire
- Arch: comanda youtube-viewer, dar evident că putem crea în .bashrc un alias de forma alias yv='youtube-viewer', caz în care pornim aplicația cu yv.
- alte distribuții: cred că cea mai simplă variantă e crearea unui alias alias yv='~/Downloads/trizen-youtube-viewer-b98aba8/youtube-viewer' în .bashrc. În acest exemplu directorul unde am descărcat arhiva este ~/Downloads, dacă ați descărcat/ dezarhivat în altă locație modificați în consecință aliasul.
 Altă variantă este setarea căii către executabil, prin adăugarea în .bashrc a liniei: export PATH=~/Downloads/trizen-youtube-viewer-b98aba8. În acest ultim caz comanda de pornire va fi youtube-viewer dată în terminal indiferent de locația curentă.



Informații
Pentru a vedea toate posibilitățile de utilizare dați în consolă/ terminal comenzile:
- youtube-viewer -h (yv -h sau yv --help)
- youtube-viewer -T (yv -T)


Utilizare
 După pornirea youtube-viewer vom primi în terminal cererea de a insera o adresă URL Youtube (chestie destul de incomodă și care presupune să cunoaștem adresa respectivă), SAU un parametru de căutare (altă viață, nu?). Ca parametru/ parametri de căutare putem folosi nume de artiști, formații, melodii, etc. Scriem parametrii pentru căutare, apăsăm Enter și primim lista cu rezultatele. Veți observa că aceste rezultate sunt numerotate (1, 2, 3, etc). După cum ne spune și mesajul din terminal pentru redarea unui clip tastăm numărul din fața acestuia, pentru a vedea celelalte rezultate care nu încap în listă (deci pentru a vedea următoarea ”pagină” cu rezultate) apăsăm Enter, pentru revenire la pagina anterioară scriem back și apăsăm Enter, iar pentru altă căutare tastăm alt parametru și Enter.
 Youtube-viewer oferă și posibilitatea de-a reda mai multe fișiere din listă, dând mai multe numere despărțite de virgulă (3,7,12,4), spații (3 2 18 5 9 11), iar dacă melodiiile sunt consecutive prima și ultima despărțite de - (2-6 pentru melodiile 2, 3, 4, 5, 6, 1-20 pentru toată lista) sau puncte (3..7 pentru redarea melodiilor cu numerele 3, 4, 5, 6, 7). Redarea întregii liste de rezultate în ordinea afișării se face cu -A.
 Alegem direct calitatea (rezoluția) redării adăugând comenzii (aliasului) parametrul -1 (1080p) sau -7 (720p)/sau -2=240p, -3=360p, -4= 480p.










 Nu uitați că redarea o face mplayer, așa că putem folosi ”hotkeys”: Space pentru pauză, f pentru fullscreen și revenire la fereastră mică, tastele săgeți pentru navigare înainte-înapoi cu 10 secunde sau un minut (asta necesită setări ale cache-ului în .mplayer/config), trecerea la următoarea piesă din listă cu Enter, și multe altele.
 Dacă dorim să descărcăm vreun clip în loc de numărul acestuia tastăm nr -d, de exemplu 7 -d pentru descărcarea piesei cu numărul 7 din listă. Fișierele descărcate se vor găsi în directorul /home, în format mp4.
 După descărcarea unei piese veți observa că aplicația rămâne setată pe mod download, nu play, deci chiar dacă alegem să redăm o piesă, nu s-o descărcăm (5 nu 5 -d), în loc de redare piesa va fi descărcată. Pentru revenire la modul redare dăm comanda reset, astfel resetăm toate argumentele pasate youtube-viewer, aplicația repornește. Valabil pentru orice parametru (-C, -m, etc). Alternativ putem folosi -no-d sau --no-download după cum autorul a avut amabilitatea să-mi scrie, astfel toți ceilalți parametri pasați comenzii, cu excepția celui referitor la descărcare se păstrează! Astfel am avut surpriza și bucuria să aflu că autorul (Trizen-  http://trizenx.blogspot.com/) este român! Mulțumirile mele pe această cale, excelent utilitar a scris!!!


                                                       Youtube-viewer compilat în Sabayon8






 Pentru afișarea colorată a rezultatelor putem pasa comenzii parametrul -C (youtube-viewer -C sau yv -C), iar pentru descărcarea implicită a materialelor -d (yv -d). De asemenea putem adăuga acești parametri, sau doar unul din ei (ori alt parametru posibil) în aliasul comenzii, sau alternativ putem crea un fișier de configurare ~/.config/youtube-viewer/youtube-viewer.conf.

 Este posibil să căutăm și materiale încărcate de un autor:  yv -u nume-autor (yv -u stressat1 de exemplu pentru afișarea tuturor materialelor pe care le-am urcat eu pe youtube), yv --author=nume-autor (yv --author=stressat1 pentru căutarea după parametri în materialele urcate de un anumit utilizator), să mărim numărul de rezultate pe pagină: yv -m (50 rezultate în loc de 20), să alegem criteriul de afișare după relevanță, cele mai vizionate, rating: yv -order-by='ORDER' (published, viewCount sau rating: yv -order-by=viewCount), și multe altele, vedeți yv -h și yv -T. Și, evident combinarea parametrilor e posibilă: yv -C -m -f -d ...
 Pentru oprirea redării cu mplayer folosim Esc sau q, iar pentru închiderea youtube-viewer Ctrl+C sau q și Enter.


 Aliasul meu:
 alias yv='youtube-viewer -C -1'

Youtube-viewer în tty:


 UPDATE
 Dacă folosiți Arch Linux și youtube-viewer, după actualizarea perl de la 5.14 la 5.16 veți primi un mesaj de eoare de genul: 
Attempt to reload XML/Fast.pm aborted.
Compilation failed in require at /usr/share/perl5/core_perl/autouse.pm line 53, line 1.

 Ștergeți directorul /usr/lib/perl5 și reinstalați perl-xml-fast (yaourt -S perl-xml-fast), eventual chiar și perl, youtube-viewer va funcționa iar!

miercuri, 4 ianuarie 2012

Youtube stream and download

 Cei interesați de videoclipurile postate pe site-uri precum youtube, pot urmări on-line aceste clipuri sau le pot descărca pe calculatorul personal cu ajutorul unor aplicații precum Minitube, Gmediafinder, ClipGrabVideotop , Youtube-viewer sau a unor add-on-uri Firefox.De reținut că toate aplicațiile de mai sus nu folosesc flashplayer!

 MINITUBE
 Cred că cea mai populară/ folosită aplicație de acest gen este Minitube, în pofida faptului că aceasta caută doar pe youtube, și mai ales că la Download fișiere putem descărca doar formatul postat (.flv, .mp4, etc), deci nu putem alege din păcate să descărcăm doar audio (.mp3, .ogg, etc), caz în care trebuie convertite ulterior fișierele video.
 În schimb este o aplicație stabilă, cu o interfață prietenoasă și intuitivă și putem urmări fișierele postate fără descărcare direct în fereastra Minitube. Scriem în câmpul de căutare numele unei formații sau unui artist, sau numele unei melodii, primim variantele disponibile, dăm clic sau apăsăm Enter, alegem melodia dorită și o ascultăm. Pentru download apăsăm sageată albastră din bara de sus, putem alege și calitatea clipului urmărit/ descărcat în bara de jos dănd clic pe 360p, 480p, ..., 1080p.





 GMEDIAFINDER
 O altă aplicație de de acest gen, Gmediafinder caută, redă și descarcă fișiere postate pe mai multe site-uri (Youtube, Daily Motion, Jamendo, etc).Setările se fac apăsând iconița în formă de cheie (Settings) din partea dreapta sus a ferestrei.




 CLIPGRAB
 O alternativă pentru descărcarea fișierelor de pe Youtube, putem alege calitatea și formatul fișierului (flv, mpeg4, wmv, ogg theora, ogg vorbis, mp3/ ultimele două formate sunt audio).




 YOUTUBE-VIEWER
Putem folosi și aplicații CLI, precum youtube-viewer, cu ajutorul căreia putem căuta și reda fișiere încărcate pe youtube, și le putem descărca pe PC-ul propriu. Funcționează atât în interfața grafică (konsole, terminal yakuake, xterm, etc), cât și fără interfață (terminal mod text tty).
1- dăm comanda youtube-viewer;
2- ni se cere o adresă URL youtube, sau MAI SIMPLU un string de căutare: melodie, artist, formație, etc;
3- după tastarea termenului de căutare vom primi lista cu fișierele disponibile, noi trebuind să tastăm numărul din fața fișierului dorit (1, 3, 12, etc) urmat de Enter pentru redare, alegeți rezoluția (1 sau 2), și iar Enter. Pentru întreruperea redării apăsați Esc sau Q. Pentru alte clipuri scrieți iar termenul/ termenii de căutare. Ctrl+C (sau q și Enter) închide aplicația.


 După comentariile postate de calvarr am ajuns la concluzia că această aplicație merită pe deplin un articol dedicat: http://stressat.blogspot.com/2012/01/youtube-viewer.html#, ar fi păcat să fie prezentată pe scurt, la grămadă!



VIDEOTOP
 Aplicație mai complexă, caută, redă online, descarcă, redă din baza de date formată din fișierele descărcate. Ca și youtube-viewer poate fi folosit în afara mediului grafic, în tty. Despre videotop citiți aici: http://stressat.blogspot.com/2011/08/videotop.html.


Back to top