aslain.dev
0%
01 Hizmetler 02 Hakkımda 03 Projeler 04 Stack 05 Blog 06 İletişim
← Tüm makaleler Outils & DevOps

Commandes Linux : les bases de la ligne de commande

Ce curseur clignotant que tu rencontres la première fois que tu te connectes en SSH à un serveur peut sembler intimidant, mais les commandes Linux de base reviennent en réalité à réutiliser sans cesse une poignée de schémas. Que tu gères un VPS, que tu installes un serveur de jeu ou que tu déploies une application Laravel, parcourir des fichiers, les copier, corriger les permissions et contrôler les processus reposent toujours sur le même petit ensemble de commandes. Dans ce guide, nous construisons pas à pas le squelette quotidien de la ligne de commande, avec des exemples réels et fonctionnels.

Savoir où tu te trouves dans le terminal

Tout commence par comprendre ton répertoire courant. Trois commandes complètent ce tableau : pwd affiche le dossier où tu es, ls liste le contenu, et cd te déplace entre les dossiers.

pwd                 # affiche le chemin complet, p. ex. /home/aslain
ls -la              # liste détaillée, fichiers cachés inclus
cd /var/www         # aller vers un chemin absolu
cd ..               # remonter d'un répertoire
cd ~                # revenir au répertoire personnel

La première colonne de la sortie de ls -la (comme drwxr-xr-x) indique les permissions ; le d initial marque un répertoire, tandis que - marque un fichier ordinaire. ~ est toujours un raccourci vers le répertoire personnel, les chemins absolus commencent par /, et les chemins relatifs sont interprétés depuis l'endroit où tu te trouves.

Gérer fichiers et répertoires

Les commandes pour créer, déplacer et supprimer du contenu sont petites mais puissantes. Celle à manier avec prudence est rm : il n'y a pas de corbeille, et supprimé veut dire perdu.

mkdir -p projet/app/src       # crée des dossiers imbriqués d'un coup
touch index.php               # crée un fichier vide ou met à jour son horodatage
cp source.txt sauvegarde.txt  # copier un fichier
cp -r dist/ build/            # copier un dossier avec son contenu (-r = récursif)
mv ancien.txt nouveau.txt     # renommer ou déplacer
rm temp.log                   # supprimer un fichier
rm -r build/                  # supprimer un dossier
rmdir dossier_vide            # supprimer uniquement un dossier vide

La combinaison rm -rf est puissante mais dangereuse : un mauvais chemin peut effacer des données auxquelles tu ne voulais pas toucher. Répéter la commande avec ls avant de supprimer est une bonne habitude. Note que mv gère à la fois le renommage et le déplacement ; il n'existe pas de commande « rename » séparée.

Lire et rechercher dans le contenu des fichiers

Inspecter des journaux, trouver une ligne de configuration ou filtrer une sortie fait partie de la routine quotidienne. Au cœur de tout cela se trouvent cat, less et grep.

cat .env                      # affiche tout le fichier à l'écran
less storage/logs/laravel.log # parcourir un long fichier page par page (q pour quitter)
head -n 20 access.log         # les 20 premières lignes
tail -n 50 access.log         # les 50 dernières lignes
tail -f access.log            # suivre le fichier en direct (les nouvelles lignes défilent)
grep "ERROR" laravel.log      # trouver les lignes contenant ERROR
grep -ri "database" config/   # recherche insensible à la casse dans un dossier

tail -f vaut de l'or quand tu cherches à attraper un bug : tu vois les journaux défiler en temps réel pendant que tu utilises l'application. grep devient bien plus puissant combiné aux tubes ; par exemple ps aux | grep php n'affiche que les processus PHP.

Tubes, redirection et enchaînement

Le cœur de la philosophie Linux, c'est de connecter de petits outils entre eux. Un tube (|) transforme la sortie d'une commande en entrée de la suivante ; la redirection (>, >>) écrit la sortie dans un fichier.

ls -la | grep ".php"          # n'afficher que les fichiers .php
cat access.log | wc -l        # compter les lignes (combien de requêtes ?)
du -sh * | sort -h            # lister la taille des dossiers, triée
echo "bonjour" > note.txt      # écrire dans un fichier (l'écrase)
echo "deuxième ligne" >> note.txt # ajouter à la fin du fichier
php artisan migrate && php artisan db:seed   # exécuter la seconde seulement si la première réussit

L'opérateur && n'exécute la seconde commande que si la première s'est terminée avec succès (code de sortie 0) ; il est idéal pour enchaîner les étapes de déploiement en toute sécurité. Ne confonds pas > et >> : une seule flèche efface le contenu du fichier, la double flèche ajoute.

Gérer les processus et le système

Quand quelque chose se bloque sur un serveur, tu dois voir quel processus tourne et combien il consomme. C'est là qu'interviennent les commandes de processus.

ps aux                        # tous les processus en cours
ps aux | grep nginx           # uniquement les processus nginx
top                           # utilisation des ressources en direct (q pour quitter)
htop                          # une version plus lisible (si installée)
kill 4821                     # terminer le processus de PID 4821
kill -9 4821                  # terminaison forcée (s'il ne répond pas)
df -h                         # utilisation du disque
free -h                       # utilisation de la mémoire (RAM)

Pour fermer un processus, essaie d'abord un simple kill ; il laisse à l'application une chance de s'arrêter proprement. N'utilise kill -9 que s'il ne répond vraiment pas, car cela signifie « débrancher la prise » et le processus meurt avant de pouvoir sauvegarder quoi que ce soit. df -h et free -h sont les premiers endroits à consulter quand tu te demandes « Pourquoi le disque est-il plein ? » ou « Pourquoi le serveur est-il lent ? ».

Permissions et bonnes habitudes

Les erreurs « Permission denied » les plus fréquentes sur les serveurs web viennent des permissions. chmod change les permissions, tandis que chown change le propriétaire.

chmod 644 index.php           # le propriétaire lit/écrit, les autres lisent
chmod 755 deploy.sh           # tout le monde peut exécuter, le propriétaire peut écrire
chmod -R 775 storage/         # appliquer à un dossier et son contenu
chown -R www-data:www-data .  # donner la propriété à l'utilisateur web
sudo systemctl restart nginx  # redémarrer un service avec des droits élevés

Quelques habitudes pratiques t'éviteront des ennuis : confirme ta position avec pwd avant les commandes dangereuses, utilise la touche Tab pour compléter automatiquement les noms de fichiers (ça évite les fautes de frappe), rappelle les commandes précédentes avec la flèche du haut, et lis le manuel de n'importe quelle commande avec man ls. N'utilise sudo que lorsque c'est réellement nécessaire ; les droits root transforment chaque erreur en erreur permanente.

Questions fréquentes

Comment sortir d'une commande bloquée dans le terminal ?

Ctrl + C arrête une commande en cours. Pour quitter les outils plein écran comme top, less ou man, appuie sur q. Pour fermer entièrement la session du terminal, tape exit.

Quelle est la différence entre chmod 755 et 644 ?

Les chiffres sont les sommes des permissions de lecture (4), écriture (2) et exécution (1) pour propriétaire/groupe/autres. 644 est pour les fichiers ordinaires (non exécutables), tandis que 755 est pour les scripts et les dossiers, car ils ont besoin de la permission d'exécution/d'entrée.

Puis-je récupérer un fichier supprimé avec rm ?

Non, rm supprime le fichier directement et définitivement, sans corbeille. C'est pourquoi sauvegarder les données importantes et répéter la commande avec ls avant de supprimer est vital.

Besoin d'aide pour l'administration de serveur, le déploiement ou la configuration d'un VPS ? Si tu es bloqué pour configurer un système basé sur Linux ou pour monter un serveur de jeu/web à partir de zéro, contacte-moi — construisons ensemble une installation solide.

Bu kategorideki tüm yazılar →

Devamı için