Próbuję obciąć plik używany do przekierowania standardowego wejścia. Na przykład:
ping localhost>/tmp/test.log
Jeśli zadzwonię, rm /tmp/test.log
przekierowanie zatrzymuje się, ale polecenie działa.
Jeśli zadzwonię truncate -s0 /tmp/test.log
lub >/tmp/test.log
lub echo ..
i itd. Przekierowanie działa, ale plik zawiera początkowe zera, ponieważ pozycja strumienia nie uległa zmianie.
Jak mogę obciąć plik?
ping
swoje localhost
, i zachować aktualizacji /tmp/test.log
, tak że zawiera on tylko statystykami wyjściowych z ostatniej odpowiedzi ICMP?
rm /tmp/test.log
usuwa pozycję pliku z katalogu, ale sam plik nadal istnieje, zajmuje miejsce i rośnie w systemie plików opartym na i-węzłach. Zostanie on naprawdę usunięty, gdy nie będzie już używany, tj. Kiedyping
zostanie rozwiązany lub nawet później.