Posso continuar reproduzindo um vídeo depois de apagá-lo com Shift. O espaço em disco é liberado quando fecho o player?

Posso continuar reproduzindo um vídeo depois de apagá-lo com Shift. O espaço em disco é liberado quando fecho o player?

Percebi que posso realmente excluir com Shift (ou seja, não vai 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 a ele em nautilusou ls(terminal).

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

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

Responder1

Embora você o tenha excluído, o arquivo ainda está em uso porque ele está aberto no seu player. Depois de fechar o reprodutor de mídia, ele liberará o controle dos dados do arquivo e, portanto, será excluído.

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

Na verdade, tudo isso é útil e significaria que você poderia realmente recuperar arquivos abertos que excluiu, embora provavelmente seja melhor deixar isso para outra questão :)

Isso acontece porque (pelo que entendi) os arquivos consistem nos próprios dados e identificadores (localização no sistema de arquivos) do arquivo. Normalmente você tem apenas um identificador para um arquivo, mas pode criar outros usando o lncomando para criar um link físico. Isso cria o que parece ser uma cópia idêntica do seu arquivo, mas na verdade apenas adiciona outro identificador - para que você não use o dobro do espaço em disco. Você pode verificar isso observando o inode dos dois arquivos - isso informa 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 as informações do inode dos 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. Depois de excluir o segundo arquivo, o inode não possui identificadores/referências restantes e, portanto, é excluído/marcado como espaço não utilizado. Isso é diretamente análogo ao caso em que seu player está com o filme aberto, exceto que o segundo identificador aqui está dentro do programa em execução, e não em um segundo arquivo no sistema de arquivos.

Responder2

lerhttp://linuxgazette.net/105/pitcher.html, você entenderá o porquê (e aprenderá a diferença entre links físicos e virtuais)

informação relacionada