About using dd in any linux-environment, there is a simpler way to make a backup and then later put that on a new micro-sd card to use. I use this all the time, also to make duplicates of an install to run for example octoprint on multiple pi's (of course you need to change the name of the system so you don't get double names on the network).
First go to a shell and use "blkid" to see which filesystems are listed. you will probably have the sd-card listed like /dev/sdb1 or /dev/sdc1 (and /dev/sdc0).
Well, that sdc1 or sdc2 are the partiotions, and you want a copy of the whole drive (card): sdc or sdb for example.
if it is on sdc for this card, you can use to make an image:
dd if=/dev/sdc of=myimage.img bs=2048K status=progress
explained:
if: input file (so in this case the whole sd-card)
of: output file (so the name you choose)
bs: blocksize. 2048K is going much faster then without specification and if you have more memory you can make it larger to get faster copies
status=progress : makes sure you can read how far the copy is.
After it it finished, you use umount or unmount it in the filemanager and put the new card in
if it is listed on the same drive (as usual), to put the image to the card:
dd of=/dev/sdc if=myimage.img bs=2048K status=progress
So, just reverse the order.
And then yes, boot up, expand the filesystem and change the name if wanted in raspi-config, reboot and ready.
By the way, on some cheap cards, the size is listed wrong so that it seems to be for example 64GB but in reality it is only a 4 GB card so it fills really quickly after a while.
That is a known selling-trick....