Linux - Maîtriser les commandes et appels système

Linux PDF 223 pages 696.01 Ko 2,077
Linux - Maîtriser les commandes et appels système
PDF 223 p. 696.01 Ko
Télécharger

Lien sécurisé — 5 min

par Hugues Mounier

À propos de ce cours

Table des matières

  • Notions de base
  • Compléments de C, commandes & shell
  • Administration système
  • Appels systèmes
  • Linux temps réel

Programme du cours

Objectifs d'apprentissage

  • Maîtriser les commandes Linux essentielles pour la gestion des fichiers, processus et permissions.
  • Comprendre les mécanismes des appels systèmes (syscalls) et leur utilisation en programmation C.
  • Apprendre à configurer et administrer un système Linux (utilisateurs, réseaux, services).
  • Développer des scripts shell avancés pour automatiser des tâches système.
  • Explorer les spécificités de Linux temps réel et ses applications embarquées.

Public cible

Ce cours s'adresse aux administrateurs système débutants, développeurs C/Unix, et ingénieurs logiciel souhaitant approfondir leur maîtrise de Linux. Des bases en ligne de commande et une familiarité avec un langage de programmation (idéalement C) sont recommandées.

Notions de base

Introduction à l'architecture Linux, systèmes de fichiers (ext4, XFS), et hiérarchie FHS. Manipulation des fichiers via commandes (ls, cp, rm, chmod). Gestion des processus (ps, top, kill) et redirections E/S (>, |). Configuration de l'environnement utilisateur (bashrc, profil).

Compléments de C, commandes & shell

Combinaison de C et shell : compilation avec gcc, scripts makefile. Fonctions shell avancées (boucles, conditions, grep/sed/awk). Gestion des signaux (SIGINT, SIGKILL). Intégration de binaires C dans des pipelines shell. Bonnes pratiques de scripting (débogage avec -x, vérification d'erreurs).

Administration système

Gestion des utilisateurs (useradd, passwd) et groupes. Configuration réseau (ifconfig, netstat, iptables). Supervision (journalctl, syslog). Planification de tâches (cron, at). Installation de paquets (apt/yum/dnf). Sauvegardes (tar, rsync) et gestion des logs.

Appels systèmes

Fonctionnement des syscalls (open, read, write, fork). Accès bas niveau aux fichiers (descripteurs). Gestion de la mémoire (mmap, brk). Communication inter-processus (pipes, sockets). Sécurité des appels (droits setuid). Exemples en C avec errno pour la gestion d'erreurs.

Linux temps réel

Présentation des noyaux temps réel (PREEMPT_RT). Contraintes temporelles et latences. Outils de mesure (cyclictest). Priorités processus (chrt, nice). Développement d'applications embarquées critiques. Cas pratiques avec Raspberry Pi ou BeagleBone.

Méthodologie

Cours combinant théorie (30%) et TP (70%). Environnements virtualisés (QEMU, Docker) pour les exercices. Projet final : création d'un mini-service système avec gestion de logs et API shell. Accès à des ressources en ligne (manpages, kernel.org).