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
Raccourcis clavier
- Ctrl+c
- Arrêter la commande en cours.
- Ctrl+z
- Suspendre la commande en cours; pour la reprendre utiliser
fgau premier plan oubgà 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 -hounomduprogramme --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).
pkill nomduprocessus- Tuer un processus selon son nom.
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_com
HostName 192.168.0.100
User johnd
Port 4242
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_com.
Avec rsync
#!/usr/bin/env sh
# Deploy http://johndoe.cc/
rsync -arvuz -O public_html/ johndoe_com:/var/www/htdocs/johndoe.cc
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.
xdg-utils
- ...
- ...