TIPS & TRICKSTo search the contents of the man pages # man -k searchterm # man -K searchterm Manage FirewallMaybe very hard to memorize, so, if needed : # firewall-cmd -h | grep <pattern> Manage Firewall Example 1| Refuse domain 172.25.0.0/16 to access the server. # firewall-cmd --zone=block --add-source=172.25.0.0/16 --permanent# firewall-cmd --reload Manage Firewall Example 2| Remove the sshd service rule from the runtime configuration on server and try to access the server from
[ CATEGORIE ] : Linux
TIPS & TRICKSTo search the contents of the man pages # man -k searchterm # man -K searchterm Manage networkingManage networking Example 1| Assign hostname and ip address for your virtual machine.| - Hostname: servera.lab.example.com| - Ip address: 192.168.1.42| - Mask: 255.255.255.0| - Gateway: 192.168.1.1| - NameServer: 192.68.1.200 On console (not remote console) : # hostnamectl set-hostname servera.lab.example.com# hostnamectl Note the interface with the ethernet type: # nmcli connectio
Pour créer un fichier avec une date de type 2023-11-29-22-13-37 : # touch /MonDossier/monFichier-$(date +%Y-%m-%d-%H-%M-%S).txt
Rechercher des dossiers dans une arboressence en précisant la profondeur : # find / -maxdepth 12 -type d -name "MonRepertoireImportant"/etc/MonRepertoireImportant/usr/MonRepertoireImportant/exports/volume42/licences/usr/MonRepertoireImportant/exports/volume42/usr/MonRepertoireImportant DocumentationMAN find
Si vous avez un fichier avec des informations qui vous interessent sur plusieurs lignes et que vous souhaitez une sortie sur une seule vous pouvez utiliser la commande awk. Exemple de fichier : [...]HOST: serv01.my.company.org [Linux]---------- Comment: Backup MasterUse : A B C[...]HOST: serv02.my.company.org [Linux]---------- Comment: Hyper MasterUse : A B C D[...]HOST: serv03.my.company.org [Linux]---------- Comment: Super MasterUse : A C[...] Commande awk : awk
Pour lister tous les liens en dur, la commande awk permet de lister les mêmes inodes en récupérant le champs %i de stat : stat -c '%i %n' * | awk 'Doublon[$1]++' | cut -d ' ' -f 2- En inversant la commande, uniquement tous les liens symboliques peuvent être listés, (mais ainsi que les répertoires et les fichiers, qui ont leur unique inode): stat -c '%i %n' * | awk '!Doublon[$1]++' | cut -d ' ' -f 2- Résumé : HardLink SoftLink Ac
Commandes de base pour diagnostiquer un problème réseau en effectuant les tests préliminaires : # ssh <nomhôte ou adresseIP># ping <nomhôte ou adresseIP># tracert <nomhôte ou adresseIP># dig <nomhôte ou adresseIP> La commande dig envoie l‘@IP du serveur, pinger le serveur pour vérifier.
La commande bang bang ou !! permet d’exécuter la dernière commande tapée dans le terminal. Il est également possible de préciser un nombre !n ou n correspond à la ligne dans l’historique (voir commande history) Pour lancer la dernière commande : # !! Pour lancer la commande n°42 (voir son historique): # !42 Remerciements midorino3142 Merci à midorino3142 pour ce TIL !
Pour remplacer plusieurs mots (ou bouts de mots) sous Vim, on utilise g, s et %s : Toutes les occurences : :%s/texte/Nouveau/g Une seule (la 1ère trouvée) : :s/texte/Nouveau/g Exemple : changer le mot corbeau en corbeille sans toucher aux autres mots (comme beau) :g/corbeau/s/beau/beille/g Exemple : changer les espaces en tab ou inversement (mettre le bon nombre d’espaces) :%s/ /\t/g:%s/\t/ /g Et si vous avez fait un gros mistake, utiliser :u autant de fois que nécessaire.
Commande pour supprimer tous les processus d’un utilisateur en particulier : # ps aux | grep "^usename" | awk '{print $2}' | xargs kill -9 Détails : ps aux : liste tous les processus grep "^usename" : liste uniquement les lignes commençant par username awk '{print $2}' : Récupère la 2ème colonne (où se trouve le PID des processus) xargs kill -9 : Met les PID sous forme de ligne (avant en colonne) et exécute un kill
Pour trouver la ligne la plus fréquentes dans un fichier : # cat file | sort | uniq -c | sort -n | tail -1
Si vous voulez changer les droits et supprimer tous les dossiers du répertoire /John qui commencent par “test” et finissent par “.bdr” : # find /home/John/ -type d -name "test*.bdr" -exec sh -c 'chmod u+w {}/* ; rm -f {}/*' \; VérificationEn cas de doute, vous pouvez simplement lancer le début de la commande, find listera tous les fichiers qui seront modifiés et supprimés avec chmod et rm -f: # find /home/John/ -type d -name "test*.bdr" Décompo
La commande printenv peut être utilisée pour répertorier toutes les variables d’environnement sur le système, certaines de ces valeurs changent en fonction de l’utilisateur connecté. Pour afficher toutes les variables d’environnement : # printenv Exemple de sortie : SHELL=/bin/bashPWD=/rootLOGNAME=alineXDG_SESSION_TYPE=ttyMOTD_SHOWN=pamHOME=/rootLANG=fr_FR.UTF-8LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:
Pour changer des droits en fonction d’un répertoire ou d’un fichier en parcourant une arboressence : UtilisationManuelDéfinition dans les manuels : xargs — build and execute command lines from standard input exec — execute commands and open, close, or copy file descriptors Find et execLa commande find couplée à exec : # find <path> -type d -exec chmod 755 {} \;# find <path> -type f -exec chmod 644 {} \; Son équivalent avec les droits rxw : # find <path>
Le caractère * permet de selectionner tous les fichiers dans un répertoire mais un message d’erreur peut apparaitre : ls: cannot access *: No such file or directory. La plupart du temps cette erreur, malgré la connexion en root, peut être dûe au fait que le volume sur lequel on accèdent soit partagé, ou sous couvert de NetApp par exemple. $ sudo ls /<path>/*ls: cannot access *: No such file or directory Autre exemple : $ grep "word" /<path>/*grep: *.*: No such file or direc
Pour chercher les numéros de série des disques durs : # smartctl -a # hwinfo -disk # hwinfo -wlan # hwinfo -monitor # hwinfo -partition # hwinfo -pci # hwinfo -scsi # demidecode # cat /proc/dma # lshw -short # lspci -t # lspci -v # lspci -vv # lspci -s
Commande très triviale mais on oublie facilement comment la lancer… Les 3 façons d’éxécuter un .bashrcPour lancer un fichier bash dans un autre répertoire, ici c’est le fichier bash.bashrc :(Bien penser à mettre le point “.“) # . /etc/bash.bashrc Pour lancer un fichier bash dans le répertoire courant, ici c’esr le fichier .bashrc :(Bien penser à mettre le point “.“ et le tilde “~“) # . ~/.bashrc Il également possible d’utiliser la commande source, qui exécute des commandes (ici celles conte
Commande rapide pour savoir sous quelle architecture on se trouve sous Linux # uname -m Si la commande renvoie x86_64 c’est du 64 bitsSi la commande renvoie i686 ou i386 c’est du 32 bits