Você não especificou isso na sua pergunta, mas eu suspeito que sua GUI é baseada em algum tipo de recurso de sistema de arquivos sobre o ssh. Isso pode estar diminuindo a velocidade, já que toda operação de baixo nível (diretório aberto, diretório read, arquivo unlink1, unlink file2, ... diretório close) é passada pelo canal ssh como um comando separado.
Quando você executa rm -rf x
do prompt do shell na máquina remota, a única coisa que está sendo passada pela rede são os pressionamentos de tecla usados para inserir rm -rf x
e Enter . (Esses ficam um pouco inchados com os cabeçalhos dos protocolos de rede, mas ainda são razoavelmente pequenos.) As operações de baixo nível são conduzidas pelo programa rm
no final remoto, conversando diretamente com o kernel no final remoto, então naturalmente é mais rápido.
O ssh foi projetado para fornecer uma interface de shell (o nome deve ser uma pista). As outras coisas que foram aparafusadas são menos eficientes.
Seria possível para uma implementação do filemanager-over-ssh otimizar o caso de remoção recursiva e simplesmente pedir ao servidor para executar um rm -rf
. Eu não sei se algum deles fez isso.