- aide du terminal
« man comand » pour connaitre opérateurs.
Recherche dans « man » -> « /… »
-h ou –help pour aide
appuyer 2 foios sur TAB pour infos sur completions possibles - cat /etc/shells
connaitre l’interpréteur de commandes installé - « cd nom_dir » se deplacer dans dir enfant, sinon cd /path/
cd ..permet de revenir au répertoire parent.
cd – permet de revenir au précédent répertoire.
cd (=cd ~) déplace dans votre répertoire personnel.
cd revenir à la racine - « ls » : Affiche la liste des fichiers présents dans le répertoire courant.
Les options :
-a : voir les fichiers cachés,
-l : voir la liste des fichiers sous la forme longue
-R : récursive affiche sous rep
ls -la -R /chemin/Dossier
-t : classer par date de dernère modif
lshw (infos hardware) / lscpu (infos cpu) - « echo » « … » : afficher chaine
-n sur la même ligne
-e interprète les caractères d’échappement (\n -> retour à la ligne) - « touch » : créer un fichier
-p : ne créer aucun fichier
-m : ne changer que la date de dernière modif
-a : ne changer que la date de dernier accès - « cp » pour copier
-r : récursive
-a : copie complète des fichiers et des répertoires -i : demander confirmation - « rm », pour supprimer (rmdir si dossier vide)
Les options courantes :
« -i » : demande confirmation avant d’effacer un fichier
« -r » : efface récursivement les fichiers d’un répertoire - « mkdir », Créer un répertoire
Créer des sous-répertoires (arborescence) avec l’option -p :
mkdir -p repertoire1/repertoire2/repertoire3 (veut aussi dire que si existe déjà, ne la créé pas)
-m mode pour gérer permissions (ex: -m 700 /home/flo/Coffre) - « rmdir » supprimer dossier VIDE
-p : effacer les répertoires parents - « cat » : afficher un fichier à l’écran sans le modifier (uniquement les 24 dernières lignes max)
-n : affiche n° de ligne - « more » affiche page par page et « less » on peut remonter pour consulter le début
- « mv » pour déplacer ou renommer
- « nano » : éditer fichier
- « pwd » : renvoie path du dossier courant
- « read » : demander saise utilisateur
read prenom -> « prenom » sera defini comme une variable
-p : afficher msg
-n : limiter le nb de caracteres
-t : limiter le temps autorise
-s : ne pas afficher la saisie - « grep » : permet d’afficher le texte associé à une chaîne de caractères spécifiée. Elle s’utilise ainsi : « grep chaîne nom_du_fichier »
grep « Invalid » /var/log/auth.log
-v : ce qui ne correspond pas
-i : ignorer la casse
-c : compter le nombre de correspondance
-o : n’affiche que la partie correspondante de la ligne - « kill » : permet d’éteindre un programme. Utile si un programme ne fonctionne pas correctement.
« kill numéro_de_PID » : le numéro du PID est obtenu en utilisant la commande ps
kill -9 numero_de_PID #forcer l’arret avec n°PID
pkill -9 vlc #forcer l’arrêt immédiat d’un processus avec son nom - « uname -a » : vérifier version OS
- « find » chercher
find [emplacement] -name [nom fichier] -print
find . option #rechercher dans tous le système -iname -> insenssible à la casse
find /usr -iname « tra?h. » -print #on ne connaît pas le nom exact du fichier
find . -name « samba » -print 2> /dev/null #rediriger la sortie d’erreurs (stderr) sur /dev/null (par ex pb de permissions) -type f (file) -type d (dossier) find /var/log/ -type d -name « sm* » #chercher les répertoires dont le nom contient sm
find ~/Téléchargements -size +20M -size -40M
find /var/log/samba/ -atime -1 # »atime » -> dernière date d’accès
-atime / -mtime /ctime :
-0 / -1 / -2 -> nb de jours depuis aujourd’hui
-exec : permet d’exécuter une action, doit être la dernière option et finir avec « {} \; »
find / -uid 500 -exec chown adrien {} \;
find /tmp -type d -perm /o+w -exec ls -ld {} \; # »other » peuvent écrire (ici dans /tmp) et lister leurs permissions
« – » : au moins les droits indiqués
« + » : au moins l’un des droits indiqués - « wc » compter
-l : lignes
-w : mots
-c : caractères
cat [mon_fichier] | wc -l #compter les lignes du fichier
wc -l < fichier.ext - « tail » (ou « head) affiche les 10 dernières lignes du fichier
tail nom_fichier
-n spé nombre de ligne
-f examiner un fichier à la recherche de variations, couramment utilisée pour suivre les fichiers journaux en temps réel - « sort » trier ligne d’un fichier
-d : ordre alphabétique
-r inverse
-n ordre croissant
-h : taille (espace disque) croissant
-b : ignorer blancs en début de ligne -f : ignorer la casse
-o : spécifier un fichier de sortie qui écrit le résultat du tri -> « sort -o fichier_sortie fichier_entrée » - « ps » : afficher des informations sur les processus en cours d’exécution
-A afficher tous les proces
-f permet d’afficher plus d’informations
-u lister tous les processus d’un utilisateur
-e listez les processus de tous les utilisateurs du système
-C filtrer la sortie sur une commande particulière (ex bash)
-q rechercher un processus par son pid
-ax montre les processus qui ne vous appartiennent pas - « ln » : link, lien synbolique
ln -s /path nom_donné - métacaractères
* Toute chaîne de caractère, même une chaîne vide
? Un caractère quelconque, mais présent
[xyz] Tout caractère correspondant à l’un de ceux contenus
[x-y] Tout caractère compris entre « x » et « y »
[!x-y] Tout caractère qui n’est pas compris entre « x » et « y »
$ Contenu d’une variable
« … » Neutralisation de certains métacaractères placés à l’intérieur
‘ ‘ Neutralisation de tous les métacaractères placés à l’intérieur
\ Neutralisation de tout métacaractère placé après
( ) Groupement de commandes
; Séparateur de commande (permet d’en placer plusieurs sur une ligne)
< Redirection en entrée à partir d’un fichier
<< Redirection en entrée à partir des lignes suivantes
> Redirection en sortie vers un fichier
>> Redirection en sortie vers un fichier en mode « ajout »
| Redirection vers une commande (pipe mémoire)
& Lancer simultanément 2 cmd
&& lancer cmd2 si e.s.si cmd1 s’est correctement terminée
|| lancer cmd2 si e.s.si cmd1 code retour dift de 0 (code 0 = ok) - globbing
ls -l pied????.doc (tous fichiers commençant par pied + 4 caract)
ls -l meilleur.???
ls -l .pl ls -l a.* (tous fichiers/d commençant par a)
ls -l [ ps ] * (tous fichiers/d commençant par dont nom contient p,q,r,s)
ls -l [ 1 – 5 ] *
grep ‘er$’ /tmp/french.utf8 ($ indique donc la fin de ligne)
grep ‘^absol’ /tmp/f… (^ indique le début d’une ligne)
grep ‘^[PR]’ liste.txt (lignes du fichier list.txt qui commencent par P ou Q ou R)
grep ‘[^AC]’ liste.txt (surbrillance les lignes du fichier list.txt qui commencent par A ou B ou C)
grep [!4-8] liste.txt (afficher les lignes du fichier list.txt qui commencent par n’importe quel chiffre de 4 à 8)
^=!
grep a$ liste.txt (lignes du fichier list.txt qui se terminent par « a »)
ls -l {?????.sh,*st.txt} (fichiers dont les noms comportent 5 caractères et l’extension est « sh » ou dont les deux derniers caractères sont « st » et l’extension est « txt »)
ls a * + ( .bash | .sh ) (rechercher les noms de fichiers qui commencent par le caractère « a » et ont l’extension « bash » ou « sh » - « awk » afficher (-F : spé séparateur)
awk -F , « {print $ 1,$ 2} fichier.csv
cat /etc/passwd | awk -F : ‘{print $ 1}’ - « tee » récupère le résultat de la cmd précédante, peut être utilisé avec les privilèges sudo
sudo cmd1 | sudo tee .Ressources - « test »
ex : test -f /etc/group
echo $?
0 #le fichier group existe et est un fichier ordinaire
test sur fichier
-e fichier renvoie 0 si fichier existe.
-d fichier renvoie 0 si fichier existe et est un répertoire.
-f fichier renvoie 0 si fichier existe et est un fichier ‘normal’.
-w fichier renvoie 0 si fichier existe et est en écriture.
-x fichier renvoie 0 si fichier existe et est exécutable.
f1 -nt f2 renvoie 0 si f1 est plus récent que f2.
f1 -ot f2 renvoie 0 si f1 est plus vieux que f2
comparaison numérique
$A -lt 5 renvoie 0 si $A est strictement inférieur à 5
$A -le 5 renvoie 0 si $A est inférieur ou égal à 5
$A -gt 5 renvoie 0 si $A est strictement supérieur à 5
$A -ge 5 renvoie 0 si $A est supérieur ou égal à 5
$A -eq 5 renvoie 0 si $A est égal à 5
$A -ne 5 renvoie 0 si $A est différent de 5 - « sed » remplacer
echo « du texte » | sed ‘s/(qui)/(parquoi)’
echo « jean.durand@gmail.com » | sed ‘s/@/ at /’ | sed ‘s/\./ pOiNt /’
renvoie:
jean pOiNt durand at gmail.com
On remplace le « . » par » pOiNt » et le « @ » par » at « , on voit ici que l’on a mis « \ » devant le « . », le « \ » est le caractère d’échappement : le « . » est alors considéré comme le caractère « . ».
De même si on veut remplacer « / » par « slash », on utiliserait
s/\// slash /
sed ‘s/kikoo/#kikoolol/g’ /etc/config.txt
Sur fichier : ceci remplace toute occurrence de « kikoo » par « #kikoolol » dans le fichier /etc/config.txt mais ne le modifie pas, le résultat est donné sur la sortie standard. Pour modifier le fichier il faut ajouter l’option -i à sed.
On peut enfin spécifier l’occurrence à remplacer :
echo « moimoimoi » | sed ‘s/moi/toi/3’ Donne : moimoitoi
Utilisation de variables avec sed ce qui permet d’échanger, de déplacer des parties d’une chaîne de caractères. Exemple :
echo « jean.durand » | sed -r ‘s/(.*).(.*)/\2.\1/’
(.*) représente l’affectation des variables et \n la n-ième variable, ici on met donc ce qu’il y a avant le point (« \. ») dans \1 et ce qu’il y a après dans \2 puis on met \2 devant \1, on obtient :
durand.jean - « top » : gestion des ressources et processus
- « mount » : mapper un disque réseau
mount -t [type] -o [options] //adIP/dossier chemin/dossier/local - « curl »
Permet le transfert de données entre le serveur et l’hôte
curl –write-out %{http_code} –silent –output /dev/null adIPsrv - « date »
full date ‘%F’ si en premier ‘+’ / heure ‘%T’
date +%F\ %T
$(date + »%Y%m%d_%H%M%S »)= $(date +%F\_%T)
$(date ‘+%Y-%m-%d à %H:%M:%S’) - « rsync –version » : verifier si un programme/paquet est bien installé
