Sftp
從 sftp 擷取遠端文件
我在一個 SFTP 會話中並導航到一個深層目錄。我做到了
ls -l
,看到了一個小文件,只想閱讀它。我寧願在我還在 SFTP 中時執行此操作,而不是啟動一個新終端、執行 SSH、導航到該深層目錄,然後讀取它,然後返回 SFTP 繼續。有沒有辦法做到這一點?
SFTP 沒有
cat
命令。我試過
get file -
了,希望它會被-
視為標準輸出,但這只會創建一個名為“-”的文件。我試過
get file /dev/stdout
了,但結果是:sftp> get file /dev/stdout Fetching /home/username/file to /dev/stdout /home/username/file 100% 506 9.0KB/s 00:00 ftruncate "/dev/stdout": Invalid argument Couldn't write to "/dev/stdout": Illegal seek
另一種方法可能是
get file /tmp/file
,退出 SFTP,讀取 /tmp/file,刪除 /tmp/file,然後返回 SFTP,但這同樣乏味。有沒有簡單的方法?
在 sftp 中有 cat 意味著文件的內容仍然必須通過網路傳輸到您的本地電腦,才能顯示給您的眼睛,這基本上就是您獲取文件。您不必像 sftp 那樣“退出 SFTP”
!command
。所以,你可以這樣做:
sftp> get file sftp> !cat file
您不能通過 sftp 執行 cat,因為它是專門為文件傳輸而設計的。您可以檢查“man sftp”以查找在互動式 shell 中可以使用的命令列表。