43 Verzeichnisse

Das Node.js-Dateisystem (fs) Modul stellt Methoden zur Verfügung, mit denen Sie nicht nur Dateien, sondern auch Verzeichnisse (Ordner) erstellen, lesen und löschen können. Es ermöglicht Ihnen auch, die Zugriffsrechte für Dateien und Verzeichnisse zu ändern.

43.1 Einbinden des fs Moduls

import * as fs from 'fs';
import * as util from 'util';

const mkdir = util.promisify(fs.mkdir);
const readdir = util.promisify(fs.readdir);
const rmdir = util.promisify(fs.rmdir);
const chmod = util.promisify(fs.chmod);

43.2 Erstellen von Verzeichnissen

async function createDirectory(path: string): Promise<void> {
    try {
        await mkdir(path);
        console.log(`Directory ${path} created.`);
    } catch (err) {
        console.error(`Error creating directory: ${err}`);
    }
}

43.3 Lesen von Verzeichnissen

async function readDirectory(path: string): Promise<void> {
    try {
        const files = await readdir(path);
        console.log(`Files in ${path}:`, files);
    } catch (err) {
        console.error(`Error reading directory: ${err}`);
    }
}

43.4 Löschen von Verzeichnissen

async function deleteDirectory(path: string): Promise<void> {
    try {
        await rmdir(path);
        console.log(`Directory ${path} deleted.`);
    } catch (err) {
        console.error(`Error deleting directory: ${err}`);
    }
}

43.5 Ändern von Zugriffsrechten

async function changePermissions(path: string, mode: string): Promise<void> {
    try {
        await chmod(path, mode);
        console.log(`Changed permissions of ${path} to ${mode}`);
    } catch (err) {
        console.error(`Error changing permissions: ${err}`);
    }
}

In diesem Beispiel ist mode eine Zeichenkette, die die Berechtigungen repräsentiert, die Sie setzen möchten. Es wird im Oktalsystem ausgedrückt und besteht aus drei Ziffern von 0 bis 7. Die erste Ziffer repräsentiert die Berechtigungen des Eigentümers, die zweite die der Gruppe und die dritte die der anderen Benutzer. Jede Ziffer ist eine Summe aus: 4 (lesen), 2 (schreiben) und 1 (ausführen).

Zum Beispiel, wenn Sie chmod mit dem Modus “744” aufrufen, bedeutet dies, dass der Eigentümer alle Berechtigungen hat (lesen, schreiben, ausführen, d.h. 4+2+1 = 7), während die Gruppe und andere Benutzer nur Leseberechtigungen haben (4).

Seien Sie vorsichtig, wenn Sie mit Berechtigungen arbeiten, da unangemessene Berechtigungseinstellungen ein Sicherheitsrisiko darstellen können. Es ist in der Regel sicherer, restriktivere Berechtigungen zu setzen und dann bei Bedarf weitere Berechtigungen hinzuzufügen.