it-swarm-ja.com

リモートフォルダーを「ls」する方法は?

これはSambaを使用しています:

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

私は何とかそれをどうにかしてやった。

  1. リモートディレクトリを参照しています。 (pcmanfm 0.9.9
  2. ターミナルで現在のフォルダーを開く。
  3. pwdを実行して/home/myuser/.gvfs/wdtvlivehub on 192.168.5.4を取得
  4. ls /home/myuser/.gvfs/wdtvlivehub on 192.168.5.4を実行しました。

..よりエレガントな方法は何でしょうか?

10
octosquidopus

~/.gvfs/を使用する現在の方法は問題ありませんが、そのためにpcmanfmは必要ありません。gvfs-mountを使用して共有に接続できます。さらに、gvfs-lsgvfs-cpなどのツールはsmb:// URIを受け入れます。

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

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

最近のgvfsバージョンでは、場所は$XDG_RUNTIME_DIR/gvfs/(別名/run/user/$UID/gvfs/)であり、サブディレクトリ名はよりマシンで読み取り可能になっています。

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

古いバージョンでは:

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

(パス名内のスペースを引用することを忘れないでください。)


特にSambaの場合、smbclientプログラムを使用するか、mount -t cifsを使用してVFSレイヤーに共有をマウントできます。 (後者は、残念ながらrootに限定されています。)

$ smbclient //Host/share

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

(SFTPやFTPなどの他の種類のファイルシステムの場合、sshfsおよびcurlftpfsがそれぞれ存在します。)

5
user1686

コマンド smbclient を使用できます。例:

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