commandes
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| commandes [2023/07/23 08:23] – [Pacman] luc | commandes [2025/03/01 13:14] (Version actuelle) – luc | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Commandes utiles ====== | ||
| + | Ici sont listées quelques commandes utiles avec leurs paramètres qui me sont le plus souvent utiles, on est au coeur du concept de l'aide mémoire. | ||
| + | ===== Information sur le système ===== | ||
| + | < | ||
| + | # voir toutes les infos | ||
| + | uname -a | ||
| + | # voir le hostname | ||
| + | uname -n | ||
| + | #voir le type de processeur (cible pour compilation) | ||
| + | uname -p | ||
| + | |||
| + | # des infos sur le CPU | ||
| + | cat / | ||
| + | # sur la RAM | ||
| + | cat / | ||
| + | #voir le type de RAM, slot par slot | ||
| + | dmidecode --type 17 | ||
| + | </ | ||
| + | |||
| + | ===== Quelques outils pour gérer les partitions ===== | ||
| + | <code bash> | ||
| + | # voir l' | ||
| + | df -h | ||
| + | |||
| + | # voir les infos des partitions (Id, type système de fichiers, ..) | ||
| + | blkid # En root | ||
| + | |||
| + | # afficher les partitions (sous format arborescent, | ||
| + | lsblk # en root | ||
| + | |||
| + | # créer, supprimer, modifier des partitions (notamment le type pour pouvoir ensuite formater ntfs --> ext4 par exemple) | ||
| + | fdisk /dev/sda # sans préciser le numéro, on agit sur le disque) | ||
| + | |||
| + | # formater une partition avec un système de fichier particulier | ||
| + | mkfs.ext4 /dev/sda2 | ||
| + | |||
| + | # éditer le label d'une partition | ||
| + | e2label /dev/sda2 LABEL_NAME | ||
| + | </ | ||
| + | |||
| + | ===== Occupation des ressources ===== | ||
| + | <code bash> | ||
| + | top | ||
| + | # ou | ||
| + | htop # à installer depuis les dépôts | ||
| + | </ | ||
| + | |||
| + | ===== Occupation des connexions réseaux ===== | ||
| + | < | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Tunnel ssh ===== | ||
| + | //Voir aussi [[ssh]]//\\ | ||
| + | ainsi, le port_distant du serveur est accessible sur la machine locale sur le port_local | ||
| + | <code bash> | ||
| + | ssh user@domain.tld -L port_local: | ||
| + | # -L clientport: | ||
| + | # je suppose que host est vis-à-vis du serveur | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Mettre à jour la date et l' | ||
| + | < | ||
| + | //des explications viendront peut-être un jour// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Modifier le hostname de la machine ===== | ||
| + | Editer le fichier ''/ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Screen ===== | ||
| + | |||
| + | <code bash> | ||
| + | # créer un screen | ||
| + | screen -S nom | ||
| + | |||
| + | # se détacher d'un screen | ||
| + | ctrl + a + d | ||
| + | |||
| + | # lister les screens | ||
| + | screen -ls | ||
| + | |||
| + | # se rattacher à un screen | ||
| + | screen -r nom | ||
| + | |||
| + | # se rattacher à un screen avec possiblité de plusieurs vues en simultané | ||
| + | screen -x nom | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | # pour resoudre temporairement et sans reboot le [screen is terminating] lorsque screen est executé par un user non-root | ||
| + | # For a fix without reboot (if you can't reboot right now): | ||
| + | sudo mount -o remount, | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== blkid ===== | ||
| + | |||
| + | blkid (en tant que root) liste les partitions /dev/sdxx leur LABEL, leur UUID et le type de système de fichier formaté etx4 | ||
| + | |||
| + | ===== dd, créer des clés usb bootable (pour installer un OS) ===== | ||
| + | |||
| + | Il faut commencer par récupérer le fichier .iso de votre distribution, | ||
| + | |||
| + | < | ||
| + | dd if=< | ||
| + | </ | ||
| + | |||
| + | Avec : | ||
| + | |||
| + | *''< | ||
| + | *''< | ||
| + | *'' | ||
| + | *'' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== Gestion des utilisateurs ===== | ||
| + | |||
| + | <code bash> | ||
| + | ## Créer un utilisateur | ||
| + | adduser [OPTIONS] utilisateur | ||
| + | # Les OPTIONS intéressantes peuvent être : | ||
| + | # --no-create-home | ||
| + | # --ingroup nomGroupe | ||
| + | # qui porte son nom, on peut choisir de le créer dans un autre groupe | ||
| + | |||
| + | ## Créer un groupe | ||
| + | addgroup groupe | ||
| + | |||
| + | ## Ajouter un utilisateur déjà existant à un groupe déjà existant | ||
| + | usermod -G groupe utilisateur | ||
| + | |||
| + | ## Supprimer un utilisateur | ||
| + | deluser [OPTIONS] utilisateur | ||
| + | # les OPTIONS intéressantes peuvent être : | ||
| + | # --remove-home | ||
| + | # --remove-all-files | ||
| + | # --backup | ||
| + | |||
| + | ## Supprimer un utilisateur d'un groupe | ||
| + | deluser utilisateur groupe | ||
| + | </ | ||
| + | |||
| + | On peut trouver la liste des utilisateurs et des groupes dans les fichiers suivants : | ||
| + | ''/ | ||
| + | ''/ | ||
| + | |||
| + | ===== Gestion des droits sur les fichiers/ | ||
| + | |||
| + | <code bash> | ||
| + | ## Changer le propriétaire d'un fichier/rep | ||
| + | chown [-R] path | ||
| + | # -R : recursive, pour les dossiers et fichiers contenus ds ces dossiers | ||
| + | # path : nom du fichier ou du répertoire | ||
| + | |||
| + | ## Changer les droits d' | ||
| + | chmod [-R] ugoa +-= rwx path | ||
| + | chmod [-R] 777 path | ||
| + | # -R : recursive, pour les dossiers et fichiers contenus ds ces dossiers | ||
| + | # ugoa : user group other all | ||
| + | # +-= : pour ajouter, enlever, fixer à | ||
| + | # rwx : read write execute (aussi nécessaire pour parcourir un dossier un dossier) | ||
| + | # path : nom du fichier ou du répertoire | ||
| + | |||
| + | ## Changer les droits d' | ||
| + | find PATH -type d -exec chmod o+rx {} + | ||
| + | </ | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== firewalld (fedora) ===== | ||
| + | |||
| + | <code bash> | ||
| + | ## Commandes en cli via firewall-cmd | ||
| + | |||
| + | ## ETAT | ||
| + | # pour connaitre l' | ||
| + | firewall-cmd --list-all | ||
| + | |||
| + | |||
| + | ## SERVICES (= entrées pré-configurées) | ||
| + | # liste des services supportés | ||
| + | firewall-cmd --get-services | ||
| + | # ajouter un service (à la zone par défaut) | ||
| + | firewall-cmd --add-service=< | ||
| + | # enlever un service : --remove-service= | ||
| + | |||
| + | |||
| + | ## PORT | ||
| + | # pour ajouter un port | ||
| + | firewall-cmd --add-port=8888/ | ||
| + | # pour enlever un port --remove-port= | ||
| + | |||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Screenshot sous Gnome ===== | ||
| + | |||
| + | C'est tout simple, il suffit d' | ||
| + | |||
| + | * Appuyer sur '' | ||
| + | * Appuyer sur '' | ||
| + | * Appuyer sur '' | ||
| + | |||
| + | |||
| + | ===== Rajouter un prefixe incrémental ===== | ||
| + | |||
| + | <code bash> | ||
| + | find -name " | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== rsync ===== | ||
| + | |||
| + | avec ssh et un port custom, c'est tout simple : | ||
| + | <code bash> | ||
| + | rsync -e 'ssh -p 2222' user@server: | ||
| + | |||
| + | # ou | ||
| + | rsync -port 2222 source user@destination: | ||
| + | |||
| + | </ | ||
| + | |||
| + | Pour afficher des infos utiles sur quels fichiers sont transférés, | ||
| + | <code bash> | ||
| + | rsync -ah --info=stats2, | ||
| + | </ | ||
| + | |||
| + | Autres options à regarder/ | ||
| + | <code bash> | ||
| + | rsync | ||
| + | --safe-links : ne pas suivre les liens hors de l' | ||
| + | --mkpath | ||
| + | </ | ||
| + | |||
| + | ===== cron / crontab ===== | ||
| + | |||
| + | C'est un utilitaire de l' | ||
| + | |||
| + | Les règles cron s' | ||
| + | |||
| + | Attention, l' | ||
| + | |||
| + | L' | ||
| + | |||
| + | Par défaut, crontab envoie des emails en cas d' | ||
| + | |||
| + | < | ||
| + | # exemple de crontab | ||
| + | # m h dom mon dow | ||
| + | |||
| + | # ZFS : scrub = check et répare les erreurs (si possible car redondance) | ||
| + | 30 0 * * 1 /sbin/zpool scrub Abathur >> / | ||
| + | </ | ||
| + | |||
| + | ===== Micro loopback avec Pulseaudio ====== | ||
| + | |||
| + | depuis un terminal (mode user, pas besoin de root) | ||
| + | <code bash> | ||
| + | # Activer le loopback | ||
| + | pactl load-module module-loopback latency_msec=1 | ||
| + | |||
| + | # Désactiver le loopback | ||
| + | pactl unload-module module-loopback | ||
| + | </ | ||
| + | |||
| + | ===== Allumer/ | ||
| + | |||
| + | C'est vraiment pour du debug, Linux devrait gérer ça tout seul !\\ | ||
| + | Depuis un terminal (en mode root) | ||
| + | <code bash> | ||
| + | ip link set enp4s0 up | ||
| + | ip link set enp4s0 down | ||
| + | </ | ||
| + | |||
| + | ===== Compter des fichiers ===== | ||
| + | |||
| + | == solution 1 : avec ls == | ||
| + | |||
| + | Compter les fichiers dans un dossier et ses sous-dossiers (approx, plutôt utile pour comparer) | ||
| + | <code bash> | ||
| + | # PRE-REQUIS : avoir un ls vierge, sans alias. Au besoin, on reset l' | ||
| + | unalias ls | ||
| + | |||
| + | # La commande magique | ||
| + | ls -R < | ||
| + | |||
| + | # Notes : | ||
| + | # ls -R pour avoir la récursivité, | ||
| + | # wc -l permet de compter les nouvelles lignes dans le pipe (c'est le séparateur que renvoie ls entre 2 entrées) | ||
| + | # éviter ls -l, car des ajouts avec statistiques sont rajoutées | ||
| + | # possibile -A : pour rajouter les fichiers cachés | ||
| + | </ | ||
| + | |||
| + | == solution 2 : avec find == | ||
| + | |||
| + | '' | ||
| + | <code bash> | ||
| + | find < | ||
| + | </ | ||
| + | |||
| + | ===== Limiter la taille dans une console ===== | ||
| + | |||
| + | Parfois on veut limiter la réponse à un écran (certaines consoles n'ont pas de scroll), il suffit d' | ||
| + | |||
| + | <code bash> | ||
| + | ls -l DIR_WITH_A_LOT_OF_FILES | less | ||
| + | </ | ||
