Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
Il existe déjà sur ce wiki plusieurs tutos consacrés aux commandes linux, voir:
https://debian-facile.org/doc:systeme:commandes:alphabetique
Voir aussi “les cahiers du débutant”:
https://debian-facile.org/projets:ebook-facile:lescahiersdudebutant?s[]=ligne&s[]=de&s[]=commandes
Nous allons, ici, tenté de montré, et d'expliqué si nécessaire, quelques unes des commandes de base, puis des commandes nécessaires à des applications.
Nous aborderons quelques approches, sur les groupes, les utilisateurs et les droits sous linux.
la commande ls :
commande | option | explication |
ls | -l | liste vos répertoires et fichiers par ordre alphabétique |
ls | -lha | ordre alphabétique avec les droits de chaque fichiers |
ls | -lhaF | F montre les fichiers exécutables avec le signe * |
l | a | Le a montre les fichiers cachés |
ls | -r | Inverse l’ordre d’affichage |
ls | -S | affiche par taille de fichier |
ls | -lishaF | commande assez complète |
la commande cd:
cd | Permet de se déplacer d’un répertoire à un autre |
cd Documents/charles/écritures | Va dans le fichier écriture |
La commande mv :renomme ou déplace un fichier
commande | explication |
mv toto.txt titi.txt | renomme le fichier toto en titi |
mv toto.txt Documents/charles/écritures | Déplace le fichier toto dans le dossier écriture |
la commande “pwd | vous indique où vous êtes |
pwd | /home/momo/PROGRAMMATION-LINUX/formation-bash-shell |
commandes cat, tail, head, more, less: pour Lire vos fichiers :
cat fichier | Lis votre fichier |
cat -n fichier | Affiche les numéros de ligne |
cat text1.txt test2.txt test3.txt | Concatène et lis les 3 fichiers |
cat /etc/apt/source.list | Affiche votre source.list |
tail -56 fichier | Affiche les 56 dernières lignes |
head -56 fichier | Affiche les 56 premières lignes |
more fichier | Lira le fichier page par page |
less fichier | Rendra possible la navigation dans la lecture du fichier avec les flèches |
less +56 fichier | Ouvrira en plaçant la ligne 56 en haut de page |
- créer un fichier texte :
touche install-nginx.txt
- effacé le fichier texte :
rm install-nginx.txt
- créer un répertoire WEB:
mkdir WEB
- créer un répertoire es ses sous-répertoires en une seule commande :
mkdir -p bibliothèque/{littérature_générale,philosophie,sociologie,histoire_sociale}/{auteur,notes}
ls -lha bibliothèque/
total 24K drwxr-xr-x 6 momo momo 4,0K févr. 2 17:50 . drwxr-xr-x 16 momo momo 4,0K févr. 2 17:50 .. drwxr-xr-x 4 momo momo 4,0K févr. 2 17:50 histoire_sociale drwxr-xr-x 4 momo momo 4,0K févr. 2 17:50 littérature_générale drwxr-xr-x 4 momo momo 4,0K févr. 2 17:50 philosophie drwxr-xr-x 4 momo momo 4,0K févr. 2 17:50 sociologie ls -lha bibliothèque/histoire_sociale/ total 16K drwxr-xr-x 4 momo momo 4,0K févr. 2 17:50 . drwxr-xr-x 6 momo momo 4,0K févr. 2 17:50 .. drwxr-xr-x 2 momo momo 4,0K févr. 2 17:50 auteur drwxr-xr-x 2 momo momo 4,0K févr. 2 17:50 notes ls -lha bibliothèque/philosophie/ total 16K drwxr-xr-x 4 momo momo 4,0K févr. 2 17:50 . drwxr-xr-x 6 momo momo 4,0K févr. 2 17:50 .. drwxr-xr-x 2 momo momo 4,0K févr. 2 17:50 auteur drwxr-xr-x 2 momo momo 4,0K févr. 2 17:50 notes
la commande rf :
rm mon fichier | Efface le fichier |
rm -rf répertoire | Efface le répertoire et tous fichiers à l’intérieur |
rm -rf ./* | Efface tout ce qui est dans le répertoire où vous faite la commande (prudence) |
rmdir | supprime un répertoire vide |
on trouve tous les protocoles supportés de niveau réseau dans le fichier /etc/protocols
on trouve tous les services réseau dans /etc/services, fournissant une correspondance entre: service Internet: numéro de port : protocole utilisé.
le fichier /etc/hosts: Correspondances statiques de noms d'hôtes. Il s'agit d'un fichier de texte simple qui associe les adresses IP avec les noms d'hôtes, une ligne par adresse IP. Pour chaque hôte, une unique ligne doit être présente, avec les informations suivantes : Adresse_IP Nom_officiel [Alias…]
/etc/fstab Le fichier fstab contient des informations sur les différents systèmes de fichiers. fstab est uniquement lus par les programmes, jamais écrit. Chaque système de fichier est décrit sur une ligne indépendante.
Le fichier /etc/resolv.conf se compose de deux informations importantes que sont: ``nameserver'' qui définit la machine sur laquelle devront être transmisent les requêtes DNS c'est à dire les machines permettant de transformer les adresses telles que www.rachat.fr en adresse IP.
ping :la commande ping test la connexion de votre réseau.teste si une connexion existe entre deux machines.L'affichage donne du délai de la réponse sur votre console es si la connexion n'est pas établie, vous aurez un message.
traceroute ou mtr :outil de diagnostic des réseaux qui permet de déterminer le chemin suivi par un paquet. La commande traceroute permet de donner la liste des routeurs entre la machine sur laquelle on lance la commande et la machine cible.
traceroute debian-facile.org traceroute to debian-facile.org (151.80.145.212), 30 hops max, 60 byte packets 1 livebox.home (192.168.1.1) 2.081 ms 3.694 ms 5.531 ms 2 80.10.125.82 (80.10.125.82) 43.212 ms 45.642 ms 47.101 ms 3 10.123.173.138 (10.123.173.138) 48.839 ms 10.123.173.202 (10.123.173.202) 50.480 ms 51.882 ms 4 ae44-0.nrpoi101.Poitiers.francetelecom.net (193.252.100.50) 54.063 ms ae44-0.nrpoi102.Poitiers.francetelecom.net (193.252.100.54) 58.254 ms ae44-0.nrpoi101.Poitiers.francetelecom.net (193.252.100.50) 63.658 ms 5 ae45-0.nridf102.Aubervilliers.francetelecom.net (193.251.126.14) 67.585 ms ae45-0.nridf101.Paris3eArrondissement.francetelecom.net (193.251.126.10) 106.527 ms 108.008 ms 6 ae41-0.noidf001.Paris3eArrondissement.francetelecom.net (193.252.98.102) 103.730 ms ae41-0.noidf002.Aubervilliers.francetelecom.net (193.252.98.106) 52.878 ms ae41-0.noidf001.Paris3eArrondissement.francetelecom.net (193.252.98.102) 34.430 ms 7 be100-169.th2-1-a9.fr.eu (91.121.131.193) 37.019 ms be100-101.gsw-1-a9.fr.eu (91.121.131.49) 47.701 ms 49.732 ms 8 be102.rbx-g2-nc5.fr.eu (94.23.122.214) 123.545 ms be102.rbx-g1-nc5.fr.eu (94.23.122.146) 53.235 ms be102.rbx-g2-nc5.fr.eu (94.23.122.214) 63.250 ms 9 * * * 10 * * * 11 * * * 12 11.ip-151-80-138.eu (151.80.138.11) 51.866 ms 53.638 ms 61.204 ms 13 * * * 14 * * * 15 * * * 16 * * *
mtr debian-facile.org My traceroute [v0.92] arthur (192.168.1.12) 2020-02-06T09:14:43+0100 Keys: Help Display mode Restart statistics Order of fields quit Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. livebox.home 0.0% 19 1.3 1.3 1.2 2.1 0.2 2. 80.10.125.82 0.0% 19 22.0 20.4 19.4 22.7 0.8 3. 10.123.173.202 0.0% 19 20.4 20.3 19.7 21.4 0.5 4. ae44-0.nrpoi101.Poitiers.francetelecom.net 0.0% 19 25.9 26.4 25.2 27.3 0.5 5. ae45-0.nridf101.Paris3eArrondissement.francetelecom.net 0.0% 19 30.1 30.5 29.7 31.2 0.5 6. ae41-0.noidf001.Paris3eArrondissement.francetelecom.net 0.0% 19 35.9 32.8 30.9 38.7 2.3 7. be100-169.th2-1-a9.fr.eu 0.0% 19 32.4 32.2 31.3 33.5 0.5 8. be102.rbx-g1-nc5.fr.eu 0.0% 19 36.5 36.5 35.6 37.6 0.5 9. ??? 10. ??? 11. ??? 12. 11.ip-151-80-138.eu 0.0% 18 35.0 35.4 34.2 36.6 0.7 13. debian-facile.org 0.0% 18 41.0 35.7 34.3 41.0 1.4
voir aussi: pour obtenir que l'ip dig debian-facile.org +trace
nslookup (de plus en plus délaissé en faveur de la commande dig) la commande nslookup (Name System Look Up) fait partie du paquet dnsutils
dig:La commande dig permet de diagnostiquer les dysfonctionnements dans la résolution de nom et de vérifier vos dns.
dig debian.fr ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> debian.fr ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50686 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1460 ; COOKIE: df8a695547654e75337b91255e3bd7353bf6247e2ce014e6 (good) ;; QUESTION SECTION: ;debian.fr. IN A ;; ANSWER SECTION: debian.fr. 86400 IN A 149.20.4.15 ;; Query time: 74 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: jeu. févr. 06 10:07:01 CET 2020 ;; MSG SIZE rcvd: 82
Si je demande l'adresse ip public de mon serveur auto-hébergé avec la commande:
dig funambule.org ;funambule.org. IN A ;; ANSWER SECTION: funambule.org. 0 IN A 192.168.1.15
j'obtiens l'adresse ip locale car c'est ma box qui réponds
si je demande aux services opendns j'obtiens l'ip public, j'obtiens la bonne ip. (merci du tuyau à captnfab)
dig funambule.org @208.67.222.222 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;funambule.org. IN A ;; ANSWER SECTION: funambule.org. 10800 IN A 92.123.345.102
Pour Info OpenDNS est un service gratuit de redirection DNS. Il se consulte via deux serveurs DNS récursifs accessibles sous les IP anycast suivantes : IPv4 : 208.67.222.222 et 208.67.220.220 ; 208.67.222.220 et 208.67.220.222 ; 208.67.222.123 et 208.67.220.123 ; IPv6 (Sandbox) : 2620:0:ccc::2 et 2620:0:ccd::2.
ss
ip: les différentes ordinateurs sur le réseau sont identifiés par un code chiffré appelé «adresse IP» («IP» signifie «Internet Protocol»)
Pour connaitre votre adresse ip locale
ip addr
Pour connaître votre ip public
wget -q http://checkip.dyndns.org -O- | cut -d: -f2 | cut -d\< -f1 ou plus simplement curl ifconfig.me
curl: un outil qui permet de faire des requêtes à un serveur
glances
tcpdump
uname -a -r
ncdu
cal et ncal
ps et pstree
du et df
who
find
sed
grep/egrep
awk
compression extraction
La commande ls -lha nous permet d’afficher les droits d’un fichier.caché ou pas.
rwx : read pour lecture, write pour écriture, x pour exécution
Faite un ls -lha sur votre console et vous verrez les droits affectés pour chaque fichiers.
Extrait d’une partie de cette commande :
ls -lha drwxr-xr-x 3 lagrenouille lagrenouille 4,0K déc. 27 20:58 .cpanm -rw-r--r-- 1 lagrenouille lagrenouille 0 oct. 21 23:37 .databases -rw-r--r-- 1 lagrenouille lagrenouille 96M janv. 24 00:23 'Dinner for One - Original.mp4' -rw-r--r-- 1 lagrenouille lagrenouille 35 oct. 1 14:40 .dmrc drwxr-xr-x 2 lagrenouille lagrenouille 4,0K sept. 30 17:52 Documents -rw-r--r-- 1 lagrenouille lagrenouille 60K déc. 18 17:37 doli2.png
Nous voyons que l’image doli2.png est modifiable par son propriétaire “rw- et “r–juste lisible pour tous les autres
Lorsque il y a un d en première lettre, cela signifie que c’est un répertoires
Les groupes sont disponibles dans le fichier /etc/group
La commande Id :retourne l’identification de l’usager, permet de lire les group où un user est attaché.
id uid=1000(momo) gid=1000(momo) groupes=1000(momo),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),33(www-data),44(video),46(plugdev),109(netdev),114(lpadmin),115(scanner)
La commande group affiche les groupes auxquels vous appartenez.
groups lagrenouille disk cdrom floppy sudo audio dip www-data video plugdev netdev scanner lpadmin
Nous verrons plus loin et plus en détail les explications sur les droits, les groupes et utilisateurs.
Une équipe de développeur travaillent actuellement sur un module qui permettrait de se passé de sudo, en considérant que donné tous les privilège de root avec l'identifiant 0, peut amené à l'utilisateur sudo à réalisé des installations malveillantes ou à faire des commandes malencontreuses, volontaires ou pas.
Ce nouveau programme découpera les privilèges et donnera les droits aux besoins de ces programmes et pas plus.Lors de l'utilisation d'un processus, pour réalisé une opération, le noyau du système va allé vérifié si le privilège est bien présent et peut être requis et s'il peut être requis.
Actuellement, le fichier /etc/sudoers vous dit ceci :
cat /etc/sudoers [sudo] Mot de passe de toto : # # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL
Vous pouvez aussi faire la commande:
sudo -l
En gros, on a les fichiers ordinaires, les fichiers de configuration, les fichiers de données et des fichiers spéciaux
Tous les fichier se voit attribuer des droits pour 3 identités :
Les droits sont affectés en fonction de vos appartenances .
1) le propriétaire - c’est l’utilisateur qui a créé le fichier ou l’utilisateur que root a désigné comme propriétaire
2) le groupe (qui n’est pas forcément le groupe du propriétaire)
3) les autres (ceux qui ne font pas partie du groupe)
je laisserai volontairement de coté les programmes useradd et groupadd, bien que les résultats fournis soient les mêmes.
Ces commandes “adduser” et “addgroup” ajoutent des utilisateurs ou des groupes au système .
adduser est un outil en mode console permettant de créer un compte d'utilisateur de manière interactive, tout comme addgroup.
Lorsqu'il est exécuté avec un seul paramètre qui n'est pas une option et sans les options –system ou –group, adduser ajoute un utilisateur normal.Vous n'êtes pas tenu de répondre aux questions qui suivent la création et le password.
adduser toto Ajout de l'utilisateur « toto » Ajout du nouveau groupe « toto » Création du répertoire personnel « /home/toto » Copie des fichiers depuis « /etc/skel » Nouveau mot de passe: rustine Retapez le mot de passe: rustine passwd: password updated successfuly Changing The user information for toto Enter the new value, or press Enter for the default Full Name [] : germain letout room Number[]: 45678 work Phone []: 0654348790 Home Phone []: 7998654324 Other []: Cette information est elle correcte ?[O/n]
Pour lui attribuer le mot de passe :
passwd toto saisir le password et le confirmé
changé les infos de l'utilisateur toto avec la commande “chfn”
chfn toto
Les options pour chfn
-f ⇒ Nom complet de l'utilisateur
-r ⇒ N° de bureau
-w ⇒ Téléphone de bureau
-h ⇒ Téléphone personnel
-o ⇒ Autre information
une fois l'utilisateur créer, vous pouvez le placé dans un groupe
adduser toto www-data Ajout de l'utilisateur «toto» au groupe «www-data» Adding user toto to group www-data Fait.
Si vous faites un “cat /etc/group”, vous verrez que le groupe toto est présent.
La commande “deluser toto ” supprimera l'utilisateur avec tout ce qu'il contient.
Structure de /etc/group
Ce fichier comprend 4 champs, séparés par le symbole :
1) nom du groupe
2) x pour remplacer un mot de passe non attribué maintenant
3) numéro de groupe, c-à-d l'identifiant gid
4) la liste des membres du groupe
Systemd est une alternative au démon init de System depuis la version Jessie (Debian 8), c'est un gestionnaire de système et de services pour Linux.
ls -lha /lib/systemd/system
systemd est il actif ?
systemctl status systemd-journald
lister toutes les unités présentes sur le système.
systemctl list-units
vérifié si un service est actif, ici apache.
systemctl status apache2
voir si rien n'est cassé
systemctl status
si un problème existe, failed et l’erreur seront écrits en rouge
vérification de l'erreur
systemctl --failed
les logs de démarrage (ça peut être assez long à lire)
journalctl -b
arrêter un service
systemctl stop apache2
redémarrer le service avec start ou reload
systemctl reload apache2
consulter les logs en temps réel
journalctl -f
Visualiser les erreurs dans le journal
journalctl -r -p err