El teu blog de Linux en català

El vi és un programa editor de fitxers de text que s’utilitza directament des del terminal. És una mica complicat d’utilitzar al principi, però amb el temps l’edició de fitxers de text amb aquest programa és molt ràpida.

Tenint en compte l’èxit que va tenir el document que vaig penjar amb les ordres de terminal, he decidit adaptar un altre que també vaig fer en un principi per la feina. En aquest cas el document explica com s’utilitza l’editor vi. És força més curt que l’altre (només tres pàgines), tot i que també el seu abast és més limitat.

Us el podeu baixar des d’aquest enllaç, o des de la nostra secció de Projectes.

Espero que us resulti interessant.

NOTA IMPORTANT: Hem passat el document a format html, i el teniu disponible des de la nostra secció de documentació. Si hi hem d’afegir noves ordres, ho farem directament a la secció de documentació, o sigui que millor que consulteu aquella versió.

Documentació | Utilització del vi

Fa uns quants anys, a la feina vaig crear un document per explicar les ordres de terminal a la gent que entrava nova al departament, i que no havia treballat mai en entorns Unix. Vaig redactar el document per a l’entorn que utilitzàvem en aquell moment, que era AIX.

Arran d’aquesta consulta al fòrum de Cobert.cat, he agafat aquest document i l’he revisat, adaptant algunes coses per tal que s’adeqüi als entorns GNU/Linux. Apart, l’he passat a format odt. El document és una mica llarg (9 pàgines). Segurament hi manquen coses, perquè estava molt enfocat a les tasques que realitzàvem en el departament (i una mica més), però és força complet i està bastant ben explicat (crec). 🙂

Us el podeu baixar des d’aquest enllaç, o des de la nostra secció de Projectes.

NOTA IMPORTANT: Hem passat el document a format html, i el teniu disponible des de la nostra secció de documentació. Si hi hem d’afegir noves ordres, ho farem directament a la secció de documentació, o sigui que millor que consulteu aquella versió.

Documentació | Ordres de terminal

Una interessant ordre de terminal és df, que passant alguns paràmetres ens permet conèixer ràpidament l’estat de l’espai a les particions/discos de l’ordinador. L’ordre que s’ha d’escriure és la següent:

df -H

Això mostrarà tots els discos i punts de muntatge, potser massa informació. Si volem filtrar per tipus de sistema de fitxers, es fa servir l’opció –type=tipus, on tipus és el tipus de sistema de fitxers. Per exemple, si volem veure l’estat de les particions amb format ext4:

df -H --type=ext4

Podeu obtindre més informació de l’ordre df amb:

man df

Espai lliure al disc amb df

Espai lliure al disc amb df

Com ens comenta en Gil, també existeix una altra ordre interessant que ens permet conèixer l’espai que ocupa un directori concret:

du -sh CARPETA

Tots sabem que, d’una manera o una altra, sempre hi haurà un moment a la vida d’un usuari de GNU/Linux al qual haurà de fer servir el terminal. De fet, som molts els que preferim fer les coses pel terminal perquè és molt més ràpid: instal·lar un programa o mirar la llista de processos que s’estan executant al sistema. A continuació vos explique 10 ordres sense les quals no puc viure.

  • ls (i cd)

ls és l’equivalent de la terminal d’MS-DOS que es fa servir per llistar els fitxers i directoris amb dir a Windows. Per descomptat, ls és molt més antic que dir (prové de sistemes UNIX, a l’igual que la gran majoria de les ordres bàsiques de linux). cd es fa servir de forma semblant al que es fa servir a Windows, l’utilitzem per moure’ns entre directoris.

Ordres ls i cd

Ordres ls i cd

  • top i ps -A

top és una espècie de monitor del sistema que mostra tots els processos que s’estan executant en temps real, la memòria que consumeixen, la càrrega del sistema, el temps que porta una aplicació executant-se. ps -A mostra també tots els processos que s’estan executant, però no en temps real, simplement mostra una llista de la qual podem obtindre el PID que després podrem utilitzar per matar els processos amb kill.

Ordre top

Ordre top

  • kill / killall

kill i killall s’utilitzen per a matar processos. Aquestes són per mi unes de les ordres més bàsiques: quan el firefox es bloqueja o quan ho fa qualsevol altra aplicació i no funciona el botó de tancar, primer execute top per saber el PID o el nom del procés en qüestió i llavors el mate. La diferència entre kill i killall és que al primer li hem de passar el PID del procés de forma que només mata una instància del mateix (és a dir, podem tindre diferents finestres del firefox obertes i amb kill podem matar-les d’una en una. En canvi, killall el que fa és matar tots els processos/fils associats a una aplicació, i per fer això cal passar-li el nom del procés en qüestió.

Ordre killall

Ordre killall

  • cat

cat és interessant perquè mostra el contingut d’un fitxer ràpidament. Per exemple, estem a un directori qualsevol on tenim un fitxer que sabem que no conté molta informació i volem veure què hi ha a dins. Doncs en lloc d’obrir-lo amb nano o vi o qualsevol altre editor, amb cat podem veure directament què hi ha a dins i continuar amb el que estàvem fent.

Ordre cat

Ordre cat

  • rm

rm és una altra ordre bàsica que permet eliminar fitxers i directoris ràpidament. Jo normalment el faig servir passan-li dos paràmetres segons el que vulga fer: rm -f si vull eliminar un fitxer i rm -R si vull eliminar un directori. Amb això s’ha d’anar amb compte, ja que si executem rm -rf / podríem eliminar tots els fitxers del sistema i quedar-nos sense res (qui li ho diguen al Gerard).

Ordre rm

Ordre rm

  • wget

wget seguit d’una URL permet baixar fitxers directament des del terminal. En moltes guies que hem fet ací o que es fan a altres webs sempre sol fer-se servir: és millor fer servir wget que indicar que s’ha de baixar aquest o aquest altre fitxer i després continuar. Quan es tracta d’una sèrie d’ordres, si s’ha de baixar alguna cosa, wget és imprescindible.

Ordre wget

Ordre wget

  • dmesg

Per a gent que sol ajudar als fòrums sabrà que dmesg és una de les eines més útils que es poden trobar. dmesg mostra els darrers esdeveniments que han ocorregut al sistema quant als dispositius plug&play. Per exemple, si connectem un disc usb i seguidament executem l’ordre dmesg, veurem que les darreres línies en faran referència indicant, a més, quina numeració se li ha assignat.

Ordre dmesg

Ordre dmesg

  • chmod

chmod serveix per a canviar els permisos dels fitxers. A nivell bàsic sol fer-ser servir sobretot per permetre a un fitxer l’execució, però realment permet canviar gairebé qualsevol permís. El tema dels permisos pot arribar a ser molt complicat a GNU/Linux i és un dels apartats que més costa d’entendre del sistema. chmod és només un dels personatges relacionats amb aquesta àrea.

  • lspci i lsusb

Aquestes dues ordres mostren el maquinari pci i usb connectats al sistema. En general, un lspci ens mostrarà els dispositius per defecte que l’ordinador té (és a dir, un llistat del maquinari de l’ordinador). lsusb és útil per conèixer els dispositius connectats als ports usb de l’ordinador.

Ordre lspci

Ordre lspci

  • grep

grep no és una ordre en sí mateix, sinó que actua com a filtre quan, a l’hora d’executar una ordre que ens dóna una sèrie de resultats (p.e. dmesg o lspci o cat o qualsevol altre). Normalment s’afegeix després de l’ordre que executem de la forma: ordre | grep xxxx. Per exemple, a la següent captura executem lspci per tal que ens torne només el maquinari relacionat amb “ricoh”:

Ordre grep

Ordre grep

Altres articles que us poden interessar:

El cap de setmana passat, vaig estar amb el Pau de SomGNU, i vaig veure que tenia instal·lat un programa que em va impressionar. Li vaig demanar el nom (el del programa, no el del Pau, que ja el sabia 🙂 ): Guake.

Logo del Guake

Aquest programa agilitza moltíssim la feina a aquells que, com jo, utilitzem el terminal amb certa freqüència. Podeu llegir la revisió que el Pau en va fer uns mesos enrere. La instal·lació del programa és molt senzilla, perquè es troba en els repositoris oficials de la majoria de distribucions. Simplement, heu d’anar al gestor de paquets propi de la vostra distribució (Synaptic si utilitzeu Ubuntu) i instal·lar el paquet “guake”. Si ho preferiu, el podeu instal·lar des d’un terminal:

sudo apt-get install guake

Un cop instal·lat, el podeu executar des del menú “Aplicacions>Accessoris>Guake”, encara que si l’heu d’utilitzar sovint, us recomano que el configureu perquè s’engegui automàticament en arrancar l’ordinador. Per a fer-ho, aneu a “Sistema>Preferències>Aplicacions d’inici”. Afegiu una nova entrada que tingui aquesta informació:

Nom: Guake
Ordre: guake
Comentari: Terminal amb F12

Així, quan reiniciem l’ordinador, ja s’engegarà el Guake de forma automàtica. Veurem que a la barra superior del Gnome hi surt la seva icona.

El Guake funciona de la següent forma. Quan estem treballant amb qualsevol programa, si veiem que hem d’executar alguna comanda de terminal, premem F12. Ens apareixerà el Guake, un terminal semitransparent que ocupa mitja pantalla, i en la qual podem executar la nostra comanda. Si tornem a prémer F12, o si anem a qualsevol altra finestra, el Guake se’ns torna a amagar. Com veieu, agilitza moltíssim l’execució de programes per terminal.

Utilització del Guake

Utilització del Guake

A més, el Guake és força configurable. Si fem clic amb el botó dret del ratolí sobre la icona del Guake i escollim “Preferències”, podrem modificar el seu comportament. Per exemple, des de la pestanya “General” podem fer que no se’ns mostri la icona del Guake a la barra superior de Gnome, o fer que no aparegui una notificació quan s’engega el Guake (cosa que trobo molt molesta). El que sí aconsello és, des de la pestanya “Appearance”, modificar baixar la transparència del fons del Guake. De forma predeterminada, ve amb un nivell de transparència força alt, i és una mica complicat llegir els resultats de les comandes que hi executem.

Preferències del Guake

Preferències del Guake

Font: SomGNU

El Links és un navegador d’Internet lliure, que ens permet visualitzar les pàgines web directament des d’un terminal. La seva utilització és molt senzilla, i ens pot servir tant si tenim un servidor on no hem instal·lat entorn gràfic, com si tenim problemes amb aquest des del nostre ordinador habitual. La seva instal·lació és molt senzilla, perquè es troba en els repositoris oficials de la majoria de distribucions. Per a Ubuntu, us podeu instal·lar aquest programa per mitjà del paquet links2 a través de Synaptic o, si ho preferiu, des d’un terminal, executant la comanda següent:

sudo apt-get install links2

Per a executar aquest programa, només cal anar a un terminal i passar-li com a paràmetre l’URL que voleu visualitzar. Per exemple, per anar a alliberats.cat, executaríem el següent:

links2 alliberats.cat

Un cop dins el programa, podem navegar pels seus enllaços com en qualsevol navegador. Per sortir del programa, hem de prémer la lletra “q”. Si premem la tecla “Esc” ens apareixerà el típic menú dels navegadors, a través del qual podrem anar a altres URLs, gestionar les descàrregues o configurar la connexió.

alliberats.cat oberta amb el links2

alliberats.cat oberta amb el Links

Com es veu en la pantalla anterior, el Links no detecta automàticament l’idioma del nostre ordinador, i mostra el menú en anglès. Per a que es mostri en català, seleccionem l’opció de menú “Setup>Language>Catalan” i desem aquesta opció per mitjà del menú “Configurar>Desar opcions”.

Si us heu fixat, tot i que en tot moment estic parlant del Links, realment hem instal·lat el paquet “links2”, que és el mateix programa Links, però compilat de manera que visualitzar també les imatges de les webs per mitjà del paràmetre “-g”. És a dir, podríem obrir la nostra web d’aquesta manera:

links2 -g alliberats.cat

alliberats.cat amb imatges amb links2

alliberats.cat amb imatges amb Links

Per últim, hi ha un programa derivat del Links prou interessant. Es diu Elinks (també disponible a través de repositoris) i, tot i que no permet la visualització d’imatges com el links2, té altres característiques prou interessants com permetre tenir obertes diverses pestanyes alhora i la navegació privada. El “problema” que li trobo és que se li ha de posar el “http://” a l’URL que es vol visitar (no així amb el Links).

L’altre dia vaig fer una entrada sobre com veure les fotos de les nostres vacances en forma de bonics mapes de caràcters ASCII, però he de reconèixer que és un post una mica inútil si no us parlo, a més, de com veure els vídeos de les vostres vacances en caràcters ASCII!

Igual que en el cas de les imatges, això ens permet reproduïr recursos a través de la terminal, cosa que, com el company Roger ens indicava, és una bona manera d’estalviar recursos o visualitzar arxius si no disposem d’entorn gràfic.

Bé, heus aquí com es fa. Hem d’instal·lar el paquet libcaca0 (o també l’he vist com libcaca, no ho sé, proveu-ho 😉 ). Es tracta d’una llibreria gràfica del reproductor mplayer que ens permet codificar vídeo de manera que obtens text enlloc de píxels. A la terminal:

sudo apt-get install libcaca0

Ja tenim tot el que fa falta. Per executar un vídeo a través de la terminal teclegem el següent:

mplayer -vo caca nom_de_la_pel·lícula.avi

(recordeu que ens hem d’assegurar d’haver accedit al directori on es troba a través de la terminal abans d’executar-ho, o bé escriure l’adreça del directori abans del nom de l’arxiu)

I a gaudir! Per si us ho esteu preguntant, el so se sent de manera completament normal, de manera que no és necessari conèixer el codi morse.

Aquí teniu una captura de pantalla d’aquest invent tan pràctic. El personatge que hi apareix és en Sheldon, de la magnífica sèrie d’humor americana The Big Bang Theory (la qual, per cert, us recomano).

sheldon-1.png

Espero que us sigui útil 😀 Salut!

Heus aquí una petita utilitat que, tot i que per mi no passa de curiositat, segur que vosaltres li trobeu una utilitat real: l’aplicació Caca-Utils!

Aquesta aplicació ens permet seleccionar qualsevol fotografia que tinguem al nostre ordinador i visualitzar-la a través de la terminal en forma de mapa de caràcters ASCII, que després podem ampliar, modificar, etc. És un petit exemple de l’extens món de l’Art ASCII (enllaç en anglès!) aplicat a la nostra terminal en sistemes GNU/Linux 🙂

Per a instal·lar-lo en ubuntu, fem el següent. A la terminal:

sudo apt-get install caca-utils

Introduïm la contrassenya de root i ja està!

El Caca-Utils permet visualitzar imatges en la majoria de formats: .jpg, .png, .gif… Per a veure una imatge, haurem d’accedir al directori on estigui a través de la terminal i executar la següent ordre:

cacaview nom_de_la_imatge.png

I se’ns obrirà una petita finestra de la terminal on podrem veure la imatge en qüestió transformada.

En voleu un exemple?

Aquí teniu una bonica foto del nostre amic Mariano Rajoy després d’haver vist un nen somrient anticonstitucionalment:

rajoy3

I aquí el tenim convertit en un mapa de caràcters, tot conservant la mateixa mirada aterrada:

Captura-Finestra sense títol.redimensionadaOh no! Llibertat de pensament!

Què, us ha agradat? La veritat és que no sé perquè serveix, però almenys podreu passar una bona estona codificant les fotos de les vostres vacances i les imatges dels vostres polítics preferits 😉

Salut i alliberament!

La navegació web és pot fer a través de molts navegadors, però tots tenen el desaventatge que és el navegador qui interpreta el codi i el javascript, amb el que si el teu navegador s’equivoca, que passa? Doncs que veiem malmament la pàgina web.

Navegant el web amb el telnet

Navegant el web amb el telnet

Per evitar aquest molest problema podem usar com a navegador el programa telnet, que a més a més te l’avantage que es troba inclòs a totes les distribucions gnu/linux. Amb el telnet tenim rapidesa, i a més a més veiem com és la pàgina web de debó, sense les variables interpretacions que fan els diferents navegadors que es troben al mercat. Això fa que nosaltres vegem la pàgina diferent de com l’autor, amb el seu bell codi, pretenia que és veiés.

Ara anem a veure com ens ho fem per navegar amb aquest navegador “minimalista”

Primer de tot necessitem obrir una terminal, i hi escriurem el nom de la pàgina que volem veure. Per a proposits didaces escollirem una pàgina web molt senzilla,  guillemgilabert.com. Si volem veure la pàgina web, especificarem el port en que el servidor la serveix. Normalment sol ser el port 80. Així esciurem en la terminal

telnet guillemgilabert.com 80

Ara ens hem d’esperar a que és produeixi la triple encaixada de mans (informació en castellà), i s’estableixi la conexió. Llavors esciurem les següents ordres, seguit de dos retorns de carro. Això voldrà dir apretar dos cops la tecla intro. Cal notar que s’especifica el host ja que el servidor on es troba hostatjada aquesta web serveix més d’un domini alhora.

GET / HTTP/1.1
Host: guillemgilabert.com

Tambè podem demanar un fitxer concret

GET /index.php HTTP/1.1
Host: guillemgilabert.com

Com podeu veure el resultat és molt bonic i clar. Val la pena usar telnet com a navegador!

Tambè és possible veure només les capçaleres

HEAD /index.php HTTP/1.1
Host: guillemgilabert.com

Navegant amb el netcat!

Navegant amb el netcat!

El mateix procediment és aplicable usant el netcat en lloc d’usar telnet

nc guillemgilabert.com 80

Ja per acabar, i per la gent que sigui bromista i li agradi fer conya, es pot usar un petit script tal per enganyar les pàgines web que visitem sobre el navegador o el sistema operatiu que fem serivr. Així, executeu la comanda

nano engany

Hi afegiu les següents ordres, canviant si ens ve de gust la informació User-Agent per la parida que ens vingui més de gust. Per exemple podriem canviar

echo "User-Agent: Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.10 (intrepid) Firefox/3.0.7"

Per

echo "User-Agent: Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.10 (intrepid) ViscaAlliberats/5.0"

#! /bin/bash
#
#bash engany alliberats.org 80 alliberats.org /| telnet
#
echo "open $1 $2"
sleep 3
echo "GET $4 HTTP/1.0"
echo "User-Agent: Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.9.0.7) Gecko/2009030422 Ubuntu/8.10 (intrepid) Firefox/3.0.7"
echo "Host: $3"
echo
echo
sleep 3

Ho guardeu amb clt+o i sortiu amb ctl+x

Ara escrivim

bash engany alliberats.org 80 alliberats.org /| telnet

I amb tot aquest procés, a l’apache li constarà que en lloc de navegar usant el firefox 3.0.7 estarem navegant usant el navegador “fictici” ViscaAlliberats 5.0. Així quan algun administrador web visiti les estadístiques del lloc web que administra es quedarà flipant amb la tonteria que haureu escrit. Ja veieu que la útilitat és sorpenent!

Està clar doncs, si ets d’aquells que t’agrada veure les coses tal com són, segur que a partir d’ara només utilitzaràs el telnet per navegar. I no ets l’únic que pensa així! Sembla ser que fins i tot hi ha una campanya a internet anomenada “Best Viewed with telnet” per aconseguir que la gent usi el telnet com el seu navegador web per defecte. Personalment ara mateix m’hi adhereixo. Només us deixo amb una pregunta i és serà capaç el telnet d’interpretar la javascipt?

Font