Commandes Shell Linux

Avec Debian

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 et 12.


1. Mises à jour et paquets :

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:

ii = installé

[Q] pour quitter


2. Réseau :

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 :

En administrateur root.

Redémarrage de la machine :

shutdown -r now

Arrêt de la machine :

shutdown -h now

4. Variable PATH :

Afficher la variable PATH :

echo $PATH

Modifier la variable PATH pour la session :

export PATH=$PATH:/usr/sbin
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 :

Se connecter en tant que super utilisateur root :

su

Quitter l’utilisateur root ou la session :

exit

6. Machine :

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 :

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 (si on utilise le port par défaut 22 pas besoin de le préciser) :

ssh utilisateur@IP-Adresse_du_Serveur -p NouveauPort

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


8. Éditeur Nano :

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.

Afficher le numéro des lignes dans nano

Pour afficher le numéro des lignes dans nano il suffit de le lancer avec l’option -c.

Il est aussi possible d’afficher cette information ponctuellement en utilisant le raccourcis [Ctrl] + [c] lors d’un lancement sans l’option -c.

Pour rechercher une chaîne de caractères

[Ctrl] + [W]


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 :

 tail -f /var/log/syslog

Pour sortir [CTRL] + [C]

Utile pour Apache.


10. Apache :

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 :

Voir quelle version de PHP est installée :

php -v

Désinstaller PHP :

apt-get remove --purge php8.*

12. Fichiers et Dossiers :

« 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 :

mvLocalSettings.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 :

Pour télécharger un fichier en ligne de commande depuis Linux.

Wget est un utilitaire de ligne de commande utilisé pour télécharger des fichiers depuis Internet.

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 :

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
Retour en haut