Présentation | Linux est presque partout, qu'il s'agisse de construction de serveurs ou de développement de clients, les compétences de base du système d'exploitation sont nécessaires pour le full stack. |
Les distributions Linux peuvent être grossièrement divisées en deux catégories, l'une est la distribution maintenue par des sociétés commerciales et l'autre est la distribution maintenue par des organisations communautaires. La première est représentée par le célèbre Redhat (RHEL) et la seconde est représentée par Debian. .
Redhat devrait s'appeler la série Redhat, comprenant RHEL, Fedora et CentOS (la version clone communautaire de RHEL, gratuite). À proprement parler, Ubuntu ne peut pas être considérée comme une distribution indépendante. Ubuntu est amélioré sur la base de Debian, un système de bureau Linux presque parfait qui présente tous les avantages de Debian ainsi que ses propres avantages améliorés. La communauté Ubuntu valorise avant tout la praticité et l'innovation.
Si vous avez juste besoin d'un système de serveur relativement stable, le meilleur choix est CentOS. Une fois l'installation terminée, il peut fournir des services très stables après une configuration simple. Mais pour les environnements cloud, unbantu peut être une bonne solution. Hadoop a d'abord été développé sur ubantu.
ArchitectureComprendre l'architecture et avoir un meilleur sens de l'orientation. Linux a deux modes : noyau et utilisateur. Le noyau, le shell et le système de fichiers forment ensemble la structure de base du système d'exploitation. Le noyau Linux se compose des parties suivantes : gestion de la mémoire, gestion des processus, pilote de périphérique, système de fichiers et gestion du réseau, etc.
Comprendre le noyau Linux peut utiliser pleinement les ressources et avoir un sens lors du réglage du système.
Linux divise la mémoire en « pages de mémoire » gérables et fournit des abstractions pour les tampons de 4 Ko, tels que l'allocateur de dalle. Un processus est en fait une entité en cours d'exécution d'une application spécifique, et la planification des processus contrôle l'accès du processus au processeur. Les mécanismes de communication inter-processus courants sous Linux incluent les signaux, les canaux, la mémoire partagée, les sémaphores, les sockets, etc. Le noyau fournit une API via SCI pour créer un nouveau processus (fork, exec ou POSⅨ), arrêter le processus (kill, exit), et communiquer et synchroniser entre eux (signal ou mécanisme POSⅨ).
Le système d'exploitation Linux combine des systèmes de fichiers indépendants dans une structure arborescente hiérarchique, et une seule entité représente ce système de fichiers. Étant donné que Linux prend en charge de nombreux systèmes de fichiers différents et les organise en un système de fichiers virtuel unifié, le pilote de périphérique fournit un ensemble d'interfaces abstraites que le système d'exploitation peut comprendre pour compléter l'interaction avec le système d'exploitation, tandis que les détails spécifiques liés au matériel Les opérations sont effectuées par le pilote de périphérique. La partie réseau du noyau Linux se compose de sockets BSD, de couches de protocole réseau et de pilotes de périphériques réseau. Les pilotes de périphériques réseau sont responsables de la communication avec les périphériques matériels, et il existe un pilote de périphérique correspondant pour chaque périphérique matériel possible.
système de fichiers LinuxLe système Linux peut prendre en charge une variété de systèmes de fichiers actuellement populaires, et EXT4 est recommandé.
Les principaux types de fichiers sous Linux sont :
1) Les fichiers ordinaires sont divisés en texte brut et binaire.
2) Fichier de répertoire, où les fichiers sont stockés.
3) Lier des fichiers, des fichiers pointant vers le même fichier ou répertoire.
4) Les fichiers de périphérique sont divisés en périphériques bloc et périphériques caractère.
5) Les fichiers tuyaux assurent la communication inter-processus
6) Fichier socket, lié à la communication réseau
Linux utilise une structure de répertoires standard. Le programme d'installation a déjà créé un système de fichiers et une composition de répertoires complète et fixe pour l'utilisateur, et spécifié le rôle de chaque répertoire et les types de fichiers qu'il contient.
Nom du répertoire | Brève description |
---|---|
/poubelle | Commande exécutable binaire |
/dev | Fichiers spéciaux de l'appareil |
/etc | Fichiers de gestion et de configuration du système |
/etc/rc.d | Fichiers et scripts de configuration de démarrage |
/maison | Le point de base du répertoire personnel de l'utilisateur. Par exemple, le répertoire personnel de l'utilisateur abc est /home/user, qui peut être représenté par ~abc | .
/lib | Bibliothèque de programmation standard |
/sbin | Commandes de gestion du système, les programmes de gestion utilisés par les administrateurs système sont stockés ici |
/tmp | Point de stockage de fichiers temporaires publics |
/racine | Répertoire personnel de l'administrateur système |
/mois | Le système fournit ce répertoire pour permettre aux utilisateurs de monter temporairement d'autres systèmes de fichiers. |
/perdu+trouvé | Ce répertoire est généralement vide. Le système s'arrête anormalement et laisse des fichiers « sans abri » |
/proc | Le répertoire virtuel est un mappage de la mémoire système. Ce répertoire est accessible directement pour obtenir des informations sur le système. |
/var | La zone de débordement de certains fichiers volumineux, tels que les fichiers journaux de divers services |
/usr | Le plus grand répertoire, presque toutes les applications et fichiers que vous devez utiliser se trouvent dans ce répertoire. Contient : /usr/X11R6 répertoire où la fenêtre X est stockée /usr/bin De nombreuses applications /usr/sbin Quelques programmes de gestion pour les super utilisateurs /usr/doc documentation Linux /usr/include Fichiers d'en-tête nécessaires au développement et à la compilation d'applications sous Linux /usr/lib Fichiers de configuration pour les bibliothèques de liens dynamiques et les progiciels couramment utilisés /usr/man documentation d'aide Code source /usr/src, le code source du noyau Linux est placé dans /usr/src/linux /usr/local/bin Commandes ajoutées localement /usr/local/lib Bibliothèques ajoutées localement |
Shell est l'interface utilisateur du système, fournissant une interface permettant aux utilisateurs d'interagir avec le noyau. Il reçoit les commandes saisies par l'utilisateur et les envoie au noyau pour exécution. C'est un interpréteur de commandes. Il existe de nombreux types de shells, mais BASH est recommandé ici. BASH est le Bourne Again Shell de GNU, qui est le shell par défaut du système d'exploitation GNU. La plupart des packages de distribution Linux utilisent ce shell. Shell et commandes Linux
Linux a de nombreuses commandes. Une classification simple est donnée ci-dessous.
Organiser des commandes Linux dans le shell pour effectuer une série de tâches est une programmation shell. Shell, Perl et Python sont les langages de script les plus couramment utilisés sous Linux, et je recommande toujours d'utiliser Python.
Les systèmes Linux standard disposent généralement d'un ensemble de programmes appelés applications, qui comprennent des éditeurs de texte, des langages de programmation, X Window, des outils Internet, des bases de données, etc.
Pour l'édition de texte, Emacs et vim ont leurs propres mérites. Ils peuvent même être utilisés comme IDE via des plug-ins. Personnellement, je pense que VIM devrait être une compétence nécessaire. Il existe également de nombreuses commandes dans vim, qui se résument comme suit :
En ce qui concerne la gestion des applications, Ubuntu doit être familiarisé avec la commande apt et Centos a besoin de la commande yum. Bien sûr, la compilation et l'installation du code source sont indispensables. La manière d'écrire le makefile et l'utilisation de configure/autoconfig/make doivent vous être familières.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!