03. Maîtriser la ligne de commande Linux pour Ubuntu Server

La ligne de commande est le cœur de l’administration des serveurs Linux. Que vous soyez débutant ou administrateur système expérimenté, comprendre les bases de l’administration en ligne de commande est essentiel pour gérer efficacement votre serveur Ubuntu. Cet article propose une introduction approfondie à la ligne de commande Linux, couvrant les commandes, outils et techniques essentiels pour gérer les fichiers, les répertoires et l’environnement du serveur.


Article précédent :

01. Introduction à Ubuntu Server – SysOSX: AI & Cloud

02. Comment configurer votre premier serveur Ubuntu : un guide pour débutants – SysOSX: AI & Cloud



Pourquoi apprendre la ligne de commande ?

La ligne de commande Linux, accessible via le terminal, est un outil puissant pour interagir avec le système d’exploitation. Contrairement aux interfaces graphiques, la ligne de commande offre :

  • Vitesse : Les tâches peuvent être effectuées plus rapidement avec des commandes que via les interfaces graphiques.
  • Flexibilité : Automatisez les processus et effectuez des opérations complexes à l’aide de scripts.
  • Contrôle : Accédez à des fonctionnalités système plus profondes et résolvez les problèmes efficacement.

Accéder à la ligne de commande sur Ubuntu Server

Les installations d’Ubuntu Server n’incluent pas d’interface graphique par défaut, donc toutes les interactions se font via le terminal. Voici les moyens courants d’accéder à la ligne de commande :

1. Accès direct via la console locale

Après vous être connecté à votre serveur Ubuntu, l’interface du terminal s’affichera.

2. Accès distant via SSH

Utilisez Secure Shell (SSH) pour accéder à votre serveur à distance :

ssh username@server_ip


Commandes Linux essentielles pour les débutants

1. Naviguer dans le système de fichiers

Comprendre la hiérarchie du système de fichiers Linux est essentiel pour gérer les fichiers et les répertoires.

Afficher le répertoire courant : pwd

Affiche le répertoire de travail courant :

pwd

Lister le contenu du répertoire : ls

Liste les fichiers et les répertoires de l’emplacement courant :

ls

Options :

  • ls -l: Liste détaillée avec autorisations, propriété et taille.
  • ls -a: Inclut les fichiers cachés (fichiers commençant par .).

Changer de répertoire : cd

Passe à un répertoire différent :

cd /path/to/directory

Exemples :

  • cd ..: Monte d’un niveau.
  • cd ~: Passe au répertoire personnel.

2. Gérer les fichiers et les répertoires

Créer un répertoire : mkdir

Crée un nouveau répertoire :

mkdir directory_name

Exemple : créez une structure de sous-répertoires.

mkdir -p /home/user/documents/projects

Explication :

  • L’option -p crée les répertoires parents s’ils n’existent pas (par ex., documents et projects).

Supprimer un répertoire : rmdir

Supprime un répertoire vide :

rmdir directory_name

Exemple :

rmdir /home/user/old_directory

Copier des fichiers : cp

Copie des fichiers ou des répertoires :

cp source_file destination_file

Exemple : copiez un fichier dans un nouveau répertoire.

cp /home/user/file.txt /home/user/backup/file.txt

Pour copier des répertoires entiers :

cp -r /home/user/documents /home/user/backup/documents

Déplacer ou renommer des fichiers : mv

Déplace ou renomme des fichiers :

mv old_name new_name

Exemple : renommez un fichier.

mv file.txt renamed_file.txt

Déplacer des fichiers vers un autre répertoire :

mv /home/user/file.txt /home/user/backup/

Supprimer des fichiers : rm

Supprime des fichiers ou des répertoires :

rm file_name

Exemple : supprimez un fichier.

rm /home/user/file.txt

Pour supprimer des répertoires et leur contenu :

rm -r /home/user/old_directory

Avertissement : Soyez prudent avec rm pour éviter les suppressions accidentelles.


3. Afficher et modifier des fichiers

Afficher le contenu d’un fichier : cat

Affiche le contenu d’un fichier :

cat file_name

Exemple :

cat /etc/hostname

Afficher le contenu d’un fichier avec pagination : less

Permet de faire défiler le contenu d’un fichier :

less file_name

Exemple :

less /var/log/syslog

Créer ou modifier des fichiers : nano

Un éditeur de texte adapté aux débutants :

nano file_name

Exemple : créez un nouveau fichier ou modifiez-en un existant.

nano /home/user/new_file.txt

Rechercher du texte dans des fichiers : grep

Recherche une chaîne précise dans des fichiers :

grep "search_term" file_name

Exemple : trouvez les messages d’erreur dans un fichier journal.

grep "error" /var/log/syslog


4. Commandes d’administration système

Vérifier l’utilisation du disque : df

Affiche l’utilisation de l’espace disque :

df -h

Options :

  • -h: Format lisible par l’humain.

Vérifier l’utilisation de la mémoire : free

Affiche l’utilisation de la mémoire :

free -h

Surveiller les processus système : top

Affiche les processus en cours d’exécution et l’utilisation des ressources système :

top

Alternative :

  • htop: Un moniteur de processus plus convivial (à installer via sudo apt install htop).

Gérer les services : systemctl

Contrôle les services système :

sudo systemctl status service_name
sudo systemctl start service_name
sudo systemctl stop service_name
sudo systemctl restart service_name

Arrêter ou redémarrer : shutdown

Arrêtez ou redémarrez le serveur :

sudo shutdown now    # Immediate shutdown
sudo shutdown -r now # Immediate restart

5. Autorisations et propriété des fichiers

Linux utilise un modèle d’autorisations pour contrôler l’accès aux fichiers et aux répertoires.

Afficher les autorisations d’un fichier : ls -l

Affiche les autorisations des fichiers en format détaillé :

ls -l

Modifier les autorisations d’un fichier : chmod

Modifie les autorisations des fichiers :

chmod 644 file_name

Modifier la propriété d’un fichier : chown

Modifie la propriété des fichiers :

sudo chown new_owner:new_group file_name


6. Rechercher et trouver des fichiers

Localiser des fichiers : locate

La commande locate n’est pas installée par défaut. Installez-la d’abord :

sudo apt update
sudo apt install mlocate

Mettez à jour la base de données :

sudo updatedb

Recherchez des fichiers :

locate file_name

Trouver des fichiers : find

Recherche des fichiers selon des critères :

find /path -name "file_name"


7. Commandes réseau

Vérifier la connectivité réseau : ping

Teste la connectivité avec un hôte :

ping google.com

Vérifier les ports ouverts : ss

La commande netstat est obsolète et n’est pas installée par défaut. Utilisez ss, une alternative moderne :

ss -tuln

Explication :

  • -t: Affiche les connexions TCP.
  • -u: Affiche les connexions UDP.
  • -l: Affiche les ports en écoute.
  • -n: Affiche les adresses et ports numériques.

Tester la connectivité distante : curl

Récupère des données depuis une URL :

curl http://example.com


Conseils pratiques pour l’administration en ligne de commande

1. Utiliser la complétion par Tab

Appuyez sur Tab pendant que vous tapez une commande ou un nom de fichier pour compléter automatiquement les chemins ou les commandes.

2. Utiliser les commandes d’historique

Accédez aux commandes exécutées précédemment :

history

Exécutez une commande précise de l’historique :

!number

3. Rediriger la sortie

Enregistrez la sortie d’une commande dans un fichier :

command > output_file

4. Enchaîner les commandes

Exécutez plusieurs commandes en séquence :

command1 && command2

Exemple de flux de travail : configurer un serveur web

Voici un guide étape par étape pour configurer un serveur web avec des commandes de base. Suivez ces instructions pour configurer votre site web personnalisé et vous assurer qu’il remplace la page par défaut d’Apache.


1. Mettre à jour le système

Garder votre système à jour est essentiel pour la sécurité et la stabilité. Exécutez la commande suivante pour mettre à jour tous les paquets :

sudo apt update && sudo apt upgrade -y


2. Installer Apache

Installez le serveur web Apache :

sudo apt install apache2 -y

Une fois installé, vérifiez qu’Apache est en cours d’exécution :

sudo systemctl status apache2

Vous devriez voir un message d’état comme : Active: active (running).


3. Créer un répertoire pour votre site web

Créez un répertoire pour stocker les fichiers de votre site web. Pour cet exemple, nous allons créer un répertoire nommé mywebsite :

sudo mkdir -p /var/www/mywebsite


4. Définir les autorisations

Définissez la propriété et les autorisations appropriées pour qu’Apache puisse accéder aux fichiers du site web :

sudo chown -R www-data:www-data /var/www/mywebsite
sudo chmod -R 755 /var/www/mywebsite

5. Créer un exemple de fichier HTML

Ajoutez un simple fichier index.html qui servira de page d’accueil à votre site web :

sudo tee /var/www/mywebsite/index.html > /dev/null << EOF
<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h1>Welcome to My Website</h1>
</body>
</html>
EOF

Cela crée une page basique qui dit : “Welcome to My Website”.


6. Configurer un hôte virtuel

Pour servir votre site web personnalisé, créez un nouveau fichier de configuration d’hôte virtuel pour Apache :

sudo nano /etc/apache2/sites-available/mywebsite.conf

Collez le contenu suivant dans le fichier :

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/mywebsite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Enregistrez et quittez le fichier en appuyant sur Ctrl+O, puis sur Ctrl+X.


7. Activer votre site web

Activez la nouvelle configuration d’hôte virtuel :

sudo a2ensite mywebsite.conf

Désactivez la configuration de site par défaut d’Apache pour vous assurer que votre site web est servi :

sudo a2dissite 000-default.conf

Rechargez Apache pour appliquer les modifications :

sudo systemctl reload apache2


8. Tester la connectivité

Vérifiez si votre site web fonctionne en exécutant :

curl http://localhost

Vous devriez voir le contenu HTML de votre fichier index.html personnalisé :

<!DOCTYPE html>
<html>
<head>
    <title>Welcome</title>
</head>
<body>
    <h1>Welcome to My Website</h1>
</body>
</html>

Vous pouvez aussi ouvrir un navigateur et accéder à http://<your-server-ip> pour afficher votre site web.


Dépannage

Si vous voyez toujours la page par défaut d’Apache ou si vous rencontrez des problèmes :

  • Assurez-vous que votre site est activé
    Vérifiez que votre configuration est active :
ls /etc/apache2/sites-enabled/ 
  • Vous devriez voir mywebsite.conf. Sinon, activez-la avec :
sudo a2ensite mywebsite.conf
  • Vérifiez les journaux d’Apache
    Recherchez les erreurs dans les journaux :
sudo tail -f /var/log/apache2/error.log
  • Redémarrez Apache
    Si le problème persiste, redémarrez Apache :
sudo systemctl restart apache2

Conclusion

Maîtriser la ligne de commande Linux est essentiel pour administrer efficacement Ubuntu Server. En apprenant et en pratiquant ces commandes, vous gagnerez en confiance pour gérer votre environnement de serveur, résoudre les problèmes et effectuer les tâches administratives efficacement.

Prochaines étapes : Gérer les utilisateurs et les autorisations

Une fois que vous êtes à l’aise avec les bases de l’administration en ligne de commande, la prochaine étape essentielle de la gestion des serveurs est de comprendre les utilisateurs, les groupes et les autorisations. Gérer correctement les comptes d’utilisateurs et les contrôles d’accès est essentiel pour préserver la sécurité et garantir que seules les personnes autorisées peuvent accéder aux fichiers et ressources sensibles de votre serveur ou les modifier.

Dans le prochain article, « Gérer les utilisateurs et les autorisations », nous aborderons :

  • Comment créer, modifier et supprimer des comptes d’utilisateurs.
  • Gérer les groupes pour un contrôle d’accès efficace.
  • Comprendre les autorisations des fichiers et des répertoires (lecture, écriture, exécution).
  • Utiliser des outils avancés comme sudo pour l’élévation de privilèges.
  • Bonnes pratiques pour sécuriser les comptes d’utilisateurs sur Ubuntu Server.

Restez à l’écoute pour des conseils concrets afin d’améliorer votre sécurité et votre gestion des accès !

14 thoughts on “03.Mastering the Linux Command Line for Ubuntu Server”

Laisser un commentaire