S terminálem: Příklady s příkazem Najít

Zde je několik příkladů, které můžeme při použití využít Najít, příkaz k vyhledávání souborů nebo složek.

Získání nápovědy pro spuštění příkazu:

man find

k opuštění manuálu stačí stisknout klávesu [q] (platí pro jakoukoli příručku).

V následujících příkladech tečka (.) After find (find.) Znamená, že se díváme do složky označené výzvou. Může být nahrazen jakoukoli platnou cestou jako / home /.

Příklady:

Stačí hledat soubory se vzorem.
find . -type f -name "*.deb"

najít a zkopírovat do / home / pepe /
find . -type f -name "*.deb" -exec cp -f {} /home/pepe/ \;

Najděte soubory Thumbs.db a odstraňte je.
find . -type f -name "Thumbs.db" -exec rm -f {} \;

Vytvořte soubor čistého textu se soubory md5 v adresáři.
find . -type f -print0 | xargs -0 -n 1 md5sum >> md5.txt

Odstraňte nepříjemné složky .svn.
find | grep "\.svn$" | xargs rm -fr

Nahraďte jeden text jiným.
find -type f | xargs sed -i "s/TEXTO/OTRO/g" *.php

Najděte soubory aktualizované až před dnem.
find /var/log/[a-z]* \*.sql -mtime +1

Generování souborů md5sums balíků DEB:
find . -type f ! -regex ‘.*\.hg.*’ ! -regex ‘.*?debian-binary.*’ ! -regex ‘.*?DEBIAN.*’ -printf ‘%P ‘ | xargs md5sum > DEBIAN/md5sums


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   řádný řekl

    smazat všechny soubory kromě .txt (samozřejmě .txt může být cokoli)
    nalézt. ! -name "* .txt" -exec rm {} \;

    hledat bez shody bez rozlišování velkých a malých písmen:
    nalézt. -iname «* foobar *»

    Poznámka: Příkaz -exec nelze spustit s parametrem -iname.

  2.   taregon řekl

    Vynikající 😉 tento příkaz by měl být povinný vědět, než jsem se bál možností, které existovaly v ‚člověku ', abych mohl hledat, ale když jsem mu dal příležitost, viděl jsem, jak mocný je, když přijde na to, co jsem zapomněl na mém pevném disku 😐

  3.   Hugo řekl

    Najít je určitě užitečné, zejména při práci se jmény souborů, které obsahují mezery a jiné neobvyklé znaky. Například si jednou pamatuji, že jsem nemohl komprimovat sadu adresářů, dokud mě nenapadlo použít find s xargs (což je mimochodem mnohem rychlejší než -exec) a problém vyřešen.

    Dalším z mých preferovaných použití příkazu find je rekurzivní změna oprávnění:


    find . -type d -print0 | xargs -0 chmod 755
    find . -type f -print0 | xargs -0 chmod 644

  4.   elektron222 řekl

    Zajímavé ^ _ ^

    1.    KZKG ^ Gaara řekl

      Jak cool vypadá ikona čakry hahahahahaha 😀

      1.    sieg84 řekl

        Mageia chybí 🙂

        1.    KZKG ^ Gaara řekl

          Ano, 😀
          Právě teď jsem založen na tomto lol Díky 🙂

          1.    lesterzone řekl

            A jeden pro mé distro ...

  5.   Archero řekl

    Díky, příkazy jsou velmi užitečné, pochybuji, že si pamatuji, že v Ubuntu jsem kdysi použil příkaz locate, je to nějaký alias find nebo ...?

    1.    Hugo řekl

      Negativní vyhledat, přemístit y lokalizovat jsou další vyhledávací příkazy, které se na rozdíl od nalézt, používají databázi, kterou je třeba pravidelně aktualizovat pomocí příkazu aktualizovánob.

      Oba typy příkazů mají své použití. Já například obvykle používám aktualizovánob následuje přemístitnajděte, když opravdu chci najít něco rychlého v adresáři se spoustou dat, o kterých vím, že se příliš často neaktualizují (například balíček v úložišti), a nalézt když chci udělat něco složitějšího, jako je kombinace výsledků hledání s jiným příkazem, nebo když prostě nechci generovat databázi, protože vím, že adresář, ve kterém budu hledat, neobsahuje příliš mnoho informací.

      1.    Archero řekl

        Velice vám děkuji, Hugo, vynikající vysvětlení, mohu jen říci, jak silný je terminál v gnu / linux!

  6.   sandra řekl

    Ahoj, vidím, že toto je staré téma, ale doufejme, že mi stále můžeš pomoci.

    Učím se používat regexp, protože jsem viděl dokument a hledám slova chyba nebo selhání a chyby jeho derivátů nebo selhání nebo selhání atd. A můj regexp je:
    : / \ (. * \ (chyba | selhání \). * \) /
    Při jeho provádění mi říká, že neexistují žádné shody, ale
    :/\(.*\(chyba\).*\)/
    o
    : / \ (. * \ (selhání \). * \) /
    Pokud najdete zápalky, můžete mi říct, jak se mýlím?

    1.    KZKG ^ Gaara řekl

      Jaký je plný řádek, který vkládáte?

      Vyzkoušet a zjistit, jestli najdu řešení.

      Na druhou stranu, pokud chcete, můžete zkontrolovat zde: https://blog.desdelinux.net/?s=expresiones+regulares

  7.   estéfani řekl

    Prosím, pomozte mi, chci zkopírovat soubory končící na * _ZFIR0069.TXT na jinou cestu a přidat datum na konec, dělám příkaz:

    datum = $ (datum + »% Y% m% d%»)
    find / xcom_rep / FATF / exit / 42 -name * _ZFIR0069.TXT -exec cp -p {} / backup / FATF / exit / 42 / {} _ $ date \;

    Ale výsledek je:

    {} _20160225% -> ale kopíruje pouze jeden soubor ze všech a je takto přejmenován

    Chci, aby zkopírovalo všechny soubory a mělo tento formát * _ZFIR0069_ $ date .TXT

    Zdravím.

  8.   pepG řekl

    Jaký je rozdíl mezi find * -type d a find / home / pepe -type d? Chci vypsat adresáře mého účtu a nechápu, proč to první dělá správně a druhý ne. pomoci

  9.   Kaike řekl

    Jak najdu soubory, které končí čísly? Díky