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
-pcrée les répertoires parents s’ils n’existent pas (par ex.,documentsetprojects).
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 viasudo 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
sudopour 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”