Neste artigo, vamos explicar dois simples dicas de linha de comando que permitem listar apenas todos os arquivos de hoje.
Um dos problemas comuns que os usuários do Linux encontram na linha de comando é localizar arquivos com um nome específico, pode ser muito mais fácil quando você realmente conhece o nome do arquivo.
No entanto, supondo que você tenha esquecido o nome de um arquivo que você criou (em sua pasta home
que contém centenas de arquivos) em um momento anterior durante o dia e ainda precisa usá-lo com urgência.
Abaixo estão diferentes maneiras de apenas listar todos os arquivos que você criou ou modificou (direta ou indiretamente) hoje.
1. Usando o comando ls, você pode listar apenas os arquivos de hoje em sua pasta home da seguinte forma, onde:
-a
– lista todos os arquivos, incluindo arquivos ocultos-l
– habilita o formato de listagem longa--time-style=FORMAT
– mostra o tempo no FORMATO especificado+%D
– mostra/utiliza a data no formato %m/%d/%a
# ls -al --time-style=+%D | grep 'date +%D'

Aqui está o texto traduzido para o português:
É possível também listar com base no tamanho (maior primeiro) usando a bandeira -S
:
# ls -alX --time-style=+%D | grep 'date +%D'
# ls -alS --time-style=+%D | grep 'date +%D'
2. Novamente, é possível usar o comando find, que é praticamente mais flexível e oferece muitas opções do que o ls, para o mesmo propósito conforme abaixo.
-maxdepth
é usado para especificar o nível (em termos de subdiretórios) abaixo do ponto de partida (diretório atual neste caso) para o qual a operação de pesquisa será realizada.-newerXY
, isso funciona se o timestamp X do arquivo em questão for mais recente que o timestamp Y do arquivo de referência. X e Y representam qualquer uma das letras abaixo:- a – tempo de acesso do arquivo de referência
- B – tempo de criação do arquivo de referência
- c – tempo de mudança de status do inode da referência
- m – tempo de modificação do arquivo de referência
- t – a referência é interpretada diretamente como um tempo
Isso significa que apenas os arquivos modificados em 2016-12-06 serão considerados:
# find . -maxdepth 1 -newermt "2016-12-06"

Importante: Utilize o formato de data correto como referência no comando find acima, pois se utilizar um formato errado, receberá um erro como o seguinte:
# find . -maxdepth 1 -newermt "12-06-2016" find: I cannot figure out how to interpret '12-06-2016' as a date or time
Alternativamente, utilize os formatos corretos abaixo:
# find . -maxdepth 1 -newermt "12/06/2016" OR # find . -maxdepth 1 -newermt "12/06/16"

Você pode obter mais informações de uso para os comandos ls
e find
em nossa série de artigos a seguir.
- Domine o Comando ‘ls’ do Linux com Estes 15 Exemplos
- 7 Truques Úteis e Quirky do ‘ls’ para Usuários do Linux
- Domine o Comando ‘find’ do Linux com Estes 35 Exemplos
- Formas de Encontrar Múltiplos Nomes de Arquivos com Extensões no Linux
Neste artigo, explicamos duas dicas importantes de como listar apenas os arquivos de hoje com a ajuda dos comandos ls e find. Utilize o formulário de feedback abaixo para nos enviar qualquer pergunta ou comentário sobre o tema. Você também pode nos informar sobre quaisquer comandos utilizados para o mesmo objetivo.
Source:
https://www.tecmint.com/find-recent-modified-files-in-linux/