Quelques commandes utiles sur Linux
Sommaire
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
- http://sheldonrcohen.com/Blog/tabid/88/EntryId/3/Easy-one-liner-MySql-dump-database-to-a-tar-gz-file.aspx
- http://serverfault.com/questions/106595/mysqldump-to-a-tar-gz
- http://forum.kimsufi.com/showthread.php?28280-TUTO-Sauvegarde-des-donn%E9es-d-un-KS
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/
- http://www.computerhope.com/unix/utar.htm
- http://fr.wikipedia.org/wiki/Tar_%28informatique%29
- http://rlwpx.free.fr/WPFF/comploc.htm
- http://lifehacker.com/5772385/whats-the-best-way-to-compress-a-bunch-of-files
- http://www.commandlinefu.com/commands/view/2651/create-a-tar-archive-using-7z-compression
- http://askubuntu.com/questions/219392/how-can-i-uncompress-a-7z-file
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