Des supports de cours informatique à télécharger gratuitement en PDFs

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

Ce cours couvre les commandes essentielles et les appels système sous Linux pour maîtriser l'administration et l’automatisation des tâches. Il aborde la manipulation des fichiers, la gestion des processus, les permissions, ainsi que l’utilisation des scripts shell. Ce PDF gratuit offre une documentation claire et pratique pour apprendre à interagir efficacement avec le terminal, optimiser les performances et résoudre les problèmes courants. Destiné aux débutants et aux utilisateurs avancés, il sert de référence complète pour exploiter pleinement les fonctionnalités du système d’exploitation Linux. Le contenu est structuré pour faciliter l’apprentissage autonome et l’intégration rapide des connaissances.

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).


Partner sites PDF Tutorials (English) | PDF Manuales (Spanish) | Cours PDF (French)