Egy mappát (/var/www/
) tömöríteni próbálok ~/www_backups/$time.tar
ahol $time
az aktuális dátum.
Ez az, amim van:
cd /var/www && sudo tar -czf ~/www_backups $time"
Teljesen eltévedtem, és már órák óta ezen vagyok. Nem biztos abban, hogy a -czf
helyes-e. Egyszerűen a /var/www
fájlban lévő összes tartalmat át akarom másolni egy $time.tar
fájlba, és meg akarom tartani a fájlengedélyeket az összes fájlhoz. fájlokat. Tudna valaki segíteni rajtam?
Megjegyzések
Válasz
To tar
és gzip
mappa, a szintaxis a következő:
tar czf name_of_archive_file.tar.gz name_of_directory_to_tar
A -
és a czf
nem kötelező.
Ha tar
Az aktuális könyvtárat használja a .
használatával ennek kijelölésére.
A fájlnevek dinamikus felépítéséhez használja a date
segédprogramot ( a rendelkezésre álló formátumbeállítások man oldalát). Például:
cd /var/www && tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .
Ez egy 20120902-185558.tar.gz
nevű fájlt hoz létre.
Linuxon valószínűleg a tar
is támogatja a BZip2 tömörítést a j
és nem a z
választási lehetőség. És esetleg mások is. Ellenőrizze a helyi rendszer man oldalát.
Megjegyzések
- Ez tökéletes, köszönöm. Van egy apró kérdésem. A / var / www tar fájl létrehozása után a / var / www könyvtárba kerül a tar fájlban. Itt ' s az i ' m kód most
sudo tar -czf ~/www_backups/$time.tar /var/www/"
használatával Képzelje el, hogy van egy fájlom, test.txt belül / var / www. A fájl kátrányos másolatának elkészítése után, amikor kibontom, a / var / www könyvtárba kerül. Ennek van értelme? Remélem, igen, elég nehéz megmagyarázni. Megnézem a BZip2 támogatását, köszönöm a javaslatot! - Ez az, amiért ' miért először
cd
a csomagolni kívánt könyvtárat, majdtar cf file.tar .
– ez az utolsó.
a teljes elérési út megadása helyett az archívumon belüli utakat teszi meg a aktuális könyvtár. Használhatja a-C
opciót a tar-hoz (nézze meg a man oldalt). - Igen, ez sokkal jobban működött. Köszönöm egy csomónak, értékelje!
- @Qwertylicious
-f
(man oldalról)Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
- A tar legújabb verzióival a
J
(az
helyett) a xz LZMA2 tömörítés.
Válasz
Példák a leggyakoribb tömörítési algoritmusokra
A kérdés címe egyszerűen " Tömörít mappa tar-val? " Mivel ez a cím nagyon általános, de a kérdés és a válasz sokkal konkrétabb, és a kérdés nagyon vonzó nézettsége miatt ezt éreztem Hasznos lenne naprakész listát felvenni mind az archiválásról / tömörítésről, mind a kivonásról / tömörítésről, különféle gyakran használt tömörítési algoritmusokkal.
Ezeket az Ubuntu 18.04.4 verzióval teszteltük. Ezek általános használatra nagyon egyszerűek, de könnyen beilleszthetők az OP konkrétabb kérdéseinek tartalmába az elfogadott válasz technikáival és a fenti hasznos megjegyzésekkel. A közönség az, hogy tar
nem fogja automatikusan hozzáadni a szükséges kiterjesztéseket (például .tar.gz
) – a felhasználónak kifejezetten hozzá kell adnia ezeket, amint az a alábbi parancsok:
# 1: tar (create uncompressed archive) all files and directories in the current working directory recursively into an uncompressed tarball tar cvf filename.tar * # 2: Untar (extract uncompressed archive) all files and directories in an uncompressed tarball recursively into the current working directory tar xvf filename.tar # 3: tar (create gzipped archive) all files and directories in the current working directory recursively into a tarball compressed with gzip tar cvzf filename.tar.gz * # 4: Untar (extract gzipped archive) all files and directories in a tarball compressed with gzip recursively into the current working directory tar xvf filename.tar.gz # Note: same options as 2 above # 5: tar (create bzip2"ed archive) all files and directories in the current working directory recursively into a tarball compressed with bzip2 tar cvjf filename.tar.bz2 * # Note: little "j" in options # 6: Untar (extract bzip2"ed archive) all files and directories in an tarball compressed with bzip2 recursively into the current working directory tar xvf filename.tar.bz2 # Note: same options as 2 and 4 above # 7: tar (create xz"ed archive) all files and directories in the current working directory recursively into a tarball compressed with xz tar cvJf filename.tar.xz * # Note: capital "J" in options # 8: Untar (extract xz"ed archive) all files and directories in an tarball compressed with xz recursively into the current working directory tar xvf filename.tar.xz # Note: same options as 2, 4, and 6 above
Lásd a tar man oldalt (a legjobb, ha a következőt használod: man tar
az adott gépen) további részletekért. Az alábbiakban összefoglalom a fent használt lehetőségeket közvetlenül a man oldalról:
-c, –create
új archívum létrehozása-x, –extract, –get
fájlok kibontása archívumból-v, –verbose
a feldolgozott fájlok pontos listázása-z, –gzip
az archívum szűrése a gzip-en keresztül-j, –bzip2
szűrje az archívumot a bzip2
-J, –xz
az archívum szűrése xz-en keresztül-f, –file = ARCHÍVUM
archív fájl vagy eszköz használata ARCHIVE
Nem szükséges hozzáadni a -
-t a kombinált opciók elé, vagy a =
jelet a f
opció és a fájlnév között.
Mindezt a legutóbbi cikkemből kaptam, amely tovább bővül egy sokkal átfogóbb cikké, mivel van időm dolgozni azt.
$time
is.