Vous n'êtes pas connecté - Connexion ou Créer un compte

Classée dans Questions > Questions / Réponses

Quelques commandes utiles sur Linux

Tags : commande, Linux
Administrateur
Une annonce aurait pu être ici :'(

Sommaire

  • Sauvegarde
  • MySQL
  • Exporter une base de données
  • Importer un fichier .sql
  • Archiver
  • tar.gz (gzip)
  • Extraire le contenu d'une archive dans le répertoire courant
  • Extraire dans un répertoire
  • Créer une archive
  • Lister le contenu d'une archive
  • Exclure les fichiers de versioning
  • tar.bz2 (bzip2)
  • tar (sans compression)
  • tar.7z (7zip)
  • Créer et compresser une archive
  • Extraire une archive tar.7z
  • Connexion à distance
  • SSH (Secure Shell)
  • Système de fichier
  • Stockage
  • Lister les répertoires de plus de 1 Go
  • Mémoire vive
  • Processus
  • Fichiers / répertoires
  • Liens symboliques (symlinks)
  • Afficher le contenu d'un fichier
  • Paquets
  • Autres
  • Bash/Shell
  • Connaître son adresse IP publique
  • Git
  • Récupérer un projet

Sauvegarde

MySQL

Exporter une base de données

Exporter une base de données MySQL dans une archive :

mysqldump <DATABASE> -u <UTILISATEUR> -p<MOT_DE_PASSE> | gzip -c | cat > mydatabase.$(date +%Y-%m-%d-%Hh%Mm%S).sql.gz

ou :

mysqldump -u <UTILISATEUR> -p<MOT_DE_PASSE> <DATABASE> | gzip > mydatabase.$(date +%Y-%m-%d-%Hh%Mm%S).sql.gz

Extraire le fichier .gz obtenu :

gzip -d mydatabase...gz

Importer un fichier .sql

L'opération inverse est possible en passant par l'exécutable mysql :

mysql -p<MOT_DE_PASSE> -u <UTILISATEUR> <DATABASE> < mydatabase.YYYY-MM-DD.sql

Archiver

tar.gz (gzip)

Extraire le contenu d'une archive dans le répertoire courant

tar -zxvf archive.tar.gz

Extraire dans un répertoire

tar -C /home/me/archive -zxvf archive.tar.gz

Créer une archive

tar -cvzf archive.tar.gz fichier1.txt fichier2.jpg dossier/

Lister le contenu d'une archive

tar -tzf archive.tar.gz

Exclure les fichiers de versioning

tar --exclude-vcs -czf archive.tar.gz dossier/

tar.bz2 (bzip2)

On utilise les même options que pour tar.gz en remplaçant le paramètre z par j.

tar (sans compression)

On utilise les même options que ci-dessus en retirant le paramètre z.

tar.7z (7zip)

7z nécessite l'installation du paquet p7zip-full : sudo apt-get install p7zip-full

Créer et compresser une archive

tar cf - /dossier | 7z a -si archive.tar.7z

Le fait de passer par tar permet de conserver les permissions sur les fichiers compressés.

Extraire une archive tar.7z

7z x -so archive.tar.7z | tar xf - -C dossier/

Connexion à distance

SSH (Secure Shell)

ssh <username>@<host> -p <port>

Système de fichier

Stockage

Lister les disques et partitions et l'espace total, utilisé et disponible de chacun :

df -h

Si vous préférez les multiples de 1000 au lieu de 1024, vous pouvez remplacer le h par un grand H :

df -H

Lister les répertoires de plus de 1 Go

du -h <dir> | grep '[0-9\.,]\+G'

ou mieux :

du -h <dir> | grep '^\s*[0-9\.,]\+G'

Mémoire vive

free

Processus

Lister les processus qui consomment le plus de mémoire et de processeur :

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

Fichiers / répertoires

Lister le contenu du répertoire courant :

ls -l

Lister le contenu en incluant les fichiers cachés :

ls -al

Créer un fichier :

touch <nom_fichier>

Créer un répertoire :

mkdir <nom_dossier>

Créer un répertoire s'il n'existe pas (et ses répertoires parents manquants) :

mkdir -p <dossier1/dossier2/dossier3>

Liens symboliques (symlinks)

Créer un lien symbolique :

ln -s <chemin_source> <nom_lien_symbolique>

Modifier un lien symbolique :

ln -s -f <chemin_source> <nom_lien_symbolique>

Afficher le contenu d'un fichier

Afficher tout le contenu :

cat <nom_fichier>

Afficher les n dernières lignes :

tail -<n> <nom_fichier>

Afficher le contenu d'un fichier compressé :

zcat <nom_fichier>

Afficher les n dernières lignes d'un fichier compressé :

zcat <nom_fichier> | tail -<n>

Afficher les lignes correspondantes à un motif d'un fichier compressé :

zcat <nom_fichier> | grep "<motif>"

Paquets

Lister les paquets installés :

dpkg -l <nom_paquet>

ou :

dpkg -l <*motif_recherche*>

Lister les paquets utilisant un fichier :

dpkg -S <fichier>

Autres

Supprimer récursivement tous les fichiers _DS_Store_ :

find . -name \.DS_Store -exec rm -v {} \;

Connaître l'emplacement d'un exécutable :

which <nom_executable>

Bash/Shell

Lire une variable (avec une valeur par défaut) :

read -p "Enter: " name
name=${name:-Richard}
echo $name

Connaître son adresse IP publique

curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

Git

Récupérer un projet

git clone /path/to/repository

ou :

git clone username@host:/path/to/repository

Il n'est plus possible de répondre à cette question car elle marquée comme résolue.