# Intèrpret d'ordres en Linux

L'intèrpret d'ordres és la interfície entre l'usuari i el sistema operatiu. Per aquesta raó, se li dona el nom anglès "shell", que significa "closca". Per tant, la shell actua com un intermediari entre el sistema operatiu i l'usuari gràcies a línies d'ordres que aquest últim introdueix. La seva funció és la de llegir la línia d'ordres, interpretar el seu significat, dur a terme l'ordre i després llançar el resultat per mitjà de les sortides. Existeixen diversos shells en Linux. La més comuna és sh (cridada "Bourne shell"), bash, csh ("C Shell"), Tcsh ("Tenex C shell"), ksh ("Korn shell") i zsh ("Zero shell"). Generalment, els seus noms coincideixen amb el nom de l'executable.
Les comandes o ordres de linux són una part molt important quan es vol entrar a l'administració i programació d'aquest sistema operatiu. Hi ha una immensa quantitat de comandes ja siguin per a ajuda, per a maneig d'arxius i directoris, per maneig d'usuaris, de processos, de disc, de sistema, de xarxa, d'impressores, etc. A continuació una llista d'algunes d'elles (cal recordar que totes tenen ordres de més per quan els invoquem tipus ls -l per saber-les totes feu servir les comandes d'ajuda):

## Llistat d'ordres
### Ajuda

| Comanda | Descripció |
| man | mostra manual de la comanda que li indiquem |
| --help | dona una ajuda de les ordres |
Nota: per exemple podem escriure: man ls

### Arxius i directoris

| Comanda | Descripció |
| ls | llista els arxius |
| sort | ordena alfabèticament una llista d'arxius |
| cd | canvi de directori |
| pwd | mostra la ruta absoluta al directori actual |
| tree | mostra l'estructura de directoris i arxius de forma gràfica |
| mkdir | crea un directori |
| rmdir | esborra directoris/carpetes si són buits |
| rm -r | esborra directoris i tot el que hi hagi dintre (recursivitat) |
| cp | copia arxius |
| rm | esborra arxius |
| mv | mou o canvia el nom d'arxius i directoris |
| cat | visualitza el contingur d'un o més arxius |
| more | mostra el contingut dels arxius |
| less | mostra el contingut dels arxius |
| split | divideix arxius |
| find | busca arxius |
| locate | localitza arxius segons una llista generada |
| updatedb | actualitza la llista dels arxius existents |
| whereis | mostra la ubicació d'un arxiu |
| file | mostra el tipus d'arxiu |
| whatis | mostra la descripció d'un arxiu |
| wc | compta línies, paraules o caràcters en un arxiu |
| grep | busca un text en arxius |
| head | mostra l'inici d'un arxiu |
| tail | mostra el final d'un arxiu |
| tailf | mostra el final d'un arxiu i el que s'afegeixi a l'instant (logs) |
| tr | reemplaça caràcters en un fitxer de text |
| sed | canvia una cadena de caràcters per una altra |
| join | creua la informació de dos arxius i mostra les parts que es repeteixen |
| paste | pren la primera línia de cada arxiu i les combina per formar una línia de sortida |
| uniq | elimina línies repetides adjacents de l'arxiu d'entrada quan copia l'arxiu de sortida |
| cut | selecciona columnes d'una taula o camps de cada línia del fitxer |
| ln | crea enllaços a arxius o carpetes |
| diff | mostra les diferències entre dos fitxers |
| fuser | mostra el que un usuari té en ús o bloquejat un arxiu o recurs |
| tar | empaqueta arxius |
| gzip | comprimeix en arxius .gz |
| gunzip | descomprimeix arxius .gz |
| compress | comprimeix arxius Z |
| uncompress | descomprimeix arxius Z |
| chmod | canvia permisos a arxius i directoris |
| chown | canvia de propietari |
| chgrp | canvia de grup |
| vi | obre l'editor de text vi |
| pico | edita un fitxer de text |
* Instal·lació/desinstal·lació de programari en SO que funcionen amb arxius .apt
** apt-get update (actualitza la informació del nostre servidor de paquets)
** apt-cache search <paràmetre> (busca <paràmetre> en les definicions dels paquets)
** apt-cache search paquet (descripció del paquet)
** apt-cache depend paquet (mostra les dependències)
** apt-get install <paquets> (descàrrega i instal·la els paquets sol·licitats)
** apt-get remove <paquets> (desinstal·la els paquets sol·licitats)
** apt-get upgrade (actualitza els paquets instal·lats a la nova versió)
** apt-get clean (elimina tots els paquets descarregats)
** apt-build install paquet (compila el tarball, crea el paquet deb i ho instal·la)
* Instal·lació/desinstal·lació de paquets .DEB
** dpkg -i paquet - Instal·lació de paquets .deb
** dpkg -r paquet - Desinstal·la un paquet.
** dpkg --purge paquet - Desinstal·la a més els fitxers de configuració.
** dpkg --force -r paquet - Força la desinstal·lació.
** dpkg -c paquet - Mostra el contingut d'un paquet.
** dpkg -L paquet - Mostra tots els fitxers.
** dpkg -S fitxer - Mostra a quin paquet pertany.
** dpkg --get-selections - Llistat tots els instal·lats.
** dpkg-reconfigure paquet - Reconfigura paquets.
* Consoles virtuals
** Alt+F1 a Alt+F6 fora de l'entorn gràfic
** Ctrl+Alt+F1 a Ctrl+Alt+F6 si estem en entorn gràfic
** Alt+F7 tornar a les X
* Cerca de fitxers
** Mode d'ús: find [ruta_accés...] [expressió] exemple: find . -name “*module*”
** whereis executable - Busca un executable
** type ordre- Mostra la ubicació de l'ordre.
* Permisos, usuaris i grups
** chmod Modificar permisos
** chown Modificar propietari
** chgrp Modificar grup
** adduser o useradd crega un usuari nou.
** adduser user group – afig un usuari a un grup.
** deluser borra un usuari del sistema.
** delgroup group elimina un grup
** deluser user group – elimina un usuari d'un grup
* Manuals
** man <PalabraClave> – mostra el man determinat
** man -f <PalabraClave> - busca la <paraula clau>
** man -k <PalabraClave> - busca en el contingut.
** man <secció> <PalabraClave> - flama la secció del man
** apropos paraula_clau -Busca dins de les man
* Configuració de xarxa
** ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
** ifconfig eth0 down
** ifconfig eth0 hw ether 00:01:02:03:04:05
** ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0 up
** dhclient eth0
** route add default gw 161.116.32.254
** route add -net 192.168.2.0/24 gw 192.168.1.254
** netstat -nr Mostra la taula de routing.
** Eines sense fils per a Linux

## Enllaços externs

* Ordres Linux