Commandes de base
ls
Liste les fichiers et dossiers du repertoire courant.
cd
Change le repertoire courant.
pwd
Affiche le chemin complet du repertoire actuel.
mkdir
Cree un nouveau dossier.
rm
Supprime un fichier ou un repertoire avec prudence.
Fichiers texte et permissions
Les permissions controlent qui peut lire, modifier ou executer un fichier. C'est l'une des bases de la securite sous Linuxe.
- Ccat: affiche le contenu d'un fichier texte.
- Nnano: permet d'editer rapidement un fichier dans le terminal.
- Mchmod: change les permissions d'un fichier ou d'un dossier.
- Ochown: change le proprietaire d'un fichier ou d'un dossier.
Terminal vs shell
Le terminal est l'interface qui affiche et recoit les commandes. Le shell est le programme qui interprete ces commandes puis les execute.
Bash, Zsh et Fish sont des shells populaires. Ils partagent des principes communs mais offrent des experiences et des outils differents.
Expansion et variables
Le shell transforme souvent ce que vous tapez avant l'execution: variables, chemins, substitutions de commandes ou caracteres generiques.
- $$HOME: repertoire personnel de l'utilisateur.
- P$PATH: liste des dossiers ou chercher les executables.
- U$USER: nom de l'utilisateur courant.
Pipes, Filters et Redirections
Le shell permet de connecter des commandes entre elles pour creer des flux de travail puissants et flexibles.
- |Pipe: envoie la sortie d'une commande vers une autre.
- >Redirection: envoie la sortie d'une commande vers un fichier ou une entree depuis un fichier.
- &Background: execute une commande en arriere-plan.
Filters
Les filters sont des commandes qui traitent les donnees en entrée et produisent des resultats en sortie.
- grepGrep: recherche de motifs dans les fichiers.
- sedSed: edition de texte.
- awkAwk: traitement de donnees structurées.
Grep command
Grep est un outil de recherche de texte qui utilise des expressions régulières pour trouver des correspondances dans les fichiers ou les flux de données.
Exemple d'utilisation:
$ grep "erreur" journal.log
[2024-06-01 14:32:10] ERREUR: Echec de la connexion à la base de données
[2024-06-01 14:35:45] ERREUR: Timeout lors de la requête API
Grep est très puissant pour analyser les logs, filtrer les résultats de commandes ou extraire des informations spécifiques d'un fichier texte.
Automatisation avec le shell
Le shell permet d'automatiser des tâches répétitives grâce à des scripts. Un script est un fichier texte contenant une série de commandes qui peuvent être exécutées ensemble.
Exemple de script simple:
#!/bin/bash
# Script de sauvegarde
SOURCE="/home/user/documents"
DEST="/home/user/backup"
tar -czf $DEST/backup-$(date +%Y-%m-%d).tar.gz $SOURCE
Ce script crée une archive compressée du dossier "documents" et la place dans le dossier "backup" avec un nom incluant la date du jour.
L'automatisation avec le shell est un moyen efficace de gagner du temps et d'assurer la régularité des tâches administratives ou de maintenance.
Bonnes pratiques pour le terminal
Pour tirer le meilleur parti du terminal, il est important de suivre quelques bonnes pratiques:
- 1Utiliser les alias: créez des raccourcis pour les commandes fréquemment utilisées.
- 2Lire la documentation: utilisez "man" pour comprendre les options des commandes.
- 3Tester les commandes: essayez les commandes avec des options de test avant de les exécuter sur des données importantes.
- 4Organiser les scripts: gardez vos scripts dans un dossier dédié et utilisez un système de versionnement si possible.
tr et cut commands
Les commandes tr et cut sont utiles pour manipuler le texte dans le terminal.
tr: permet de remplacer ou supprimer des caractères dans un flux de données.
cut: permet de découper les lignes d'un fichier en utilisant un délimiteur.
Exemple d'utilisation de tr pour convertir des minuscules en majuscules:
$ echo "hello world" | tr '[:lower:]' '[:upper:]'
HELLO WORLD
Exemple d'utilisation de cut pour extraire la première colonne d'un fichier CSV:
$ cut -d ',' -f 1 data.csv
John
Jane
Doe
Ces commandes sont très puissantes pour le traitement de texte et peuvent être combinées avec d'autres outils pour créer des flux de travail complexes dans le terminal.
User et Group Management
La gestion des utilisateurs et des groupes est essentielle pour assurer la sécurité et la gestion des ressources sur un système Linux.
Files System Hierarchy Specification (FHS)
La hiérarchie des systèmes de fichiers (FHS) définit la structure standard des répertoires et fichiers sur un système Linux.