Γιαούρτι Δημοσ. 31 Μαρτίου 2019 Δημοσ. 31 Μαρτίου 2019 έχω έναν φάκελο ο οποίος περιέχει αρκετούς υποφακέλους με αρχεία. ίσως είναι και 100+ (οι φάκελοι, όχι τα αρχεία) θέλω όλους αυτούς τους φακέλους να τους συμπιέσω, κάθε φάκελος και ξεχωριστό αρχείο. θα μπορούσα να τους κάνω έναν έναν χειροκίνητα αλλά είναι μεγάλος ο όγκος και κάθε αρχείο μπορεί να πάρει 5+λεπτά να συμπιεστεί. άρα πρέπει να είμαι όλη μέρα πάνω από τον υπολογιστή ψάχνω αν υπάρχει τρόπος, με κάποια εντολή να γίνει όλη αυτή η διαδικασία αυτόματα. Να αφήσω τον υπολογιστή και μετά από κάποιες ώρες να έχω τα αρχεία έτοιμα συμπιεσμένα. το format που θέλω είναι tar. (με συμπίεση lzma κατά προτίμηση) όλα αυτά σε lubuntu.
jim_p Δημοσ. 31 Μαρτίου 2019 Δημοσ. 31 Μαρτίου 2019 (επεξεργασμένο) Με μια εντολη δεν γινεται. Θα κανεις ενα sh σκριπτ με οσα λεει εδω και θα το τρεξεις στο φακελο που εχει μεσα τους φακελους που θες να συμπιεσεις https://serverfault.com/questions/97763/linux-gzip-multiple-subdirectories-into-separate-archives Επεξ/σία 31 Μαρτίου 2019 από jim_p
NullScan Δημοσ. 1 Απριλίου 2019 Δημοσ. 1 Απριλίου 2019 (επεξεργασμένο) Κάτι τέτοιο ψάχνεις δηλαδή; find . -maxdepth 1 -type d -exec tar cjf {}.tar.bz2 {} \; αφού έχεις κάνει cd μέσα στο parent directory Επεξ/σία 1 Απριλίου 2019 από NullScan 2
Γιαούρτι Δημοσ. 7 Απριλίου 2019 Μέλος Δημοσ. 7 Απριλίου 2019 Στις 1/4/2019 στις 10:09 ΠΜ, NullScan είπε Κάτι τέτοιο ψάχνεις δηλαδή; find . -maxdepth 1 -type d -exec tar cjf {}.tar.bz2 {} \; αφού έχεις κάνει cd μέσα στο parent directory ωραίος, αυτό ήθελα. λειτουργεί λίγο περίεργα, δημιουργεί ένα μεγάλο αρχείο και μετά δημιουργούνται τα ξεχωριστά. τα συμπιέζει όλα μαζί και μετά τα χωρίζει; δε κατάλαβα τι κάνει αλλά δουλεύει. αν ήθελα συμπίεση lzma?
e-tic Δημοσ. 7 Απριλίου 2019 Δημοσ. 7 Απριλίου 2019 (επεξεργασμένο) Σε παρόμοια κατάσταση έφτιαξα το παρακάτω script που πέρα απο συμπίεση κάνει και encryption: #!/bin/bash for dir in $( ls ) do if [ -d $dir ]; then echo "Compresing "$dir tar cJf $dir.tar.xz $dir echo "Encrypting "$dir echo "insert_password_here" | gpg --batch -q --passphrase-fd 0 --cipher-algo AES256 -c $dir.tar.xz echo "Removing "$dir rm $dir.tar.xz fi done Επεξ/σία 7 Απριλίου 2019 από e-tic
NullScan Δημοσ. 8 Απριλίου 2019 Δημοσ. 8 Απριλίου 2019 (επεξεργασμένο) 22 ώρες πριν, Γιαούρτι είπε ωραίος, αυτό ήθελα. λειτουργεί λίγο περίεργα, δημιουργεί ένα μεγάλο αρχείο και μετά δημιουργούνται τα ξεχωριστά. τα συμπιέζει όλα μαζί και μετά τα χωρίζει; δε κατάλαβα τι κάνει αλλά δουλεύει. αν ήθελα συμπίεση lzma? Αν θέλεις lzma τότε προσθέτεις το switch --lzma στο tar. Όχι δεν κάνει ένα μεγάλο, παίρνει κάθε φάκελο ξεχωριστά στο directory από το οποίο τρέχες την εντολή και τον συμπιέζει με όλα του τα περιεχόμενα. Αν κατάλαβα καλά αυτό ήθελες. EDIT: ξέχασα να προσθεσω το exclude του local directory, γι αυτό σου συμπιέζει και όλο το current directory μαζί με τα subfolders. Το σωστό syntax είναι έτσι find . -maxdepth 1 -not -path '.' -type d -exec tar cjf {}.tar.bz2 {} \; Επεξ/σία 8 Απριλίου 2019 από NullScan 1
_chris_ Δημοσ. 27 Δεκεμβρίου 2019 Δημοσ. 27 Δεκεμβρίου 2019 Στις 8/4/2019 στις 11:43 ΠΜ, NullScan είπε Αν θέλεις lzma τότε προσθέτεις το switch --lzma στο tar. Όχι δεν κάνει ένα μεγάλο, παίρνει κάθε φάκελο ξεχωριστά στο directory από το οποίο τρέχες την εντολή και τον συμπιέζει με όλα του τα περιεχόμενα. Αν κατάλαβα καλά αυτό ήθελες. EDIT: ξέχασα να προσθεσω το exclude του local directory, γι αυτό σου συμπιέζει και όλο το current directory μαζί με τα subfolders. Το σωστό syntax είναι έτσι find . -maxdepth 1 -not -path '.' -type d -exec tar cjf {}.tar.bz2 {} \; επειδή με ενδιαφέρει κι εμένα το θέμα και είμαι άσχετος από linux, πως ακριβώς θα ήταν η εντολή σε αυτή την περίπτωση; με συμπίεση Lzma εννοώ. Νομίζω αυτή είναι η καλύτερη συμπίεση σωστά;
NullScan Δημοσ. 7 Ιανουαρίου 2020 Δημοσ. 7 Ιανουαρίου 2020 tar cf --lzma {}.tar.lzma {} \; στο τέλος αλλά από μνήμης εντελώς. σίγουρα το γράφει το man
Bitbit Δημοσ. 5 Ιουλίου 2022 Δημοσ. 5 Ιουλίου 2022 θέλω να κάνω ακριβώς το ανάποδο. Μέχρι τώρα χρησιμοποιώ το peazip. Το πρόβλημα είναι ότι έχω αρκετά αρχεία *.tar.bz2, κάνω ομαδικό extract με το peazip και μου τα αποσυμπιέζει σε tar και άντε πάλι να τα αποσυμπιέσω. Πως μπορώ με τη μια να κάνω αυτή την κίνηση; Δε με νοιάζει αν είναι από γραμμή εντολών. Βασικά το προτιμώ. Είναι πολλά τα αρχεία και δε γίνεται χειροκίνητα
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα