Heim System-Tutorial LINUX Erkunden Sie Dateitypen in Linux-Systemen: normale Dateien, Verzeichnisse und spezielle Dateien

Erkunden Sie Dateitypen in Linux-Systemen: normale Dateien, Verzeichnisse und spezielle Dateien

Jun 27, 2024 am 10:58 AM

探索 Linux 系统中的文件类型:普通文件、目录与特殊文件

In den folgenden Abschnitten werden die grundlegenden Funktionen zur Durchführung von E/A bei der Entwicklung der C-Sprache unter Linux erläutert. Das Linux-System verfügt über mehrere Dateitypen. Bei der Darstellung von Beispielen und Experimenten wird jedoch darauf hingewiesen, dass es im Linux-System mehrere Dateitypen gibt, die sich alle um gewöhnliche Dateien drehen.

Dateitypen unter Linuxlinux系统有几种文件类型_linux典型文件系统类型_linux特有的文件系统

Erinnern Sie sich, dass wir in Abschnitt 9 darüber gesprochen haben, wie Unix-Systeme (Linux ist ein Unix-ähnliches System) denken, „alles ist eine Datei“? Die meisten Dateien in Unix-Systemen sind gewöhnliche Dateien und Verzeichnisse, und diese beiden Dateitypen werden auch am häufigsten verwendet. Beispielsweise gehören das Verzeichnis /usr und die darüber liegende Textdatei hello.txt zu gewöhnlichen Dateitypen.

Tatsächlich unterteilt das Linux-System alle Dateien in die folgenden Kategorien:

Es scheint, dass die Geräte im Linux-System (z. B. Festplatte, paralleler Anschluss usw.) entweder Block-Spezialdateien oder Zeichen-Spezialdateien sind.

Dateitypen unter Linux abrufen

Linux bietet die stat-Funktionsreihe, um statistische Informationen zu Dateien zu erhalten. Geben Sie unter Linux manstat ein, um die Anleitung zur Verwendung der Stat-Funktion zu erhalten:

linux系统有几种文件类型_linux典型文件系统类型_linux特有的文件系统

Der zweite Parameter der Statistikfunktion ist eine Struktur, ihre Definition finden Sie in: linux系统有几种文件类型_linux特有的文件系统_linux典型文件系统类型

 struct stat {
 unsigned long st_dev;
 unsigned long st_ino;
 unsigned short st_mode;
 unsigned short st_nlink;
 unsigned short st_uid;
 unsigned short st_gid;
 unsigned long st_rdev;
 unsigned long st_size;
 unsigned long st_blksize;
 unsigned long st_blocks;
 unsigned long st_atime;
 unsigned long st_atime_nsec;
 unsigned long st_mtime;
 unsigned long st_mtime_nsec;
 unsigned long st_ctime;
 unsigned long st_ctime_nsec;
 unsigned long __unused4;
 unsigned long __unused5;
};	
Nach dem Login kopieren

linux特有的文件系统_linux系统有几种文件类型_linux典型文件系统类型

Es ist ersichtlich, dass nur die Statistikfunktion stat verschiedene Informationen über die Datei erhalten kann, wie z. B. Benutzergruppen-ID, Benutzer-ID und Dateigröße. Das st_mode-Mitglied zeichnet den Dateityp und den Modus (Berechtigungen) auf. Verwenden Sie die folgenden Makros, um den Dateityp zu ermitteln: linux典型文件系统类型_linux系统有几种文件类型_linux特有的文件系统

...
#define S_ISDIR(mode) __S_ISTYPE((mode), __S_IFDIR)
#define S_ISCHR(mode) __S_ISTYPE((mode), __S_IFCHR)
#define S_ISBLK(mode) __S_ISTYPE((mode), __S_IFBLK)
#define S_ISREG(mode) __S_ISTYPE((mode), __S_IFREG)
#ifdef __S_IFIFO
# define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO)
#endif
#ifdef __S_IFLNK
# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK)
#endif
...
Nach dem Login kopieren

C-Sprachbeispiel, Linux-Dateityp abrufenlinux特有的文件系统_linux系统有几种文件类型_linux典型文件系统类型

晓得了stat函数和以上几个宏,编撰C语言程序获取文件的类型是便捷的:

#include 
#include 
#include 
#include 
int main(int argc, char* argv[])
{
 if(argc < 2){
 printf("ntusage:");
 printf("ntt%s filepathn", argv[0]);
 return -1;
 }
 struct stat tmp;
 char* res;
 lstat(argv[1], &tmp);
 if(S_ISREG(tmp.st_mode))
 res = "regular";
 else if(S_ISDIR(tmp.st_mode))
 res = "directory";
 else if(S_ISBLK(tmp.st_mode))
 res = "block";
 else if(S_ISLNK(tmp.st_mode))
 res = "link";
 else if(S_ISFIFO(tmp.st_mode))
 res = "fifo";
 else if(S_ISSOCK(tmp.st_mode))
 res = "socket";
 else
 res = "unknown";
 printf("%s : %sn", argv[1], res);
 return 0;
}
Nach dem Login kopieren

以上代码使用了lstat函数,而不是stat函数,它俩的功能是相同的。惟一不同之处在于处理符号链接时,lstat是将该符号链接直接作为文件处理的,而stat函数则是处理该符号链接指向的文件。

linux特有的文件系统_linux系统有几种文件类型_linux典型文件系统类型

编译以上代码,执行之:

# gcc t6.c
# ./a.out 
 usage:
 ./a.out filepath
# ./a.out ../
../ : directory
# ./a.out t.c
t.c : regular
root@lcc:/lccRoot/C/tmp# ./a.out ../
../ : directory
# ./a.out /dev/log
/dev/log : socket
#
Nach dem Login kopieren

linux典型文件系统类型_linux特有的文件系统_linux系统有几种文件类型

程序接收一个参数,并返回该参数的类型。其他几种类型文件的测试留给读者,在这一过程中可以顺便了解一下linux中的文件组成。

欢迎在评论区一起讨论linux文本编辑器,指责。文章都是手打原创,每晚最扼要的介绍C语言、linux等嵌入式开发,喜欢我的文章就关注一波吧,可以见到最新更新和之前的文章哦。

Das obige ist der detaillierte Inhalt vonErkunden Sie Dateitypen in Linux-Systemen: normale Dateien, Verzeichnisse und spezielle Dateien. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Heiße Themen

Java-Tutorial
1671
14
PHP-Tutorial
1276
29
C#-Tutorial
1256
24
Läuft das Internet unter Linux? Läuft das Internet unter Linux? Apr 14, 2025 am 12:03 AM

Das Internet stützt sich nicht auf ein einzelnes Betriebssystem, aber Linux spielt eine wichtige Rolle dabei. Linux wird häufig auf Servern und Netzwerkgeräten verwendet und ist für seine Stabilität, Sicherheit und Skalierbarkeit beliebt.

Was ist das Gehalt des Linux -Administrators? Was ist das Gehalt des Linux -Administrators? Apr 17, 2025 am 12:24 AM

Das durchschnittliche Jahresgehalt der Linux -Administratoren beträgt in den USA 75.000 bis 95.000 USD und 40.000 bis 60.000 € in Europa. Um das Gehalt zu erhöhen, können Sie: 1. kontinuierlich neue Technologien wie Cloud Computing und Containertechnologie lernen; 2. Projekterfahrung sammeln und Portfolio einrichten; 3. Geben Sie ein professionelles Netzwerk ein und erweitern Sie Ihr Netzwerk.

Was sind die Hauptaufgaben eines Linux -Systemadministrators? Was sind die Hauptaufgaben eines Linux -Systemadministrators? Apr 19, 2025 am 12:23 AM

Zu den Hauptaufgaben von Linux -Systemadministratoren gehören Systemüberwachung und Leistungsstimmen, Benutzerverwaltung, Softwarepaketverwaltung, Sicherheitsmanagement und Sicherungssicherung, Fehlerbehebung und Lösung, Leistungsoptimierung und Best Practices. 1. Verwenden Sie Top-, HTOP- und andere Tools, um die Systemleistung zu überwachen und sie einzustellen. 2. Verwalten Sie Benutzerkonten und Berechtigungen über UserAdd -Befehle und andere Befehle. 3. Verwenden Sie APT und YUM, um Softwarepakete zu verwalten, um Systemaktualisierungen und Sicherheit zu gewährleisten. 4. Konfigurieren Sie eine Firewall, überwachen Sie Protokolle und führen Sie die Datensicherung durch, um die Systemsicherheit zu gewährleisten. 5. Fehlerbehebung und Behebung durch Protokollanalyse und Werkzeuggebrauch. 6. Optimieren Sie die Kernelparameter und die Anwendungskonfiguration und befolgen Sie die Best Practices, um die Systemleistung und -stabilität zu verbessern.

Was ist der Hauptzweck von Linux? Was ist der Hauptzweck von Linux? Apr 16, 2025 am 12:19 AM

Zu den Hauptanwendungen von Linux gehören: 1. Server -Betriebssystem, 2. Eingebettes System, 3. Desktop -Betriebssystem, 4. Entwicklungs- und Testumgebung. Linux zeichnet sich in diesen Bereichen aus und bietet Stabilität, Sicherheits- und effiziente Entwicklungstools.

Was sind die Unterschiede in der Virtualisierungsunterstützung zwischen Linux und Windows? Was sind die Unterschiede in der Virtualisierungsunterstützung zwischen Linux und Windows? Apr 22, 2025 pm 06:09 PM

Die Hauptunterschiede zwischen Linux und Windows in der Virtualisierungsunterstützung sind: 1) Linux liefert KVM und Xen mit hervorragender Leistung und Flexibilität, die für Umgebungen mit hoher Anpassung geeignet sind. 2) Windows unterstützt die Virtualisierung über Hyper-V mit einer freundlichen Schnittstelle und ist eng in das Microsoft-Ökosystem integriert, das für Unternehmen geeignet ist, die auf Microsoft-Software angewiesen sind.

Ist es schwer, Linux zu lernen? Ist es schwer, Linux zu lernen? Apr 18, 2025 am 12:23 AM

Linux zu lernen ist nicht schwierig. 1.Linux ist ein Open -Source -Betriebssystem, das auf UNIX basiert und in Servern, eingebetteten Systemen und PCs häufig verwendet wird. 2. Das Verstehen von Dateisystemen und Berechtigungsverwaltung ist der Schlüssel. Das Dateisystem ist hierarchisch, und die Berechtigungen umfassen Lesen, Schreiben und Ausführung. 3.. Paketverwaltungssysteme wie APT und DNF machen das Softwaremanagement bequem. 4. Die Prozessverwaltung wird über PS- und Top -Befehle implementiert. 5. Beginnen Sie mit grundlegenden Befehlen wie Mkdir, CD, Touch und Nano und versuchen Sie dann erweiterte Verwendung wie Shell -Skripte und Textverarbeitung. 6. Häufige Fehler wie Erlaubnisprobleme können durch sudo und chmod gelöst werden. 7. Vorschläge zur Leistungsoptimierung umfassen die Verwendung von HTOP zur Überwachung von Ressourcen, die Reinigung unnötiger Dateien und die Verwendung von SY

Die Zukunft der Linux -Software: Wird Flatpak und Snap native Desktop -Apps ersetzen? Die Zukunft der Linux -Software: Wird Flatpak und Snap native Desktop -Apps ersetzen? Apr 25, 2025 am 09:10 AM

Seit Jahren stützte sich die Linux -Softwareverteilung auf native Formate wie DEB und RPM, die im Ökosystem jeder Verteilung tief verwurzelt sind. Flatpak und SNAP sind jedoch entstanden und versprachen einen universellen Ansatz für die Anwendungsverpackung. Dieser Artikelprüfung

Top 7 Tools zum Vergleichen von Dateien unter Linux (mit Beispielen) Top 7 Tools zum Vergleichen von Dateien unter Linux (mit Beispielen) Apr 28, 2025 am 09:21 AM

In diesem Handbuch werden verschiedene Methoden zum Vergleichen von Textdateien unter Linux untersucht, eine entscheidende Aufgabe für Systemadministratoren und Entwickler. Wir werden Befehlszeilen-Tools und visuelle Differo-Tools abdecken und ihre Stärken und angemessene Anwendungsfälle hervorheben. Nehmen wir an

See all articles