Commandes Linux diverses
Recherches sur fichiers
Affiche toutes les occurences du terme "myInstance" dans les fichiers java du répertoire "src"
$ find src -type f -name "*java" -exec grep -nH "myInstance" {} \;
Le paramètre -type f indique que nous cherchons uniquement des fichiers.
Le paramètre -name "*java" cherche sur le nom de fichier terminant par java. A noter qu'il existe également le paramètre -iname pour les recherches insensibles à la casse.
-exec permet de lancer une commande sur le nom de fichier trouvé. Le nom du fichier est appelé par '{}' et à vous de voir pour le reste de la commande. Le ';' indique au find la fin de la commande lancée avec -exec
Et pour n'avoir les fichiers que de façon unique (sans affichage des doublons) :
$ find src -type f -name "*java" -exec grep -nH "myInstance" {} \; | cut -d":" -f1 | sort | uniq
Comme précédemment mais avec le nombre d'occurences du terme "myInstance" dans ces fichiers :
$ find src -type f -name "*java" -exec grep -nH "myInstance" {} \; | cut -d":" -f1 | sort | uniq -c
Infos sur disques
Humm, je suis sur que ce répertoire est très gros. Dois-je le mettre au régime (disk usage)?
$ du -hs /path/to/directory
>>>168G /path/to/directory
Et pour lister les sous répertoires de /path/to/directory dans l'ordre croissant de la taille utilisée (pratique pour trouver le responsable)
$ du -s /path/to/diretory/* | sort -n
>>>10003000 /path/to/directory/dir1
>>>13000203 /path/to/directory/file1.txt
>>>145000000 /path/to/directory/dir2
Mais combien me reste-t-il d'espace disque?
$ df -h
Je m'attaque à mon fstab. Oh mais quel est l'UUID de mes disques?
$ sudo blkid
Informations sur le(s) disque(s)
$ sudo fdisk -l
Chercher un fichier dans le système
$ locate nginx.conf
>>>/etc/init/nginx.conf
>>>/etc/nginx/nginx.conf
Ou sans s'occuper des majuscules/minuscules
$ locate -i NGINX.conf
>>>/etc/init/nginx.conf
>>>/etc/nginx/nginx.conf
A noter que locate se base sur un index généré par la commande 'updatedb' lancée automatiquement, mais rien ne vous empêche de le faire manuellement.
Réseaux
En plus des commandes classiques pour lister les interfaces ifconfig
, iwconfig
, il est intérressant de savoir ce qui se passe avec son réseaux:
iftop
un top pour le reseaux et voir en temps réel les connexionsnetsat -laputen
pour lister les ports utilisésnmap -sn 192.168.10.1/24
pour trouver des hotes sur le réseau et voir beaucoup plus avec nmap.- une autre possibilité pour trouver ces voisins est de lister le cache de la table arp soit par
arp -a
ou bienip neigh show
. Cette dernière commande peut être agrémentée de plusieurs options pour filtrer par masque réseau (192.168.1.0/24 par exemple) ou bien par interface (dev eth0) et pleins d'autres. - Un lien bien utile pour un recap des commandes, une cheat sheet de redhat.
Autres
Pour blocker le touchpad 1/2 seconde quand on tape au clavier (à ajouter au démarrage):
$ sudo syndaemon -i 0.5 -K -d
La commande watch, pour executer une commandes toutes les n secondes (par exemple un ls toutes les 5 secondes où on attend un fichier):
$ watch -n 5 ls -la