Isso não é um operador _< , que é um argumento _ para passar para a leitura e o operador de redirecionamento < . <(cmd) em si é a subtituição do processo (que se expande para um nome de arquivo que aponta para um pipe).
O que isso faz é executado:
read bytes _ < /proc/self/fd/x
Onde o fd x é o final de leitura de um pipe.
No outro (escrito) final do pipe, um processo de subshell em segundo plano está executando du -bcm random_iso.iso | tail -1 com seu stdout redirecionado para esse pipe.
Portanto, read armazenará na variável $bytes a primeira palavra da última linha da saída de du -bcm e o restante da linha na variável $_ .
Agora eu não sei onde esse du -bcm faz sentido. Nenhuma das opções -b , -c nem -m é padrão. Embora -c seja bastante comum e seja para dar o tamanho cumulativo, com GNU du , -b é obter o tamanho do arquivo (não uso do disco) em bytes, enquanto -m é obter o tamanho arredondado para o próximo mebibyte, então eles seriam opções conflitantes (embora talvez eles usem -b para seu efeito colateral de habilitar --apparent-size ). O FreeBSD du tem -m (para mebibytes), não -b , o Solaris não tem nenhum ...
Parece que foi uma maneira complicada de escrever:
wc -c < random_iso.iso
Ou:
du --apparent-size -cm random_iso.iso | awk 'END{print $1}'
Se eles realmente quisessem que o tamanho do arquivo fosse arredondado para o próximo mebibyte em um sistema GNU.