원격 폴더를 '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-ls및 gvfs-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와 같은 파일 시스템의 다른 종류 sshfs와 curlftpfs존재 각각).


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.