Namenskonventionen für Dateien und Verzeichnisse


21

Ich möchte die Dateien und Verzeichnisse auf meinem System umgestalten. Ich bin mir jedoch nicht sicher, was die beste Vorgehensweise ist .

Nach dem Lesen dieser Frage und ihrer Antworten gehe ich davon aus, dass es am wichtigsten ist, konsequent zu sein. Hier stecke ich jedoch fest. ZB in root gibt es Verzeichnisse wie /binund /usr, die alle Kleinbuchstaben verwenden. Aber im Verzeichnis meines Benutzers /home/foobar/gibt es bereits eine Reihe von Verzeichnissen wie ~/Pictures, ~/Documentsund ~/Music(die aktiviert werden , )!

Vielleicht liegt das nur daran, dass ich Ubuntu benutze, aber was wird als Best Practice angesehen ?


7
Sie machen auf Ihrem System, was Sie wollen. Wenn du deine Pornosammlung in / boot speichern willst, schränkt das niemand ein.
Anton Barkovsky

2
Wenn Sie einen Pfad /wie mit beginnen /Pictures, bedeutet dies, dass der Pfad auf der Stammebene beginnt (dh auf einem absoluten Pfad). Beginnt ein Pfad mit ~, ist sein Startpunkt ein Ausgangsverzeichnis (Ihr Ausgangsverzeichnis, wenn ein /oder gar nichts gefolgt wird , das eines anderen, wenn ein Benutzername gefolgt wird). Sie sollten stattdessen schreiben ~/Pictures, um das Bilder-Verzeichnis in Ihrem Ausgangsverzeichnis zu bezeichnen, oder Sie sollten einfach schreiben Pictures. Wenn Sie anzeigen möchten, dass es sich um ein Verzeichnis handelt, folgen Sie diesem mit einem /, wie in Pictures/.
Mike DeSimone

Antworten:


7

Hier gibt es ein paar widersprüchliche Teile. Der Kommentar, in der Lage zu sein, zu tun, was immer Sie wollen, ist wahr, aber es wird auf lange Sicht auch viel mehr Arbeit für Sie bedeuten.

Wenn Sie eine Idee haben, etwas außerhalb Ihres Home-Verzeichnisses neu anzuordnen, hören Sie auf ! Das ist viel komplizierter als Sie denken und Sie sollten es in Ruhe lassen. Wenn es dir nicht gefällt, solltest du auf eine andere Distribution oder sogar ein anderes Betriebssystem wechseln. Wenn Ihnen keiner zusagt, müssten Sie Ihren eigenen rollen, aber Sie können Systemverzeichnisse nicht einfach verschieben, ohne sich zu verbrennen. In dieser Frage finden Sie eine Vorstellung davon, was passieren würde, wenn Sie diesen Weg einschlagen möchten.

Also gehen wir zu Ihrem Home-Verzeichnis.

Denken Sie vor allem daran, wie Sie sich eine Struktur ausdenken, bei der Berechtigungen hierarchisch sind. Damit jemand Berechtigungen für einen bestimmten Ordner hat, muss er mindestens Berechtigungen für jeden Ordner über diesem Ordner ausführen können. Wenn sich in Ihrem Home-Verzeichnis etwas befindet, das Sie freigeben, muss es sich in der Nähe des oberen Bereichs befinden (z. B. ~ / Music). Alles, was Sie einschränken möchten, sollte sich in Unterordnern mit eingeschränkten Berechtigungen befinden (z. B. ~ / .ssh / id_rsa).

Zweitens gibt es keine Regeln oder sogar Best Practices an sich, aber es gibt Konventionen. Viele Softwareprogramme verwenden Standardwerte, die Sie möglicherweise nicht ändern können, aber selbst wenn Sie sie ändern können, ist es mühsam, sie ständig ändern zu müssen. Gnome und vor allem Ubuntu mögen Ordner mit schönen Namen, die mit Großbuchstaben beginnen. Wenn Sie versuchen, "Downloads" in "Downloads" zu verschieben, werden Sie feststellen, dass das Original möglicherweise von einem Programm mit einer angenommenen Standardeinstellung in Kürze erneut erstellt wird. Sie müssen entscheiden, wie viel Sie in diesen Fällen gegen den Strom schwimmen möchten.


Und ich dachte, dass Linux so konfigurierbar ist, wie Sie wollen ...
daGrevis

Benötigen Sie weiterhin Ausführungsberechtigungen für jeden Ordner über einem Verzeichnis, wenn Sie über einen Softlink auf dieses Verzeichnis zugreifen? Erstellen Sie außerdem einen Softlink von "Downloads" zu "Downloads" als Antwort auf Ihren letzten Punkt zu bestimmten Distributionsverhalten.
deed02392

15

Die Organisation der Systemdateien liegt beim Hersteller des Betriebssystems. Linux-Distributionen folgen im Großen und Ganzen dem Linux Filesystem Hierarchie Standard (FHS) . Als Benutzer oder Systemadministrator kann das FHS (und die zusätzlichen Konventionen Ihrer Distribution) gelegentlich nützlich sein, wenn Sie eine Datei suchen müssen oder wenn Sie die Rolle einer Datei anhand ihres Speicherorts verstehen möchten, dies Sie jedoch nicht einschränkt tun Sie immer noch, was Sie wollen (auf eigenes Risiko).

In Ihrem Ausgangsverzeichnis können Sie so ziemlich alles tun, was Sie wollen, mit einer Ausnahme: Punktdateien, dh Dateien, deren Name mit einem .in Ihrem Ausgangsverzeichnis beginnt , sind Konfigurations- oder Statusdateien, und Anwendungen verlangen, dass sie einen bestimmten Namen haben. Bash liest zum Beispiel immer, ~/.bashrcwenn es startet (außer wenn dies nicht der Fall ist, aber das ist eine andere Geschichte), also sollten Sie diesen Namen besser nicht für einen anderen Zweck verwenden.

Die Freedesktop - Projekt , die meist eine gemeinsame Grundlage für Gnome und KDE , ein paar definierte Standardverzeichnisse in$HOME : Documents, Musicusw. Einige Anwendungen werden diese Verzeichnisse erstellen , wenn sie nicht vorhanden sind , und sie als Standardpositionen verwenden. Sie können ihre Namen ändern, und tatsächlich sollen sie in Ihre Sprache übersetzt werden. Die Softwarekomponente, die diese Verzeichnisse verwaltet, ist xdg-users-dirs. Sie können die Verzeichnisnamen ändern, indem Sie in verschiedene Werte einstellen ~/.config/user-dirs.dirs.


1

Unter GNU / Linux ist der relevante Standard der Filesystem Hierarchy Standard (FHS). Dies deckt jedoch nicht die Namenskonventionen für Verzeichnisse innerhalb des Basisverzeichnisses eines Benutzers ab.


Wortklauberei: Wenn Sie das tun , PREFIX=$HOME ./configure; make; make installohne Root - Rechte zu bauen etwas erhalten Sie bin, lib, include, share, manusw. unter $HOME, so , wenn es eine Chance , dass Sie jeden Mangel zu tun , dass Sie auch die traditionellen Namen an erster Stelle verwenden können.
dmckee
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.