Mémento Unix

Voici un petit aide-mémoire pour les nouveaux arrivants sur Unix, ainsi que pour les autres, comme moi, qui parfois oublient.

Sur cette page
  1. Raccourcis clavier
  2. Commandes pour fichier et répertoire
  3. Information système
  4. Gestion des processus
  5. Gestion des permissions
  6. SSH
  7. Compression
  8. Réseau

Raccourcis clavier

Ctrl+c
Arrêter la commande en cours.
Ctrl+z
Suspendre la commande en cours; pour la reprendre utiliser fg au premier plan ou bg à l'arrière-plan.
Ctrl+d
Se déconnecter de la session en cours, similaire à exit (quitter).
Ctrl+r
Rechercher dans les commandes tapées précédemment.
La recherche est faite à l'intérieur de l'historique de votre shell, qui se trouve dans un fichier comme .bash_history ou .ksh_history.

Commandes pour fichier et répertoire

ls
Lister les fichiers et les répertoire.
ls -al
Liste en vue détaillée incluant les fichiers cachés.
cd undossier/
Naviguer dans l'arborescence des répertoires.
cd
Aller à notre répertoire utilisateur.
pwd
Montrer le chemin du répertoire courant.
mkdir musique
Créer le répertoire musique.
mkdir -p {musique,peinture,literature}
Créer une série de répertoires d'une seule commande.
rm todo.txt
Supprimer todo.txt.
rm -r musique
Supprimer le répertoire musique.
rm -f important.txt
Forcer la suppression du fichier important.txt.
rm -rf jeux/
Forcer la suppression du répertoire jeux/.
cp fichierA fichierB
Faire une copie du ficherA qui s'appelle fichierB.
cp -r dossierA/ dossierB/
Copier le dossierA/ dans dossierB/; si ce dernier n'existe pas il est alors créé.
mv abc.txt xyz.txt
Renommer ou déplacer abc.txt vers xyz.txt, si xyz.txt existe comme répertoire, abc.txt sera déplacé dans xyz.txt.
ln -s abc.txt lien-abc.txt
Crée un lien symbolique nommé lien-abc.txt vers le fichier abc.txt.
touch index.html
Créer ou mettre à jour index.html.
cat > new.txt
Écrire le contenu de stdin (entrée standard) dans new.txt en écrasant ce qui s'y trouve déjà.
cat a.txt b.txt c.txt > abc.txt
Concaténer a.txt b.txt c.txt dans abc.txt.
cat >> list.txt
Écrire le contenu de stdin (entrée standard) en l'ajoutant à la fin de list.txt.
cat list.txt >> todos.txt
Ajouter list.txt à la fin de todos.txt.
more index.html
Afficher le contenu du fichier index.html.
head data.csv
Afficher les 10 premières lignes de data.csv.
tail /var/log/authlog
Afficher les 10 dernières lignes de /var/log/authlog.
tail -f /var/log/authlog
Afficher en temps réel les 10 dernières lignes de /var/log/authlog.
find .
Trouver tous les fichiers récursivement à partir d'où on se trouve.
find /abc/xyz/ -maxdepth 1
Trouver tous les fichiers du répertoire /abc/xyz/ qui sont du premier niveau.
find /var/www/public_html/ -type d -empty -delete
Trouver et supprimer tous les dossiers vides dans /var/www/public_html/.
find content/ -name \*.html -type f
Trouver tous les fichiers se terminant par .html dans content/.
find content/ -mindepth 2 -name index.md -exec dirname {} \;
Trouver tous les fichiers index.md à partir du deuxième niveau de répertoire, et sur chacun d'eux, exécuter la commande dirname.
tr ',' '\t' < unix-data-science.csv > unix-data-science.tsv
Remplacer les virgules par des tabulations.
wc -l unix-data-science.tsv
Compter le nombre de ligne dans le fichier unix-data-science.tsv.

Information système

date
Affiche la date et l'heure.
date +"%Y-%m-%d %T"
Afficher une version formatée de la date et de l'heure.
cal
Montre le calendrier du mois courant.
cal july
Montre le calendrier de juillet de l'année courante.
cal 1976
Montre tout le calendrier de 1976.
uptime
Affiche la durée de fonctionnement du système.
who
Affiche les utilisateurs connectés.
w
Affiche les utilisateurs connectés et ce qu'ils font.
whoami
L'utilisateur sous lequel on est connecté.
finger joe
Affiche de l'info à propos de l'utilisateur joe.
uname -a
Voir les informantion sur le système.
man nomduprogramme
Affiche le manuel d'utilisation d'un programme.
S'il n'y a pas d'entrée essayer nomduprogramme -h ou nomduprogramme --help.
df -h
Voir les niveaux d'utilisation des partitions/disques.
du -h
Afficher les statistiques d'utilisation du disque.
whereis app
Localiser une application.
which app
Localiser un (ou plusieurs) fichier(s) programme(s) dans le chemin d'accès.

Gestion des processus

ps
Afficher les processus courants en activité.
top
Afficher tous les processus en cours.
kill pid
Tuer un processus selon son pid (process ID).
bg
Lister les tâches arrêtées ou en arrière-plan.
fg
Ramène la tâche la plus récente à l'avant-plan.
fg %n
Ramène la tâche %n à l'avant-plan.
Ctrl+z
Arrête la commande en cours et la reprendre avec fg.

Gestion des permissions

chmod octal file

Changer les permissions sur les fichiers en octal et les appliquées différemment selon l'utilisateur, le groupe ou pour tous:

  • 4 - read (r) (lire)
  • 2 - write (w) (écrire)
  • 1 - execute (x) (exécuter)

Examples:

chmod 777
Lire, écrire, exécuter pour tous (4+2+1=7).
chmod 755
Lire, écrire, exécuter pour le propriétaire du fichier (4+2+1=7); lire et exécuter pour le groupe et les autres (4+1=5).

Pour davantage d'options, voir man chmod.

SSH

ssh joe@jdoe.tld
Connexion à jdoe.tld avec l'utilisateur joe.
ssh -p 222 joe@jdoe.tld
Se connecter à l'hôte par le port 222.

Fichier de configuration SSH

Quand les connexions SSH sont récurrentes, on peut enregistrer leurs paramètres dans le fichier ~/.ssh/config.

En voici un exemple:


Host johndoe
     HostName 192.168.0.100
     User johnd
     Port 22
     PasswordAuthentication no
     IdentityFile ~/.ssh/id_rsa
     TCPKeepAlive no
     ServerAliveInterval 60
     ServerAliveCountMax 10
     ControlPersist 4h
     ControlMaster auto
     VerifyHostKeyDNS yes
     AddKeysToAgent yes

Et puis pour se connecter on lance SSH avec l'host de la configuration: ssh johndoe.

Compression

tar cf fichiers.tar fichierA.txt fichierB.txt
Créer un tar nommé fichiers.tar, contenant fichierA.txt fichierB.txt.
tar xf file.tar
Extraire les fichiers de fichiers.tar.
tar czf fichiers.tar.gz fichierA.txt fichierB.txt
Créer un tar avec un compression Gzip.
tar xzf fichiers.tar.gz
Extraire un tar utilisant Gzip.

Réseau

ping hostname
ping l'hôte et retourne les informantions relatives à ce dernier.
whois lemor.se
Retourne les infos whois à propos d'un nom de domaine.
dig lemor.se
Retourne les infos DNS à propos d'un nom de domaine.