Como tocar todos os arquivos na subárvore recursivamente Linux?

Como tocar todos os arquivos na subárvore recursivamente Linux?
O Touch é um comando no Linux usado para criar e modificar os registros de data e hora de um arquivo. Além disso, ele pode criar arquivos sem conteúdo e um registro de data e hora especificados pelo usuário. Freqüentemente, temos um diretório no Linux com vários subdiretos e arquivos, e desejamos alterar os registros de data e hora de cada subdiretório e arquivo.

Neste artigo, veremos como tocar em todos esses arquivos e subdiretórios recursivamente, juntamente com uma quebra abrangente dos comandos que são usados ​​para esse fim.

Qual é o comando do toque e como usá -lo?

O objetivo do comando Touch no Linux é duplo; Ele pode ser usado para criar arquivos vazios com um registro de data e hora especificado por nós e pode ser usado para modificar e alterar os registros de data e hora dos arquivos já existentes. É um comando muito útil, pois pode alterar uma ampla gama de registros de data e hora, incluindo, entre outros, acessar (a última vez que o arquivo foi acessado) e modificado (na última vez em que o arquivo foi modificado). Vamos listar alguns dos usos comuns do comando touch e seus formatos.

  • Touch FileName: Cria um arquivo vazio com o nome especificado pelo argumento do 'nome do arquivo'.
  • Touch -a: usado para alterar o último registro de data e hora de acesso de um arquivo.
  • toque -c: verifica se existe um arquivo com o nome especificado ou não. Se esse arquivo não existir, evita criá -lo.
  • toque -c -d: usado para atualizar o tempo de acesso e modificação.
  • toque -m: usado para atualizar o último tempo de modificação do arquivo especificado.
  • Touch -r: usado para armazenar o registro de data e hora de outro arquivo como referência.
  • toque -t: usado para criar um arquivo com um registro de data e hora especificados.

Agora que nos familiarizamos com os usos fundamentais do comando Touch, avançaremos para aprender como podemos usá -lo para tocar todos os arquivos e subdiretos em uma subárvore recursivamente.

Etapa 1 - Abra um terminal

Usaremos a interface da linha de comando para tocar todos os arquivos em uma subárvore recursivamente. Para começar, abriremos um novo terminal de comando. Você pode abrir uma janela de terminal acessando -a através do menu de aplicativos ou pressionando o atalho do teclado Ctrl + Alt + T.

Etapa 2 - Execute o comando Touch

Para fins de demonstração, estaremos levando um diretório de exemplo para experimentar livremente o comando de toque. Nesse caso, nosso diretório está localizado em ~/exemplo. Obviamente, você deve acompanhar o diretório de sua escolha para garantir o máximo de aprendizado. Você deve alterá -lo de acordo com o diretório que deseja tocar. Depois de definir o diretório correto, tudo o que resta a fazer é executar o seguinte comando para tocar em todos os arquivos e subdiretos na pasta especificada.

$ find ~/exemplo -exec touch \;

Como vimos anteriormente, existem muitas variantes do comando de toque que se pode executar para alcançar diferentes propósitos. Um desses casos é quando o usuário deseja imprimir todos os diretórios em questão. Isso também pode ser feito através do comando de toque. Tudo o que precisa ser feito é um pouco de modificação na sintaxe e a adição de "-print" ao comando. Execute o comando abaixo para testar o recurso de impressão (é mais uma vez aconselhado que você certifique -se de que o endereço seja definido para o diretório desejado que precisa ser tocado).

$ find ~/exemplo -print -exec touch \;

Como você pode ver na figura acima, os diretórios não são apenas apenas tocados, mas também impressos enquanto executamos o comando anterior.

Avaria dos comandos

Agora que cobrimos a parte principal do processo, aqueles que estão curiosos sobre como os comandos anteriores funcionaram podem ficar por aí para aprender mais detalhes sobre eles. Esta seção quebrará cada parte dos comandos que executamos um por um e analisará suas funcionalidades.

Primeiro de tudo, vamos dar uma olhada no comando de localização.

O comando find é usado para procurar arquivos e diretórios em um diretório específico. Alguns métodos possíveis de seu uso são apresentados abaixo.

  • Encontre -name: usado para procurar um nome de arquivo específico em um diretório.
  • Encontre -iname: usado para realizar uma pesquisa de nomes insensíveis ao caso.
  • Encontre -f: usado para encontrar um arquivo regular.
  • Encontre -d: usado para encontrar diretórios.
  • Encontre -l: usado para encontrar links simbólicos.
  • Encontre -c: usado para encontrar dispositivos de caracteres.
  • Encontre -b: usado para encontrar dispositivos de bloco.
  • Encontre -s: usado para encontrar soquetes

Agora, você deve entender o que o comando encontre e como usá -lo. Essencialmente, ele lista todos os arquivos e diretórios em um endereço dado pelo usuário.

Avançando, especificamos o diretório onde queremos procurar arquivos e diretórios.

-Print diz ao terminal para mostrar os arquivos e diretórios que o comando encontra.

-O Exec Touch executa o comando Touch em cada um dos arquivos e diretórios encontrados.

garante que os nomes dos arquivos e os diretórios que eles encontrem listas de comando estão sendo encaminhados para tocar o comando como argumentos.

\; é usado para escapar do comando EXEC.

Com isso dito, cobrimos o propósito por trás de todas as partes deste comando.

Conclusão

Este artigo analisou como tocar todos os arquivos em uma subárvore recursivamente usando comandos de encontrar e tocar. Além disso, é apresentada uma visão geral do comando Touch and Find.