touch--> créer un fichier
cat > --> créer un fichier
cd--> changer un repertoire.
pwd--> connaitre le repertoire courant.
more fichier--> affiche le contenu de fichir page par page.
rm--> supprmie un fichier.
mv--> change le nom d'un fichier,déplace un fichier.
vi--> édite un fichier.
man commande--> affiche les pages de manuel commande.
date--> affiche la date.
cp-->copie des fichiers dans un repertoire.
du-->affiche la taille d'une arborescence.
find--> recherche de fichier dans une arborescence.
* --> interprété comme toute suite de caractère alphanumérique.
? --> interprété comme un seul caractère alphanumérique.
; --> séparateur de commandes.
[] --> remplace un caractère choisis parmi ceux énumérés entre les crochers.
/etc/password --> fichiers de description des utilisateurs.
/etc/group --> fichiers de description des groupes.
id --> affiche les informations d'identification de l'utilisateur.
whoami --> affiche le nom d'utilisateur.
users --> affiche les noms de tous les utilisateurs sur le système.
who --> comme users mais avec plus d'information.
passwd --> change le password actuel.
groups --> affiche le sgroupes auxquels l'utilisateur appartient.
newgrp/groupadd grooupname --> changement de groupe.
su username --> changement d'identité de l'utilisateur.
lastlog --> date de la dernière connection.
sudo useradd nom_utlisateur --> ajouter un utilisateur.
sudo adduser nom_utlisateur nom_group --> ajouter un user à un groupe.
chown nouveau-propriétaire nom-fichier--> le fichier a un nouveau propriétaire.
chgrp nouveau-groupe nom-fichier--> le fichier a un nouveau groupe.
la commande ls:
ls--> lister un repertoire.
ls -m-->afficher les fichier en les séparant par une virgule.
ls -t-->afficher les fichiers par date(le plus recent au plus ancien);
ls -lu-->afficher les fichiers par date de dernier accès et indique cette date.
ls -F-->afficher les fichiers par type(fichier suivi par "@" est un lien,suivi par "*"est fichier exécutable.
ls -S-->afficher les fichiers triés par ordre de taille décroisante.
ls -X->afficher les fichiers par type d'extension.
ls -r-->afficher les fichiers en ordre alphabétique inverse.
ls -l-->afficher les droit d'accès d'un fichier.
ls -links->afficher le nombre de liens d'un fichier.
ls -ls-->affiche les fichier selon la taille .
la commande tr:
tr-->substitution ou supression des caractères <ch1> [<ch2>].
tr -s-->élimination des répetitions successives de <ch1>.
tr -d-->supression de toutes les occurences de <ch1>.
la commande uniq:
uniq--> Élimine les lignes dupliquées dans un fichier trié par défaut.
uniq -d--> affiche seulement les lignes dupliquées.
uniq -u--> affiche seulement les lignes non dupliquées (par défaut).
uniq -c--> donne le nombre d’exemplaires de chaque ligne.
la commande cut:
cut--> Supprime une partie de chaque ligne d’un fichier par défaut.
cut -c --> Sélection sur le rang du caractère.
cut -b --> Sélection sur le no d’octet.
cut -s (avec -f) --> supprime les lignes vides.
cut -d seperateur --> le séparateur des champs.
la commande paste:
paste --> Regroupe les lignes du même n° de différents fichiers.
la commande cp:
cp -i--> avertit de l'existence d'un fichier du meme nom et demande s'il peut le remplacer ou non.
cp -l--> permet de faire un lien " dur" entre le fichier source et sa copie.
cp -s--> permet de faire un lien "symbolique" entre le fichier source et sa copie.
cp -p--> permet lors de la copie de préserver les informations concernat le fichier.
cp -r--> permet de copier de manière récursive l'ensemble d'un répertoire et de ses sous répertoire.
la commande mv:
mv -b--> effectuer une sauvegarde des fichiers avant de les déplacer.
mv -i--> demande pour chaque fichier et repertoire s'il peut ou non le déplacer.
mv -u--> demande à "mv" de ne pas supprimer le fichier si la date de modification est la meme ou plus
récente que son remplaçant.
la commande rm:
rm -i--> demande à l'utilisateur la confirmation avant la supression des fichiers.
rm -r--> permet de supprimer un répertoire et ses sous répertoires.
rm -f--> permet de supprimer les fichiers protégés en écriture et répertoires sans confirmation.
rm rapport* --> effacer tous les fichier commençant par "rapport".
rm rapport?.doc --> effacer certains fichiers commençant par "rapport?.doc".
rm [ab]*.txt--> effacer les fichires dont la 1ere lettre et "a" ou "b" et se terminant par ".txt".
rm rapport[12][0-9] --> effacer les fichiers numérotés d 10 à 29.
la commande mkdir:
mkdir-->crée un répertoire.
mkdir -p répertoire/sous répertoire.
exemple:
mkdir -p rep1/rep11/ rep110 || mkdir -p rep1/rep12/rep120 rep121
la commande rmdir:
rmdir-->supprimer un repertoire.
rmdir -p--> supprime un répertoire et ses sous répertoire.
la commande ln:
ln--> make links between files.
ln -s--> permet de faire des liens symboliques.
la commande sort:
sort--> permet de trier par ordre alphabétique des lignes d'un fichier.
sort -b--> ignorer les blancs en début de ligne pendant la recherche de la clé de tri sur chaque ligne.
sort -d--> trier dans l'ordre des répertoires téléphoniques:ignorer pour le tri tous les caractères autres
que les lettres,les chiffres et les blancs.
sort -f--> considérer les miniscules comme leur équivalent en majuscule pendant le tri.
sort -n--> tri numérique.
la commande grep:
grep--> recherche d'un motif dans un fichier.
grep -c--> compte le nombre de lignes contenant la chaîne.
grep -l--> afficher le nom du fichier qui correspond au modèle plutôt que d'afficher chaque ligne du
fichier qui correspond.
grep -r--> recursive(tous les fichiers dans l'arborescence).
grep -v--> affiche les lignes ne contenant pas la chaîne.
grep -i--> ignorer la casse.
grep -e--> spécifier plusieurs chaine(grep -e ch1 -e chaine2 file).
grep -E--> expressions régulières étendus.
grep -w--> faire correspondres uniquement les mots entiers.
grep -n--> afficher le numéro de la ligne avant d'afficher la ligne.
grep ^[s]--> affiche les mots commençant par s.
grep 79$--> affiche le prix qui se termine avec 79.
la commande head:
head--> afficher les premières lignes(sans option les 10 1ère lignes).
head -n N --> affiche les N premieres lignes.
head -q --> ne pas afficher les en-têtes mentionnant les noms de fichiers.
head -v --> toujours afficher les en-têtes mentionnant les noms de fichiers.
la commande tail:
tail--> afficher les dernières lignes(sans option les 10 dernières lignes).
tail -n N-->affiche les N dernières lignes.
tail -q --> ne jamais afficher les en-têtes mentionnant les noms de fichiers.
tail -v --> toujours afficher les en-têtes mentionnant les noms de fichiers.
tail -f --> afficher en temps réel un fichier.
la commande diff:
diff--> permet de comparer 2 fichiers.
diff -a --> traiter tous les fichiers comme du texte, et les comparer lignes à lignes.
diff -b --> ne pas tenir compte des différences concernant des espaces blancs.
diff -B --> ne pas tenir compte des différences concernant des lignes blanches.
diff -brief --> Indiquer seulement si les fichiers diffèrent, pas les différences elles-mêmes.
la commande find:
find--> permet de recherche un fichier dans une hiérarchie de répertoires.
find -name--> recherche sur le nom du fichier.
find -perm--> recherche sur les droits d'accès du fichier.
find -links--> recherche sur le nombre de liens du fichier.
find -user--> recherche sur le propriétaire du fichier.
find -group--> recherche sur le groupe auquel appartient le fichier.
find -type--> recherche sur le type(d=répertoire,c=caractère,f=fichier normal,l=liens symboliques).
find -size--> recherche sur la taille du fichier en nombre de blocs(1bloc=512octets).
find -atime--> recherche par date de dernier accès en lecture du fichier.
find -mtime--> recherche par date de dernière modification du fichier.
find -ctime--> recherche par date de création du fichier.
find -delete--> supprimer tous les fichiers qui correspond:
ex: find/tmp -name "*.tmp" -delete.
find -exec--> executer une commande sur chaque fichier tourvé.
find -ls--> lister les details sur chaque fichier.
find -ok--> comme -exec mais demande une confirmation pour déterminer si l'utlisateur veut exécuter
la commande.
exemples:
Ex1: chercher dans l'arborescence /usr les répertoires dont le nom commence par "local".
find /usr - name "local*" -type d -print.
Ex2: chercher dans le repertoire courant les fichiers .c de plus de 40Ko.
find . - name ".c" -size +80 -print.
Ex3: chercher les liens symboliques qui se nomment local dans /usr.
find /usr - name "local" -type l -print.
Ex4: chercher dans le repertoire courant les fichiers exécutable appartenant à l'utilisateur
smi4.
find . -user smi4 -type f -print.
Ex5: chercher les fichiers .c ayant le droit 644.
find . - name "*.c" -perm 644 -print.
Ex6: chercher les répertoires qui ne sont pas accessible dans /usr.
find /usr -type d -perm 666 -print.
Ex7: recherche les derniers qui ont été modifiés il ya 5 jours.
find / -mtime -5 -print.
Ex8: on peut controler la profondeur dans laquelle "find" entre lors de la recherche de
sous-répertoires.
find /home/calvin/ -maxdepth -2 -name "*.txt".
****************************************************
droit d'accès aux fichiers
Classes d'utilisateurs:
il existe 3 classes d'utilisateur pouvant accéder à un fichier:user/group/others.
Type d'accès:
r : en lecture(Read).
Au niveau de répertoire,droit de lister les fichiers présents dans ce répertoire(Read).
w : en écriture(Write).
Au niveau de répertoire,droit de créer ou de détruire un fichier qui s'y trouve(Write
x : en éxecution(eXecute).
Au niveau de répertoire,droit de traverser ce répertoire(eXecute).
la commande ls -l affiche les droit du fichier.
exemples:
-rw-rwx-r-x ayoub info 255 2008-08-15 14:14 index.txt
-rw-rwx-r-x--> user a le droit de lire et écrire / Group a le droit de lire et écrire et éxecuter / Others ont le
droit de lire et d'éxecuter.
ayoub--> user / info--> group /255--> taille / 2008-08-15 14:14--> date/heure modif /
index.txt--> nom du fichier
La commande "chmod" permet de modifier les droits:
chmod -R Modifier récursivement les autorisations des répertoires.
Mode symbolique:
chmod [option] ... mode[,mode] ... file ...
--> u (user) , g (group) , o (others) , a (all users).
--> + (ajouter le droit), - (retirer le droit), =(ajouter le droit et retirer tous les autres).
Mode octal:
chmod [option] ... octal-mode file ...
--> basé sur des nombres de 0 à 7.
--> chaque bit de la traduction binaire correspond un droit.
Umask:
Quand on crée un fichier,ce dernier possède par défaut certains droits:
-> 666 pour un fichier ordinaire (-rw-rw-rw-).
-> 777 pour un répertoire (drwxrwxrwx).
Pour un fichier:
Si on tape umask 022 , on retranche 022 de 666 = 644 (-rw-r--r--)et se sont les droits par défaut pour un
fichier quand on le crée.
Pour un répertoire:
Si on tape umask 022 , on retranche 022 de 777 = 755 (drwxr-xr-x)et se sont les droits par défaut pour un
répertoire quand on le crée.
remarque: "umask" n'est utilisable que si on est propriétaire du fichier.
Umask:
chown nouveau-propriétaire nom-fichier.
chgrp nouveau-groupe nom-fichier.
****************************************************
Gestion des processus
processus:objet dynamique qui represente un programme en cours d'execution et son contexte
Caracteristique:
• identification(pid)
• identification proc.parent (ppid)
• proprietaire
• priorité
Pour voir les processus en cours: PS
PS -f --> PS -A --> Affichage des processus en liste complète
PS -ef -->PS -aux --> Affichage de l’information pour tous les processus
ps -eo pid,ppid,ni--> lister les processus avec le PID,PPID, le nom du processus et leurs valeurs
nice respectives.
Foreground:commande qui garde la main pendant son exécution. Utilise le clavier et l’écran.
Background:commande qui rend la main une fois le processus lancé. Celui-ci continue sans faire
d’entrée/sortie au terminal.
Commande & -->Lance un processus en background
jobs -->Affiche les processus en background
kill %job -->Termine un processus en background
fg [%job] -->Mettre une commande en avant plan
bg [%job] -->Mettre une commande en arrière plan
Commandes de gestion des processus:
top--> Affichage remis à jour des processus en fonctionnement
htop--> Affichage remis à jour des processus en fonctionnement
La commande nice:
sudo nice <VALEUR> <COMMANDE>
nice--> Lancer un programme avec une certaine priorité
nice --10 gnome-terminal--> assigner une valeur de priorité négative de -10
nice -10 bash--> assigner une valeur de priorité positive de 10 à bash.
nice -n 10 bash--> l'option -n permet de donner une valeur de nice
La commande renice:
renice--> Changer la priorité d’un processus en cours d’exécution.
renice -n 15 -p <PID>--> changer la priorité du processus avec son PID.
renice -n 15 -u <utilisateur>--> changer la priorité du processus par utilisateur.
La commande PSTREE:
pstree--> Affichage des processus en arborescence
pstree -p--> Affiche le PID des processus entre parenthèses
pstree -u--> Affiche l'arbre des processus d'un utilisateur
pstree -h--> Met en surbrillance la branche de la commande « pstree »
pstree -a--> Affiche les arguments de la commande des processus
pstree -c--> Désactive le regroupement des processus en une seule ligne
La commande kill:
kill--> Envoie de signal à un processus.
kill -l --> affiche la liste des signaux.
kill -15 --> terminer un processus.
kill -9 --> tuer un processus.
kill -19 --> stopper un processus.
kill -18 --> reprise d'execution d'un processus suspendu.