Estoy trabajando en una tarea para la escuela y tengo problemas para que esta parte funcione correctamente.
La tarea es hacerme crear un archivo en la CLI, abrir y editar el archivo en GEDIT sin guardarlo y luego enumerar el directorio. De acuerdo con las instrucciones, cuando enumero el directorio, el archivo que abrí y agregué pero que no guardé debería mostrar un '~' después, pero no aparece.
¿Me estoy perdiendo de algo?
Respuesta1
Sí, te pierdes algo: no esperas ver ese archivo cuandoprimero ábrelo. solo tu lo verasdespués de que guardasteel archivo que abriste.
¿Cómo guarda archivos gedit?
Se cambia el nombre del archivo actual. Luego, el contenido modificado se escribe en un nuevo archivo al que se le asigna el nombre del archivo que abrió.
Si en la pestaña "Preferencias", "Editor", la opción "Crear una copia de seguridad del archivo antes de guardar" está habilitada, se cambia el nombre del archivo de copia de seguridad agregando una ~
al nombre del archivo. De lo contrario, se le cambia el nombre a una cadena aleatoria que comienza con un punto .
. Ese archivo con nombre aleatorio se elimina si se guarda correctamente.
Contraste con el comportamiento de otros editores típicos basados en terminales.
Este comportamiento del editor gráfico Gedit (y otros editores gráficos) afecta el funcionamiento de los enlaces físicos. Como se explicó anteriormente, estos editores en realidad guardan el contenido modificado en un archivo nuevo, es decir, un nuevo inodo. Los enlaces duros de Linux apuntan a un inodo. Un vínculo físico al mismo archivo en otra parte del sistema de archivos seguirá apuntando a los datos antiguos y ya no estará vinculado al archivo modificado. Normalmente esto no es lo que los usuarios esperan. Sin embargo, este enfoque es más seguro: si falla el guardado, el contenido original aún se conserva en el disco.
Los editores de Linux tradicionales (en particular los basados en terminales) guardarán el contenido actualizado en el mismo inodo. Escriben el contenido actualizado en el mismo inodo, reemplazando el contenido antiguo.