GNU/Linux >> Znalost Linux >  >> Linux

archivace (ubuntu tar) skrytých adresářů

Se zástupným znakem to nebude fungovat. Musíte specifikovat. (aktuální adresář), pokud máte na mysli celý adresář včetně skrytých souborů. Můžete to udělat

tar -cvpzf test.tgz .

Odpověď je, že * zástupný znak je zpracováván shellem a jen se nerozšíří na věci, které začínají tečkou. Druhý zástupný znak ? také se nerozšíří na věci, které začínají tečkou. Díky Keithovi za upozornění, že expanzi provádí shell, takže to nemá nic společného s tar .

Pokud používáte shopt -s dotglob pak rozšíření bude zahrnovat věci jako .filename . Díky Andy.

Použijte shopt -u dotglob vypnout.

Přepínání dotglob volba se nemění ls sám. Spíše to jen změní chování rozšíření, jak je znázorněno v něčem jako ls * .

Edit:Moje doporučení jsou v komentáři níže.


Můžete použít:

tar -cvpzf test.tgz * .??*

Toto však funguje pouze pro skryté soubory s názvy> 2 (aby se zabránilo '.' a '..')


Linux
  1. Jak tarovat (komprimovat) soubory, s výjimkou určitých souborů nebo adresářů

  2. [Vyřešeno]:Proč rsync nezkopíroval skryté soubory/adresáře a proč hvězdička nezahrnuje skryté (tečkové) soubory v Linuxu?

  3. Vytvořit archiv Tar z adresáře, s výjimkou skrytých souborů?

  1. Jak Gcc ví, kde je Boost nainstalován?

  2. Nelze nainstalovat Flash plugin v Ubuntu?

  3. Archivace Tar, která přebírá vstup ze seznamu souborů

  1. Příkaz du neanalyzuje skryté adresáře

  2. RSYNC neodstraní zdrojové adresáře

  3. PHP-FPM se po restartu automaticky nespustí