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.


Windows 10 est-il rétro-compatible avec votre logiciel existant

Windows 10 est-il rétro-compatible avec votre logiciel existant

Microsoft Windows 10 semble être un gros changement. Le numéro de version à lui seul est un grand saut à partir de Windows 7, et la plupart des applications par défaut sont des "applications universelles" de style nouveau, pas des applications de bureau traditionnelles. Mais si vous dépendez des applications Windows traditionnelles, vous ne devriez pas inquiéter.

(how-to)

Comment étendre la portée de votre Amazon Echo avec une télécommande vocale

Comment étendre la portée de votre Amazon Echo avec une télécommande vocale

Alexa et l'Amazon Echo font d'elle un super combo personnel avec assistant personnel et plate-forme matérielle, mais aussi les micros sensibles l'Echo a ses limites. Prolongez la portée de votre Echo avec le compagnon Voice Remote pour une fonctionnalité maison entière Pourquoi je veux faire ça? Si vous vivez dans un petit appartement, ce tutoriel n'est pas vraiment pour vous en tant que central L'unité Echo répondra probablement à tous vos besoins de couverture de microphone.

(how-to)