prj,
Well, its the Android SDK's adb.exe utility. Its got the ability to push and pull files from to/from Windows as well as being able to invoke a shell to Linux on your phone.
Here's some example commands to illustrate this:
First, demonstrate sending (pushing) a file and retrieving (pulling) a file:
c:\temp>
c:\temp> cd c:\android-sdk-windows\tools
c:\android-sdk-windows\tools> adb push c:\temp\testfile.txt /sdcard/download/fromwindows.txt
c:\android-sdk-windows\tools> adb pull /sdcard/download/fromwindows.txt c:\temp\fromphone.txt
Now, doing stuff from the shell:
c:\android-sdk-windows\tools> adb shell [ launch a shell to the phone ]
$ pwd [ display present working directory ]
/
$ cd /sdcard/download [ change directories ]
$ pwd
/sdcard/download
$ su [ get root access ]
#
(notice how our prompt changes to the pound-sign to indicate we've now got root capability)
# ls [ list the files in current directory ]
fromwindows.txt
# mv fromwindows.txt fromwin.dat [ rename a file ]
# cp fromwin.dat savefromwin.dat [ copy a file ]
# ls
fromwin.dat savefromwin.dat
# cat fromwin.dat [ copy a file to the stdout (screen) ]
hi there, I'm a file that you created on Windows and transferred to your phone.
# rm fromwin.dat [ delete a file ]
# ls fromwin.dat
rm failed for fromwin.dat, No such file or directory
# cat savefromwin.dat > fromwin.dat [ copy a file to another file ]
# ls
fromwin.dat savefromwin.dat
# exit [ terminate the shell and return to Windows Command Prompt ]
c:\android-sdk-windows\tools>
And on and on... Note: you can do all of the stuff above from the shell session using something like the Android Terminal Emulator (free in the Market), but you don't get to it by invoking "adb shell" (you only do that from Windows when in the SDK tools directory).
Oh, also, the root directory would be "/" on the phone. You can "cd /" to change to that directory to start navigating.
Hope that helps...cheers!