GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak bych měl globálně hledat všechny skryté soubory?

Chci provést nějakou akci (řekněme chown ) na všechny skryté soubory v adresáři.

Vím, že toto .* není dobrý nápad, protože najde také aktuální . a nadřazený .. adresáře (vím, že rm nebude fungovat na . a .. ale další příkazy, včetně chown a chmod , se šťastně projeví)

Ale všechny moje skryté soubory mají jiná jména!

Jak mám vyhledat všechny skryté soubory při vyloučení . a .. ?

Přijatá odpověď:

Můžete použít následující extglob vzor:

[email protected](!(.|))
  • . odpovídá doslovnému . nejprve

  • @() je extglob vzor, ​​bude odpovídat jednomu ze vzorů uvnitř, protože uvnitř máme pouze jeden vzor, ​​vybere to

  • !(.|) je další extglob vzor (vnořený), který odpovídá libovolnému souboru s žádným nebo jedním .; Jak jsme našli . již na začátku bude celý tento vzor odpovídat všem souborům začínajícím . kromě . a .. .

extglob je povolena na interaktivních relacích bash ve výchozím nastavení v Ubuntu. Pokud ne, nejprve jej povolte:

shopt -s extglob

Příklad:

$ echo [email protected](!(.|))
.bar .foo .spam

Ubuntu
  1. Linux – Jak nastavit výchozí oprávnění k souborům pro všechny složky/soubory v adresáři?

  2. Jak přesunout všechny soubory (včetně skrytých) z jednoho adresáře do druhého?

  3. Jak zakázat Ctrl+q pro všechny aplikace (v celém systému)?

  1. Jak rychle minimalizovat všechna Windows pro jednu aplikaci?

  2. Jak vytvořit oddíl Ext4 pro všechny uživatele?

  3. Jak přejmenovat sadu souborů se vzorem?

  1. Jak používat Gui k hledání souborů v Gnome?

  2. Jak najít všechny soubory související se softwarem?

  3. Jak nastavit výchozí oprávnění k souborům pro všechny složky/soubory v adresáři?