Je suis en ce moment de plus en plus amené à utiliser les commandes bash pour l’administration d’un serveur, donc j’ai fait un petit récapitulatif de ce que j’utilise, et qui pourrait me servir en cas de perte de mémoire.
Création lien symbolique pour les vhost Nginx (-s pour création d’un lien symbolique et -sf pour forcer l’écrasement si un fichier cible existe déjà)
ln -sf source cible
(Exemple : si je veux créer un lien de www-US vers www, j’écris ln -sf www/ www-US)
Liste des processus triés par taille en pourcentage d’occupation de mémoire :
ps -eo pmem,pid | sort -r
Pour identifier ce qu’est un processus :
ps -eaf | grep <PID>
Supprimer tous les processus d’un programme
killall programme
Logiciel en ligne commande pour avoir une interface assez ergonomique de gestion de la mémoire : Htop.
Ajouter un user, puis le mettre dans le groupe root
adduser nouveaulogin
adduser nouveaulogin root
Changer le propriétaire de tel ou tel groupe :
chown -R nouveaulogin dossier
Voir la fin d’un fichier (-f correspond à boucler sur la ‘queue’ du fichier, et de base, le tail affiche 10 lignes) :
tail -f fichier
Voir la taille d’un dossier (‘du’ = disk usage, ‘s’ = summarize, et ‘h’ = human readable) :
du -sh chemin/
Et pour afficher la liste des tailles des dossiers/fichiers dans un dossiers, faire :
du -sh chemin/*
Pour connaitre l’espace disponible dans les sous-dossiers du dossier courant, faire :
df -h ./
Faire des transferts via SCP, par exemple de serveur à serveur (le -P 50000 est valable i votre SSH a été déplacé sur un autre port que le 22, en l’occurrence ici sur le 50000) :
(quand on va chercher sur un autre server)
scp -P 50000 user@server:/chemin foo.tar
(quand on envoie sur un autre serveur)
scp -P 50000 foo.tar user@server:/chemin
Archiver des fichiers :
tar -czvf cible source
(le – n’est pas obligatoire, le c correspond à ‘create’, le ‘z’ à gzip, le ‘z’ à verbose ou afficher le log de ce qui est traité et le ‘f’ dit que l’argument suivant est la cible)
tar -xzvf cible source
(le ‘x’ correspond à ‘extract’, le ‘z’ n’est nécessaire que si la cible est compressé en gzip)
Utilisation de Vim :
i pour passer en mode insertion, Echap+ :wq pour l’écriture (w = write) et quitter (q = quit), ou :q! pour quitter et overrider les changements.
Coloration du bash
A mettre en bas de .bashrc du /home du user dont on veut ajouter la coloration du terminal et l’alias ll (= la -al)
export PS1="\[\e[32;1m\]\u\[\e[0m\]\[\e[32m\]@\h\[\e[36m\]\w \[\e[33m\]\$ \[\e[0m\]"
alias ll="ls -la"
Supprimer tous les fichiers commençant par ._*.jpg :
find . -name ._*.jpg -exec rm {} ;
Et l’équivalent sur Windows avec Cygwin
find . -name ._*.jpg -exec rm {} \;
Lien utile chez Blogmotion.
Pour lister les processus :
« ps -eaf | grep -v grep | grep « , évite d’avoir le « grep » dans la liste des process (« grep -v » = ignorer « .
@Tym: Ah oui, c’est encore mieux ça. Merci à toi 🙂
Pour vim : « :set number » pour afficher les numéros de ligne (« :set nonumber » pour désactiver).
Dans la même veine que « tail », tu as aussi « head » (juste le début d’un fichier).
Pour les process, tu as « top » qui est interactif.
Attention sur Debian 5 avec le « killall5 » (par défaut sur le système), le fonctionnement est légèrement différent, il tue tout…ça m’a valu un bon plantage de serveur à distance :D. « killall » se trouve dans le package « psmisc ». On m’a aussi conseillé d’utiliser « pkill » à la place…
Je rajoute df -h pour connaitre la répartition des espaces partitions.