Installing And Setting Up Samba Client
In most feature-filled modern distributions today, atleast some form of a Samba implementation is installed out-of-the-box. This means that you can start exchanging files and start sharing printers without having to install anything. For example in Ubuntu, you can connect to a Samba server using the smbclient command and it will behave like an FTP client, allowing you to modify files using commands like ls, cd, dir. If you're scared of the commandline though, no need to worry. All Linux distributions with package managers will allow you to install the client/server package through their respective package managers.
Once installed, you might have to edit the configuration files manually, through a web-interface or through a graphical client supplied by your distribution or desktop-environment. For example, Gnome allows you to turn on Samba services using the Network Settings tool. In KDE, you can install a package called "kdenetwork-filesharing". If you're only going to share files in a Windows server, you don't need the Linux machine to act as a server. In this case, all you have to do is use certain commands to mount/browse Windows shares and exchange files with them.
You can mount Windows shares using the command mount.cifs. Here is a sample command which mounts "sharefolder" on the Windows server "ntserver" to the "mountpoint_for_windows_share" folder in /mnt. The username and password fields are self explanatory and you have to specify the username and password for the Windows server.
mount.cifs //ntserver/sharefolder -o username=pranav,password=mypassword /mnt/mountpoint_for_windows_share
If you're scared of commands, you can browse Windows networks graphically using tools which are generally built into all popular file managers like Nautilus. Once you have the Linux machine in the Windows network, it's as simple as connecting to a Windows share, specifying the username/password/domain combination and browsing the shared folders.
Once you're comfortable with the command and if you need to mount certain shares often or at boot time, you can add an entry for the share in your "/etc/fstab" file like this:
//ntserver/sharefolder /mnt/mountpoint_for_windows_share cifs users,username=pranav,password=mypassword,_netdev,uid=client_username,gid=users 0 0
Please note that the whole thing is one single line, and you can replace the single spaces between the parameters/options with tabs so that this line is aligned properly with the rest of the entries in the fstab file.