Eu posso continuar jogando um vídeo depois que eu o Shift-Delete. O espaço em disco é liberado quando eu fecho o player?

6

Eu notei que posso realmente Shift-Delete (ou seja, não ir para a Lixeira) um vídeo que está sendo reproduzido no momento, e ele ainda continua sendo reproduzido, mesmo que não haja nenhuma referência nomeada em nautilus ou ls (terminal).

O espaço em disco é liberado normalmente quando o player termina com o vídeo?

Suponho que seja um comportamento normal, mas certamente é uma experiência nova para mim (pois isso simplesmente não era possível no Windows).

    
por Peter.O 17.11.2010 / 14:02

2 respostas

9

Embora você tenha excluído, o arquivo ainda está em uso porque você o abriu no player. Depois de fechar o media player, ele soltará o controle dos dados do arquivo e, portanto, será excluído.

Você pode verificar isso com o comando lsof , que lista os arquivos abertos. Se você executar lsof, seu arquivo de filme deve estar listado como sendo aberto pelo player, mas ele terá "DEL" próximo a ele, o que significa que ele foi excluído, mesmo que ainda esteja aberto.

Isso é realmente uma coisa útil e significaria que você poderia recuperar arquivos abertos que você apagou, embora isso provavelmente seria melhor deixar para outra pergunta:)

Ele ocorre porque (como eu entendo) os arquivos consistem nos dados em si e manipulam (localização no sistema de arquivos) no arquivo. Normalmente, você tem apenas um identificador para um arquivo, mas pode criar outros usando o comando ln para criar um link físico. Isso cria o que parece ser uma cópia idêntica do seu arquivo, mas na verdade apenas está adicionando outro identificador - portanto, você não usou o dobro do espaço em disco. Você pode verificar isso olhando o inode dos dois arquivos - isso indica onde os dados realmente estão.

Então, por exemplo em uma janela de terminal:

ln existing_movie.avi movie_hardlink.avi

ls -i

O argumento -i para ls mostra a informação do inode para os arquivos - eles devem ser idênticos.

Quando você exclui um desses arquivos, os dados permanecerão porque o outro ainda mantém um identificador para o inode. Uma vez que você apaga o segundo arquivo, o inode não possui nenhum handles / referências remanescentes e, portanto, é deletado / marcado como espaço não utilizado. Isso é diretamente análogo ao caso em que seu player tem o filme aberto, exceto que o segundo identificador aqui está dentro do programa em execução, em vez de um segundo arquivo no sistema de arquivos.

    
por Roger Light 17.11.2010 / 14:26
1

leia o link , você entenderá o porquê (e aprenderá a diferença entre links físicos e diretos)

    
por Paweł Karpiński 17.11.2010 / 14:35