Adéniran Raymond ODOUNHITAN 2024
Environnement Linux
Gérer du code avec Git et Github
[email protected]
INTRODUCTION
Linux est un système d'exploitation libre et
open-source qui se distingue par sa sécurité,
sa stabilité et sa flexibilité. Contrairement aux
systèmes d'exploitation payants et
propriétaires comme Windows ou macOS,
Linux est accessible gratuitement et son
code source est ouvert à tous, permettant
une amélioration constante et une
personnalisation infinie.
Adéniran Raymond ODOUNHITAN 2
Adeniran Raymond ODOUNHITAN 2024
1. POURQUOI UTILISER LINUX ?
2. LES AVANTAGES DU LINUX
3. DIFFERENCES PAR RAPPORT AUX AUTRES
SYSTÈMES D’EXPLOITATION
4. LES AVANTAGES SPÉCIFIQUES DU LINUX
5. QUELQUES COMMANDES ESSENTIELLES POUR
GÉRER UN PROJET AVEC UNIX/LINUX
3
ADÉNIRAN RAYMOND ODOUNHITAN 2024
1. POURQUOI UTILISER LE LINUX ?
4
Linux est aujourd'hui considéré
comme l'un des systèmes
d'exploitation le plus performant
et sécurisé. Cela s'avère d'autant
plus vrai pour les développeurs.
Open-source est donc gratuit,
Linux est un choix idéal pour
développer, que ce soit en tant
qu'amateur, débutant ou
professionnel., Linux est un choix
idéal pour développer, que ce
soit en tant qu'amateur, débutant
ou professionnel.
5
ADÉNIRAN RAYMOND ODOUNHITAN 2024
2. LES AVANTAGES DU LINUX ?
6
- Linux supporte les standards de l’internet ( protocoles TCP/IP).
- Linux est un moyen gratuit de créer un réseau local, de se connecter à
Internet et de mettre en place un serveur.
- Sécurité accrue ( transparence du code source et réactivité de la
communauté).
- Cloisonnement des espaces mémoire et de l’espace disque + gestion
pointue des droits permettant de gérer un grand nombre d’utilisateurs avec
un niveau de risque minimal.
- Noyau entièrement configurable en fonction du matériel de la machine sur
laquelle le système est installé afin de maximiser les performances.
Gratuit et open-source: Accessible à tous, modifiable par tous, amélioré par
tous.
7
ADÉNIRAN RAYMOND ODOUNHITAN 2024
3. DIFFERENCES PAR RAPPORT
AUX AUTRES SYSTÈMES
D’EXPLOITATION
8
-Sécurité: Moins de virus, modèle de sécurité robuste, corrections
rapides.
-Stabilité: Fonctionnement fluide sur de longues périodes, idéal pour
serveurs.
-Flexibilité: Nombreuses distributions pour répondre à tous les besoins.
-Performance: Fonctionne efficacement sur du matériel peu performant.
-Choix des logiciels: Logiciels gratuits, open-source et propriétaires
disponibles.
-Facilité d'utilisation: Interfaces graphiques intuitives pour les débutants.
-Communauté active: Aide et soutien facilement accessibles.
9
ADÉNIRAN RAYMOND ODOUNHITAN 2024
4. LES AVANTAGES SPÉCIFIQUES
DU LINUX
10
Développeurs: Outils de développement
puissants et gratuits.
Administrateurs système: Stabilité,
fiabilité et facilité d'administration.
Utilisateurs soucieux de leur
confidentialité: Protection des données.
Linux : Un système d'exploitation
puissant, flexible, sécurisé et
avantageux pour tous. 11
ADÉNIRAN RAYMOND ODOUNHITAN 2024
5. QUELQUES COMMANDES
ESSENTIELLES POUR GÉRER UN
PROJET AVEC UNIX/LINUX
12
Initialisation du projet
mkdir: Crée un répertoire pour héberger votre
projet.
git init: Initialise un dépôt Git pour le contrôle de
version.
touch: Crée un fichier.
13
Gestion du code source
git add: Ajoute des fichiers modifiés au dépôt Git.
git commit: Enregistre les modifications dans le dépôt Git avec un message
descriptif.
git branch: Crée, liste et supprime des branches Git.
git checkout: Bascule vers une branche Git spécifique.
git merge: Fusionne les modifications d'une branche dans une autre.
git push: Envoie les modifications locales vers le dépôt Git distant.
git pull: Récupère les modifications du dépôt Git distant vers le dépôt local.
git clone: Crée une copie locale d'un dépôt Git distant.
ssh: Permet une connexion sécurisée à distance pour la collaboration. 14
Navigation dans le code
cd: Change de répertoire pour naviguer dans
l'arborescence du projet.
ls: Affiche le contenu du répertoire actuel.
tree: Affiche une représentation arborescente de la
structure du répertoire.
pwd: Affiche le chemin du répertoire de travail actuel.
mkdir: Crée un nouveau répertoire.
rmdir: Supprime un répertoire vide. 15
Compilation et exécution du code
gcc: Compile le code C/C++ en un exécutable.
make: Automatise la compilation et
l'exécution du code selon les instructions d'un
fichier Makefile.
./mon_programme: Exécute l'exécutable
"mon_programme".
16
Tests et débogage
gdb: Débogueur puissant pour analyser et
corriger les erreurs dans le code.
unitest: Cadre de test unitaire pour écrire et
exécuter des tests automatisés.
17
Documentation et aide
man: Affiche le manuel d'une commande
spécifique.
README.md: Crée un fichier Markdown pour
documenter le projet.
info: Affiche des informations détaillées sur
une commande.
18
Gestion des dépendances
apt: Gère les paquets logiciels dans les
distributions basées sur Debian/Ubuntu.
yum: Gère les paquets logiciels dans les
distributions basées sur Red Hat/CentOS.
19
Déploiement
scp: Copie des fichiers sécurisés entre les
ordinateurs.
rsync: Synchronise des fichiers et des
répertoires entre les ordinateurs.
curl: Télécharge des fichiers depuis des URL.
20
Gestion de fichiers
cat: Affiche le contenu d'un fichier texte.
cp: Copie des fichiers et des répertoires.
mv: Déplace et renomme des fichiers et des
répertoires.
rm: Supprime des fichiers et des répertoires.
emacs: Permet d’écrire dans un fichier 21
Recherche et
permissions de fichiers
find: Recherche des fichiers et des répertoires dans le système
de fichiers.
grep: Recherche des chaînes de caractères dans les fichiers
texte.
chmod: Modifie les permissions d'accès aux fichiers et aux
répertoires.
chown: Modifie le propriétaire d'un fichier ou d'un répertoire.
chgrp: Modifie le groupe propriétaire d'un fichier ou d'un
répertoire. 22
Gestion des utilisateurs et
des groupes
sudo: Exécute une commande avec les privilèges
du super-utilisateur.
useradd: Crée un nouvel utilisateur.
userdel: Supprime un utilisateur.
passwd: Modifie le mot de passe d'un utilisateur.
groupadd: Crée un nouveau groupe.
groupdel: Supprime un groupe.
23
Compression et
décompression de
fichiers
gzip: Compresse les fichiers.
gunzip: Décompresse les fichiers gzip.
bzip2: Compresse les fichiers.
bunzip2: Décompresse les fichiers bzip2.
24
Tâches d'administration
système
ps: Affiche les processus en cours d'exécution.
kill: Envoie un signal à un processus.
top: Affiche les processus en cours d'exécution et
leur utilisation des ressources système.
service: Gère les services système.
25
Adéniran Raymond ODOUNHITAN
MERCI !
Pour plus d’informations :
[email protected]