"دانستن" means knowing a fact, while "شناختن" means 1-to recognize someone or something that you were familiar with previously or 2-to get more familiar with someone you were familiar with, on the other hand, "بلد بودن" means to be familiar with a science, working with a machine, address, etc.
example :
من فارسی بلد هستم.
من بلد هستم داستان های فارسی را بخوانم.
من دوست قدیمی ام را از بین جمعیت شناختم.
او انسان بدی نیست. من تازه شخصیت مهربان او را شناخته ام.
من در مورد خورشید، چیزهای بسیاری می¬دانم.
من می¬دانم که مدادت را کجا گذاشته ای.
I hope it helped:)