Estou trabalhando em uma tarefa para a escola e estou tendo problemas para fazer essa parte funcionar corretamente.
A tarefa é criar um arquivo na CLI, abrir e editar o arquivo no GEDIT sem salvar e, em seguida, listar o diretório. De acordo com as instruções, quando listo o diretório, o arquivo que abri e anexei, mas não salvo, deve exibir um '~' depois dele, mas não aparece.
Estou esquecendo de algo?
Responder1
Sim, você perdeu alguma coisa: você não espera ver esse arquivo quandoprimeiro abra-o. Você só verá issodepois que você salvouo arquivo que você abriu.
Como o gedit salva arquivos
O arquivo atual é renomeado. Em seguida, o conteúdo modificado é gravado em um novo arquivo que recebe o nome do arquivo que você abriu.
Se em “Preferências”, aba “Editor”, a opção “Criar uma cópia de backup do arquivo antes de salvar” estiver habilitada, o arquivo de backup será renomeado adicionando um ~
ao nome do arquivo. Caso contrário, ele será renomeado para uma sequência aleatória começando com um ponto .
. Esse arquivo com nome aleatório será excluído se o salvamento for bem-sucedido.
Compare com o comportamento de outros editores típicos baseados em terminal
Este comportamento do editor gráfico Gedit (e de outros editores gráficos) afeta o funcionamento dos links físicos. Conforme explicado acima, esses editores salvam o conteúdo modificado em um novo arquivo, ou seja, um novo inode. Os hardlinks do Linux apontam para um inode. Um hardlink para o mesmo arquivo em outro lugar no sistema de arquivos continuará apontando para os dados antigos e não estará mais vinculado ao arquivo alterado. Normalmente, não é isso que os usuários esperam. No entanto, esta abordagem é mais segura: se o salvamento falhar, o conteúdo original ainda será preservado no disco.
Editores Linux tradicionais (em particular baseados em terminal) salvarão o conteúdo atualizado no mesmo inode. Eles escrevem o conteúdo atualizado no mesmo inode, substituindo o conteúdo antigo.