Erste Schritte mit dem AWS S3CMD -Befehl anhand von Beispielen

Erste Schritte mit dem AWS S3CMD -Befehl anhand von Beispielen

Der folgende Artikel bietet Ihnen einige grundlegende Beispiele zur Verwendung von AWS s3cmd Befehl:

Alles auflisten

Der erste s3cmd Befehl Wir werden abdecken. Dadurch werden alle, Eimer, Verzeichnisse und Dateien aufgeführt:

$ S3CMD LA 

Erstellen Sie einen Eimer

Jetzt ist es Zeit, einen neuen Eimer zu erstellen. Sie können sich einen Eimer als ein Verzeichnis auf höchster Ebene vorstellen, in dem Sie Ihre Daten elegant speichern und sortieren können. Der Bucket -Name muss im gesamten System eindeutig sein. Andernfalls erhalten Sie einen Fehler: Fehler: S3 Fehler: 409 (Bucketalreadyexists). Der erste Eimer, den wir erstellen werden, wird genannt LinuxConfigorg:

$ S3CMD MB S3: // LinuxConfigorg Bucket 'S3: // LinuxConfigorg/' Erstellt 

Listen Sie alle verfügbaren Eimer auf

Nachdem wir unseren ersten Eimer erstellt haben, ist es Zeit, seine Existenz zu bestätigen, indem wir alle vorhandenen S3 -Eimer auflisten:

$ S3CMD LS 2016-01-18 02:09 S3: // linuxconfigorg 

Datei in den Bucket kopieren

Unser Eimer s3: // linuxconfigorg ist verfügbar und bereit, unsere Daten zu empfangen. Zunächst müssen wir eine Beispieldatei erstellen, z. Foobar Und dann kopieren Sie es in unseren neuen Eimer:

$ echo linuxconfig.org> foobar $ cat foobar linuxconfig.Org 

Kopieren wir diese neue Datei in unseren Eimer LinuxConfigorg:

$ s3cmd put foobar s3: // linuxconfigorg/ 

Bestätigen Sie, dass die Datei über kopiert wurde:

$ S3CMD LS S3: // Linuxconfigorg/2016-01-18 02:21 16 S3: // Linuxconfigorg/Foobar 


Dateien zwischen Eimer kopieren

Der s3cmd Mit dem Befehl können Sie auch Dateien zwischen zwei S3 -Eimer kopieren. Im folgenden Beispiel werden wir zunächst einen neuen Eimer namens erstellen LinuxConfigorg2 Und dann werden wir unsere kopieren Foobar Datei befindet sich in LinuxConfigorg Eimer zu LinuxConfigorg2 Eimer:

$ S3CMD MB S3: // LinuxConfigorg2 Bucket 'S3: // LinuxConfigorg2/' Erstellt $ S3CMD CP S3: // linuxconfigorg/foobar S3: // linuxconfig2/remote: 's3: // linuxconfig/foobe' -> 'S3: : // linuxconfigorg2/foobar '' 

Verschieben Sie Dateien zwischen Eimer

Gleich wie beim Copy -Befehl können wir auch Daten zwischen Eimer verschieben. Im folgenden Beispiel werden wir die Datei verschieben Fooobar aus LinuxConfigorg2 Eimer zu LinuxConfigorg und es in dem Prozess umbenennen foobar2:

$ S3CMD MV S3: // LinuxConfigorg2/Foobar S3: // LinuxConfigorg/Foobar2 Move: 'S3: // linuxconfigorg2/foobar' -> 'S3: // linuxconfigorg/foobar2' 

Infolge des Bewegungsprozesses unser LinuxConfigorg2 Eimer ist jetzt leer:

$ s3cmd ls s3: // linuxconfigorg2/$ 

Synchronisieren Sie ein Gebietsverzeichnis

s3cmd Der Befehl ermöglicht auch eine Dateisynchronisation. Bitte beachten Sie, dass der Befehl synchronisierter S3CMD leere Verzeichnisse nicht synchronisiert. Es verwendet MD5SUM und filesize, um Dateien zu synchronisieren. Wenn Ihr Verzeichnis leer ist, wird es nicht in einem Ziel -Eimer erstellt.
Beispiel:

$ MKDIR -P DIR1/DIR2/DIR3 $ Touch DIR1/DIR2/Datei2 $ S3CMD Sync DIR1/S3: // linuxconfigorg/ 

Im obigen Beispiel haben wir drei Verzeichnisse erstellt, die nur eine einzige Datei innerhalb enthalten Dir2 Verzeichnis. Infolge, s3cmd Befehl ließ leere Verzeichnisse aus, während nur Dir2 wurde in unseren S3 -Eimer kopiert.

Erstellen eines Verzeichnisses/eines Ordners

Es ist nicht erforderlich, ein Verzeichnis zu erstellen, bevor Sie Ihre Daten hochladen. Beispielsweise kopiert der folgende Linux -Befehl eine Datei in S3: // LinuxConfigorg/Bucket, während während des Vorgangs ein neues Verzeichnis erstellt wird:

$ s3cmd put foobar -01-18 02:33 16 S3: // Linuxconfigorg/foobar2 


Datei entfernen

Der folgende Linux -Befehl entfernen beide Foobar Und foobar2 Dateien, die sich derzeit befinden LinuxConfigorg Eimer:

$ s3cmd rm s3: // linuxconfigorg/foobar2 s3: // linuxconfigorg/foobar delete: 's3: // linuxconfigorg/foobar2' löschen: 's3: // linuxconfigorg/foobar' ' 

Wie du sehen kannst s3cmd Der Befehl akzeptiert mehrere Argumente und daher können wir mehrere Dateien mit einem einzigen RM -Befehl entfernen.

Leerer ganzer Eimer

Als nächstes zeigen Sie, wie Sie alle Dateien und Verzeichnisse in einem Eimer entfernen können. Beispielsweise entfernen im folgenden Linux -Befehl alle verfügbaren Dateien und Verzeichnisse innerhalb LinuxConfigorg S3 Eimer:

$ s3cmd del -r ---force s3: // linuxconfigorg/delete: 's3: // linuxconfigorg/dir2/file2' lösche: 's3: // linuxconfigorg/new_directory/foobar' ' 

Eimer entfernen

Bevor Sie den S3 -Eimer entfernen, muss der Eimer leer sein. Mit dem vorherigen Befehl haben wir alle Objekte entfernt LinuxConfigorg S3 Bucket und so kann er jetzt entfernt werden:

$ S3CMD RB S3: // LinuxConfigorg/Bucket 'S3: // LinuxConfigorg/' entfernt 

Komprimierende Datei vor dem Hochladen komprimieren

Der folgende Linux -Befehl ist fortgeschrittener, da Pipes und STDOut zuerst die Datei mit einer maximalen GZIP -Komprimierung komprimieren und direkt in S3 Bucket streamen:

$ cat foobar | gzip -9 | s3cmd put - s3: // linuxconfigorg/foobar.gz '' -> 's3: // linuxconfigorg/foobar.GZ '[Teil 1, 36b] 36 von 36 100% in 1s 32.90 b/s fertig 

Kompress -Verzeichnis vor dem Upload -Verzeichnis

Ähnlich wie beim obigen Befehl können wir auch das gesamte Verzeichnis komprimieren, bevor es auf S3 Bucket hochgeladen wird:

$ tar cz Dir1/ | gzip -9 | s3cmd put - s3: // linuxconfigorg/dir1.Teer.gz '' -> 's3: // linuxconfigorg/dir1.Teer.GZ '[Teil 1, 196b] 196 von 196 100% in 0s 336.18 b/s fertig 

Verwandte Linux -Tutorials:

  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Linux -Befehle: Top 20 wichtigste Befehle, die Sie benötigen, um…
  • Grundlegende Linux -Befehle
  • Ubuntu 20.04 Leitfaden
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Hung Linux System? Wie man zur Befehlszeile entkommt und…
  • Mastering -Bash -Skriptschleifen beherrschen
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 1