[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TRAMP をインストールすると、TRAMP は完全に透過的に動作します。 ログイン可能なリモートマシン上のファイルに、あたかもローカルファイル のようにアクセスすることができます。
TRAMP では、formalized シンタックスを使いファイルを指定します。これは、
EFS
と ange-ftp
パッケージのシンタックスに似ています。
7.1 TRAMP ファイル名のきまり | ||
7.2 マルチホップファイル名のきまり | ||
7.3 Dired とファイル名の補完 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
リモートマシン<マシン>上のファイル<パス>にアクセスするためには、 ファイル名 `/[<マシン>]<パス>'を指定してください。(角括弧は ファイル名の一部です。)これで、<マシン>に接続し、デフォルトメソッド を使用しファイルが転送されます。See section 6.5 デフォルトのメソッドの選択.
TRAMP のファイル名の例をいくつかお見せしましょう:
melancholia
上のホームディレクトリにある `.emacs'を
編集します。
melancholia
上のユーザー daniel
のホームディレクトリ
にあるファイル `.emacs' を編集します。`~<ユーザー>' 構文は
リモートマシン上のユーザーのホームディレクトリに展開されます。
melancholia
上のファイル `/etc/squid.conf' を編集
します。
違う名前を使うように指定しない限り、TRAMP は現在のローカルなユーザ名 をログインのためのリモートユーザー名として使います。もし、違うユーザーで ログインする必要がある場合は、ファイル名の一部としてユーザー名を指定する ことができます。
指定したユーザーでリモートマシンにログインする必要がある場合、
`/[<ユーザー>@<マシン>]/パス/ファイル' というシンタックスを
使用してください。つまり、ユーザー daniel
として melancholia
に接続しホームディレクトリの `.emacs' を編集する場合、
`/[daniel@melancholia].emacs' を指定すればよいのです。
CCC: The second @file was `r@...:' -- was there a missing initial slash? I've added the initial slash. Also you might want to include a remark about the trailing colon: without a method, it's `/./user@host:' (one colon), but with a method it's `/./@meth:user@host:' (two colons).
ファイル名の一部として、他のファイル転送メソッド(see section 6.5 デフォルトのメソッドの選択) を指定することもできます。これは、最初の `/[' を、 `/[<メソッド>/' でおきかえることで可能になります。(最後のスラッシュ に注意!) ユーザー、マシン、ファイルの指定は今までと同じです。
マシン melancholia
に daniel
として接続し、ファイル転送に
`su' メソッドを使い、ホームディレクトリの `.emacs' を編集する
ためには、ファイル名 `/[su/daniel@melancholia].emacs' を指定して
ください。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
マルチホップファイル名のシンタックスは、当然のことながら、他の TRAMP のファイル名と若干異なります。以下に、マルチホップファイル名の例をあげます:
`/[multi/rsh:out@gate/telnet:kai@real.host]/path/to.file'
これは非常に重要なので、ひとつひとつ説明しましょう。ファイル名は スラッシュと角括弧で区切られた 3 つのパーツで構成されています。 最初のパート `/[multi' はメソッドの指定です。二番目のパートは `rsh:out@gate/telnet:kai@real.host' でホップを指定します。 (そうです、二番目のパートはもっと多くのスラッシュを含むこともあります。 これがこのファイル名が二つ以上のコロンを含む理由です。)最後のパートは `/path/to.file' で、リモートホスト上のファイル名を指定します。
最初と最後のパートは明白でしょう。6.4 複数のホップを使いリモートホストに接続するに指定可能 なメソッドの一覧があります。
二番目のパートは、再びコンポーネントに分割されます。これはホップと よばれます。上記のファイル名には、二つのホップ、 `rsh:out@gate' と `telnet:kai@real.host' が含まれています。
それぞれのホップは、再び(3つの)コンポーネント、 ホップメソッド、ユーザー名、ホスト名に分割されます。 二番目、三番目のコンポーネントの意味は明白です。ホップメソッドは、 このホップでどのようなプログラムを使うかを意味しています。
最初のホップ `rsh:out@gate' は、ホスト gate
にユーザー
out
としてログインするために rsh
を使うという意味です。
二番目のホップ `telnet:kai@real.host' は、このホストからホスト
real.host
にユーザー kai
でログインするために telnet
を使うという意味です。
See section 6.4 複数のホップを使いリモートホストに接続する. ここにホップメソッドの一覧があります。 変数 tramp-multi-connection-function-alist には、選択可能なホップ メソッドのリストとそれらをどのように実行するかという情報が含まれています。 あなたが作ったメソッドをこの変数に追加してください。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
TRAMP は dired 上でも透過的に動作します。この強力なファイル管理 ツールを使い、インターネットを経由しアクセス可能なすべてのマシン上の ファイルを管理できます。
TRAMP ではリモートマシン上のファイル名の補完も可能です。しかし、 現段階ではユーザー名とマシン名の補完はできません。
ファイル名の補完にはリモートマシンからファイルの一覧を取得する必要が あるので、時々、非常に時間がかかる事があります。TRAMP には、ディレ クトリ一覧の結果をキャッシュする仕組みがまだないので、二度目のファイル 名補完の時も性能は変わりません。
ディレクトリツリーをブラウズしたい場合は、今のところファイル名の補完 より dired を使うほうが良いでしょう。dired は自身でキャッシュの仕組を もっているので、ファイル一覧を一度しか取得しません。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |