curl is a tool to transfer data from or to a server, using one of the supported protocols: HTTP, HTTPS, FTP, FTPS, SMB… (see the curl Manual for a list of supported protocols). curl also supports HTTP POST, authentication, cookies, metalinks, file downloading and more. curl is an excelent download manager because support progress bar and allows to pause/resume the download from the last downloaded byte.
chmod does not change the permissions to all directories in a single command line without affecting the permissions of files and vice versa. How can I do that?
You must combine: find, xargs and chmod, for example: