Vyhledávání na webu

Jak najít nedávné nebo dnes upravené soubory v Linuxu


V tomto článku vysvětlíme dva jednoduché tipy pro příkazový řádek, které vám umožní vypsat pouze všechny dnešní soubory.

Jedním z častých problémů, se kterými se uživatelé Linuxu setkávají na příkazovém řádku, je lokalizace souborů s konkrétním názvem, což může být mnohem jednodušší, když skutečně znáte název souboru.

Předpokládejme však, že jste zapomněli název souboru, který jste vytvořili (ve vaší home složce, která obsahuje stovky souborů) dříve během dne a přesto jej potřebujete naléhavě použít.

Níže jsou uvedeny různé způsoby, jak pouze vypsat všechny soubory, které jste dnes vytvořili nebo upravili (přímo nebo nepřímo).

1. Pomocí příkazu ls můžete pouze vypsat dnešní soubory ve své domovské složce následujícím způsobem, kde:

  1. -a – seznam všech souborů včetně skrytých souborů
  2. -l – umožňuje dlouhý formát výpisu
  3. --time-style=FORMAT – zobrazuje čas v zadaném FORMÁTU
  4. +%D – datum zobrazení/použití ve formátu %m/%d/%y
ls  -al --time-style=+%D | grep 'date +%D'

Kromě toho můžete výsledný seznam seřadit abecedně přidáním příznaku -X:

ls -alX --time-style=+%D | grep 'date +%D'

Můžete také vytvořit seznam na základě velikosti (největší první) pomocí příznaku -S:

ls -alS --time-style=+%D | grep 'date +%D'

2. Opět je možné ke stejnému účelu jako níže použít příkaz find, který je prakticky flexibilnější a nabízí spoustu možností než ls.

  1. -maxdepth úroveň se používá k určení úrovně (ve smyslu podadresářů) pod počátečním bodem (v tomto případě aktuálním adresářem), na které bude operace vyhledávání provedena.
  2. -newerXY, toto funguje, pokud časové razítko X dotyčného souboru je novější než časové razítko Y odkazu na soubor. X a Y představují kterékoli z níže uvedených písmen:

    1. a – čas přístupu k odkazu na soubor
    2. B – čas narození odkazu na spis
    3. c – referenční čas změny stavu inodu
    4. m – čas změny odkazu na soubor
    5. t – odkaz je interpretován přímo jako čas

To znamená, že budou brány v úvahu pouze soubory upravené dne 2016-12-06:

find . -maxdepth 1 -newermt "2016-12-06"

Důležité: Použijte správný formát data jako odkaz v příkazu find výše. Jakmile použijete nesprávný formát, zobrazí se chyba jako ten níže:

find . -maxdepth 1 -newermt "12-06-2016"

find: I cannot figure out how to interpret '12-06-2016' as a date or time

Případně použijte správné formáty níže:

find . -maxdepth 1 -newermt "12/06/2016"
OR
find . -maxdepth 1 -newermt "12/06/16"

Další informace o použití příkazů ls a find můžete získat v naší následující sérii článků o nich.

  1. Zvládněte příkaz Linux ‚ls‘ pomocí těchto 15 příkladů
  2. 7 užitečných triků „ls“ pro uživatele Linuxu
  3. Ovládněte Linux „najít“ pomocí těchto 35 příkladů
  4. Způsoby, jak najít více názvů souborů s rozšířeními v Linuxu

V tomto článku jsme vysvětlili dva důležité tipy, jak vypsat pouze dnešní soubory pomocí příkazů ls a find. Pomocí formuláře pro zpětnou vazbu níže nám pošlete jakékoli dotazy nebo komentáře k tématu. Můžete nás také informovat o jakýchkoli příkazech použitých pro stejný cíl.