Скрипт оставляет определённое кол-во свежих файлов (каталогов, архивов), а остальное удаляет.
#!/bin/bash #целевой каталог target_dir= #кол-во оставляемых файлов limit= n=1 for i in `ls $target_dir -t` do if [ $n -gt $limit ] then rm -Rvf $target_dir/$i fi n=$(($n+1)) done