Full resum d’ordres de la terminal
________________________________________
/ Alerta! Surt d'aquí si et mareges amb \
\ facilitat. Jo t'he avisat. /
----------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Orientació i navegació
whoami # usuari actual
pwd # ruta actual
ls -lah # llista (ocults, detalls)
cd /ruta/absoluta # canviar de directori
cd .. | cd - | cd ~ # superior | tornar | casa
pushd DIR; popd # guardar / tornar a una rutaArxius i directoris
En l’argot de Linux els directoris són les carpetes.
touch nota.txt # crear arxiu
mkdir -p docs/projectes # crear dins de directoris
cp arxiu1 arxiu2 # copiar arxiu
cp -r dir dir_respaldo # copiar directori
mv origen destí. # moure/reanomenar
rm arxiu.txt. # borrar arxiu
rm -rf dir # ¡ALERTA! borrar forçant!! ⚠️Veure / comptar text
cat | less # veure el contingut
head -n 20 | tail -n 50 # principi o final
nl arxiu.txt # numera línies
wc -l -w -m arxiu.txt # compta línies, paraules i/o caràcters
awk -F',' '{print $1,$3}' datos.csvCerca potent
# GREP (contingut)
grep -i "patró" arxiu # sense distingir majúscules
grep -i -c "patró" arxiu # comptar coincidències
grep -i -v "patró" arxiu # excloure
# FIND (per nom, tipus i mida)
find . -type f -name "*.log"
find . -type f -size +1MWildcards (regex)
ls *.txt # acabats en .txt
ls file?.txt # amb un caràcter que pot canviar
ls *[o].* # nom d'arxiu acabat en "o"
ls *.{md,log} # extensions múltiples (brace expansion)Redireccions i canonades (pipes)
- stdin (0):entrada estàndard
- stdout (1): sortida estàndard
- stderr (2): sortida d’errors estàndard
echo "hola" > out.txt # sobrescriu ⚠️
echo "món" >> out.txt. # agrega a l'arxiu
cmd1 | cmd2 # sortida d'1 → entrada de 2
ls inexistent 2> errors.log # stderr a arxiu
cmd &> todo.log # stdout+stderr juntsExemples concrets
Com que em calia més context, he decidit fer-ne un
# 1. Comportament per defecte (sense redirigir)
# L'stdout i l'stderr es barregen a la pantalla.
$ ls dades.txt fals.txt
ls: cannot access 'fals.txt': No such file or directory # (Això és stderr)
dades.txt # (Això és stdout)
# 2. Capturar només la sortida correcta (>)
# L'error continua sortint per la pantalla, però l'stdout es desa a l'arxiu.
$ ls dades.txt fals.txt > llista.txt
ls: cannot access 'fals.txt': No such file or directory
$ cat llista.txt
dades.txt
# 3. Capturar només l'error (2>)
# La sortida correcta es mostra per pantalla, l'error es desa.
$ ls dades.txt fals.txt 2> errors.log
dades.txt
$ cat errors.log
ls: cannot access 'fals.txt': No such file or directory
# 4. Redirigir les dues coses a llocs diferents
# Pantalla neta. Cada flux va al seu arxiu corresponent.
$ ls dades.txt fals.txt > llista.txt 2> errors.log
# 5. Silenciar els errors (/dev/null)
# /dev/null és el "forat negre" del sistema UNIX. Tot el que s'hi envia s'esborra instantàniament. Molt útil per ocultar advertències.
$ ls dades.txt fals.txt 2> /dev/null
dades.txt
# 6. Entrada estàndard (<)
# Envia el contingut d'un arxiu a una comanda, com si ho haguessis teclejat. Per exemple, la comanda wc -l compta línies.
$ wc -l < llista.txt
1
# 7. Combinació avançada de canonades (|)
# Es poden encadenar tantes canonades com calgui. L'ordre s'executa d'esquerra a dreta.
$ cat access.log | grep "404" | wc -l
# Llegeix el log, cerca "404" i et diu quantes línies hi ha; és a dir, quants errors 404 hi ha hagutOperadors de control
cmd1; cmd2 # sequencial passi el que passi
cmd1 && cmd2 # només si cmd1 és correcte
cmd1 || cmd2 # només si cmd1 fallaProcessos
sleep 1000 & # background (& al final)
jobs # llistar treballs de BG
fg %1 | bg %1 # portar/enviar treball
ps aux | grep nom # snapshot processos
top | htop # monitor en vivo (htop amb apt/brew)
kill -9 PID # acabar procés (SIGKILL)Permisos
ls -la # -rwxrw-r--
chmod u+x script.sh # atorgar execució a l'usuari
chmod 755 script.sh # u=rwx, g=rx, o=rx
chmod 644 archivo.txt # u=rw, g=r, o=r
# (4 = r, 2 = w, 1 = x)Variables de entorno & alias
echo $SHELL | echo $PATH
mybar="hola"; echo $mybar
export mybar="hola" # disponible a subprocessos
echo 'export mybar="hola"' >> ~/.bashrc && source ~/.bashrc
alias # veure els àlies
alias cls='clear' # fer un àlies temporal
echo "alias cls='clear'" >> ~/.bashrc && source ~/.bashrc # fer un àlies permanent
type ls | which ls | whereis ls | whatis lsExplicació
L’estructura (ls -la)
- Posició 1: Tipus. Un guió (
-) indica un arxiu normal. Unadindica un directori. Unalindica un enllaç simbòlic. - Bloc 1 (Posicions 2-4): Permisos de l’Usuari propietari (
u). En el teu exemple,rwx(llegeix, escriu, executa). - Bloc 2 (Posicions 5-7): Permisos del Grup propietari (
g). En el teu exemple,rw-(llegeix i escriu, no executa). - Bloc 3 (Posicions 8-10): Permisos de la resta del món, els Altres (
o). En el teu exemple,r--(només llegeix).
Els permisos i els valors (sistema octal)
Cada bloc té tres posicions possibles. A l’hora de definir-les numèricament, cada permís té un pes fix que es suma.
r(Read = 4): Dret a obrir i llegir l’arxiu. (En directoris, permet llistar-ne el contingut).w(Write = 2): Dret a modificar l’arxiu. (En directoris, permet crear-hi o eliminar-ne fitxers).x(Execute = 1): Dret a executar el fitxer com a programa. (En directoris, permet entrar-hi ambcd).-(Cap = 0): Absència del permís corresponent.
Mètodes per modificar-los (chmod)
Hi ha dues vies de gestionar els permisos. Cadascuna respon a una necessitat diferent.
1. Mode simbòlic (modificació relativa) Actua exclusivament sobre la part especificada, sense alterar els permisos que ja tenien les altres categories. Requereix triar a qui s’aplica (u, g, o, o a per “a tothom”), l’acció (+ per atorgar, - per denegar) i el permís (r, w, x).
chmod u+x script.sh: Afegeix execució només a l’usuari propietari.chmod o-w arxiu.txt: Retira el permís d’escriptura a la resta d’usuaris.
2. Mode octal (modificació absoluta) Sobreescriu els permisos complets de les tres categories de cop. És la notació estàndard i més àgil quan es coneix l’estat final desitjat.
chmod 755 script.sh: L’usuari té un7(4+2+1, per tantrwx). El grup i els altres tenen un5(4+1, per tantr-x). És l’estàndard òptim i segur per a scripts i directoris.chmod 644 arxiu.txt: L’usuari rep un6(4+2, per tantrw-). El grup i els altres reben un4(nomésr--). És la configuració per defecte recomanada per a fitxers no executables (documents, configuracions, logs).
Paquets
# Debian/Ubuntu
sudo apt update && sudo apt upgrade
sudo apt install neofetch
sudo apt remove|purge paquet
# macOS (Homebrew)
brew update && brew upgrade
brew search|info|install paquet
brew list | brew uninstall paquet | brew cleanupTmux
# Tmux (prefix por defecte: Ctrl+b)
tmux new -s sessió
# Dividir: Ctrl+b % (vertical) | Ctrl+b " (horitzontal)
# Nova finestra: Ctrl+b c | Reanomenar: Ctrl+b ,
tmux ls | tmux attach -t sessióXarxa i web
ip a # interfícies y adreces
ip r # taula de rutes
ping domini # conectivitat (Ctrl+C per a estadístiques)
curl URL # GET ràpid (→ arxiu: > index.html)
wget URL # descarregar arxiu
nmap HOST # escanneig de ports (ús avançat)
traceroute HOST # ruta de salts