Différences entre les versions de « Commandes Shell Linux »

De Wiki de Mémoire Vive
Aller à la navigation Aller à la recherche
 
(40 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 2 : Ligne 2 :
----
----


<span style="color: #0000FF;"><big>'''Mises à jour et paquets'''</big>
=1. Mises à jour et paquets :=


En administrateur root.
En administrateur root, Rechercher les mises à jour disponibles :
   
   
'''apt-get update'''
'''apt-get update'''
 
Mise à jour des paquets :
   
   
Rechercher les mises à jour disponibles.
'''apt-get upgrade'''
 
Éditer le fichier des sources dépôts de mises à jour :
   
   
'''apt-get upgrade'''
'''nano /etc/apt/souces.list'''
 
Pour visualiser le fichier sources.list sans le modifier :
   
   
Mise à jour des paquets.
  '''cat /etc/apt/sources.list'''
   
 
'''nano /etc/apt/souces.list'''
Pour savoir si un paquet est installé ou non, pas besoin d'être administrateur :
   
 
Éditer le fichier des sources dépôts de mises à jour.
  '''dpkg -l ''nom_du_paquet'''''
   
 
'''cat /etc/apt/sources.list'''
Exemple avec PHP:
   
 
Pour visualiser le fichier sources.list sans le modifier.
  '''dpkg -l php'''
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=att>
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom            Version      Architecture Description
+++-==============-============-============-==================================>
<span style="color: #FF0000;">'''ii'''</span> php            2:7.4+76    all          server-side, HTML-embedded scripti>


'''dpkg -l ''nom_du_paquet'''''
<span style="color: #FF0000;">'''ii'''</span> = installé


Pour savoir si un paquet est installé ou non.
'''[Q]''' pour quitter
----
----
<span style="color: #0000FF;"><big>'''Réseau'''</big>
 
=2. Réseau :=
   
   
Sans être administrateur root.
Sans être administrateur root, affiche l’adressage IP de la machine :
   
   
'''ip address'''
'''ip address'''
 
Affiche l’adressage IP de la machine.
Affiche la table de routage de la machine :


'''ip route'''
'''ip route'''


Affiche la table de routage de la machine.
En administrateur root, pour éditer le fichier de configuration IP des cartes réseau et le modifier, éventuellement pour mettre la carte réseau en adressage IP statique :
   
   
En administrateur root.
'''nano /etc/network/interfaces'''
 
Sans être administrateur root, voir le fichier concernant les serveurs DNS :
   
   
'''nano /etc/network/interfaces'''
  '''cat /etc/resolv.conf'''
 
Pour éditer le fichier de configuration IP des cartes réseau et le modifier, éventuellement pour mettre la carte réseau en adressage IP statique.
Tester la connexion à google.fr. Si cela fonctionne, la résolution DNS est également validée :
   
Sans être administrateur root.
'''cat /etc/resolv.conf'''
Voir le fichier concernant les serveurs DNS.
'''ping google.fr'''
Tester la connexion à google.fr. Si cela fonctionne, la résolution DNS est également validée.
   
   
'''ping google.fr'''
On stoppe avec '''[CTRL]''' + '''[C]'''.
On stoppe avec '''[CTRL]''' + '''[C]'''.
----
----
<span style="color: #0000FF;"><big>'''Arrêt et redémarrage d'une machine'''</big>
=3. Arrêt et redémarrage d'une machine :=
   
   
En administrateur root.
En administrateur root.
Redémarrage de la machine :
   
   
'''shutdown -r now'''
'''shutdown -r now'''
 
Arrêt de la machine :
   
   
Redémarrage de la machine.
  '''shutdown -h now'''
   
'''shutdown -h now'''
Arrêt de la machine.
----
----
<span style="color: #0000FF;"><big>'''Variable PATH'''</big>
=4. Variable PATH :=
 
Afficher la variable PATH :
   
   
'''echo $PATH'''
'''echo $PATH'''
 
Afficher la variable PATH.
Modifier la variable PATH pour la session :
'''export PATH=$PATH:/usr/sbin'''
Modifier la variable PATH pour la session.
'''echo 'export PATH=$PATH:/usr/sbin' >> /home/<span style="color: #FF0000;">''utilisateur''</span>/.bashrc'''
   
   
'''export PATH=$PATH:/usr/sbin'''
Modifier définitivement la variable PATH. Cela est pris en compte après redémarrage de la machine. Remplacez <span style="color: #FF0000;">''utilisateur''</span> par le nom de votre utilisateur.
Modifier définitivement la variable PATH. Cela est pris en compte après redémarrage de la machine. Remplacez <span style="color: #FF0000;">''utilisateur''</span> par le nom de votre utilisateur.
   
   
'''echo 'export PATH=$PATH:/usr/sbin' >> /home/<span style="color: #FF0000;">''utilisateur''</span>/.bashrc'''
Si cela est nécessaire, modifiez la variable PATH pour la session puis définitivement pour redémarrer  
Si cela est nécessaire, modifiez la variable PATH pour la session puis définitivement pour redémarrer  
la  machine  afin  que  les  modifications  soient  prises  en  compte.  Modifications  à  réaliser  si  des commandes du Shell sont inaccessibles (Debian 11).
la  machine  afin  que  les  modifications  soient  prises  en  compte.  Modifications  à  réaliser  si  des commandes du Shell sont inaccessibles (Debian 11).
----
----
<span style="color: #0000FF;"><big>'''Session'''</big>
=5. Session :=
 
Se connecter en tant que super utilisateur root :
   
   
'''su'''
'''su'''
 
Se connecter en tant que super utilisateur root.
Quitter l’utilisateur root ou la session :


'''exit'''
'''exit'''
Quitter l’utilisateur root ou la session.
----
----
<span style="color: #0000FF;"><big>'''Machine'''</big>
=6. Machine :=
   
   
Sans être administrateur root.
Sans être administrateur root.
Affiche le nom de la machine :
   
   
'''hostname'''
'''hostname'''
 
Affiche le nom de la machine
Affiche le nom de la machine et le nom de domaine :
   
   
'''hostname  - -fqdn'''
'''hostname  - -fqdn'''
 
Affiche le nom de la machine et le nom de domaine. 
 
----
----
<span style="color: #0000FF;"><big>'''Changer le port SSH'''</big>
=7. Changer le port SSH :=
   
   
En administrateur root éditez le fichier avec nano :
En administrateur root éditez le fichier avec nano :
   
   
'''nano /etc/ssh/sshd_config'''
'''nano /etc/ssh/sshd_config'''
 
Décommentez la ligne Port 22 et remplacez par un port entre 1024 et 65536.
Décommentez la ligne Port 22 et remplacez par un port entre 1024 et 65536.
   
   
Pour redémarrer le service.
Pour redémarrer le service :
   
   
'''service ssh restart'''
'''service ssh restart'''
 
Exemple de connexion SSH en ligne de commande pour effectuer un test.
Exemple de connexion SSH en ligne de commande pour effectuer un test :
'''ssh root@IP-Adresse_du_Serveur -p NouveauPort'''
   
   
'''ssh root@''IP_du_Serveur'' -p ''Port'''''
'''ssh ''utilisateur''@''IP_publique'' -p ''port'''''
*'''''utilisateur''''' : le nom de mon utilisateur sur le serveur Piwigo.
*'''''IP_publique''''' : Adresse IP publique du site distant où se trouve le serveur Piwigo. Adresse IP du serveur si l’on est sur le même réseau local.
*'''''port''''' : Le port SSH à utiliser, si on ne précise pas ce paramètres on utilisera le port part défaut qui est le 22.
Depuis Windows, on peut se connecter avec PuTTY ou FileZilla.
Depuis Windows, on peut se connecter avec PuTTY ou FileZilla.
----
----
<span style="color: #0000FF;"><big>'''Éditeur Nano'''</big>
=8. Éditeur Nano :=
   
   
Pour éditer un fichier en administrateur si nécessaire.
Pour éditer un fichier en administrateur si nécessaire.
   
   
'''nano''' '''''chemin d’accès du fichier'''''
'''nano''' '''''chemin d’accès du fichier'''''
 
Après modifications.
Après modifications.
   
   
Ligne 141 : Ligne 156 :
Le caractère '''#''' en début de ligne transforme celle-ci en commentaire.
Le caractère '''#''' en début de ligne transforme celle-ci en commentaire.
----
----
<span style="color: #0000FF;"><big>'''Syslog'''</big>
=9. Syslog sous Debian 11 :=
   
   
Afficher les dernières lignes et surveiller le fichier syslog. Quand des nouvelles lignes sont ajoutées au fichier par un autre processus, tail met à jour l'affichage.
Afficher les dernières lignes et surveiller le fichier syslog. Quand des nouvelles lignes sont ajoutées au fichier par un autre processus, tail met à jour l'affichage.
   
   
'''tail -f /var/log/syslog'''
'''tail -f /var/log/syslog'''
 
Pour sortir '''[CTRL]''' + '''[C]'''
 
Utile pour Apache.
----
----
<span style="color: #0000FF;"><big>'''Apache'''</big>
 
=10. Apache :=
   
   
Pour redémarrer le serveur WEB Apache.
Pour redémarrer le serveur WEB Apache :
   
   
'''service apache2 restart''' ou '''service apache2 reload''' ou '''systemctl reload apache2'''
'''service apache2 restart''' <span style="color: #196f3d;">ou</span> '''service apache2 reload''' <span style="color: #196f3d;">ou</span> '''systemctl reload apache2'''
   
   
Sur  Debian  il  est  très  simple  d’activer  ou  de  désactiver  chaque  virtualhost  grâce  aux  commandes  
Sur  Debian  il  est  très  simple  d’activer  ou  de  désactiver  chaque  virtualhost  grâce  aux  commandes  
'''a2ensite''' et '''a2dissite'''.
'''a2ensite''' et '''a2dissite'''.
'''Plus d'informations sur Apache :'''
[[Fichiers et dossiers du navigateur WEB Apache et commandes utiles pour la configuration|Fichiers et dossiers du navigateur WEB Apache et commandes utiles pour la configuration]]
[[Consulter le log pour Apache sous Debian 12|Consulter le log pour Apache sous Debian 12]]
----
----
<span style="color: #0000FF;"><big>'''PHP'''</big>
 
=11. PHP :=


Voir quelle version de PHP est installée :
Voir quelle version de PHP est installée :
Ligne 166 : Ligne 193 :
  '''apt-get remove --purge ''php8''.*'''
  '''apt-get remove --purge ''php8''.*'''
----
----
<span style="color: #0000FF;"><big>'''Fichiers et Dossiers'''</big>
=12. Fichiers et Dossiers :=
 
« '''p'''rint '''w'''orking '''d'''irectory » affiche le chemin d’accès vers le répertoire où se situe l’utilisateur qui a entré la commande.
 
'''pwd'''  


Attribuer  le  dossier  à  l’utilisateur  et  au  groupe  d’Apache (www-data) :
Attribuer  le  dossier  à  l’utilisateur  et  au  groupe  d’Apache (www-data) :
   
   
  '''chown  -R  www-data:www-data'''  '''''dossier'''''
  '''chown  -R  www-data:www-data'''  '''''dossier'''''
Changer les droits/permissions en utilisant la récursivité seulement pour les dossiers/fichiers en administrateur root.
Exemple pour le dossier de Nextcloud.
'''d''' = dossier/répertoire
'''f''' = fichier
'''find nextcloud/ -type d -exec chmod 750 {} \;'''
'''find nextcloud/ -type f -exec chmod 640 {} \;'''
Exemple pour WordPress (depuis le dossier d'installation du site).
'''.''' = dossier/répertoire courant
'''find . -type d -exec chmod 0755 {} \;'''
'''find . -type f -exec chmod 0644 {} \;'''
Pour vérifier le résultat.
'''ls -ls'''


Exemple de création de fichiers log :
Exemple de création de fichiers log :
Ligne 207 : Ligne 262 :


  '''rm ''fichier'''''
  '''rm ''fichier'''''
----
=13. Téléchargements de fichiers :=
Exemples de téléchargements d’archives dans le dossier courant :
'''<nowiki>wget https://releases.wikimedia.org/mediawiki/1.42/mediawiki-1.42.1.tar.gz</nowiki>'''
'''<nowiki>wget https://download.nextcloud.com/server/releases/nextcloud-29.0.4.tar.bz2</nowiki>'''
----
=14.  Les archives :=
Extraction des archives :
'''tar -xvzf /tmp/mediawiki-*.tar.gz'''
Extraction de l’archive se trouvant dans le dossier courant dans ce même dossier.
'''tar -xjf nextcloud-29.0.4.tar.bz2 -C /var/www/html/'''
Dans mon cas l’archive se trouve dans le dossier courant (celui de mon utilisateur), j’obtiens le dossier /var/www/html/nextcloud
=15.  Déplacement et synchronisation de fichiers :=
'''mv mediawiki-*/* /var/www/html/mon_serveur'''
Le contenu du dossier mediawiki-* est déplacé dans le dossier /var/www/html/mon_serveur
'''rsync -avP piwigo/ /var/www/html/mon_serveur'''
Synchronisation des fichiers du dossier piwigo avec le dossier mon_serveur en administrateur root.
----
=16. Disques :=
La commande '''df -h''' en Linux est utilisée pour afficher l'utilisation de l'espace disque pour les systèmes de fichiers de manière lisible pour les humains.
'''df -h'''

Version actuelle datée du 22 juillet 2024 à 15:31

Je note ici les commandes que j’ai utilisées dans le cadre de l’installation du serveur dans les locaux de l’association Mémoire Vive sur des machines sous Debian 11.


1. Mises à jour et paquets :[modifier]

En administrateur root, Rechercher les mises à jour disponibles :

apt-get update

Mise à jour des paquets :

apt-get upgrade

Éditer le fichier des sources dépôts de mises à jour :

nano /etc/apt/souces.list

Pour visualiser le fichier sources.list sans le modifier :

cat /etc/apt/sources.list

Pour savoir si un paquet est installé ou non, pas besoin d'être administrateur :

dpkg -l nom_du_paquet

Exemple avec PHP:

dpkg -l php
Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé/W=att>
|/ Err?=(aucune)/besoin Réinstallation (État,Err: majuscule=mauvais)
||/ Nom            Version      Architecture Description
+++-==============-============-============-==================================>
ii  php            2:7.4+76     all          server-side, HTML-embedded scripti>

ii = installé

[Q] pour quitter


2. Réseau :[modifier]

Sans être administrateur root, affiche l’adressage IP de la machine :

ip address

Affiche la table de routage de la machine :

ip route

En administrateur root, pour éditer le fichier de configuration IP des cartes réseau et le modifier, éventuellement pour mettre la carte réseau en adressage IP statique :

nano /etc/network/interfaces

Sans être administrateur root, voir le fichier concernant les serveurs DNS :

cat /etc/resolv.conf

Tester la connexion à google.fr. Si cela fonctionne, la résolution DNS est également validée :

ping google.fr 

On stoppe avec [CTRL] + [C].


3. Arrêt et redémarrage d'une machine :[modifier]

En administrateur root.

Redémarrage de la machine :

shutdown -r now

Arrêt de la machine :

shutdown -h now

4. Variable PATH :[modifier]

Afficher la variable PATH :

echo $PATH

Modifier la variable PATH pour la session :

export PATH=$PATH:/usr/sbin

Modifier définitivement la variable PATH. Cela est pris en compte après redémarrage de la machine. Remplacez utilisateur par le nom de votre utilisateur.

echo 'export PATH=$PATH:/usr/sbin' >> /home/utilisateur/.bashrc

Si cela est nécessaire, modifiez la variable PATH pour la session puis définitivement pour redémarrer la machine afin que les modifications soient prises en compte. Modifications à réaliser si des commandes du Shell sont inaccessibles (Debian 11).


5. Session :[modifier]

Se connecter en tant que super utilisateur root :

su

Quitter l’utilisateur root ou la session :

exit

6. Machine :[modifier]

Sans être administrateur root.

Affiche le nom de la machine :

hostname

Affiche le nom de la machine et le nom de domaine :

hostname  - -fqdn

7. Changer le port SSH :[modifier]

En administrateur root éditez le fichier avec nano :

nano /etc/ssh/sshd_config

Décommentez la ligne Port 22 et remplacez par un port entre 1024 et 65536.

Pour redémarrer le service :

service ssh restart

Exemple de connexion SSH en ligne de commande pour effectuer un test :

ssh root@IP_du_Serveur -p Port
ssh utilisateur@IP_publique -p port
  • utilisateur : le nom de mon utilisateur sur le serveur Piwigo.
  • IP_publique : Adresse IP publique du site distant où se trouve le serveur Piwigo. Adresse IP du serveur si l’on est sur le même réseau local.
  • port : Le port SSH à utiliser, si on ne précise pas ce paramètres on utilisera le port part défaut qui est le 22.

Depuis Windows, on peut se connecter avec PuTTY ou FileZilla.


8. Éditeur Nano :[modifier]

Pour éditer un fichier en administrateur si nécessaire.

nano chemin d’accès du fichier

Après modifications.

[CRTL] + [X] pour quitter l’éditeur nano.

[O] pour confirmer l’enregistrement des modifications.

[Entrée] pour confirmer le nom du fichier.

Le caractère # en début de ligne transforme celle-ci en commentaire.


9. Syslog sous Debian 11 :[modifier]

Afficher les dernières lignes et surveiller le fichier syslog. Quand des nouvelles lignes sont ajoutées au fichier par un autre processus, tail met à jour l'affichage.

tail -f /var/log/syslog

Pour sortir [CTRL] + [C]

Utile pour Apache.


10. Apache :[modifier]

Pour redémarrer le serveur WEB Apache :

service apache2 restart ou service apache2 reload ou systemctl reload apache2

Sur Debian il est très simple d’activer ou de désactiver chaque virtualhost grâce aux commandes a2ensite et a2dissite.

Plus d'informations sur Apache :

Fichiers et dossiers du navigateur WEB Apache et commandes utiles pour la configuration

Consulter le log pour Apache sous Debian 12


11. PHP :[modifier]

Voir quelle version de PHP est installée :

php -v

Désinstaller PHP :

apt-get remove --purge php8.*

12. Fichiers et Dossiers :[modifier]

« print working directory » affiche le chemin d’accès vers le répertoire où se situe l’utilisateur qui a entré la commande.

pwd 

Attribuer le dossier à l’utilisateur et au groupe d’Apache (www-data) :

chown  -R  www-data:www-data  dossier

Changer les droits/permissions en utilisant la récursivité seulement pour les dossiers/fichiers en administrateur root.

Exemple pour le dossier de Nextcloud.

d = dossier/répertoire

f = fichier

find nextcloud/ -type d -exec chmod 750 {} \;
find nextcloud/ -type f -exec chmod 640 {} \;

Exemple pour WordPress (depuis le dossier d'installation du site).

. = dossier/répertoire courant

find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;

Pour vérifier le résultat.

ls -ls 

Exemple de création de fichiers log :

touch access.log error.log

Rechercher un fichier :

Locate fichier

Mise à jour de la base utilisée par locate :

updatedb

Si locate n’est pas installé :

apt-get install locate

Exemple pour déplacer un fichier :

mv LocalSettings.php /var/www/html/wikimv/

Copier un dossier et son contenu :

cp -R dossier /dossier/sous-dossier/

Copier un fichier :

cp fichier /dossier/

Supprimer un dossier non vide :

rm -r dossier

Supprimer un fichier :

rm fichier

13. Téléchargements de fichiers :[modifier]

Exemples de téléchargements d’archives dans le dossier courant :

wget https://releases.wikimedia.org/mediawiki/1.42/mediawiki-1.42.1.tar.gz
wget https://download.nextcloud.com/server/releases/nextcloud-29.0.4.tar.bz2

14. Les archives :[modifier]

Extraction des archives :

tar -xvzf /tmp/mediawiki-*.tar.gz

Extraction de l’archive se trouvant dans le dossier courant dans ce même dossier.

tar -xjf nextcloud-29.0.4.tar.bz2 -C /var/www/html/

Dans mon cas l’archive se trouve dans le dossier courant (celui de mon utilisateur), j’obtiens le dossier /var/www/html/nextcloud

15. Déplacement et synchronisation de fichiers :[modifier]

mv mediawiki-*/* /var/www/html/mon_serveur

Le contenu du dossier mediawiki-* est déplacé dans le dossier /var/www/html/mon_serveur

rsync -avP piwigo/ /var/www/html/mon_serveur

Synchronisation des fichiers du dossier piwigo avec le dossier mon_serveur en administrateur root.


16. Disques :[modifier]

La commande df -h en Linux est utilisée pour afficher l'utilisation de l'espace disque pour les systèmes de fichiers de manière lisible pour les humains.

df -h