Avec l’utilisation devenue courante de VPS, je suis amené à utiliser le protocole SSH régulièrement et je me suis aperçu qu’il y a certaines commandes qui reviennent souvent et que je “googlise” encore et toujours… J’en fait une liste qui servira de pense bête à l’avenir.
-
Naviguer dans les répertoires :
cd /dossier/dossier/
ou:
cd../..
-
Chercher le répertoire dans lequel je me trouve (Print Workout Directory) :
pwd
-
Qu’y a-t-il dans ce dossier?
ls
ou
ls -alh
alh –> a liste tous les fichiers, fichiers cachés inclus; l pour “long format” inclus des données comme le poids des fichiers et la date de dernière modification; h modèle le poids en unité convenable.
-
Rechercher un fichier :
find . -name myFile.txt
ou:
find . -name "myFile*"
-
Rechercher un dossier :
find . -name directory_name -type d
-
Rechercher du texte dans un dossier :
grep -ril search_string path/to/directory
Signification des options:
r
– Recursive, recherche dans les sous-dossiers
i
– Ignorer la casse
l
– Seulement afficher le nom du fichier qui correspond à la recherche (en utilisant -r)
c
– Afficher le nombre de lignes qui correspondent à la recherche
-
Rechercher des fichiers dans plusieurs dossiers et effectuer une action:
find .-options -exec command -command_options {}/path/to/dest/if/required ;
D’autres exemples concrets:
1. Changer la permission de tous les sous-dossiers à 775:
find .-type d -exec chmod 775 {} ;
2. Changer la permission de tous les fichiers et fichiers des sous-dossiers à 644:
find . -type f -exec chmod 644 {} ;
3. Transférer tous le fichiers de type
.eml
du dossier et de ses sous-dossiers dans un autre dossier:find . -name "*.eml" -exec mv -uv {} /home/user/mail/domain/account/cur ;
4. Supprimer tous les fichiers
error_log
du dossier et de ses sous-dossiers:find . -name "error_log" -exec rm -v {} ;
-
Lister le contenu du dossier:
dir
ou:
ls
-
Créer une archive TAR:
tar -czvf archivename.tar.gzip file_or_folder_to_archive
Options:
c
– Créer l’archive TAR
z
– Compression des fichiers de l’archive
v
– Verbose (affiche les actions à l’écran)
f
– Fichier (ce qui signifie le nom du fichier de l’archive est fourni)
-
Extraire une archive TAR:
tar -xzvf archive_to_extract.tar.gzip
Options:
x
– Exctraction d’une archive TAR
z
– Contenu de l’archive a été compressé
v
– Verbose
f
– File
-
Effacer un fichier:
rm -v filename.ext
ou
rm -v path/to/file.ext
v
– Verbose pour afficher les actions
-
Effacer un dossier et son contenu:
rm -rvf directory_name
Options:
r
– Recursivité
v
– Verbose
f
– Force (ignore non-existent files, never prompt)
Très pratique! Commandes SSH pour éviter le ftp ou phpmyadmin.
-
Copier un fichier vers un autre dossier:
cp file_to_copy.ext path/to/dest_directory/filename.ext
-
Copier des fichiers stockés sur un autre serveur
wget http://domain.tld/filename.ext
-
Exporter une base de données mysql
mysqldump -p -u db_user db_name > filename.sql
Options:
p
– Password (pour ne pas inclure le mot de passe dans la commande, le mot de passe sera demandé après le retour d’entrée)
u
– Username (utilisateur de la base de données)
-
Importer une base de données mysql
mysql -p -u db_user db_name < filename.sql
Options:
p
– Password (pour ne pas inclure le mot de passe dans la commande, le mot de passe sera demandé après le retour d’entrée)
u
– Username (utilisateur de la base de données)
One thought on “Ma liste de commandes SSH pense-bête”