Здесь с find
, в частности, вы можете сделать:
find. ! -path./allfiles.txt -type f > allfiles.txt
В более общем случае вы можете отложить создание выходного файла до тех пор, пока команда не завершит работу, используя команду moreutils sponge
:
ls -lRA | sponge allfiles.txt
Хотя это означает сохранение всего вывода в памяти.
Если moreutils не установлен (, он обычно не установлен по умолчанию ), вы можете реализовать sponge
как:
sponge() {
perl -0777 -e '$text=<STDIN>;
open STDOUT, ">", shift or die$!;
print $text' -- "$@"
}
Твердотельные накопители часто переходят в режим -только чтения, когда достигается порог устойчивости к записи. Вы должны иметь возможность проверить диск с помощью инструмента от производителя. Если диск новый или вы подозреваете, что он недостаточно устарел, чтобы достичь порога устойчивости к записи, инструмент производителя все же может пролить некоторый свет на проблему.