phhsnews.com


phhsnews.com / Que signifie «tout est un fichier» dans Linux?

Que signifie «tout est un fichier» dans Linux?


L'une des caractéristiques de Linux et des autres systèmes d'exploitation de type UNIX est que «tout est un fichier». simplification excessive, mais comprendre ce que cela signifie vous aidera à comprendre comment fonctionne Linux.

Beaucoup de choses sur Linux apparaissent dans votre système de fichiers, mais ce ne sont pas vraiment des fichiers. Ce sont des fichiers spéciaux qui représentent des périphériques matériels, des informations système et d'autres éléments - y compris un générateur de nombres aléatoires.

Ces fichiers spéciaux peuvent être situés dans des systèmes de fichiers pseudo ou virtuels tels que / dev, contenant des fichiers spéciaux représentant des périphériques. , et / proc, qui contient des fichiers spéciaux représentant les informations système et de processus

/ proc

Par exemple, supposons que vous souhaitiez trouver des informations sur votre CPU. Le répertoire / proc contient un fichier spécial - / proc / cpuinfo - qui contient cette information

Vous n'avez pas besoin d'une commande spéciale qui vous indique les informations de votre CPU - vous pouvez simplement lire le contenu de ce fichier en utilisant n'importe quelle commande standard cela fonctionne avec des fichiers en texte brut. Par exemple, vous pouvez utiliser la commande cat / proc / cpuinfo pour imprimer le contenu de ce fichier sur le terminal - en imprimant les informations de votre CPU au terminal. Vous pouvez même ouvrir / proc / cpuinfo dans un éditeur de texte pour afficher son contenu.

Rappelez-vous que / proc / cpuinfo n'est pas un fichier texte contenant cette information - le noyau Linux et le système de fichiers proc exposent cette information nous en tant que fichier.

Le répertoire / proc contient également d'autres fichiers similaires, par exemple:

  • / proc / uptime - Exprime le temps de disponibilité de votre noyau Linux - en d'autres termes
  • / proc / version - Expose la version de votre noyau Linux

/ dev

Dans le répertoire / dev, vous trouverez les fichiers représentant les périphériques. - ainsi que des fichiers qui représentent d'autres choses spéciales. Par exemple, / dev / cdrom est votre lecteur de CD-ROM. / dev / sda représente votre premier disque dur, alors que / dev / sda1 représente la première partition sur votre premier disque dur

Vous voulez monter votre CD-ROM? Exécutez la commande mount et spécifiez / dev / cdrom comme périphérique à monter. Voulez-vous partitionner votre premier disque dur? Exécutez un utilitaire de partitionnement de disque et spécifiez / dev / sda comme disque dur que vous souhaitez modifier. Voulez-vous formater la première partition sur votre premier disque dur? Exécutez une commande de formatage et dites-lui de formater /dev/sda1.

Comme vous pouvez le voir, exposer ces périphériques dans le cadre du système de fichiers a ses avantages. Le système de fichiers fournit un "espace de nom" cohérent que toutes les applications peuvent utiliser pour adresser et accéder aux périphériques

/ dev / null, / dev / random, et / dev / zero

Le système de fichiers / dev ne fait pas t juste contenir des fichiers qui représentent des périphériques physiques. Voici trois des dispositifs spéciaux les plus remarquables qu'il contient:

  • / dev / null - Supprime toutes les données qui y sont écrites - pensez-y comme une poubelle ou un trou noir. Si jamais vous voyez un commentaire vous disant d'envoyer des plaintes à / dev / null - c'est une façon geek de dire «jetez-les dans la corbeille».
  • / dev / random - Produit un caractère aléatoire en utilisant le bruit ambiant.
  • / dev / zero - Produit des zéros - un flux constant de zéros. Au lieu de cela, considérez-les comme des outils

Par exemple, par défaut, les commandes Linux produisent des messages d'erreur et d'autres sorties qu'ils impriment sur la sortie standard, normalement le terminal. Si vous voulez exécuter une commande et ne vous souciez pas de sa sortie, vous pouvez rediriger cette sortie vers / dev / null. Rediriger la sortie d'une commande vers / dev / null la supprime immédiatement. Au lieu d'avoir chaque commande implémente son propre "mode silencieux", vous pouvez utiliser cette méthode avec n'importe quelle commande

> / dev / null

Si vous voulez une source de hasard - par exemple, pour générer une clé de cryptage, vous n'avez pas besoin d'écrire votre propre générateur de nombres aléatoires - vous pouvez utiliser / dev / random.

Pour effacer le contenu d'un disque dur en lui écrivant des 0, vous n'avez pas besoin d'un utilitaire spécial dédié à la mise à zéro d'un disque - vous pouvez utiliser les utilitaires standard et / dev / zero. Par exemple, la commande

dd lit à partir d'un emplacement et écrit dans un autre emplacement. La commande suivante lirait les zéros de / dev / zero et les écrirait directement sur la première partition du disque dur de votre système, effaçant ainsi complètement son contenu (

Attention : Cette commande effacera toutes les données de votre système. Si vous voulez détruire les données, exécutez cette commande uniquement si vous voulez détruire les données.) dd if = / dev / zero de = / dev / sda1

Ici, nous utilisons dd avec des fichiers spéciaux (/ dev / zero et / dev / sda1), mais nous pourrions aussi utiliser dd pour lire et écrire dans des fichiers réels. La même commande fonctionne à la fois pour manipuler des périphériques directement et travailler avec des fichiers

Clarification

En pratique, il est plus juste de dire que "tout est un flux d'octets" que "tout est un fichier". Ce n'est pas un fichier, mais c'est certainement un flux d'octets. Et, bien que ces choses ne soient techniquement pas des fichiers, elles sont accessibles dans le système de fichiers - le système de fichiers est un «espace de noms» universel où tout est accessible. Voulez-vous accéder à un générateur de nombres aléatoires ou lire directement à partir d'un appareil? Vous trouverez les deux dans le système de fichiers;

Bien sûr, certaines choses ne sont pas réellement des fichiers - les processus qui s'exécutent sur votre système ne font pas partie du système de fichiers. "Tout est un fichier" est inexact, mais beaucoup de choses se comportent comme des fichiers.


Comment ajouter un tapback à un iMessage dans macOS Sierra

Comment ajouter un tapback à un iMessage dans macOS Sierra

Les messages ont beaucoup d'amour dans iOS 10, mais pas tellement dans macOS Sierra. Ils ont toutefois attiré l'attention, y compris certaines fonctionnalités d'iOS 10, comme les commentaires tapback. Les tapbacks sont exactement ce qu'ils ressemblent: ils permettent à quelqu'un de répondre à un message simplement en «tapotant» l'une des six réponses prédéfinies.

(how-to)

Comment créer une liste de raccourcis clavier disponibles dans Word 2013

Comment créer une liste de raccourcis clavier disponibles dans Word 2013

Si vous préférez utiliser le clavier plutôt que la souris pour accomplir des tâches dans Windows et dans les applications, nous avons un conseil pratique qui vous permet Une méthode consiste à imprimer (sur papier ou dans un fichier PDF) une liste des affectations de touches pour le document et le modèle actuellement actifs.

(how-to)