Exclusão para tarefas que você executa no Bash

Às vezes precisamos executar um comando, por exemplo, alterar as permissões de uma pasta e seu conteúdo, porém queremos que esta alteração NÃO seja aplicada a um arquivo específico, ou a uma pasta específica ... mesmo quando estiver dentro da pasta acima que executamos o comando.

Para entender melhor, tenho uma pasta (registros) e dentro dele 4 arquivos (doc.txt, arquivo.mp4, list.txt e thesis.doc), Desejo alterar a permissão desses arquivos para que apenas o proprietário possa acessar, fazer isso, exceto com lista.txt, que eu quero que todos possam ver, ou seja, que eles não alteram suas permissões.

Em resumo:

  • doc.txt, arquivo.mp4 e thesis.doc SÓ podem ser visualizados pelo proprietário
  • list.txt pode ser visto por todos, ou seja, não quero que suas permissões variem.

Para conseguir isso, posso alterar as permissões para todos os arquivos e, em seguida, também alterar as permissões para list.txt para que tenha como antes. Seriam duas linhas ... mas, como quase sempre no Linux, existe uma maneira de otimizar 😉

bater

Vamos ver como:

  1. Para alterar as permissões que apenas o proprietário pode acessar, usaremos: chmod 700
  2. Para alterar as permissões em todos os arquivos dessa pasta (Lembro que se chama: arquivos) nós vamos usar: registros /
  3. Para excluir o arquivo list.txt, usaremos: /!(list.txt)

Em outras palavras, o comando final seria:

chmod 700 archivos/!(lista.txt)

É tão simples, aqui está uma captura de tela das permissões antes dos arquivos nessa pasta, a execução do comando e como as permissões são:
exclude-chmod-bash

No caso de querermos excluir mais de um arquivo, por exemplo lista.txt e também thesis.doc , podemos separar esses arquivos com | … isso é:

chmod 700 archivos/!(lista.txt|tesis.doc)

O que é simples? 😀

Bem, nada mais a acrescentar, é uma simplicidade, mas ao trabalhar com grandes volumes de informação, pode salvar o dia 😉

eu-amo-bin-bash_by-kzkggaara


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Erick dito

    A verdade nunca teria me ocorrido, para excluir, embora às vezes eu tenha encontrado este dilema, Saudações

  2.   entalhe dito

    Excelente TIP, Saudações

  3.   José Emílio Badia Valdés dito

    Kaze, sou emilio del ipi cepero bonilla, como você está? Obrigado pelo artigo, me serviu de quantidade

    1.    KZKG ^ Gaara dito

      Ola tudo bem garoto

  4.   Pegasus Online dito

    Muito bom !!!!!

    obrigado por compartilhar