UNIX (Linux)
Introduction à UNIX
UNIX est un système d'exploitation puissant et polyvalent, largement utilisé dans le monde de l'informatique. Il est connu pour sa stabilité, sa sécurité et sa capacité à gérer efficacement les ressources système. UNIX est la base de nombreux systèmes d'exploitation modernes, y compris Linux et macOS.
Dans cette section, nous allons explorer les concepts fondamentaux de UNIX, y compris la navigation dans le système de fichiers, la gestion des fichiers et des répertoires, ainsi que l'utilisation des commandes de base.
UNIX est également connu pour sa philosophie de conception, qui privilégie la simplicité et l'efficacité. Les utilisateurs peuvent combiner de petites commandes pour accomplir des tâches complexes, ce qui en fait un outil puissant pour les développeurs et les administrateurs système.
Commandes de base
Voici quelques-unes des commandes de base que vous devez connaître pour naviguer dans un système UNIX :
- ls : Lister le contenu d'un répertoire
- cd : Changer de répertoire
- pwd : Afficher le chemin du répertoire courant
- mkdir : Créer un nouveau répertoire
- rm : Supprimer un fichier ou un répertoire
- cp : Copier des fichiers ou des répertoires
- mv : Déplacer ou renommer des fichiers ou des répertoires
Ces commandes sont essentielles pour interagir avec le système de fichiers et gérer vos fichiers et répertoires.
Navigation dans le système de fichiers
La navigation dans le système de fichiers UNIX se fait à l'aide de la commande cd. Par exemple, pour accéder au répertoire Documents, vous pouvez utiliser la commande suivante :
cd Documents
Pour revenir au répertoire parent, utilisez la commande :
cd ..
Pour afficher le chemin complet du répertoire courant, utilisez la commande :
pwd
Vous pouvez également utiliser des chemins absolus et relatifs pour naviguer dans le système de fichiers. Un chemin absolu commence à la racine du système de fichiers (/) et inclut tous les répertoires parents, tandis qu'un chemin relatif est basé sur le répertoire courant.
Par exemple, si vous êtes dans le répertoire Documents et que vous souhaitez accéder au répertoire Images situé dans Documents, vous pouvez utiliser le chemin relatif :
cd Images
Si vous souhaitez accéder au répertoire Images situé dans le répertoire Documents, vous pouvez utiliser le chemin absolu :
cd /home/utilisateur/Documents/Images
En utilisant ces commandes et concepts, vous serez en mesure de naviguer efficacement dans le système de fichiers UNIX.
Gestion des fichiers et des répertoires
La gestion des fichiers et des répertoires dans UNIX se fait à l'aide de plusieurs commandes. Voici quelques-unes des commandes les plus courantes :
- mkdir : Créer un nouveau répertoire
- rm : Supprimer un fichier ou un répertoire
- cp : Copier des fichiers ou des répertoires
- mv : Déplacer ou renommer des fichiers ou des répertoires
Par exemple, pour créer un nouveau répertoire appelé NouveauDossier, vous pouvez utiliser la commande :
mkdir NouveauDossier
Pour supprimer un fichier appelé fichier.txt, utilisez la commande :
rm fichier.txt
Pour copier un fichier appelé fichier.txt vers un autre répertoire, utilisez la commande :
cp fichier.txt /chemin/vers/le/répertoire/
Pour déplacer ou renommer un fichier, utilisez la commande :
mv ancien_nom.txt nouveau_nom.txt
En utilisant ces commandes, vous serez en mesure de gérer efficacement vos fichiers et répertoires dans UNIX.
Gestion des permissions
La gestion des permissions dans UNIX est essentielle pour assurer la sécurité et la confidentialité des fichiers et des répertoires. Chaque fichier et répertoire a des permissions qui déterminent qui peut lire, écrire ou exécuter le fichier.
Les permissions sont généralement affichées sous la forme d'une chaîne de caractères, par exemple :
drwxr-xr-x
Dans cet exemple, la première lettre indique le type de fichier (d pour un répertoire, - pour un fichier normal), suivie de trois groupes de trois caractères qui indiquent les permissions pour le propriétaire, le groupe et les autres utilisateurs.
Les permissions peuvent être modifiées à l'aide de la commande chmod. Par exemple, pour donner au propriétaire d'un fichier le droit d'écriture, utilisez la commande :
chmod u+w fichier.txt
Redirection et pipe
La redirection et le pipe sont des fonctionnalités puissantes de UNIX qui vous permettent de manipuler les entrées et sorties des commandes.
La redirection vous permet de rediriger la sortie d'une commande vers un fichier ou d'utiliser un fichier comme entrée pour une commande. Par exemple, pour rediriger la sortie de la commande ls vers un fichier appelé liste.txt, utilisez la commande :
ls > liste.txt
Pour utiliser un fichier comme entrée pour une commande, utilisez le symbole <. Par exemple, pour afficher le contenu d'un fichier appelé liste.txt, utilisez la commande :
cat < liste.txt
Le pipe (|) vous permet de connecter la sortie d'une commande à l'entrée d'une autre commande. Par exemple, pour afficher la liste des fichiers et trier les résultats par taille, utilisez la commande :
ls -l | sort -n
En utilisant la redirection et le pipe, vous pouvez créer des chaînes de commandes complexes pour accomplir des tâches avancées dans UNIX.
Ces fonctionnalités vous permettent de combiner des commandes et de traiter les données de manière efficace. Par exemple, vous pouvez utiliser le pipe pour envoyer la sortie d'une commande directement en entrée d'une autre commande, ce qui vous permet de créer des chaînes de traitement de données puissantes.
En utilisant la redirection et le pipe, vous pouvez automatiser des tâches complexes et améliorer votre productivité dans l'environnement UNIX.
Ces fonctionnalités sont particulièrement utiles pour les scripts shell, où vous pouvez combiner plusieurs commandes pour créer des programmes puissants et flexibles. En utilisant la redirection et le pipe, vous pouvez également enregistrer les résultats de vos commandes dans des fichiers pour une utilisation ultérieure, ce qui vous permet de conserver un historique de vos actions et de faciliter le débogage de vos scripts.
En résumé, la redirection et le pipe sont des outils essentiels pour tirer le meilleur parti de l'environnement UNIX. Ils vous permettent de manipuler les entrées et sorties des commandes de manière flexible et efficace, ce qui vous aide à accomplir des tâches complexes avec facilité. En maîtrisant ces fonctionnalités, vous serez en mesure de créer des scripts puissants et d'automatiser vos tâches quotidiennes dans l'environnement UNIX.
Script bash
Un script bash est un fichier texte contenant une série de commandes UNIX que vous pouvez exécuter en une seule fois. Les scripts bash sont utiles pour automatiser des tâches répétitives et simplifier la gestion de votre système. Pour créer un script bash, ouvrez un éditeur de texte et écrivez vos commandes. Ensuite, enregistrez le fichier avec l'extension .sh. Par exemple, vous pouvez créer un script appelé mon_script.sh contenant les commandes suivantes :
#!/bin/bash
echo "Bonjour, monde !"
ls -l
La première ligne (#!/bin/bash) indique que le script doit être exécuté avec l'interpréteur bash. Les lignes suivantes contiennent les commandes que vous souhaitez exécuter. Pour exécuter le script, ouvrez un terminal et utilisez la commande suivante :
bash mon_script.sh
Vous pouvez également rendre le script exécutable en utilisant la commande chmod :
chmod +x mon_script.sh
Ensuite, vous pouvez exécuter le script directement en utilisant la commande :
./mon_script.sh
Les scripts bash peuvent contenir des boucles, des conditions et des fonctions, ce qui les rend très puissants pour automatiser des tâches complexes. Par exemple, vous pouvez créer un script qui parcourt tous les fichiers d'un répertoire et effectue une action spécifique sur chacun d'eux. Voici un exemple de script qui parcourt tous les fichiers d'un répertoire et affiche leur nom :
#!/bin/bash
for fichier in *; do
echo "Fichier : $fichier"
done
Dans cet exemple, la boucle for parcourt tous les fichiers du répertoire courant et affiche leur nom. Vous pouvez remplacer echo "Fichier : $fichier" par toute autre commande que vous souhaitez exécuter sur chaque fichier.
En utilisant des scripts bash, vous pouvez automatiser des tâches répétitives, simplifier la gestion de votre système et gagner du temps dans vos travaux quotidiens.
Les scripts bash sont également très utiles pour la gestion des systèmes, car ils vous permettent d'automatiser des tâches telles que la sauvegarde de fichiers, la surveillance des ressources système et la gestion des utilisateurs. En utilisant des scripts bash, vous pouvez créer des solutions personnalisées pour répondre à vos besoins spécifiques et améliorer l'efficacité de votre travail. De plus, les scripts bash sont portables et peuvent être exécutés sur n'importe quel système UNIX ou Linux, ce qui les rend idéaux pour les environnements multi-plateformes. Vous pouvez également partager vos scripts avec d'autres utilisateurs, ce qui facilite la collaboration et le partage de connaissances. En résumé, les scripts bash sont un outil puissant pour automatiser des tâches répétitives et simplifier la gestion de votre système. Ils vous permettent de créer des solutions personnalisées pour répondre à vos besoins spécifiques et d'améliorer l'efficacité de votre travail. En maîtrisant les scripts bash, vous serez en mesure de tirer le meilleur parti de l'environnement UNIX et de simplifier vos tâches quotidiennes.
💻 Exercice : Lister le contenu d’un dossier
Écris une commande UNIX qui permet de lister les fichiers présents dans un dossier :