Isso está um pouco além dos poderes que os aliases de shell fornecem (assumindo o bash). Você poderia definir uma função:
function tail() {
if [ "$1" == '-f' ]; then
shift
less +F "$@"
else
command tail "$@"
fi
}
Quando você digita tail , isso agora se refere à função definida
acima, que verifica seu primeiro argumento, se houver, para a igualdade com
-f e, se corresponder, executa less +F no restante do original
argumentos ( shift remove o primeiro dos argumentos originais,
%código%). Caso contrário, ele chama o comando -f com todo o original
argumentos (chamar o tail incorporado é necessário para evitar
Loop infinito; sem isso, command se referiria à função sendo
definido, causando um loop infinito).