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, que 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
– permite o formato de listagem longa--time-style=FORMAT
– mostra o tempo no FORMAT especificado+%D
– mostra/utiliza a data no formato %m/%d/%a
# ls -al --time-style=+%D | grep 'date +%D'

Além disso, você pode ordenar a lista resultante em ordem alfabética incluindo a flag -X
:
# ls -alX --time-style=+%D | grep 'date +%D'
Você também pode listar com base no tamanho (maior primeiro) usando a flag -S
:
# ls -alS --time-style=+%D | grep 'date +%D'
2. Novamente, é possível utilizar o comando find, que é praticamente mais flexível e oferece muitas opções do que o ls, para o mesmo propósito como abaixo.
- A opção
-maxdepth
é usada para especificar o nível (em termos de subdiretórios) abaixo do ponto de partida (diretório atual neste caso) no qual a operação de busca será realizada. - A opção
-newerXY
funciona se o timestamp X do arquivo em questão for mais recente do 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 do status do inode de referência
- m – tempo de modificação do arquivo de referência
- t – a referência é interpretada diretamente como um tempo
Isto significa que apenas os arquivos modificados em 2016-12-06 serão considerados:
# find . -maxdepth 1 -newermt "2016-12-06"

Importante: Use o formato de data correto como referência no comando find acima, uma vez que se usar um formato errado, você receberá um erro como o abaixo:
# find . -maxdepth 1 -newermt "12-06-2016" find: I cannot figure out how to interpret '12-06-2016' as a date or time
Alternativamente, use 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 seguinte.
- Domine o Comando ‘ls’ do Linux com Estes 15 Exemplos
- 7 Truques Úteis do ‘ls’ para Usuários de 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 tópico. Você também pode nos informar sobre quaisquer comandos usados para o mesmo objetivo.
Source:
https://www.tecmint.com/find-recent-modified-files-in-linux/