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
fg
au 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 -h
ounomduprogramme --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.