set : Veure totes les variables definides
env : Veure totes les variables d'entorn definides
nom_var=valor_var : Definir variable i assignar-li valor
export nom_var=valor_var : Definir variable entorn i assignar-li valor
export nom_var : Convertir variable local a variable d'entorn
unset nom_var : Alliberar una variable
$nom_var : Fer referència al valor de la variable nom_var
${nom_var} : Fer referència al valor de la variable nom_var (les claus ens ajuden a delimitar el nom de la variable)
\ : anul.la el significat especial del caràcter que va darrera
' ' : anul.la el significat especial de tots els caràcter que estiguin dins les cometes
“ “ : anul.la el significat especial de tots els caràcters excepte: $ \ `` “”
< : redireccionament d'stdin
> : redireccionament d'stdout. Si el fitxer no existeix el crea. Si el fitxer existeix es carrega el contingut
» : redireccionament d'stdout si el fitxer no existeix el crea si el fitxer existeix afegeix a continuació
2> : redireccionament d'stderr si el fitxer no existeix el crea si el fitxer existeix es carrega el contingut
2» : redireccionament d'stderr si el fitxer no existeix el crea si el fitxer existeix afegeix a continuació
1>&2 : redireccionar stdout a stderr
2>&1 : redireccionar stderr a stdout
>& : redireccionar stdout i stderr a un fitxer
. : qualsevol caràcter simple
[] : conjunt de caràcters
[^ ] : qualsevol caràcter no inclòs als corxets
[ - ] : rangs
* : 0 o més ocurrències de l'expressió precedent
^exp : qualsevol cadena que comenci amb l'expressió regular exp
exp$ : qualsevol cadena que acabi amb l'expressió regular exp
cat [nom_fitxer] : mostra stdin/nom_fitxer
cut -cllista [nom_fitxer] : extreu les columnes citades a llista
cut -fllista -dsep [nom_fitxer] : extreu els camps citats a llista segons el separador sep
format de llista:
A,B : seleccionar columnes/camps A i B
A-B : seleccionar columnes/camps des d'A fins a B
A- : des de la columna/camp A fins al final
-B : des del principi fins a la columna/camp B
grep [-cinv] patró [nom_fitxer] : Recerca de les línies dels fitxers/stdin del patró determinat
-c : només mostra el número de línia
-i : ignora maiúscules/minúscules
-n : afegeix el número de línia
-v : mostra les línies que no contenen el patró
format de patró (expressions regulars bàsiques):
. : qualsevol caràcter simple
[] : conjunt de caràcters
[^ ] : qualsevol caràcter no inclòs als corxets
[ - ] : rangs
* : 0 o més ocurrències de l'expressió precedent
^exp : qualsevol cadena que comenci amb exp
exp$ : qualsevol cadena que acabi amb exp
head [-num] [nom_fitxer] : Mostra les primeres num línies del fitxer/stdin (10 per defecte)
sort [-ndutsep] [-k num] [nom_fitxer] : Ordenar les línies de nom_fitxer/stdin
-n : ordenació numèrica
-d : no té en compte caràcters que no siguin lletres, números o blancs
-u : no té en compte les línies duplicades
-tsep : especfica un delimitador de camp
-knum : especifica que ordenarem perl camp num
tail [-num] [nom_fitxer] : Mostra les últimes num línies del fitxer/stdin (10 per defecte)
tee [-a] nom_fitxer1 [nom_fitxer2] : Mostra per pantalla nom_fitxer2/stdin i ho escriu a nom_fitxer1
tr c1 c2 [nom_fitxer] : tradueix c1 per c2 de nom_fitxer/stdin
tr -s c1 [nom_fitxer] : converteix c1 consecutius en un de sol
uniq [nom_fitxer] : converteix diverses línees iguals consecutives de nom_fitxer/stdin en una de sola
wc [-lwc] [nom_fitxer] :compta línies, paraules i caràcters de nom_fitxer/stdin.
-l : només el nombre de línies
-w : només el nombre de paraules
-c : només el nombre de caràcters
$0 : nom del shell-script que s'està executant
$n : paràmetre passat al shell-script en la posició n
$# : número de paràmetres
$* : llista de tots els paràmetres
$$ : PID de la shell procés que s'està executant
$! : PID de l'últim procés executat
$? : Retorn de l'últim procés executat
shift : Desplaçar els paràmetres en una posició
read nom_var : entrada per stdin
echo [-ne] cadena/$nom_var : sortida per stdout amb salt de línia final
-e : interpreta caràcters amb \
\n : salt de línia
\t : tabulador
…
NUMERO=`expr 1 + 1`
let expr_num :
1) avalua expr_num (a expr_num no hem de separar operadors d'operands amb un espai, ens serveic per assignar)
OPERADORS NUMÈRICS
OPERADORS LÒGICS
+ : suma
! : no
- : resta
&& : i
\* : producte
|| : o
\/ : divisió
% : mòdul
\( \) : parèntesis
test expr
[ expr ]
FITXERS
[ -e nom_fitxer ] : true si el fitxer existeix
[ -d nom_fitxer ] : true si el fitxer existeix i és un directori
[ -f nom_fitxer ] : true si el fitxer existeix i és regular
[ -L nom_fitxer ] : true si el fitxer existeix i és un enllaç simbòlic
[ -r nom_fitxer ] : true si el fitxer existeix i amb permís de lectura
[ -w nom_fitxer ] : true si el fitxer existeix i amb permís d'escriptura
[ -x nom_fitxer ] : true si el fitxer existeix i amb permís d'execució
[ nom_fitxer1 -nt nom_fitxer2 ] : true si fitxer1 és més nou que fitxer2
[ nom_fitxer1 -ot nom_fitxer2 ] : true si fitxer1 és més vell que fitxer2
CADENES
[ cadena ] : true si no és la cadena buida
[ -n cadena ] : true si la longitud de la cadena és diferent a 0
[ -z cadena ] : true si la longitud de la cadena és 0
[ cadena1 = cadena2 ] : true si són iguals
[ cadena1 != cadena2 ] : true si són diferents
ENTERS
[ num1 -eq num2 ] : true si són iguals
[ num1 -ne num2 ] : true si són diferents
[ num1 -gt num2 ] : true si la dada1 és més gran que la dada2
[ num1 -ge num2 ] : true si la dada1 és més gran o igual que la dada2
[ num1 -lt num2 ] : true si la dada1 és més petita que la dada2
[ num1 -le num2 ] : true si la dada1 és més petita o igual que la dada2
ESTRUCTURA if
if condicio1
then
instruccions
elif condicio2
then
instruccions
else
instruccions
fi
ESTRUCTURA case
case nom_var in
patro1) instruccions;;
patro2) instruccions;;
...
patron) instruccions;;
*) instruccions;;
esac
ESTRUCTURA while
while condicio
do
instruccions
done
ESTRUCTURA until
until condicio
do
instruccions
done
ESTRUCTURA for
for nom_var in llista_valors
do
instruccions
done
nom_arr=( val1 val2 … valn4 ) :declaració i assignació inicials
nom_arr[index]=val :assignació de val a l'element index de nom_arr
${nom_arr[index]} :fer referència a l'element situat a index de la taula nom_arr
nom_funcio(){
...
instruccions
...
}
* **return valor** :interromp la funció assignant un valor al codi de retorn de la funció