درود در مورد کد اولی یک توضیح میدم که بهتر متوجه بشید که هر path برای چه کاری هست :
خوب توضیحش هم ساده است ، یه مسیر میدیم به تابع،اونم میاد مسیر به عنوان پوشه باز میکنه و در یه حلقه تمام فایل های اونو دونه دونه میخونه اگه فایل بود که به راحتی اونو با دستور unlink پاکش میکنه و اگه پوشه بود دوباره خود تابع رو برای اون زیر پوشه فراخوانی میکنه (توابع بازگشتی به اینا میگن) تا اون پوشه رو حذف کنه و در نهایت خود پوشه رو با تابع rmdir حذف میکنه.خوب به این روش تمام فایل ها و پوشه های داخل یک پوشه به طور کلی حذف میشه.