
SFTPセッションに参加しており、ディープディレクトリに移動しています。やったけどls -l
、小さなファイルを見て読みたかったです。新しい端末であるSSHを起動し、深いディレクトリに移動して読み、SFTPに戻り、続行するよりも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に戻ることですが、これも同様に退屈です。簡単な方法がありますか?
答え1
sftp と一緒に cat を使用するということは、ファイルの内容が基本的にファイルを取得する場所である目の前に表示される前に、ネットワークを介してローカルコンピュータに転送する必要があることを意味します。 sftpのように「SFTPを終了」する必要はありません!command
。
したがって、次のようにすることができます。
sftp> get file
sftp> !cat file
答え2
cat over sftp はファイル転送用に特別に設計されているため実行できません。インタラクティブシェルで利用可能なコマンドのリストを見つけるには、「man sftp」を参照してください。