Dans cet article, nous expliquerons deux astuces simples en ligne de commande qui vous permettent de répertorier uniquement tous les fichiers d’aujourd’hui.
Un des problèmes courants rencontrés par les utilisateurs de Linux en ligne de commande est la localisation des fichiers avec un nom particulier, cela peut être beaucoup plus facile lorsque vous connaissez réellement le nom du fichier.
Cependant, en supposant que vous avez oublié le nom d’un fichier que vous avez créé (dans votre dossier home
qui contient des centaines de fichiers) plus tôt dans la journée et que vous en avez besoin de toute urgence.
Voici différentes façons de répertorier uniquement tous les fichiers que vous avez créés ou modifiés (directement ou indirectement) aujourd’hui.
1. En utilisant la commande ls, vous pouvez répertorier uniquement les fichiers d’aujourd’hui dans votre dossier home comme suit, où :
-a
– répertorie tous les fichiers, y compris les fichiers cachés-l
– active le format de répertoriation long--time-style=FORMAT
– affiche l’heure au format spécifié+%D
– affiche/utilise la date au format %m/%d/%y
# ls -al --time-style=+%D | grep 'date +%D'

De plus, vous pouvez trier la liste résultante par ordre alphabétique en incluant le drapeau -X
:
# ls -alX --time-style=+%D | grep 'date +%D'
Vous pouvez également lister en fonction de la taille (du plus grand au plus petit) en utilisant le drapeau -S
:
# ls -alS --time-style=+%D | grep 'date +%D'
2. Encore une fois, il est possible d’utiliser la commande find qui est pratiquement plus flexible et offre de nombreuses options que ls, pour le même objectif que ci-dessous.
- Le niveau
-maxdepth
est utilisé pour spécifier le niveau (en termes de sous-répertoires) en dessous du point de départ (le répertoire actuel dans ce cas) jusqu’auquel l’opération de recherche sera effectuée. -newerXY
, cela fonctionne si l’horodatage X du fichier en question est plus récent que l’horodatage Y du fichier de référence. X et Y représentent l’une des lettres ci-dessous:- a – heure d’accès du fichier de référence
- B – heure de création du fichier de référence
- c – heure de changement de statut de l’inode de référence
- m – heure de modification du fichier de référence
- t – la référence est interprétée directement comme une heure
Cela signifie que seuls les fichiers modifiés le 06-12-2016 seront pris en compte:
# find . -maxdepth 1 -newermt "2016-12-06"

Important: Utilisez le bon format de date comme référence dans la commande find ci-dessus ; si vous utilisez un format incorrect, vous recevrez une erreur comme celle-ci :
# find . -maxdepth 1 -newermt "12-06-2016" find: I cannot figure out how to interpret '12-06-2016' as a date or time
Alternativement, utilisez les formats corrects ci-dessous :
# find . -maxdepth 1 -newermt "12/06/2016" OR # find . -maxdepth 1 -newermt "12/06/16"

Vous pouvez obtenir plus d’informations sur l’utilisation des commandes ls
et find
dans notre série d’articles suivante sur le même sujet.
- Maîtrisez la commande ‘ls’ de Linux avec ces 15 exemples
- 7 astuces utiles et excentriques de ‘ls’ pour les utilisateurs de Linux
- Maîtrisez la commande ‘find’ de Linux avec ces 35 exemples
- Des façons de trouver plusieurs noms de fichiers avec des extensions sous Linux
Dans cet article, nous avons expliqué deux astuces importantes sur la façon de lister uniquement les fichiers d’aujourd’hui à l’aide des commandes ls et find. Utilisez le formulaire de feedback ci-dessous pour nous envoyer toute(s) question(s) ou commentaire(s) sur le sujet. Vous pouvez également nous informer de toutes les commandes utilisées pour atteindre le même objectif.
Source:
https://www.tecmint.com/find-recent-modified-files-in-linux/