sshでインストールされていないコマンドを使う
自分の管理していないサーバで作業しなければならないときに、使い慣れたツールがインストールされていないので困ることがあります。
サーバにsshがインストールされていれば、自分のサーバからコマンドを借りてくることができます。
例えば、gunzipコマンドがインストールされていないマシンでtar.gzの中身を確認するには、下記のように実行することができます。
sshは、応用範囲が広いですね。
$ cat template.tar.gz | ssh debian10 gunzip - | tar tf - ksaito@debian10's password: ./css/ ./css/common.css ./images/ ./images/spacer.gif ./images/foot_copy.gif ./index.html ./index_j.html $
tramp
trampを使うとローカルのemacsでリモートサーバのファイルを編集するこができるようです。
Emacs+TRAMP+sshでリモートサーバのファイルを編集するで紹介されています。これは、便利
$ sudo aptitude install tramp Password: パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タスクの記述を読み込んでいます... 完了 タグのデータベースを構築しています... 完了 以下の新規パッケージがインストールされます: tramp 以下のパッケージが推奨されていますがインストールされません: metamail sharutils 更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。 264kB のアーカイブを取得する必要があります。展開後に 918kB のディスク領域が新たに消費されます。 拡張状態情報を書き込んでいます... 完了 取得:1 http://ftp.us.debian.org etch/main tramp 1:2.0.54-2 [264kB] 264kB を 3s 秒でダウンロードしました (83.2kB/s) 未選択パッケージ tramp を選択しています。 (データベースを読み込んでいます ... 現在 31960 個のファイルとディレクトリがインストールされています。) (.../tramp_1%3a2.0.54-2_all.deb から) tramp を展開しています... tramp (2.0.54-2) を設定しています ... install/tramp: Ignoring emacsen flavor emacs install/tramp: Handling install for emacsen flavor emacs21 Wrote /usr/share/emacs21/site-lisp/tramp/base64.elc Wrote /usr/share/emacs21/site-lisp/tramp/format-spec.elc Wrote /usr/share/emacs21/site-lisp/tramp/md5.elc Wrote /usr/share/emacs21/site-lisp/tramp/password.elc Wrote /usr/share/emacs21/site-lisp/tramp/run-at-time.elc Loading /usr/lib/emacs/21.4/arm-linux-gnu/fns-21.4.1-x.el (source)... Wrote /usr/share/emacs21/site-lisp/tramp/tramp-ftp.elc Wrote /usr/share/emacs21/site-lisp/tramp/tramp-smb.elc Wrote /usr/share/emacs21/site-lisp/tramp/tramp-util.elc Wrote /usr/share/emacs21/site-lisp/tramp/tramp-uu.elc Wrote /usr/share/emacs21/site-lisp/tramp/tramp-vc.elc Wrote /usr/share/emacs21/site-lisp/tramp/tramp.elc Wrote /usr/share/emacs21/site-lisp/tramp/trampcache.elc Wrote /usr/share/emacs21/site-lisp/tramp/trampver.elc Wrote /usr/share/emacs21/site-lisp/tramp/uudecode.elc Done $
emacsを起動、下記のように入力するとリモートのファイルを開いて編集することができます。
C-x C-f /ssh:user@server:/path/to/file Password for /ssh:server: