Ubuntu – How to list Windows shares from terminal

file-sharingvirtualboxwindows

Here is a simple scenario I have:

  1. Windows 7 is sharing a folder (D:\Projects).
  2. Full Control permissions have been given to the folder.
  3. In Ubuntu 10.10, I can see the Windows shares from Places -> Network menu.
  4. I can create a folder in the shared Projects folder from Nautilus

How do I ls those same folders (displayed in Nautilus) from the terminal?
(mount and ls /mnt do not list those Windows shares)

Ps. Details on what I am doing:

  1. Using Ubuntu as a "headless" VM using VirtualBox.
  2. Accessing Ubuntu via PuTTY
  3. Ability to give complete access to the Ubuntu VM for the Windows shared folder

Best Answer

If you've already used Nautilus to connect to the shares you're interested in, then the mounts for those shares are available in ~/.gvfs

So I've gone to my nautilus and typed smb://192.168.1.10/data into my location bar, which has mounted the share. Then :

scaine@GroovyTosh:~/.gvfs$ ls -al
total 20
dr-x------  3 scaine scaine     0 2010-12-31 18:47 .
drwx------ 68 scaine scaine 20480 2010-12-31 19:42 ..
drwx------  1 scaine scaine     0 2010-10-05 19:57 data on 192.168.1.10
scaine@GroovyTosh:~/.gvfs$ 

If you need to list available shares, then as Danny says, you use smbclient. In my case, I use "share" security model (not recommended!), so I don't need the -U parameter :

scaine@GroovyTosh:~/.gvfs$ smbclient -L 192.168.1.10
Enter scaine's password: 
Domain=[Mine] OS=[Unix] Server=[Samba 3.5.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Data            Disk      Core Data
    Backups         Disk      Daily RSnapshot backups
    IPC$            IPC       IPC Service (Core)
Domain=[Mine] OS=[Unix] Server=[Samba 3.5.4]

    Server               Comment
    ---------            -------
    CORE                 Core

    Workgroup            Master
    ---------            -------
    Mine                 CORE
scaine@GroovyTosh:~/.gvfs$
Related Question