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


10

これは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ました。

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


リモートファイルシステムのマウントはオプションですか?
beatgammit 2011

はい、そうです。
オクトスキドプス

回答:


5

現在の使用方法~/.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プログラムを使用するか、を使用してVFSレイヤーに共有をマウントできますmount -t cifs。(後者は、残念ながらrootに限定されています。)

$ smbclient //host/share

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

(例えば、SFTPやFTPなどのファイルシステムの他の種類について、sshfs及びcurlftpfsそれぞれ存在します。)


pcmanfmについては、スクリプトで実行する前にフォルダーに移動する方法である可能性が高いため、説明しました。しかし、gv-lsはまさに私が探していたもののようです。ls一貫性を保つために、ローカルディレクトリを置き換えることもできるようです。
オクトスキドプス

「gvfs-ls smb:// host / share /」は、最初にgvfs-mountを使用してドライブをマウントする必要なしに、説明どおりに機能することを明確にしておく価値があります。つまり、最初のコードブロックのコマンドをすべて使用して、目的の結果を得る必要はありません。
ジョンT

@JohnT:偶然だったに違いありません。私は通常得るThe specified location is not mounted
user1686

@grawity-私は通常、すでにNautilusなどの場所を参照して、その方法で認証しました。
ジョンT

@JohnT:はい、Nautilusは同じGVFSを使用し、GTKはアクセスしようとしているgvfsの場所を自動的にマウントします。共有がNautilusのサイドペインに表示される場合は、現在「マウント」されています。
user1686

12

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

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

4
すばらしいですが、通常の場合と同じ出力をどのように達成できますかls(列もフォーマットもせず、ファイルのリストのみ)?出力を別のコマンドにパイプしたいので重要です。
オクトスキドプス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.