Ci-dessous, les différences entre deux révisions de la page.
— |
aide-memoire-bash-et-commandes-systemes [2011/05/12 00:00] (Version actuelle) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Aide mémoire Bash et commandes systèmes ====== | ||
+ | |||
+ | |||
+ | |||
+ | ====== Bash ====== | ||
+ | ===== Raccourcis clavier ===== | ||
+ | < | ||
+ | Ctrl + A Go to the beginning of the line you are currently typing on | ||
+ | Ctrl + E Go to the end of the line you are currently typing on | ||
+ | Ctrl + L | ||
+ | Ctrl + U Clears the line before the cursor position. If you are at the end of the line, clears the entire line. | ||
+ | Ctrl + H Same as backspace | ||
+ | Ctrl + R Let’s you search through previously used commands | ||
+ | Ctrl + C Kill whatever you are running | ||
+ | Ctrl + D Exit the current shell | ||
+ | Ctrl + Z Puts whatever you are running into a suspended background process. fg restores it. | ||
+ | Ctrl + W Delete the word before the cursor | ||
+ | Ctrl + K Clear the line after the cursor | ||
+ | Ctrl + T Swap the last two characters before the cursor | ||
+ | Esc + T Swap the last two words before the cursor | ||
+ | Alt + F Move cursor forward one word on the current line | ||
+ | Alt + B Move cursor backward one word on the current line | ||
+ | Tab Auto-complete files and folder names | ||
+ | </ | ||
+ | |||
+ | ===== Evaluer une expression ===== | ||
+ | < | ||
+ | let z=z+1 | ||
+ | z=$(($z + 1)) | ||
+ | </ | ||
+ | |||
+ | ===== Boucles ===== | ||
+ | |||
+ | |||
+ | ==== for ==== | ||
+ | < | ||
+ | for i in * ; do # * retourne la liste des fichiers | ||
+ | echo $i | ||
+ | done | ||
+ | for i in `cat liste` ; do # i va prendre les valeurs | ||
+ | # | ||
+ | ls $i | ||
+ | done | ||
+ | for i in 1 2 3 ; do # i prend successivement les valeurs 1, 2 et 3 | ||
+ | echo $i | ||
+ | done | ||
+ | for ((i=0; | ||
+ | </ | ||
+ | |||
+ | ==== until ==== | ||
+ | < | ||
+ | a=0 | ||
+ | until [ $a == 10 ] ; do | ||
+ | let a=a+1; echo $a; | ||
+ | done | ||
+ | </ | ||
+ | ==== while ==== | ||
+ | < | ||
+ | while | ||
+ | Commande_Test | ||
+ | do | ||
+ | Commandes | ||
+ | done | ||
+ | </ | ||
+ | |||
+ | ===== I/O ===== | ||
+ | |||
+ | ==== read ==== | ||
+ | < | ||
+ | echo n " | ||
+ | read nom | ||
+ | echo $nom | ||
+ | </ | ||
+ | |||
+ | ==== select ==== | ||
+ | < | ||
+ | select choix in \ | ||
+ | " | ||
+ | " | ||
+ | do | ||
+ | case $REPLY | ||
+ | 1) echo " | ||
+ | 2) echo " | ||
+ | *) echo "Vous avez tapé n' | ||
+ | esac | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Tests ===== | ||
+ | < | ||
+ | if test 3 eq 3 ... | ||
+ | if [ 3 eq 3 ].... | ||
+ | if test $1 == $2 ... | ||
+ | if [ $1 == $2 ]... | ||
+ | </ | ||
+ | |||
+ | ==== Tests sur les fichiers ==== | ||
+ | * -d, si c'est un répertoire | ||
+ | * -e, si le fichier existe | ||
+ | * -f, si le fichier existe et si c'est un fichier standard | ||
+ | |||
+ | ==== Tests sur les chaînes ==== | ||
+ | |||
+ | * s1 == s2, si les chaînes s1 et s2 sont identiques\\ | ||
+ | * s1 != s2, si les chaînes sont différentes\\ | ||
+ | |||
+ | if [ foo == foo ]; then echo true; fi | ||
+ | |||
+ | |||
+ | ==== Tests sur les entiers ==== | ||
+ | |||
+ | * n1 eq n2, si n1 est égal à n2 | ||
+ | * opérateurs ne, eq, gt, lt, le ge (not equal, equal, greater, lower, lower or equal, greater or equal) | ||
+ | |||
+ | ===== Variables spéciales ===== | ||
+ | * Les paramètres sont passés dans $1, $2...$n | ||
+ | * $@, donne la liste des paramètres | ||
+ | * $#, donne le nombre de paramètres | ||
+ | * $$, donne le numéro (PID) du script | ||
+ | * $0, donne le nom du script | ||
+ | * $?, donne la valeur de retour d'un script ou d'une fonction | ||
+ | |||
+ | ===== Variables d' | ||
+ | |||
+ | * Lister les variables d' | ||
+ | |||
+ | env #ou# printenv #ou# export | ||
+ | |||
+ | * Fichier de configuration global. Contient certaines variables d' | ||
+ | |||
+ | cat / | ||
+ | |||
+ | * Fichiers de configuration utilisateur | ||
+ | |||
+ | $HOME/ | ||
+ | |||
+ | * Placer une variable dans l' | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | * Utiliser les variables d'un script dans un autre script | ||
+ | <code bash> | ||
+ | source monautrescript | ||
+ | # ou | ||
+ | . monautrescript | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Regexp - Expressions régulières / rationnelles ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * {{regexp.html.txt|Aide mémoire Adobe}} | ||
+ | * [[http:// | ||
+ | * http:// | ||
+ | |||
+ | ===== Liens ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | ====== Commandes ====== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Démarrage ===== | ||
+ | |||
+ | En général les options de démarrage sont dans le fichier / | ||
+ | |||
+ | < | ||
+ | # Default runlevel. The runlevels used by Mandrakelinux are: | ||
+ | # 0 - halt (Do NOT set initdefault to this) | ||
+ | # 1 - Single user mode | ||
+ | # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) | ||
+ | # 3 - Full multiuser mode | ||
+ | # 4 - unused | ||
+ | # 5 - X11 | ||
+ | # 6 - reboot (Do NOT set initdefault to this) | ||
+ | # | ||
+ | id: | ||
+ | </ | ||
+ | |||
+ | :!: **Dans ubuntu seulement**, | ||
+ | |||
+ | * Connaître le runlevel | ||
+ | |||
+ | runlevel | ||
+ | |||
+ | * Changer le runlevel à 2 | ||
+ | |||
+ | telinit 2 | ||
+ | |||
+ | * Menu de démarrage | ||
+ | |||
+ | cat / | ||
+ | |||
+ | |||
+ | |||
+ | ===== Arrêt ===== | ||
+ | |||
+ | Ne pas utiliser les commandes halt et reboot | ||
+ | |||
+ | ==== shutdown ==== | ||
+ | |||
+ | * shutdown arrête dans l' | ||
+ | |||
+ | < | ||
+ | #halt | ||
+ | shutdown -h now | ||
+ | #reboot | ||
+ | shutdwown -r now | ||
+ | #halt avec message d' | ||
+ | shutdown -h+10 "les services réseaux vont s’arrêter et reprendre dans 2 heures" | ||
+ | </ | ||
+ | |||
+ | ===== Dépannage ===== | ||
+ | |||
+ | ==== Créer une disquette de démarrage ==== | ||
+ | |||
+ | |||
+ | < | ||
+ | mkbootdisk --device /dev/fd0 `uname -r` | ||
+ | </ | ||
+ | |||
+ | ==== Disquette de root ou rescue ==== | ||
+ | |||
+ | < | ||
+ | #Recupérer l' | ||
+ | mkbootdisk --device /dev/fd0 `uname -r` | ||
+ | dd if=rescue.img of=/dev/fd0 bs=1440 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Mot de passe de root oublié ==== | ||
+ | |||
+ | * booter avec les disquettes de boot et de root ou en mode single, le système ne vous demandera pas de mot de passe, | ||
+ | * ouvrez une session root (pas besoin de mot de passe), | ||
+ | * monter le disque dur exemple | ||
+ | |||
+ | root:~# mount -t ext3 /dev/sda1 /mnt | ||
+ | |||
+ | * modifiez le fichier / | ||
+ | |||
+ | cd /mnt | ||
+ | chroot . | ||
+ | # Là utiliser la commande passwd. | ||
+ | passwd | ||
+ | |||
+ | |||
+ | |||
+ | ==== Démarrer en single-user ==== | ||
+ | |||
+ | Au message boot : entrez | ||
+ | < | ||
+ | linux single root=/ | ||
+ | #Charger le clavier : | ||
+ | loadkeys / | ||
+ | #monter la racine : (-w = read+write ; -n = ne pas écrire dans /etc/mtab) | ||
+ | mount -w -n -o remount / | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Système de fichiers ===== | ||
+ | ==== mkdir ==== | ||
+ | |||
+ | * Créer un répertoire en créant les parents en même temps s'ils n' | ||
+ | |||
+ | mkdir -p / | ||
+ | |||
+ | ==== cp ==== | ||
+ | |||
+ | * copier en conservant les droits | ||
+ | |||
+ | cp -cp | ||
+ | |||
+ | ==== rm ==== | ||
+ | |||
+ | * supprimer un répertoire non vide | ||
+ | |||
+ | rm -Rf répertoire | ||
+ | |||
+ | * Supprimer uniquement les fichiers cachés et tous les sous-répertoires (Les ?? servent à exclure le répertoire parent) | ||
+ | |||
+ | rm –rf .??* | ||
+ | | ||
+ | |||
+ | |||
+ | ==== chmod ==== | ||
+ | |||
+ | * changer les droits d' | ||
+ | |||
+ | < | ||
+ | chmod -R 775 ./* | ||
+ | #Donner tous les droits pour utiliser avec Apache | ||
+ | find LeRepertoire | ||
+ | find LeRepertoire -type f | xargs chmod a-x,+r | ||
+ | </ | ||
+ | |||
+ | ==== droits ugoa ==== | ||
+ | |||
+ | * Sticky bit | ||
+ | |||
+ | | ||
+ | |||
+ | Seul le propriétaire de chaque fichier de ce répertoire pourra supprimer le fichier en question. | ||
+ | |||
+ | * suid, sgid | ||
+ | |||
+ | Permet de donner à un programme les droits de l' | ||
+ | |||
+ | #exemple | ||
+ | -rwsr-xr-x 1 root root 29104 2007-05-18 11:59 / | ||
+ | |||
+ | |||
+ | * Valeurs des droits | ||
+ | |||
+ | | |r|w|x| | ||
+ | |Propriétaire|400|200|100| | ||
+ | |Groupe|40|20|10| | ||
+ | |Autres|4|2|1| | ||
+ | |||
+ | |||
+ | |suid|4000| | ||
+ | |sgid|2000| | ||
+ | |sticky|1000| | ||
+ | |||
+ | Remarque : pour un répertoire le droit d' | ||
+ | |||
+ | ==== chown, chgrp ==== | ||
+ | |||
+ | * changer le propriétaire | ||
+ | |||
+ | chown user.group fichier | ||
+ | |||
+ | * changer le groupe | ||
+ | |||
+ | chgrp groupe fichier | ||
+ | |||
+ | ==== du ==== | ||
+ | |||
+ | * Occupation disque | ||
+ | | ||
+ | #Occupation du répertoire courant | ||
+ | du -hs | ||
+ | #Occupation des fichiers et répertoires courants | ||
+ | for i in *; do du -hs $i; done; | ||
+ | |||
+ | ==== ln ==== | ||
+ | * Créer des liens | ||
+ | < | ||
+ | ln Fichier.origine Nom.lien | ||
+ | ln -s Fichier.origine Nom.lien | ||
+ | </ | ||
+ | |||
+ | ==== fuser ==== | ||
+ | |||
+ | * Lister les pid de processus utilisant un fichier donnée | ||
+ | |||
+ | fuser 139/ | ||
+ | |||
+ | ==== dd ==== | ||
+ | |||
+ | * Créer un fichier vide de 100M | ||
+ | |||
+ | dd if=/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Partitions ===== | ||
+ | |||
+ | ==== df ==== | ||
+ | |||
+ | * (disk free) : espace libre sur chaque partition des disques montés, informations en "human readable" | ||
+ | |||
+ | df -h | ||
+ | ==== fdisk ==== | ||
+ | * Lister tous les disques (montés et non montés) | ||
+ | |||
+ | fdisk -l | ||
+ | |||
+ | ==== blkid ==== | ||
+ | * Lister les partitions avec leur UUID | ||
+ | |||
+ | blkid | ||
+ | |||
+ | |||
+ | ==== mount / umount ==== | ||
+ | |||
+ | * Lister les disques montés | ||
+ | |||
+ | mount | ||
+ | |||
+ | * Monter un lecteur CD ou DVD | ||
+ | |||
+ | mount -t iso9660 -r /dev/hda /mnt/cdrom | ||
+ | |||
+ | * Monter et démonter une image iso (le périphérique loop sert à monter des systèmes de fichiers virtuels) | ||
+ | < | ||
+ | cd / | ||
+ | # Copie ou téléchargement de l’image du CDROM dans un fichier | ||
+ | cp /dev/cdrom image.iso | ||
+ | # calcul de l’empreinte digitale de l’image du CDROM et de l’image | ||
+ | # vérifiez que les deux empreintes sont identiques | ||
+ | # c’est une bonne habitude à prendre. | ||
+ | md5sum /dev/cdrom/ && md5sum image.iso | ||
+ | mkdir / | ||
+ | mount -o loop -t iso9660 -v image.iso / | ||
+ | ls / | ||
+ | umount -d / | ||
+ | </ | ||
+ | |||
+ | Inscription dans fstab | ||
+ | |||
+ | / | ||
+ | |||
+ | ==== mkisofs ==== | ||
+ | |||
+ | * Créer une archive au format iso | ||
+ | |||
+ | cd /tmp && mkisofs -o ‘date +%d-%B-%Y‘-backup.home.iso /home | ||
+ | |||
+ | ==== losetup ==== | ||
+ | |||
+ | * Attribuer le type de périphérique loop à un fichier | ||
+ | |||
+ | dd if=/ | ||
+ | mkfs.ext3 test_ext3fs | ||
+ | losetup /dev/loop1 test_ext3fs | ||
+ | |||
+ | * Utiliser la cryptographie sur un fichier | ||
+ | < | ||
+ | # On charge le module de cryptage | ||
+ | modprobe cryptoloop | ||
+ | losetup -e aes /dev/loop0 test_ext3fs | ||
+ | # Il faudra saisir un mot de passe | ||
+ | mkfs.ext3 /dev/loop0 | ||
+ | mount -t ext3 -v /dev/loop0 / | ||
+ | rsync -av /home/ / | ||
+ | find / | ||
+ | umount / | ||
+ | losetup -d /dev/loop0 | ||
+ | # Le système est démonté. Pour le lire il faudra | ||
+ | # le remonter et entrer le mot de passe. | ||
+ | mount -t ext3 -v -o loop, | ||
+ | </ | ||
+ | |||
+ | ==== cfdisk ==== | ||
+ | |||
+ | * changer les partitions d'un disque (attention efface le contenu !) | ||
+ | |||
+ | cfdisk /dev/hda | ||
+ | |||
+ | ==== mkfs ==== | ||
+ | |||
+ | * Formater une partition en reiserfs | ||
+ | |||
+ | mkfs -t reiserfs /dev/hda1 | ||
+ | |||
+ | ==== /etc/fstab ==== | ||
+ | |||
+ | * Points de montage des partitions | ||
+ | |||
+ | cat /etc/fstab | ||
+ | |||
+ | |||
+ | |||
+ | ==== Liens ==== | ||
+ | * [[http:// | ||
+ | ]] | ||
+ | * https:// | ||
+ | |||
+ | ===== Traitement des fichiers texte ===== | ||
+ | ==== awk ==== | ||
+ | * Exemples | ||
+ | <code bash> | ||
+ | awk -F ":" | ||
+ | awk 'END {print NR}' fichier | ||
+ | awk ' | ||
+ | who | awk ' | ||
+ | awk ' | ||
+ | </ | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | ==== cut ==== | ||
+ | Fait des coupes (sombres) dans les lignes qui lui sont transmises | ||
+ | |||
+ | * Afficher la liste des comptes système | ||
+ | cat /etc/passwd | cut -d":" | ||
+ | |||
+ | |||
+ | ==== sed ==== | ||
+ | |||
+ | * Remplacer day par night dans old vers new | ||
+ | |||
+ | sed ' | ||
+ | |||
+ | * Supprimer des lignes vides en fin de fichier | ||
+ | |||
+ | find -name " | ||
+ | |||
+ | === Liens === | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== xargs ==== | ||
+ | |||
+ | Exécute des commandes système en prenant l' | ||
+ | |||
+ | * Exemples | ||
+ | < | ||
+ | #Liste toutes les droits du programme passwd | ||
+ | which passwd | xargs ls -al | ||
+ | #Faire la liste alphabétique sur une seule ligne des utilisateurs du système | ||
+ | cut -d: -f1 < /etc/passwd | sort | xargs echo | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Découpage de chaînes ==== | ||
+ | |||
+ | Bash possède de nombreuses fonctionnalités pour découper des chaînes de caractères. L'une des plus pratiques est basée sur des motifs. | ||
+ | La notation ## permet d' | ||
+ | < | ||
+ | $ Var=' | ||
+ | $ echo ${Var##*to} | ||
+ | ro | ||
+ | </ | ||
+ | |||
+ | ici le motif est *to, et la plus longue correspondance " | ||
+ | |||
+ | < | ||
+ | $ F=' | ||
+ | $ echo ${F##*.} | ||
+ | tgz | ||
+ | </ | ||
+ | |||
+ | La notation # (un seul #) est similaire mais élimine la plus courte chaîne en correspondance : | ||
+ | |||
+ | < | ||
+ | $ Var=' | ||
+ | $ echo ${Var#*to} | ||
+ | nari no totoro | ||
+ | </ | ||
+ | |||
+ | De façon similaire, on peut éliminer la fin d'une chaîne : | ||
+ | |||
+ | < | ||
+ | $ Var=' | ||
+ | $ echo ${Var%no*} | ||
+ | tonari | ||
+ | </ | ||
+ | |||
+ | Ce qui permet de supprimer l' | ||
+ | |||
+ | < | ||
+ | $ F=' | ||
+ | $ echo ${F%.*} | ||
+ | rep/bidule | ||
+ | </ | ||
+ | |||
+ | % prend la plus courte correspondance, | ||
+ | |||
+ | < | ||
+ | $ Y=' | ||
+ | $ echo ${Y%.*} | ||
+ | archive.tar | ||
+ | $ echo ${Y%%.*} | ||
+ | archive | ||
+ | </ | ||
+ | |||
+ | ===== Hardware ===== | ||
+ | ==== lshw ==== | ||
+ | |||
+ | * Lister la config matérielle | ||
+ | |||
+ | lshw | less | ||
+ | |||
+ | ==== lsusb ==== | ||
+ | |||
+ | * Lister les périphériques usb connectés | ||
+ | |||
+ | lsusb | ||
+ | |||
+ | ==== lspci ==== | ||
+ | |||
+ | * Lister les composants pci | ||
+ | |||
+ | lspci | ||
+ | |||
+ | |||
+ | |||
+ | ===== paquets ===== | ||
+ | ==== dpkg ==== | ||
+ | |||
+ | * installer un fichier .deb | ||
+ | |||
+ | dpkg --install fichier.deb | ||
+ | |||
+ | ==== apt ==== | ||
+ | |||
+ | * réparer des dépendances non résolues | ||
+ | |||
+ | | ||
+ | |||
+ | * Sources d'apt | ||
+ | |||
+ | cat / | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Programmes ===== | ||
+ | |||
+ | ==== symbole & ==== | ||
+ | |||
+ | * Lancer un programme en tâche de fond | ||
+ | |||
+ | macommande & | ||
+ | |||
+ | ==== jobs ==== | ||
+ | |||
+ | * Lister les travaux en cours | ||
+ | |||
+ | jobs | ||
+ | |||
+ | ==== fg, bg ==== | ||
+ | |||
+ | * Passer du premier plan à l' | ||
+ | < | ||
+ | $ sleep 20 | ||
+ | #On tape [ctrl]+z dans la foulée et la commande est mise en pause | ||
+ | [1]+ Stopped | ||
+ | $ bg 1 #On la redémarre en arrière plan | ||
+ | [1]- sleep 20 & | ||
+ | $ fg 1 #On la repasse en premier plan | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== nohup ==== | ||
+ | |||
+ | * Lancer un programme insensible aux HangUPs et en tâche de fond | ||
+ | |||
+ | < | ||
+ | nohup macommande > fichier.log & | ||
+ | #Redirige également les messages d' | ||
+ | nohup macommande > /dev/null 2>&1 & | ||
+ | </ | ||
+ | |||
+ | ==== ps, pstree, pidof, top ==== | ||
+ | |||
+ | * Lister les processus | ||
+ | <code bash> | ||
+ | ps # liste des processus du terminal courant. | ||
+ | ps -u utilisateur | ||
+ | # liste de tous les processus du système. | ||
+ | ps -ef | ||
+ | ps aux # (syntaxe BSD) | ||
+ | pstree | less # Affiche l' | ||
+ | pidof postgres | ||
+ | top # Affiche une liste dynamique des processus | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Kill ==== | ||
+ | |||
+ | Tuer ou envoyer des signaux à des processus | ||
+ | <code bash> | ||
+ | kill 546 #Tenter de détruire le processus n°546 | ||
+ | kill -9 546 #Forcer la destruction du processus n°546 | ||
+ | kill -15 -1 #Tente de détruire tous les processus de l' | ||
+ | kill -9 -1 #Force la destruction de tous vos processus | ||
+ | kill `cat / | ||
+ | kill -CONT pid #Demander à un procesus de redémarrer | ||
+ | </ | ||
+ | |||
+ | ==== Killall ==== | ||
+ | |||
+ | * Relancer un service sans changer son PID (Il relit ses fichiers de configuration) | ||
+ | |||
+ | | ||
+ | |||
+ | * Tuer un processus dont on connait le nom | ||
+ | |||
+ | killall -9 service | ||
+ | |||
+ | |||
+ | ===== réseau ===== | ||
+ | * Connaître les machines actives sur le réseau local (ping de broadcast) | ||
+ | |||
+ | ping 192.168.1.255 - b | ||
+ | |||
+ | * Connaître les connexions actives et inactives | ||
+ | |||
+ | netstat -taupe | sort | ||
+ | netstat -a | grep monservice | ||
+ | |||
+ | * Liste des ports prédéfinis | ||
+ | |||
+ | cat / | ||
+ | |||
+ | * Liste des alias de noms d' | ||
+ | |||
+ | cat /etc/hosts | ||
+ | |||
+ | * tester les ports ouverts | ||
+ | |||
+ | nmap adresseip | ||
+ | nmap adresseip -p port | ||
+ | |||
+ | * Connaître les fichiers réseau ouverts | ||
+ | |||
+ | lsof -Pi | ||
+ | |||
+ | * Tracer une adresse IP | ||
+ | |||
+ | traceroute adresseIP | ||
+ | |||
+ | ===== sauvegardes ===== | ||
+ | ==== Avec Tar ==== | ||
+ | |||
+ | * décompresser en tar et gzip | ||
+ | |||
+ | tar xzvf cible.tgz | ||
+ | |||
+ | * Compresser en tar gzip | ||
+ | |||
+ | tar czvf cible.tgz source | ||
+ | |||
+ | * Consulter les fichiers de l' | ||
+ | |||
+ | tar tzvf archive.tgz | ||
+ | |||
+ | * Faire une sauvegarde de la distribution située en hda1 (source) vers hda2 (cible). | ||
+ | |||
+ | Passez en root : | ||
+ | |||
+ | su | ||
+ | |||
+ | Montez la cible en /mnt/disk par exemple : | ||
+ | |||
+ | mount /dev/hda2 /mnt/disk | ||
+ | |||
+ | Utilisez l' | ||
+ | |||
+ | Placez-vous dans le répertoire cible : | ||
+ | |||
+ | cd /mnt/disk | ||
+ | |||
+ | Lancez la copie de la source : | ||
+ | |||
+ | (cd / ; tar cf - *) | tar xvf | ||
+ | |||
+ | |||
+ | |||
+ | ==== Avec rsync ==== | ||
+ | |||
+ | |||
+ | * fichier exclude.lst | ||
+ | < | ||
+ | /proc/ | ||
+ | / | ||
+ | /tmp/ | ||
+ | /dev/ | ||
+ | /sys/ | ||
+ | /etc/fstab | ||
+ | /var/tmp/ | ||
+ | /var/cache/ | ||
+ | */cache/* | ||
+ | */Cache/* | ||
+ | /var/lock/ | ||
+ | /var/run/ | ||
+ | /var/spool/ | ||
+ | </ | ||
+ | |||
+ | * commande | ||
+ | |||
+ | rsync -uav --delete --exclude-from=/ | ||
+ | |||
+ | === Liens === | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ==== Avec cpio ==== | ||
+ | * Créer une archive sur disquette | ||
+ | | ||
+ | | ||
+ | |||
+ | * Consulter l' | ||
+ | |||
+ | cpio tv < archive1 | ||
+ | |||
+ | * Ouvrir l' | ||
+ | |||
+ | cpio i < archive1 | ||
+ | |||
+ | ==== Avec gzip ==== | ||
+ | * Compresser et décompresser | ||
+ | <code bash> | ||
+ | # | ||
+ | gzip docu | ||
+ | gzip -9 docu #Précise le niveau de compression le plus élevé | ||
+ | # | ||
+ | gzip -d docu.gz | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Avec dd ==== | ||
+ | |||
+ | * copie d'une disquette | ||
+ | |||
+ | dd if=/dev/fd0 of=Disquette | ||
+ | |||
+ | * Sauvegarder et restaurer le MBR (Master Boot Record) | ||
+ | |||
+ | dd if=/dev/hda of=sauve.mbr count=1 bs=512 | ||
+ | dd if=sauve.mbr of=/dev/hda | ||
+ | |||
+ | ==== liens ==== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | ]] | ||
+ | |||
+ | |||
+ | ===== Utilisateurs et groupes ===== | ||
+ | |||
+ | ==== groupadd ==== | ||
+ | |||
+ | * Créer un groupe | ||
+ | < | ||
+ | groupadd web | ||
+ | #en précisant le gid (supérieur à 500, sinon réservé au système) | ||
+ | groupadd –g gid groupe | ||
+ | </ | ||
+ | |||
+ | ==== useradd ==== | ||
+ | |||
+ | * Créer un utilisateur, | ||
+ | <code bash> | ||
+ | ## Créer lutilisateur ulysse avec un commentaire, | ||
+ | ##+ une date dexpiration et un délai de 8 jours avant la désactivation, | ||
+ | ##+ appartenant au groupe principal ulysse et aux groupes secondaires web et | ||
+ | ##+ formateurs. Loption -m permet de créer le répertoire home sil nexiste pas. | ||
+ | useradd –c "ceci est mon premier compte" | ||
+ | |||
+ | #En précisant l'uid (supérieur à 100 sinon réservé au système) | ||
+ | useradd –u uid login | ||
+ | </ | ||
+ | |||
+ | ==== passwd ==== | ||
+ | |||
+ | * Changer le mot de passe d'un utilisateur | ||
+ | < | ||
+ | #en tant que root | ||
+ | passwd < | ||
+ | #en tant qu' | ||
+ | passwd | ||
+ | #Changer le mot de passe dans un script (pour des créations en série) | ||
+ | echo compte: | ||
+ | </ | ||
+ | | ||
+ | |||
+ | |||
+ | ==== usermod / userdel ==== | ||
+ | |||
+ | * Ajouter un groupe à un utilisateur | ||
+ | |||
+ | usermod -a -G nouveau-groupe nom_utilisateur | ||
+ | |||
+ | * Supprimer un compte utilisateur avec son répertoire personnel et ses fichiers | ||
+ | |||
+ | userdel -r nom_utilisateur | ||
+ | |||
+ | |||
+ | ==== w, who, id ==== | ||
+ | |||
+ | * w liste les utilisateurs et ce qu'ils font | ||
+ | * who liste les utilisateurs | ||
+ | * id indique les groupes d'un utilisateurs. | ||
+ | |||
+ | |||
+ | ===== liens ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * {{memento-commandes.pdf|}} - [[http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||