Comando shred - Sobrescrevendo e apagando arquivos no Linux
Índice:
Em algumas situações, convém truncar (esvaziar) um arquivo existente para um comprimento zero. Em palavras simples, truncar um arquivo significa remover o conteúdo do arquivo sem excluir o arquivo.
Truncar um arquivo é muito mais rápido e fácil do que excluir, recriá-lo e definir as permissões e a propriedade corretas. Além disso, se o arquivo for aberto por um processo, a remoção do arquivo poderá causar mau funcionamento do programa que o utiliza.
Este tutorial explica como truncar arquivos com tamanho zero em sistemas Linux usando o redirecionamento de shell e o comando
truncate
.
Redirecionamento de Shell
O método mais fácil e mais usado para truncar arquivos é usar o operador de redirecionamento de shell.
O formato geral para truncar arquivos usando o redirecionamento é:
: > filename
Vamos dividir o comando:
- O
:dois pontos significatruee não produz saída. O operador de redirecionamento>redireciona a saída do comando anterior para o arquivo fornecido.filename, o arquivo que você deseja truncar.
Se o arquivo existir, ele será truncado para zero. Caso contrário, o arquivo será criado.
Em vez de
:
também pode usar outro comando que não produz saída.
Aqui está um exemplo do uso do comando
cat
para gerar o conteúdo do
/dev/null
, que retorna apenas um caractere de fim de arquivo:
cat /dev/null > filename
Outro comando que pode ser usado é o
echo
. A opção
-n
diz ao
echo
para não acrescentar uma nova linha:
echo -n > filename
Na maioria dos shells modernos, como Bash ou Zsh, você pode omitir o comando antes do símbolo de redirecionamento e usar:
> filename
Para poder truncar um arquivo, você precisa ter permissões de gravação no arquivo. Normalmente, você usaria o
sudo
para isso, mas os privilégios de root elevados não se aplicam ao redirecionamento. Aqui está um exemplo:
sudo: > /var/log/syslog
bash: /var/log/syslog: Permission denied
Existem várias soluções que permitem redirecionar com o
sudo
. A primeira opção pode executar um novo shell com sudo e executar um comando dentro desse shell usando o sinalizador
-c
:
sudo sh -c '> filename'
Outra opção é canalizar a saída para o comando
tee
, elevar os privilégios de
tee
com
sudo
e gravar a saída vazia em um determinado arquivo:
Comando
truncate
truncate
é um utilitário de linha de comando que permite reduzir ou estender o tamanho de um arquivo para um determinado tamanho.
A sintaxe geral para truncar arquivos com tamanho zero com o comando
truncate
é a seguinte:
truncate -s 0 filename
A opção
-s 0
define o tamanho do arquivo como zero.
Por exemplo, para esvaziar o log de acesso ao Nginx, você usaria:
sudo truncate -s 0 /var/log/nginx/access.log
Esvaziar todos os arquivos de log
Com o tempo, sua unidade de disco pode ficar cheia de muitos arquivos de log grandes, ocupando grandes quantidades de espaço em disco.
O comando a seguir esvaziará os arquivos que terminam com ".log" no diretório
/var/log
:
sudo truncate -s 0 /var/log/**/*.log
Uma opção melhor seria girar, compactar e remover os arquivos de log com a ferramenta
logrotate
.
Conclusão
Para truncar um arquivo no Linux, use o operador de redirecionamento
>
seguido pelo nome do arquivo.
Esvaziar Limpador de Pasta: Apagar Pastas Vazias e Arquivos Vazios no Windows
Esvaziar Limpador de Pasta é o melhor software gratuito para Windows que ajuda o usuário a exclua arquivos e pastas vazios e limpe a bagunça indesejada para melhorar o desempenho do computador
Upload de arquivos e imagens: Envie arquivos para vários sites de hospedagem de arquivos
Arquivo e Image Uploader serão redimensionados automaticamente, upload de 1 ou mais arquivos para um único ou vários sites de hospedagem de arquivos com apenas um clique.
Es explorador de arquivos vs google arquivos ir: gerenciamento de arquivos melhor
Confuso entre o ES File Explorer e o Google Files Go para o seu telefone Android? Leia a nossa comparação detalhada para conhecer o melhor aplicativo de explorador de arquivos para você.







