Website-Suche

Kopieren Sie Dateien und ändern Sie gleichzeitig den Besitz und die Berechtigungen


In diesem kurzen Tutorial wird beschrieben, wie Sie Dateien kopieren und gleichzeitig den Besitz und die Berechtigungen ändern über die Befehlszeile in Unix-ähnlichen Betriebssystemen.

Normalerweise verwenden wir den Befehl „cp“, um Dateien von einem Speicherort an einen anderen zu kopieren. Anschließend verwenden wir die Befehle „chmod“ und „chown“, um die Berechtigungen bzw. den Besitz einer Datei zu ändern.

Wir können jedoch alle diese Aufgaben in einem einzeiligen Befehl kombinieren und trotzdem das gleiche Ergebnis erhalten, anstatt die drei aufeinanderfolgenden Befehle auszuführen. Dies kann hilfreich sein, wenn Sie dies regelmäßig oder innerhalb eines Skripts tun möchten.

Kopieren Sie Dateien und ändern Sie gleichzeitig den Besitz und die Berechtigungen

Schauen Sie sich das folgende Beispiel an.

Um Dateien zu kopieren und Berechtigungen und Eigentümer zu ändern, gehen wir normalerweise wie folgt vor:

cp /dir1/file1 /dir2
chmod 775 -R /dir2
chown -R newowner:newgroup /dir2/file1

Für diese einfache Aufgabe müssen Sie jedoch nicht drei Befehle verwenden. Wir können dies mit einem einzigen Befehl tun. Hier bietet sich der Befehl „install“ an.

Ich dachte, der Befehl „install“ sei dazu gedacht, Dinge zu installieren. Aber ich habe mich getäuscht! Der Befehl „install“ wird verwendet, um Dateien an ein Ziel Ihrer Wahl zu kopieren und Attribute festzulegen. Es ist Teil von GNU coreutils, das in allen Linux-Distributionen vorinstalliert ist.

Lassen Sie mich nun zeigen, wie Sie die Berechtigungen und den Besitz einer Datei während des Kopierens ändern.

sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2

Der obige Befehl kopiert die Datei /dir1/file1 nach /dir2, ändert die Berechtigungen der Datei auf 775 und den Eigentümer auf sk, und die Gruppe zu ostechnix.

Lassen Sie uns den obigen Befehl aufschlüsseln und sehen, was jeder Teil des Befehls bewirkt.

  • -C, (--compare): Vergleichen Sie jedes Paar von Quell- und Zieldateien und ändern Sie in einigen Fällen das Ziel überhaupt nicht.
  • -m, (--mode): Berechtigungsmodus festlegen (wie in chmod).
  • -o, (--owner) : Benutzereigentum festlegen.
  • -g, (--group): Gruppeneigentum festlegen.

Weitere Einzelheiten finden Sie in den Manpages.

man install

Empfohlene Lektüre:

  • So bleiben Eigentums- und Dateiberechtigungen beim Kopieren von Dateien oder Verzeichnissen erhalten
  • ExplainShell – Finden Sie heraus, was jeder Teil eines Linux-Befehls bewirkt

Und das ist alles. Hoffe das hilft.

Verwandte Artikel