bir klasörü eksi bir alt klasöre koy


1

Bir klasörün tar arşivini oluşturmaya çalışıyorum thisfolderancak adında bir alt klasörü atlamak istiyorum notthisfolder. Birisi bana bunun nasıl yapıldığını gösterebilir mi? Tüm klasörü taring ve atlamak istediğim klasörü kaldırmaya çalıştım ama bu belirli klasör 17 gb.

\thisfolder
  file1
  file2
  \notthisfolder
    omitfile1
    omitfile2
  \butincludethisfolder
    includefile1
    infludefile2

Kullanıyordum tar --exclude='notthisfolder' -zcvpf archive.tar /thisfolder/


Tar betiğinizi gönderebilir misiniz?
troylatroy

@troylatroy, Tam olarak emin değilim ama sadece dosyaları atlayarak edilir kullanıyorum katran komut notthisfolderama onun alt klasöründe her şey dahil ediliyor ... = (
sam yi

Yanıtlar:


2

Emriniz neredeyse doğru. kullanım

 tar cvfzp achive.tar.gz --exclude notthisfolder thisfolder/
  1. --exclude notthisfolderSeçeneğin arşiv adından sonra geldiğini unutmayın .

  2. Kozmetik açıklama: kullanırken zseçeneği, bunu arşiv adını numarası, Tarball'ı sıkıştırmak için gzip kullanıyor archive.tar.gzdeğil archive.tar.

  3. Ayrıca, /thisfolder/mutlak bir yoldur ve thisfolderkök dizinin içindeki klasörü işaret eder /. Göreceli bir yol belirtmek için (geçerli çalışma dizinine), thisfolder/başında eğik çizgi olmadan kullanın /.

  4. Küçük bir haber dizisi olarak, cvfzpa ile seçeneklerin önekini yapmanız gerekmez -. Yazmak için bir az karakter!

Benim için çalışıyor ;)

$ tree
.
└── thisfolder
    ├── butincludethisfolder
    │   ├── includefile1
    │   └── includefile2
    ├── file1
    ├── file2
    └── notthisfolder
        └── notthisfile

3 directories, 6 files

$ tar cvfzp achive.tar.gz --exclude notthisfolder thisfolder/
thisfolder/
thisfolder/butincludethisfolder/
thisfolder/butincludethisfolder/includefile1
thisfolder/butincludethisfolder/includefile2
thisfolder/file1
thisfolder/file2

0

Kimden man tar:

 --exclude=PATTERN
       exclude files, given as a PATTERN

Böylece, bunun gibi bir dizin verilir:

terdon@oregano foo $ tree
.
└── thisfolder
    ├── butincludethisfolder
    │   ├── includefile1
    │   └── includefile2
    └── notthisfolder
        ├── omitfile1
        └── omitfile2

İstediğinizi tarelde etmek için aşağıdaki komutu çalıştırabilirsiniz :

tar -cvzf foo.tar --exclude notthisfolder thisfolder/

Bu içerecektir yaratacaktır tar.foo:

$ tar xvzf foo.tar 
thisfolder/
thisfolder/butincludethisfolder/
thisfolder/butincludethisfolder/includefile2
thisfolder/butincludethisfolder/includefile1

0

Sözdizimi yanlış gibi görünüyor.

Daha çok böyle olmalı:

tar -zcvpf /where/you/store/backups/archive.tar /thisfolder --exclude "/notthisfolder" --exclude "/notthisfolder/omitfile1" --exclude "/notthisfolder/omitfile2"

veya ihmal dosyalarının tümü içerideyse /notthisfolder

tar -zcvpf /where/you/store/backups/archive.tar /thisfolder --exclude "/notthisfolder"

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.