Quelques commandes de base Unix, bien sûr, toutes les options ne sont pas indiquées. Il suffit de consulter le manuel disponible en ligne de commandes. Pour la commande ls par exemple, saisissez man ls ou ls --help. Certaines commandes nécessitent les droits root, il faudra utiliser su ou sudo.


Parcourir et visualiser les répertoires (pwd, ls, cd).

La commande pwd donne le nom complet du répertoire courant, le répertoire où l'on se trouve. Par défaut lorsque l'on ouvre une console ou terminal, on se trouve dans le répertoire local /home. Pour se déplacer dans les répertoires de son système, on utilise la commande cd.


          cd /var/lib    vous emmène dans le répertoire lib.
          cd ..                 vous dirige vers le répertoire parent.
          cd                    vous dirige vers le répertoire local /home.


La commande ls nous permet d'afficher le contenu du répertoire en cours.

Options :

          ls -a             liste tous les fichiers et répertoires.
          ls -l              permet un affichage détaillé.
          ls -R            liste le contenu de tous les répertoires de façon récurrente.
          ls -al           permet un affichage détaillé de tous les répertoires.
          ls -lSr         permet de lister les répertoires et les fichiers par taille.
          ls -ltr          permet de lister les répertoires et les fichiers par date.


Détails d'une ligne : drwxr-xr-x  2 neos neos 36K  18 nov.  14:00 brushes

La première lettre de la ligne représente le type :

                  d                     indique qu'il s'agit d'un répertoire.
                   -                     ce tiret indique un fichier.
                  l                      indique un lien symbolique.
                  b ou c           fichier spécial (type bloc ou caractère).
                  rwxr-xr-x     r=lecture, w=écriture, x=exécution ou ouverture.

Indique les droits relatifs à chaque utilisateur ou groupe , il y trois catégories d'utilisateurs :

               Les trois premières lettres rwx concernent le propriétaire .
               Les trois suivantes r-x concerne le groupe.
               Les trois dernières r-x concerne les autres (qui n'appartiennent pas aux groupes ).

                2                      nombres de liens physiques.
               neos neos     indique le nom du propriétaire et groupe.
               36K                  taille
               18 nov.           date de dernière modification.
               brushes         nom du répertoire.

Créer un répertoire ou un fichier

La commande mkdir permet de créer un répertoire vide.

               mkdir docs    créera un répertoire nommé docs.
               avec l'option -p on peut créer plusieurs niveaux de sous-répertoires.
               mkdir -p test/test1/test2
  créera un répertoire test qui contiendra test1 qui lui même contiendra test2 .

La commande touch permet de créer un fichier vide.

               touch test      créera un fichier vide nommé test.

Copier des fichiers ou des répertoires

La commande cp permet de copier des fichiers ou des répertoires.

                cp "source" "cible"

Exemples d'options :

           cp -i                     demandera une confirmation avant écrasement  si un  fichier existe déjà .
           cp -f                     force l'écrasement sans confirmation.
           cp -r                     permet de copier un répertoire et son contenu vers un répertoire cible.
           cp test docs      copiera le fichier test dans le répertoire docs.

Il est possible de copier plusieurs fichiers en une seule commande.

           cp test1 test2 test3 docs copiera les trois fichiers dans le répertoire docs.
           cp -r docs Essai                   copiera le répertoire docs dans le répertoire Essai.

Renommer ou déplacer des fichiers

La commande mv permet de renommer ou déplacer des fichiers.
Les options :

           mv -i       demandera confirmation avant d'écraser un fichier existant.
           mv -f       force l'écrasement sans confirmation.
           mv -b      créera une sauvegarde du fichier avant écrasement.
           mv -u      n'écrase pas le fichier de destination si celui ci est plus récent.

Pour renommer un fichier

           mv test essai    le fichier test sera renommé essai.

Pour déplacer un fichier

           mv fichier1 fichier2 fichier3 docs     déplacera les 3 fichiers vers le dossier docs.

Supprimer des fichiers ou répertoires

La commande rm permet de supprimer des fichiers et des répertoires.

Options :

                 rm -i        demandera confirmation avant suppression.
                 rm -d       permet de supprimer un répertoire qu'il soit plein ou non.                                
                 rm -r        permet de supprimer un répertoire et ses sous répertoires.
                 rm -f        force la suppression sans confirmation.
                 rmdir      permet de supprimer un répertoire vide.
                 rm -rf      supprimera un répertoire et son contenu sans demander confirmation.

                 rm test   supprimera le fichier test.    rm -rf Docs   supprimera le répertoire Docs et tout son contenu.


Une autre commande permet de détruire efficacement un fichier, la commande shred (déchiquettage).

            shred -n 35 -z -u

Remplace 35 fois les données du fichier par des déchets (-n 35), remplace ces données par des zéros (-z) pour masquer
le déchiquetage, puis tronque et supprime le fichier (-u).

Lire et éditer un fichier

La commande cat permet simplement de voir le contenu d'un fichier.

           cat /etc/hosts     affichera le contenu du fichier hosts .

La commande less permet la même chose que cat mais se révèle plus pratique pour des gros fichiers.
Pour modifier le contenu d'un fichier il faut utiliser des éditeurs de textes. En mode console, nano, vim...
Ou en mode graphique, leafpad, gedit...

Exemple, pour éditer et modifier le fichier hosts avec les droits super-utilisateur.

                  su                                      pour passer en mode super-utilisateur (root)
                  motdepasse
                  leafpad /etc/hosts      leafpad s'exécute et vous permet de lire et modifier le  fichier hosts.

Si vous modifiez votre fichier, lorsque vous fermerez votre éditeur de textes,
une demande de confirmation vous sera demandée, il suffira de choisir l'option choisie.

Il est possible avec la commande grep  en mode console de chercher un mot dans un fichier --> grep "mot" "fichier".

Options :

                  -i      Minuscules et majuscules confondus.
                  -n     indication du numéro de la ligne dans le fichier.
                  grep -in alias /etc/bash.bashrc

Cherchera dans le fichier bash.bashrc toutes les lignes contenant le mot alias. Le nombre en début de ligne
(65, 66.......) correspond à la ligne où les mots alias se trouvent.

Recherche d'un fichier ou répertoire

La commande find permet la recherche de fichiers suivant de multiples critères. À partir d'un ou plusieurs
répertoires et permet d'exécuter une commande sur les fichiers trouvés.

Quelques options : 

                  -name          permet d'indiquer le nom du fichier recherché.
                  -iname         pareil que -name mais insensible à la casse.
                  -user             recherchera les fichiers qui appartiennent à l'utilisateur indiqué.
                  -exec             permet d'exécuter une commande pour le fichier trouvé.
                  -ok                 permet d'exécuter une commande pour le fichier trouvé avec demande de confirmation.

find /home -name wall

recherche  tous les occurrences à wall dans le répertoire  /home.

find /home -name essai -ok rm {} \; 

Cherche un fichier nommé essai dans le répertoire  /home et exécute la commande rm qui supprimera ce fichier.
Ces symboles  {} \; en fin de commande sont indispensables pour l'exécution demandée. À la demande de confirmation de suppression utilisez la lettre o pour oui ou n pour non.


Les commandes which et whereis permettent aussi de localiser les emplacements de fichiers ou répertoires.


Modifier les droits des fichiers et répertoires

La commande chmod permet de modifier les droits d'accès à des fichiers et répertoires.

Les options :
L'option -R permet de modifier les droits d'un répertoire.

Pour qui ?

               u --> propriétaire, g --> groupe, o --> les autres, a --> tout le monde (u+g+o).

Opération : + --> ajoute une autorisation, - --> supprime une autorisation.

Les droits, valeur texte :

               r --> droit de lecture  (permet d'éditer et lire le fichier).                 
               w --> droit d'écriture  (permet de modifier et supprimer le fichier ou le répertoire).
               x --> droit d'exécution (permet de lancer un fichier exécutable ou d'ouvrir un répertoire ).

Valeur octale --> Valeur octale : 4 --> droit de lecture, 2 --> droit d'écriture, 1 --> droit d'exécution.
Pour voir les droits appliqués à un fichier, il y a la commande ls comme indiquée plus haut.

Ou un clique droit sur ce même répertoire, choisir propriétés.

Pour changer les droits d'accès d'un fichier ou répertoire,il est possible d'utiliser le mode symbolique (r,w,x)
ou le mode octal (4,2,1). Pour ces exemples, j'ai créé un répertoire nommé test qui contient un répertoire test1
et un fichier essai. 


              -rw-------  1 n3os n3os    0 27 déc.  15:36 essai

Seul le propriétaire a le droit d'écriture sur le fichier essai.
Pour ajouter le droit de lire et d'écriture aux groupes et aux autres.

            chmod go+rw test/essai
            ou
            chmod 666 test/essai

Ce qui donne -rw-rw-rw-  1 n3os n3os    0 27 déc.  15:36 essai

Pour retirer ces nouveaux droits.

            chmod go-w test/essai ou chmod 600 test/essai

Pour changer les droits d'accès à un répertoire, il faut rajouter l'option -R.
Pour retirer les droits de lecture et d'exécution aux groupes et aux autres sur le répertoire test1.

           chmod -R go-rx test/test1 ou chmod -R 700 test/test1

Changer le propriétaire d'un fichier ou répertoire.

Commande utilisée --> chown (avec l'option -R pour les répertoires).

        chown neos essai  --> rendra neos propriétaire du fichier essai.
        chown -R neos DocsPersos --> rendra neos propriétaire du répertoire DocsPersos.

Changer le groupe propriétaire d'un fichier ou répertoire.

Commande utilisée --> chgrp (avec l'option -R pour les répertoires).

        chgrp -R Nex ZicsTechnos --> rendra le groupe Nex propriétaire du répertoire ZicsTechnos.
        chgrp neos test--> rendra le groupe neos propriétaire du fichier test.

Mécanisme du pipeline (pipe ou tube).
Un tube | permet de relier deux ou plusieurs commandes, ce tube s'obtient avec les touches Alt Gr + 6

         ls -al /etc | grep root

Permet de connecter la sortie de la commande ls -al à l'entrée de la commande grep.
La commande ls -al listera le contenu du répertoire /etc et redirigera ce résultat
vers la commande grep  qui cherchera une chaîne de caractères nommé root.
Résultat final seuls les occurrences à root seront listés.



Autres commandes utiles.

               du                           indique la quantité d'espace disque utilisée par un fichier ou dossier.
               du -m                     indiquera l'espace disque utilisé en méga-octets.
               du -a                       visualise tous les fichiers pas seulement les répertoires.
               du -S | sort -n      permet de lister les dossiers par taille du plus petit au plus gros.

df --> indique l'espace utilisé par les systèmes de fichiers montés.
L'option -T -->  affiche le type de chaque système de fichiers.
L'option -m --> renvoie les tailles en méga-octets (blocs de 1024 ko).

               lsof                        liste tous les fichiers ouverts par les processus actifs.
               lsof -u neos         liste tous les fichiers ouverts par l'utilisateur neos.
               lsof -i                     permettra de voir quels processus actifs sont connectés sur internet.

               netstat -a             affiche toutes connexions internet actives et celles en attente de connexions .
               netstat -t              connexions TCP.
               netstat -u             connexions UDP.
               netstat -tupan    cumul intéressant d'options.

                traceroute  <adresse IP>    affiche la route parcourue vers l'hôte donné en argument.
                ping <adresse IP>                vérifie l'accessibilité de l'hôte sur le réseau en utilisant le protocole ICMP.
                ifconfig                                    permet d'afficher et configurer les interfaces réseaux.
                iwconfig                                  comme ifconfig mais concerne le wifi.
                ip route | awk '/default/{print $3}'                        permet d'afficher l'adresse du routeur (gateway).
                ip link show ou ip link | awk '/link/ {print $2}'   affiche les adresses MAC.
                ip route show dev eth0 | awk '{print $7}'             affiche l'ip lan.

                lsmod         affiche  les modules chargés.


               lshw                donne des informations détaillées sur votre matériel.
               lshw -short    informations résumées.

               lspci                donne une liste de tous les périphériques PCI détectés.
               lspci -v           donnera plus de détails.

               lsusb          donne la liste des périphériques USB détectés.

               uname -n ou hostname          affiche le nom de la machine.

uname -r          donne la version du noyau.
uname -m       donne le type de processeur de la machine.
uname -a         affichera tout.

               glxinfo | grep -i direct          pour controler la 3D.
               glxgears -printfps                  permet de tester la vitesse d'accélération de votre carte graphique nvidia en affichant une petite animation représentant trois pignons en rotation et vous donnera les statistiques sur les FPS (frames par secondes).

               fgl_glxgears          idem que la commande précédente mais pour carte ATI.

               cat /var/log/Xorg.0.log | grep EE        permet de lister les erreurs du serveur graphique (Xorg).
               X -version          Version de xorg installé.

date          donne la date et l'heure.
date 06090830          (le mois, le jour, l'heure, les minutes) (tout se tient sans espace) permet de changer date et heure.

               stat -c "%a" /ledossier          droits d'un dossier ou fichier en chiffres.

ldd          permet d'afficher les bibliothèques utilisées par un programme.

Conversion de fichiers audio et vidéo.

               flac -cd fichier.flac |lame -h - fichier.mp3          convertira du flac en mp3.

               for f in *;do flac -cd $f |lame -b 320 - $f.mp3;done          convertira du flac en mp3 320 kbps. 

               for flac in *.flac; do sox -S "${flac}" -r 44100 -b 16 ./test/"${flac}"; done

convertira des fichiers flac 24 bits en 16 bits 44100 dans le répertoire test qu'il faudra créer (mkdir test) dans le répertoire de musique qui contient les fichiers à convertir, ce qui permet de garder les fichiers originaux.