Νόμιζα ότι το tar archive.tar /users/mylocation
θα δούλευε, αλλά δεν δουλεύει. Πώς μπορώ να το κάνω αυτό;
Για να εξαγάγετε ένα αρχείο σε έναν κατάλογο διαφορετικό από τον τρέχοντα, χρησιμοποιήστε την επιλογή tar -C
, ή --κατάλογος
, όπως στο
tar -xf archive.tar -C /target/directory
Σημειώστε ότι ο κατάλογος-στόχος πρέπει να υπάρχει πριν από την εκτέλεση αυτής της εντολής (μπορεί να δημιουργηθεί με την εντολή mkdir /target/directory
).
Διαβάστε τη σελίδα εγχειριδίου (εντολή: man tar
) για άλλες επιλογές.
Σημειώστε ότι αν το tarball σας περιέχει ήδη ένα όνομα καταλόγου που θέλετε να αλλάξετε, προσθέστε την επιλογή --strip-components=1
:
tar xf archive.tar -C /target/directory --strip-components=1
Συνδυάζοντας τις προηγούμενες απαντήσεις και σχόλια:
Για να εξαγάγετε απλώς τα περιεχόμενα και να δημιουργήσετε τον κατάλογο-στόχο, εάν λείπει:
mkdir -p /target/directory && tar xf archive.tar -C /target/directory
Για να εξαγάγετε και να αφαιρέσετε επίσης τον κατάλογο root(πρώτο επίπεδο) στο zip
mkdir -p /target/directory && tar xf archive.tar -C /target/directory --strip-components=1