======= Linux ======= *[[http://translate.google.com/translate?hl=fr&sl=auto&tl=fr&u=https%3A%2F%2Flinuxnewbieguide.org%2Fhow-to-install-linux-on-a-macintosh-computer%2F|Comment installer Linux sur un Macintosh et dual boot avec macOS FR]] * *[[https://linuxnewbieguide.org/how-to-install-linux-on-a-macintosh-computer/|Comment installer Linux sur un Macintosh et dual boot avec macOS EN]] *[[https://raspbian-france.fr/decouvrir-linux-cours-introduction-debutants/|Raspbian ou Linux pour débutant FR]] *[[https://framablog.org/2008/09/02/differences-entre-linux-et-windows/|Différences entre GNU/Linux et Windows]] *[[https://raspberry-pi.fr/cours/slides-linux-introduction.html#/|Introduction à Linux]] ====== Ressources Linux ====== Les liens: Français * [[https://doc.ubuntu-fr.org/ |- documentation Ubuntu francophone]] * [[https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux |- débutant - autre tutoriel]] * [[https://debian-facile.org/doc:systeme:administration)| - avancé - administration - debian]] * [[https://www.journalduhacker.net/ |- avancé - flux d'information et bidouille sur du Libre et autre]] * [[https://wiki.archlinux.fr/ |- wiki fr d'ArchLinux, distribution en rolling release]] * [[https://www.debian.org/ |Le site officiel du projet Debian]] * [[https://wiki.debian.org/ |Le Wiki officiel du projet Debian]] * [[https://debian-facile.org/| Le site de l'association debian-facile - distribution "DFLinux" en téléchargement.]] * [[http://www.interventions-numeriques.fr/ | Site de nouvelles et de tutoriels autours des logiciels libres (pratico-pratique !)]] * [[https://raspberry-pi.fr/cours/slides-linux-introduction.html#/|cours linux simplifié ]] Anglais * [[https://linuxjourney.com/ |- cours - install - liste de commande unix]] * [[https://sysads.co.uk/2017/02/16/linux-commands-list-beginners/ |- liste de commandes]] * [[https://wiki.archlinux.org/ |- english wiki of ArchLinux (une référence sous Linux, souvent très complet)]] Livres * [[https://debian-handbook.info/browse/fr-FR/stable/ | Le cahier de l'administrateur debian Debian 10 ]] * [[http://ubuntu-manual.org/?lang=fr|PDF - français et autre langue dispo Projet Manuel d'Ubuntu]] * [[https://www.amazon.fr/syst%C3%A8me-Linux-Matt-Welsh/dp/2841773191| 700 pages ancien 2006 traduction de "Running Linux"Le Système Linux o'reilly]] * [[https://framabook.org/simple-comme-ubuntu-2/| Simple Comme Ubuntu- Framasoft - 2010 un peu ancien]] * [[https://framabook.org/unixpou-allerplusloinaveclalignedecommande/| - Framasoft - 2010 - 261 pages, format PDF Unix et la ligne de commande]] ====== Commandes Linux ====== *[[https://fr.wikipedia.org/wiki/Commandes_Unix|Les commandes les plus utiles]] *[[https://openclassrooms.com/fr/courses/43538-reprenez-le-controle-a-laide-de-linux/40849-executer-des-programmes-en-arriere-plan|Exécuter des programmes en arrière-plan]] *[[http://juliend.github.io/linux-cheatsheet/|Linux - commandes fondamentales]] *[[[[start:rasberry:bash|commande shell bash]] ==== Verr Num au demmarrage ==== [[start:rasberry:linux:vernum|Verr Num sous linux]] ==== Changer de disposition clavier avec son terminal ==== setxkbmap fr __Commandes de commande__ ==== man ==== : permet de consulter le manuel associé à la commande passée en paramètre (man = manual). C’est à mon avis la commande la plus utile qui soit puisque grâce à elle, vous pourrez utiliser n’importe quelle commande facilement 🙂 ==== whereis ==== : permet de connaître quel script est exécuté lors de l’appel à la commande. __Système__ ==== top :==== *permet de lister les processus du système. ==== htop :==== *Permet de verifier les informations systemes : processus , memoires, Cpu ..., ( plus facile à lire que top , mais il faut l'installer ) ==== kill : ==== *permet de terminer un processus. ==== df : ==== *permet de connaître l’espace disponible sur les disques. ==== fdisk ==== *fdisk permet de manipuler les tables de partitions. Il permet de créer, de supprimer, de lister les partitions sur un disque dur. *Lister les partitions : //sudo fdisk -l// *Modifier /dev/sda : //sudo fdisk /dev/sda// ** ATTENTION commande pouvant etre dangereuse pour le disque ** ==== mkfs ==== * permet de formater une partition *//sudo mkfs -t ext4 /dev/sdc// **formate la partition /dev/sdc/ en ext4** ==== uname : ==== *permet d’afficher des informations importantes du système (version du système…). ==== su : ==== *permet de changer d’utilisateur courant (su = switch user). *Fichiers & repertoires ==== pwd : ==== *permet de savoir dans quel répertoire vous vous trouvez actuellement (pwd = print working directory). cd : permet de changer de répertoire courant (cd = change directory). Cette commande permet de réaliser les mêmes actions que lorsque vous vous baladez avec votre souris dans l’arborescence de votre système. ==== mkdir : ==== * mkdir : permet de créer un nouveau répertoire dans le répertoire courant (mkdir = make directory). Pour supprimer un répertoire, il suffit d’utiliser la commande rmdir . ==== ls : ==== *permet de lister les fichiers et répertoires contenus dans le répertoire courant. ==== touch :==== *touch permet de créer un nouveau fichier vide. A la base, cette commande permet de changer la date de modification du fichier cible mais losqu’il n’existe pas, elle le créé. Pour supprimer un fichier, il suffit de saisir rm . ==== chmod et chown : ==== *permettent de changer les permissions sur les fichiers et les répertoires. Exemples : *chmod -R 777 /var/www/html/data : permet de changer les autorisations du repertoire /var/www/html/**data** et des sous repertoires *chown -R www-data /var/www/html/data : permet de changer l'utilisateur du repertoire /var/www/html/**data** et des sous repertoires *chown -R www-data:www-data /var/www/html/data : permet de changer l'utilisateur et le groupe du repertoire /var/www/html/**data** et des sous repertoires ==== cp : ==== * cp : permet de copier le fichier source et de le coller dans le répertoire de destination (cp = copy). Il est également possible de réaliser un « couper/coller » à l’aide de la commande mv (mv = move). ==== cat : ==== *cat : permet de lire le contenu d’un fichier (cat = catenate, littéralement concaténer). Exemple : *cat /etc/passwd | awk -F: '{print $1}' : permet de lister les utilisateurs sous Debian ==== grep :==== *grep : permet de rechercher une chaîne de caractères dans un ou plusieurs fichiers. Cette commande est extrêmement utile et puissante et je ne peux que vous conseiller de bien lire sa documentation (man grep). ==== find :==== * permet de rechercher des fichiers ou des répertoires selon leur nom. __Téléchargements__ ==== wget : ==== *wget : permet de télécharger la ressource hébergée à l’adresse définie. ==== curl : ==== *permet de télécharger mais également de transmettre un fichier vers un serveur distant. ==== ftp : ==== *permet de se connecter à l’aide du protocole FTP à un serveur distant. Vous pourrez ensuite télécharger ou transmettre plusieurs fichiers. __Réseau__ ==== ping : ==== *ping : permet de vérifier si la machine cible est bien accessible par le réseau. ==== ifconfig :==== *permet d’afficher des informations concernant les interfaces réseau. On l’utilise fréquemment pour trouver son IP. ==== nmap : ==== *programme à installer, permet de scanner les ip et les ports ouverts des PC sur le même réseau *exemple :map -sP -PT -PI -T 3 192.168.2.* Enfin, notez que lorsque vous installez un nouveau logiciel sur votre machine, de nouvelles commandes seront disponibles. Par exemple, après avoir installé le logiciel de traitement de texte Emacs, la commande « emacs » sera disponible en ligne de commande pour lancer le programme. ==== speedtest ==== * permet de tester sa connexion internet en ligne de commande installation de speedtest ==> sudo apt-get install speedtest * utlisation ==> >> speedtest ==== iftop ==== * connaitre la vitesse de la carte reseaux installation de iftop ==> sudo apt-get install iftop *utilisation ==> iftop ==== rsync ==== * rsync (pour remote synchronization ou synchronisation à distance), est un logiciel 1) de synchronisation de fichiers. Il est fréquemment utilisé pour mettre en place des systèmes de sauvegarde distante.rsync travaille de manière unidirectionnelle c'est-à-dire qu'il synchronise, copie ou actualise les données d'une source (locale ou distante) vers une destination (locale ou distante) en ne transférant que les octets des fichiers qui ont été modifiés. La notion d’unidirectionnalité semble souvent mal comprise : elle signifie qu'en une commande, la synchronisation ne peut se faire que dans un sens. Rien n'empêche ensuite de relancer la commande une seconde fois dans l'autre sens ! Voici un exemple d'une commande, utilisant le protocole SSH, qui copie à l'identique le dossier vers le dossier . Copie du dossier source vers le serveur: rsync -e ssh -avz --delete-after /home/source user@ip_du_serveur:/dossier/destination/ où : --delete-after : à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source. -z : compresse les fichiers (Limite la bande passante mais augmente l'utilisation processeur et le temps de transfert : inutile en réseau locale ou avec très bon débit) -v : verbeux -e ssh : utilise le protocole SSH Si chemin(s) avec des espaces, on peut écrire les chemins entre guillemet en échappant les espace : rsync -e ssh -avz --delete-after "/home/source\ avec\ espace/" user@ip_du_serveur:"/dossier/destination\ avec\ espace/" Avec l'option -n la commande liste ce qu'elle va faire sans l'exécuter: rsync -e ssh -avzn --delete-after /home/mondossier_source user@ip_du_serveur:/dossier/destination/ ==== blkid ==== commande : **sudo blkid** [[https://doc.ubuntu-fr.org/uuid_et_label|Qu'est-ce que l'UUID ? :]] Il s'agit d'une suite plus ou moins longue de caractères alpha-numériques qui permet d'identifier de façon absolument sûre chaque périphérique de stockage et partition. Le chiffre de l'UUID est calculé automatiquement au moyen d'un algorithme intégrant notamment certaines données de l'ordinateur hôte, au moment de la création ou du formatage de la partition ou de la table des partitions. Ce mode de calcul ne présente aucun risque de sécurité crédible. Un UUID est de la forme : 1124d9e8-6266-4bcf-8035-37a02ba75c69. Il est à noter que l'UUID d'une partition est stockée dans le système de fichier. Une partition vierge (non formatée) ne peut donc avoir d'UUID et une partition clonée a le même UUID que l'originale. On peut ajouter que ceci est vrai même avec un partitionnement gpt. Bien que GPT définisse un UUID qui est stocké dans la table de partition, ce n'est pas ce dernier qui est utilisé par linux pour identifier les partitions. ==== mount et fstab ==== [[https://doc.ubuntu-fr.org/mount_fstab|Le montage automatique ou manuel des systèmes de fichiers]] éditer le fichier :** sudo nano /etc/fstab** [[start:rasberry:linux:fstab|fstab]] Le fichier /etc/fstab liste les partitions qui seront montées automatiquement au démarrage ou à la connexion du périphérique, avec toujours les mêmes options. Il est composé de plusieurs lignes décrivant chacune les conditions de montage de chaque partition / système de fichier. Le fichier fstab est créé lors de l'installation, avec le montage de la partition principale, et de la swap. Mais on peut y ajouter manuellement des partitions supplémentaires, qui seront alors automatiquement lues par le système au démarrage. ==== Variables d'environnement ==== === Variables du prompt PS1 === Le prompt Unix / Linux est défini par la variable PS1, généralement dans le .bashrc. Les variables suivantes peuvent être utilisées : \a an ASCII bell character (07) \d the date in "Weekday Month Date" format (e.g., "Tue May 26") \D{format} - the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required \e an ASCII escape character (033) \h the hostname up to the first part \H the hostname \j the number of jobs currently managed by the shell \l the basename of the shell's terminal device name \n newline \r carriage return \s the name of the shell, the basename of $0 (the portion following the final slash) \t the current time in 24-hour HH:MM:SS format \T the current time in 12-hour HH:MM:SS format \@ the current time in 12-hour am/pm format \A the current time in 24-hour HH:MM format \u the username of the current user \v the version of bash (e.g., 2.00) \V the release of bash, version + patch level (e.g., 2.00.0) \w the current working directory, with $HOME abbreviated with a tilde \W the basename of the current working directory, with $HOME abbreviated with a tilde \! the history number of this command \# the command number of this command \$ if the effective UID is 0, a #, otherwise a $ \nnn the character corresponding to the octal number nnn \\ a backslash \[ begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt \] end a sequence of non-printing character On utilise généralement les combinaisons : export PS1="\u@\h \w> " Exemple : jdoe@laptop-jdoe /var/www/jdoe/sites/default/themes/vincentl > ou, plus concis export PS1="\u@\h \W> " Exemple : jdoe@laptop-jdoe vincentl >