Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Detaillierte Einführung in Dateideskriptoren und Dateizeiger unter Linux

Detaillierte Einführung in Dateideskriptoren und Dateizeiger unter Linux

Jun 02, 2017 am 09:56 AM

In diesem Artikel werden hauptsächlich detaillierte Informationen zu Dateideskriptoren und Dateizeigern unter Linux vorgestellt. Freunde in Not können sich auf

Dateideskriptoren unter Linux-Deskriptoren und Dateizeiger beziehen

Dateikennung:

Lassen Sie uns zunächst verstehen, was eine Dateikennung ist?

Dateibeschreibung Ein Symbol ist ein Begriff in der Informatik ein abstraktes Konzept, das verwendet wird, um eine Referenz einer Datei auszudrücken.

Unter Linux speichert jeder Prozess eine Dateideskriptortabelle im Prozesskontrollblock (PCB). Der Dateideskriptor ist der Index dieser Tabelle. Es gibt einen

Zeiger auf die bereits geöffnete Datei.

Jeder Linux-Prozess sollte drei Standard-Dateideskriptoren haben, die drei Standard-Streams entsprechen.

Integer
整数 名称 (unistd.h)符号常量 (stdio.h)文件流
0 Standard input STDIN_FILENO stdin
1 Standard output STDOUT_FILENO stdout
2 Standard error STDERR_FILENO stderr
Wert
Name (unistd.h)Symbol Konstante

(stdio.h) Dateistream
0 Standardeingabe STDIN_DATEI
NEIN
stdin
1 Standardausgabe STDOUT_FILENO stdout
2 Standardfehler STDERR_FILENO stderr
Der Dateideskriptor ist Formal handelt es sich um eine nicht negative Ganzzahl. Tatsächlich handelt es sich um einen Indexwert, der auf die vom Kernel für jeden Prozess verwaltete Datensatztabelle der vom Prozess geöffneten Dateien verweist. Wenn ein Programm eine vorhandene Datei öffnet oder eine neue Datei erstellt, gibt der Kernel einen Dateideskriptor an den Prozess zurück. Bei der Programmierung dreht sich ein Teil der Low-Level-Programmierung häufig um Dateideskriptoren. Das Konzept der Dateideskriptoren ist jedoch häufig nur auf Betriebssysteme wie UNIX und Linux anwendbar.


Vorgänge im Zusammenhang mit Dateideskriptoren:

Funktion
Operation
Dateideskriptorgenerierung open(), socket() , pipe() usw.
Vorgänge im Zusammenhang mit einem einzelnen Dateideskriptor read(), write(), send

(), fchmod

() usw.
Operationen im Zusammenhang mit mehreren Dateideskriptoren select(), poll() usw .
Vorgänge im Zusammenhang mit der Dateideskriptortabelle close(), dup() usw .

功能 操作
文件描述符生成 open()、socket()、pipe()等
与单一文件描述符相关的操作 read()、write()、send()、fchmod()等
与复数文件描述符相关的操作 select()、poll()等
与文件描述符表相关度的操作 close()、dup()等
Dateizeiger:


Der Dateizeiger ist der, den wir in
verwenden C-Sprache

Was ich gelernt habe, ist, dass in der C-Sprache eine Zeiger-

-Variable verwendet wird, um auf eine Datei zu zeigen. Dieser Zeiger wird als Dateizeiger bezeichnet. Über den Dateizeiger können wir verschiedene Vorgänge an der Datei ausführen, auf die verwiesen wird. Die C-Sprache verwendet Dateizeiger anstelle von Dateideskriptoren als I/O-Handles. Der Dateizeiger zeigt auf eine Datenstruktur namens FILE-Struktur im Benutzerbereich des Prozesses. Die FILE-Struktur enthält einen Puffer und einen Dateideskriptor. Der Dateizeiger ist ein gängiges Format der C-Sprache und daher relativ einfacher zu übertragen.

Normalerweise erhalten wir den Dateizeiger:

Holen Sie sich den Zeiger später , können wir die Informationen des Dateideskriptors im Zeiger erhalten.

FILE *fp = fopen("test.txt","r");
Nach dem Login kopieren
Der Dateideskriptor ist eindeutig, aber der Dateizeiger ist nicht eindeutig. Das

Objekt

, auf das der Dateizeiger zeigt, ist eindeutig.

Konvertierung von Dateideskriptoren und Dateizeigern:

Der erste Parameter von fdopen ist ein offener Dateideskriptor, und mode gibt die Öffnungsmethode an

String
int fileno(FILE *stream);

FILE *fdopen(int fd,const char *mode);
Nach dem Login kopieren
, dasselbe wie fopen, z. B. „w“ oder „r“.

filenoFunktion

, die den dem Dateistream entsprechenden Dateideskriptor zurückgibt, ist fehlgeschlagen. Rückgabe -1.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Dateideskriptoren und Dateizeiger unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Feb 19, 2025 pm 04:54 PM

Deepseek ist ein leistungsstarkes Intelligent -Such- und Analyse -Tool, das zwei Zugriffsmethoden bietet: Webversion und offizielle Website. Die Webversion ist bequem und effizient und kann ohne Installation verwendet werden. Unabhängig davon, ob Einzelpersonen oder Unternehmensnutzer, können sie massive Daten über Deepseek problemlos erhalten und analysieren, um die Arbeitseffizienz zu verbessern, die Entscheidungsfindung zu unterstützen und Innovationen zu fördern.

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Ouyi OKX Installationspaket ist direkt enthalten Ouyi OKX Installationspaket ist direkt enthalten Feb 21, 2025 pm 08:00 PM

Ouyi Okx, die weltweit führende digitale Asset Exchange, hat jetzt ein offizielles Installationspaket gestartet, um ein sicheres und bequemes Handelserlebnis zu bieten. Auf das OKX -Installationspaket von Ouyi muss nicht über einen Browser zugegriffen werden. Der Installationsprozess ist einfach und einfach zu verstehen.

Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Feb 21, 2025 pm 08:42 PM

Bitget ist eine Kryptowährungsbörse, die eine Vielzahl von Handelsdienstleistungen anbietet, darunter Spot -Handel, Vertragshandel und Derivate. Der 2018 gegründete Austausch hat seinen Hauptsitz in Singapur und verpflichtet sich, den Benutzern eine sichere und zuverlässige Handelsplattform zu bieten. Bitget bietet eine Vielzahl von Handelspaaren, einschließlich BTC/USDT, ETH/USDT und XRP/USDT. Darüber hinaus hat der Austausch einen Ruf für Sicherheit und Liquidität und bietet eine Vielzahl von Funktionen wie Premium -Bestellarten, gehebelter Handel und Kundenunterstützung rund um die Uhr.

Holen Sie sich das Installationspaket Gate.io kostenlos Holen Sie sich das Installationspaket Gate.io kostenlos Feb 21, 2025 pm 08:21 PM

Gate.io ist ein beliebter Kryptowährungsaustausch, den Benutzer verwenden können, indem sie sein Installationspaket herunterladen und auf ihren Geräten installieren. Die Schritte zum Abholen des Installationspakets sind wie folgt: Besuchen Sie die offizielle Website von Gate.io, klicken Sie auf "Download", wählen Sie das entsprechende Betriebssystem (Windows, Mac oder Linux) und laden Sie das Installationspaket auf Ihren Computer herunter. Es wird empfohlen, die Antiviren -Software oder -Firewall während der Installation vorübergehend zu deaktivieren, um eine reibungslose Installation zu gewährleisten. Nach Abschluss muss der Benutzer ein Gate.io -Konto erstellen, um es zu verwenden.

Ouyi Exchange Download Official Portal Ouyi Exchange Download Official Portal Feb 21, 2025 pm 07:51 PM

Ouyi, auch bekannt als OKX, ist eine weltweit führende Kryptowährungsplattform. Der Artikel enthält ein Download -Portal für das offizielle Installationspaket von Ouyi, mit dem Benutzer den Ouyi -Client auf verschiedenen Geräten installiert werden können. Dieses Installationspaket unterstützt Windows, Mac, Android und iOS -Systeme. Nach Abschluss der Installation können sich Benutzer registrieren oder sich beim Ouyi -Konto anmelden, Kryptowährungen mit dem Handel mit den von der Plattform erbrachten Diensten anmelden.

Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Wie löste ich das Problem der Berechtigungen beim Betrachten der Python -Version in Linux Terminal? Apr 01, 2025 pm 05:09 PM

Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Warum tritt bei der Installation einer Erweiterung mit PECL in einer Docker -Umgebung ein Fehler auf? Wie löst ich es? Apr 01, 2025 pm 03:06 PM

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

See all articles