Base de connaissances · Linux
Commandes SSH avancées
Dernière mise à jour : 2025-06-08
Vous trouverez ci-dessous une liste des commandes SSH les plus couramment utilisées :
ls : afficher la liste des fichiers/répertoires d'un répertoire, comparable à dir sous Windows/DOS.
ls -al : affiche tous les fichiers (y compris ceux dont le nom commence par un point) et les répertoires, ainsi que les attributs détaillés de chaque fichier.
cd : répertoire de changement : cd /usr/local/apache : aller dans le répertoire /usr/local/apache/
cd ~ : accéder à votre répertoire personnel
cd - : accéder au dernier répertoire dans lequel vous vous trouviez
cd .. : remonter d'un répertoire cat : afficher le contenu d'un fichier à l'écran
cat filename.txt : affiche à l'écran le contenu de filename.txt
tail : comme cat, mais ne lit que la fin du fichier
tail /var/log/messages : voir les 20 dernières lignes (par défaut) de /var/log/messages
tail -f /var/log/messages : suit le fichier en continu pendant sa mise à jour
tail -200 /var/log/messages : affiche à l'écran les 200 dernières lignes du fichier
more : comme cat, mais ouvre le fichier page par page au lieu de l'afficher en une seule fois
more /etc/userdomains : parcourez le fichier userdomains. Appuyez sur la barre d'espace pour passer à la page suivante, sur q pour quitter
pico : éditeur de fichiers convivial et facile à utiliser
pico /home/burst/public html/index.html : modifier la page d'index du site web de l'utilisateur.
vi : autre éditeur, doté de très nombreuses fonctionnalités, mais plus difficile à prendre en main que pico
vi /home/burst/public html/index.html : modifier la page d'index du site web de l'utilisateur.
grep : recherche des motifs dans les fichiers
grep root /etc/passwd : affiche toutes les correspondances de root dans /etc/passwd
grep -v root /etc/passwd : affiche toutes les lignes qui ne correspondent pas à root
touch : crée un fichier vide
touch /home/burst/public html/404.html : créez un fichier vide appelé 404.html dans le répertoire /home/burst/public html/
ln : crée des « liens » entre des fichiers et des répertoires
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : Maintenant vous pouvez éditer /etc/httpd.conf plutôt que l'original. Les modifications affecteront l'original, mais vous pouvez supprimer le lien et il ne supprimera pas l'original.
rm : supprime un fichier
rm filename.txt : supprime filename.txt ; une confirmation de suppression vous sera très probablement demandée
rm -f filename.txt : supprime filename.txt sans demander de confirmation avant la suppression.
rm -rf tmp/ : supprime de manière récursive le répertoire tmp et tous les fichiers qu'il contient, y compris les sous-répertoires. SOYEZ EXTRÊMEMENT PRUDENT AVEC CETTE COMMANDE !!!
last : indique qui s'est connecté et à quel moment
last -20 : n'affiche que les 20 dernières connexions
last -20 -a : affiche les 20 dernières connexions, avec le nom d'hôte dans le dernier champ
w : indique qui est actuellement connecté et d'où provient chaque connexion.
netstat : affiche toutes les connexions réseau en cours.
netstat -an : affiche toutes les connexions au serveur, à la source et à la destination ips et ports.
netstat -rn : affiche la table de routage pour toutes les IP liées au serveur.
top : affiche les processus système en temps réel dans un tableau lisible, ainsi que des informations sur la mémoire, la durée de fonctionnement (uptime) et d'autres données utiles. C'est un excellent outil pour gérer les processus et les ressources de votre système, et pour vous assurer que tout fonctionne correctement et que votre serveur n'est pas surchargé.
top, puis tapez Maj + M pour trier par utilisation de la mémoire ou Maj + P pour trier par utilisation du CPU.
ps : ps est l'abréviation de « process status » (état des processus) et ressemble à la commande top. Elle sert à afficher les processus en cours d'exécution ainsi que leur PID.
Un identifiant de processus (PID) est un numéro unique qui identifie un processus. Il vous permet d'arrêter ou de mettre fin à un programme en cours d'exécution sur votre serveur (voir la commande kill).
ps U username : affiche les processus d'un utilisateur donné
ps aux : affiche tous les processus du système
ps aux --forest : affiche tous les processus du système comme la commande précédente, mais les organise sous forme hiérarchique, ce qui est très utile !
file : tente de deviner le type d'un fichier en analysant son contenu.
file * : affiche la liste de tous les fichiers et répertoires d'un répertoire
du : affiche l'utilisation de l'espace disque.
du -sh : affiche un récapitulatif, sous une forme lisible, de l'espace disque total utilisé dans le répertoire courant, sous-répertoires compris.
du -sh * : même principe, mais pour chaque fichier et chaque répertoire. Utile pour repérer les fichiers volumineux qui occupent de l'espace.
du -h --max-depth=1 : affiche l'utilisation de l'espace disque par sous-répertoire
wc : comptage de mots
wc -l filename.txt : indique le nombre de lignes contenues dans filename.txt
cp : copier un fichier
cp filename filename.backup : copie filename vers filename.backup
cp -a /home/burst/new design/* /home/burst/public html/ : copie tous les fichiers, en conservant les permissions d'un répertoire à un autre.
kill : mettre fin à un processus système
kill -9 PID EX : kill -9 431
kill PID EX : kill 10550
Utilisez top ou ps aux pour obtenir les PID (identifiants de processus) du système
EG:
PID TTY TIME COMMAND
10550 pts/3 0:01 /bin/csh
10574 pts/4 0:02 /bin/csh
10590 pts/4 0:09 APP
Chaque ligne représente un processus, un processus étant défini de manière générale comme une instance en cours d'exécution d'un programme. La colonne PID (identifiant de processus) indique les numéros attribués aux processus. La colonne COMMAND indique l'emplacement du processus exécuté.
Combiner des commandes
Il vous arrivera souvent de devoir utiliser plusieurs commandes sur la même ligne. Voici quelques exemples. Notez que le caractère | s'appelle un « pipe » (tube) : il récupère les données d'un programme et les transmet à un autre.
> permet de créer un nouveau fichier en écrasant tout contenu déjà présent.
>> signifie tp ajouter des données à un fichier, en créant une nouvelle si elle n'existe pas déjà.
< permet de renvoyer le contenu d'un fichier en entrée d'une commande.
grep User /usr/local/apache/conf/httpd.conf |more
Cette commande extrait toutes les lignes de httpd.conf contenant User, puis affiche les résultats à l'écran page par page.
last -a > /root/lastlogins.tmp
Ceci va imprimer toute l'historique de connexion actuel dans un fichier appelé lastlogins.tmp dans /root/
tail -10000 /var/log/exim_mainlog |grep domain.com |more
Cela va saisir les 10 000 dernières lignes de /var/log/exim mainlog, et trouver toutes les apparitions de domain.com (la période représente 'tout',
-- mettez-le en commentaire avec un # afin qu'il soit interprété littéralement), puis envoyez-le à l'écran page par page.
netstat -an |grep :80 |wc -l
Afficher le nombre de connexions actives à apache (httpd fonctionne sur le port 80)
mysqladmin processlist |wc -l
Afficher le nombre de connexions ouvertes actuellement à mysql
mysqldump -u username -ppassword dbname > file.sql
Sauvegarde MySQL (dump)
tar -zcvf archive-name.tar.gz directory-name
Fichier TAR (compresse une arborescence de répertoires)
tar -zxvf archive-name.tar.gz
Extraction d'un fichier TAR
mysql -uusername -ppassword database_name
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.