Você pode conseguir isso com cp -l ( --link , arquivos de link físico em vez de copiar ):
cp -rfl folderA .
rm -rf folderA
O mv apenas se move, ou seja, renomeia o diretório para ser seu directory . Para mover arquivos dentro do mesmo sistema de arquivos mv usa rename() chamada do sistema. Se a origem e o destino estivessem em sistemas de arquivos diferentes, mv usaria cp e rm para realizar a mudança, mas ainda primeiro removeria o destino, copia arquivos vinculados com disco rígido ( -R ), mas não segue o simbólico links ( -P ):
rm -f destination_path && \ cp -pRP source_file destination && \ rm -rf source_file
Embora não seja possível alterar esse comportamento de mv , o comando cp é mais flexível e, na verdade, você deve usá-lo. Com cp , o -f causa a remoção e a criação de arquivos únicos dentro do destino, em vez de remover o destino inteiro primeiro.
O cp também é limitado, pois só pode sobrescrever ( -f ), preservador ( -n ) ou perguntar ( -i ). Se você precisar comparar os arquivos antes de decidir qual deles manter, precisará de rsync .
Se você ainda precisar usar a chamada de sistema rename() , mas cumprir sua meta de mesclar os diretórios conforme desejado, será necessário escrever um script que chame rename() s individual para arquivos únicos.