Put and Get command confusion

If download.txt is not present on the ftp server , how to use GET command with it?

download.txt should be on server. So Get from server would work.
upload.txt would be on client. So Put to server would work.

Say you are copying files from remote site, (using GET command)

We first go to the directory on the local system where we want our files from the remote system to be copied. (Note : you use cd and storing it in ftp__client) This is your target_directory

Then we establish ftp connection here.

Use lcd command and !lcd …, what do they mean? check it out.

then you change the directory (ftp being active) , here you are changing directory to source directory( or you might have specified complete path of directory while you were working on milestone tasks). So now in your source directory ie ftp_server you have your download.txt
. Using get command now you will be able to copy files to client.

(run put and get command without specifying any paths. Why do they show LocalFile or RemoteFile you know your answer)