원격 폴더를 'ls'하는 방법?


10

이것은 삼바를 사용합니다 :

 $ 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

그렇습니다.
octosquidopus

답변:


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. (후자는 불행히도 루트로 제한됩니다.)

$ smbclient //host/share

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

(예 SFTP 및 FTP와 같은 파일 시스템의 다른 종류 sshfscurlftpfs존재 각각).


pcmanfm은 스크립트로 실행하기 전에 폴더에 도착하는 방법 일 것이므로 pcmanfm을 언급했습니다. 그래도 gv-ls는 내가 찾던 것 같습니다. ls일관성을 위해 로컬 디렉토리를 대체 할 수있는 것처럼 보입니다 .
octosquidopus

"gvfs-ls smb : // host / share /"는 먼저 gvfs-mount를 사용하여 드라이브를 마운트 할 필요없이 설명 된대로 작동한다는 점을 분명히 밝힐 가치가 있습니다. 즉, 첫 번째 코드 블록의 명령을 모두 사용하여 원하는 결과를 얻을 필요는 없습니다.
John T

@JohnT : 우연의 일치 였을 것입니다. 나는 보통 얻는다 The specified location is not mounted.
user1686

@ grawity-나는 일반적으로 이미 노틸러스 또는 비슷한 곳을 탐색하고 그 방법으로 인증했습니다.
John T

@JohnT : 예, 노틸러스는 동일한 GVFS를 사용하며 GTK는 액세스하려는 gvfs 위치를 자동으로 마운트합니다. 공유가 노틸러스 측면 창에 표시되면 바로 '마운트 된'것입니다.
user1686

12

smbclient 명령을 사용할 수 있습니다 . 예 :

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

4
훌륭하지만 어떻게 일반과 동일한 출력을 얻을 수 ls있습니까? (열이나 서식이 없으며 파일 목록 만)? 출력을 다른 명령으로 파이프하고 싶기 때문에 중요합니다.
octosquidopus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.