Commandes unix que j'oublie tout le temps
- :TOC::
Ce n'est pas exhaustif, il s'agit des commandes avec des parametres que j'utilise régulièrement, mais pas assez pour les retenir... En général quand je me suis pris deux ou trois fois la tête à faire une recherche dans Google pour une simple commande, je la rajoute ici
Compression
tar
gzip (.tar.gz)
Création:
tar -zcvf votre_archive.tar.gz votre_dossier/
Extraction:
tar -zxvf votre_archive.tar.gz
Bzip2
Création:
tar -jcvf votre_archive.tar.bz2 votre_dossier/
Extraction:
tar -jxvf votre_archive.tar.bz2
Docker
Supprimer tous les containers
docker rm $(docker ps -a -q)
Supervision réseau
nmap
Pratique lorsqu'on vient de brancher un matériel qui est censé prendre une IP dynamique. Si on sait que le port 80 est ouvert sur ce matériel:
nmap -p 80 192.168.0.*
listera toutes les IP ayant le port 80 ouvert
Dépots de paquets
svn
svn checkout https://domaine.com/depot
Liens
symboliques
la suppression d'un lien symbolique n'entraine pas la suppression de la cible
ln -s nom-du-fichier-reel nom-du-lien-symbolique
physiques
la suppression d'un lien physique entraine la suppression de la cible sauf s'il existe un autre lien
ln nom-du-fichier-reel nom-du-lien-physique
Bases de données
MySQL
mysqldump , mais pas toutes les tables.
Je ne sais jamais s'il faut séparer les noms des tables à sauvegarder par une virgule ou autre... un espace en fait:
mysqldump DATABASENAME table1 table2 table3 -u root -p > base.sql
Transferts, copie de fichiers
find
Pour rechercher un fichier par son nom:
find / -name "fichier"
rsync
l'option -a indique qu'on va tout importer (métadonnées des fichiers notamment) et que ce sera récursif.
sans compression pendant le transfert (sur un réseau local)
rsync -az source/ login@serveur.org:/destination/
Avec compression pendant le transfert (option z)
rsync -az source/ login@serveur.org:/destination/
scp
copier un fichier local sur un serveur
scp <fichier> <username>@<ipaddress>:<DestinationDirectory>
FTP
Connexion
ftp nom.du.serveur.com
Lister les fichiers du repertoire courant
dir
Changer de repertoire
cd NomDuRepertoireDestination
Récupérer un fichier
get fichier.txt
Uploader un fichier
put NomDuFichierAUmploader
SSH
pour "forcer" le choix d'une clé spécifique, l'option c'est -i
ssh gnieark@le.domaine.fr -i /chemin-de-la-cle/id_dsa
Users linux
Changer le mot de passe root
passwd root
Créer un user système (sans mot de passe)
useradd -r username
(C'est l'option -r)
Ajouter un user existant dans un groupe existant
usermod -a -G groupname username
Changer le home_dir
usermod -d /nouveau/chemin username
(Si si ça peut servir pour un serveur qui sert essentiellement de ftp par exemple)
rdesktop
- Pour forcer la résolution de l'écran l'option c'est -g
- Prédéfinir un utilisateur c'est -u
- Prédéfinir un mot de passe c'est -p
rdesktop 192.168.0.1 -g1024x768 -u NomDeLuser -p LeMotDePasseQuiTue
Lets encrypt
cette note est liée à mon serveur
#aller dasn le dossier ou j'ai une copie du dépot github de letsencrypt cd /root/letsencrypt git pull service nginx stop ./letsencrypt-auto renew service nginx start
(faut vraiment que je me mette à certbot pour automatiser ça)
virsh (Command line KVM UI)
Launch virsh (quemu kvm localhots)
virsh -c qemu:///system
List the VMS:
list