web-dev-qa-db-fra.com

Est-il prudent d’ouvrir un fichier en cours d’écriture?

J'exécute un script shell qui écrit dans un fichier.
Ce script peut prendre beaucoup de temps et je voudrais surveiller la sortie partielle plutôt que d’attendre la fin du script.

Est-il prudent d’ouvrir (double-clic) un fichier en cours d’écriture par le script?

20
None

La lecture du fichier est sûre, mais un double-clic que vous avez mentionné ouvrira probablement le fichier dans un éditeur qui vous offrira une option pour apporter des modifications et les enregistrer. Les missclicks arrivent, donc je recommande des commandes qui ne vous laisseront même pas changer le fichier.

Ce sont des exemples qui fonctionnent en terminal; ils ne liront que le fichier:

cat file
less file
less +F file
tail -n 5 file
tail -f file
42

Tant que vous n'y écrivez pas, ça devrait aller.

Cependant, je recommanderais d'utiliser

tail -f log_file

dans un autre terminal.

Cette commande "suivra" le fichier log_file et écrira le contenu nouvellement ajouté dès sa mise à jour par le script.

13
Iskustvo

Pas assez de rep pour ajouter un commentaire à la réponse de Kamil Maciorowski:

Pour certains fichiers, vous aurez besoin de tail -F file pour que les opérations suivantes continuent par une rotation. Regarder syslog par exemple.

1
studog