web-dev-qa-db-fra.com

Comment `ls` un dossier distant?

Celui-ci utilise Samba:

 $ ls smb://192.168.5.4/wdtvlivehub/abc
 ls: cannot access smb://192.168.5.4/wdtvlivehub/abc: No such file or directory

Je suis en quelque sorte réussi à le faire;

  1. Parcourir sur le répertoire distant. (PCMANFM 0.9.9)
  2. Ouverture du dossier actuel dans un terminal.
  3. Exécution pwd pour obtenir /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4
  4. En faisant ls /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4 travaillé.

..Quelle serait une voie plus élégante?

10
octosquidopus

Votre méthode actuelle d'utilisation ~/.gvfs/ va bien, mais vous n'avez pas besoin de pcmanfm pour cela - vous pouvez utiliser gvfs-mount Pour vous connecter à la part. De plus, des outils tels que gvfs-ls et gvfs-cp acceptera votre SMB: // URI.

$ gvfs-mount smb://Host/SHARE/

$ gvfs-ls smb://Host/SHARE/

Dans les versions de GVFS récentes, l'emplacement est $XDG_RUNTIME_DIR/gvfs/ (alias /run/user/$UID/gvfs/), et les noms de sous-répertoires sont devenus plus lisibles par machine:

$ ls /run/user/$UID/gvfs/smb-share:server=Host,share=SHARE/

Dans les anciennes versions:

$ ls ~/.gvfs/"SHARE on Host"/

N'oubliez pas de citer des espaces dans les noms de chemin.)


Spécifiquement pour Samba, vous pouvez utiliser le programme smbclient ou monter le partage sur la couche VFS à l'aide de mount -t cifs. (Ce dernier est malheureusement limité à la racine.)

$ smbclient //Host/share

# mount -t cifs //Host/share /mnt

(Pour d'autres types de systèmes de fichiers, tels que SFTP et FTP, sshfs et curlftpfs existe respectivement.)

5
user1686

Vous pouvez utiliser la commande smbclient , E.G.:

smbclient -N //192.168.5.4/wdtvlivehub/abc -c ls
12
rumpel