Work Information Center #12404 G. Hicks Request for Comments #412 Utah 27-Kas-72
Kullanıcı FTP Dokümantasyonu
Ekli belge, Kullanıcı FTP Sürecinin Utah-10 uygulaması için HELP dosyasıdır. Bu, kullanıcı HELP<cr> yazdığında konsolunda yazılan metindir ve bu nedenle bugüne kadar üretilmiş olan tek dokümantasyondur.
Kullanıcı FTP Dokümantasyonu — Ayrıntılı Komut Listesi
FTP Kullanıcı Dokümantasyonu
27 Kasım 1972
I. Kontrol Karakterleri
FTP Süreci için anlam taşıyan birkaç kontrol karakteri vardır. Öncelikle, iptal karakteri <control-z> (SUB) olarak tanımlanmıştır. Ardından, düzenleme için yalnızca <control-r>, <control-a>, <control-h>, <control-v>, <control-w>, <alt-mode>, <eol>, <space>, <control-x> ve <rub-out> anlam taşır.
<control-a> (SOH) ve <control-h> (BS) karakter silme tuşlarıdır. <control-w> sözcük silme karakteridir.
Not: ? işlevi kullanılırken, bu karakter yazılmış olan satırın tamamını siler.
<control-v> bir sonraki karakterin olduğu gibi alınmasını söyler. <alt-mode> (ESC), komutu yardımcı gürültü sözcükleri vererek sonlandırır. <eol> ve <space> de sonlandırıcıdır. Ancak bu son iki karakter komut tamamlama ya da gürültü sözcüğü üretmez. Bununla birlikte, üçünün de yankısı bir boşluk olarak verilir.
<control-x> (CAN) ve <rub-out> (DEL) komut iptal karakterleridir. <control-r> (DC2), satırı komut yorumlayıcının gördüğü biçimde yeniden yazar.
? başlangıç komutları için bir istemci olarak kullanıldığında, bu belirli karakter dizisiyle başlayan tüm komutları yazar. Bir alt-komut alanında yazılırsa, yalnızca yazılan ilk karakter olması durumunda istem mesajını yazar. Diğer tüm durumlarda, yazılan dizenin bir parçası olarak kabul edilir.
II. Genel Bilgiler
FTP kullanıcı süreci, ARPANET üzerindeki bir ana bilgisayardan diğerine dosya aktarmayı şimdiye kadar olduğundan çok daha kolay hale getirmek amacıyla tasarlanmıştır. Bu amaçla, komut dili mümkün olduğunca doğal olacak şekilde düzenlenmiştir.
Komut yorumlayıcısı da elbette bu düşüncenin bir parçasıdır. Bu nedenle kullanıcıya mümkün olan en fazla yardımı sağlamak için, komutlar, dosya adları, kullanıcı adları vb. konularda nelerin beklendiğini öğrenmenin birkaç yolu vardır.
Kullanıcı hiçbir şey yazmamışsa, ? yazıldığında yorumlayıcı kullanıcıya açık olan tüm komutları yazar. Kullanıcı herhangi bir şey yazmışsa, bu durumda yalnızca belirli karakter dizisiyle başlayan komutlar döndürülür.
Komut dilinin öğrenilmesini olabildiğince kolay kılmak için, komut yorumlayıcısı yasal bir komutun parçası olmayan hiçbir şeyi “görmez”. Kullanıcı beklenmeyen bir şey yazarsa, karakter yankılanmaz ve bunun yerine bir zil sesi verilir.
III. Kısa Komut Listesi
NOT: Büyük ve küçük harfler aynıdır.
<host-name>D<decimal host number><octal host number>;<any string>— size bağlı olan bir kişiye yorum eklemek için kullanışlıdırMODE <mode name>RETREIVE <remote file> (to) <local file>GET <remote file> (to) <local file>SEND <local file> (to) <remote file>STORE <local file> (to) <remote file>APPEND <local file> (to) <remote file>RENAME <remote file> (to be) <new remote file name>DELETE <remote file>BYECOPY <direction descriptor> <file group> (to) <file group>
(aşağıdaki ayrıntılı açıklamaya bakınız)LOGOUTDDTLIST <file group> (to file) <local file name>SOCKET(HENÜZ UYGULANMADI)ALLOCATE <decimal number of bytes>QUITHOST <any valid ARPANET host name or number>USER <remote user name>PASSWORD <password for remote user's name>ACCOUNT <string or number for remote user's name>STATUS(aşağıdaki açıklamaya bakınız)LOGIN <user name> <password> <optional account> <to host>BYTE <decimal byte size>TYPE <type descriptor>STRUCTURE <structure descriptor>TENEXASCIIVERBOSE
IV. Komutların Ayrıntılı Açıklaması
Komutlar ve sözdizimleri aşağıda daha ayrıntılı olarak açıklanmıştır. Parantez içindeki sözcükler gürültü sözcükleridir. NOT: Büyük ve küçük harfler aynıdır. Aksi belirtilmedikçe, açıklanan tüm komutlar uygulanmıştır.
<host name> veya <host number>
Belirtilen ana bilgisayara ICP gerçekleştirir; ICP mümkün değilse açıklayıcı mesajlar verir.
MODE <mode descriptor>
Veri aktarım bağlantısının kipini aşağıdaki alt komutlara göre ayarlar:
- STREAM: Bit akışı; dosya sonu, veri bağlantısının kapanmasıyla belirtilir.
- BLOCK: Veriyi bloklar halinde biçimlendirir (ya da biçimlendirilmiş veri bekler).
- TEXT: Metin gönderir veya alır.
TYPE ASCIIveBYTE 8ayarlarını zorlar. Bu komut, uzak ana bilgisayara uygun komutları gönderir ve ardından FTP Protokolüne göre EOR ve EOF için TELNET kodlarını kullanarak veriyi gönderir. - HASP: Veriyi sıkıştırır.
NOT: Yukarıdaki alt komutlardan yalnızca MODE STREAM ve MODE TEXT şu anda uygulanmıştır.
RETREIVE (file) <remote file> (to file) <local file name>
Uzak sunucuya RETR komutunu gönderir, önceki MODE, TYPE veya BYTE komutlarına göre veri bağlantısını kurar ve veri bağlantısından gelen veriyi belirtilen yerel dosyaya yazar.
GET (file) <remote file name> (to file) <local file name>
RETREIVE açıklamasına bakınız.
STORE (local file) <file name> (onto file) <remote file>
Yerel bir dosya adını kabul eder, önceki BYTE, TYPE ve MODE komutlarına göre biçimlendirme yapar ve dosyayı yabancı ana bilgisayara gönderir.
SEND (local file) <file name> (onto file) <remote file>
STORE açıklamasına bakınız.
APPEND (local file) <file name> (to remote file) <remote file>
STORE ile aynı işlemi yapar; ancak dosya, uzak dosyanın üzerine yazılmak yerine sonuna eklenir.
RENAME (existing file) <file name> (to be) <new file name>
Eski bir uzak dosyanın adını kabul eder ve yeni bir dosya adı ister. Uygun komutları ve adları yabancı ana bilgisayara göndererek eski dosya adının yenisiyle değiştirilmesini sağlar.
DELETE (file) <file name>
Uzak dosyanın silinmek üzere işaretlenmesine neden olur. Komutun iki kez onaylanmasını gerektirir.
BYE
Argüman almaz. Sunucunun kullanıcıyla olan mevcut oturumu sonlandırmasına neden olur. Komut uzak sunucu tarafından onaylandığında program EXEC kipine döner.
COPY
Bu komut çeşitli işlemler yapar. Öncelikle kullanıcının bir dosya grubunu tanımlamasına olanak tanır (ör. *.mac, *.sav). *, aşağıdaki alt komutlara göre yabancı dosyalar veya yerel dosyalar için geçerli olabilir:
REMOTE (remote file group) <remote file grouping>
Kullanıcı FTP’sinin, belirtilen uzak dosya grubundaki dosyaları sunucudan istemesine neden olur. Ardından kullanıcıdan her dosyanın nereye gideceğini belirtmesi istenir.
Örnek:
!copy remote (remote file group) ftp.*
Please be patient. Getting remote file names.
Got them.
!copy (file) <HICKS>FTP.MAC;| (to file) ftp.mac [New file]
LOCAL (local file grouping) <local file group>
Kullanıcı FTP’sinin belirtilen yerel dosya grubunu kabul etmesine ve dosya adlarını, dizin adı ve sürüm numarasını atlayarak sunucuya göndermesine neden olur. Kullanıcı * aygıtları veya * dizinleri belirtemez.
Örnek:
!copy local (local file group) ftp.*;*
[Confirm]
Kullanıcı ne uzak dosya ne de yerel dosya için herhangi bir * belirtmezse, bu komut tam olarak RETREIVE veya STORE komutu ile aynıdır.
LOGOUT
Argüman almaz. BYE komutunun açıklamasına bakınız.
RESET
Argüman almaz. Kullanıcı sürecinin tüm bağlantıları ve dosyaları (gerekirse) kapatmasına ve program parametrelerini varsayılan değerlerine döndürmesine neden olur.
DDT
DDT yüklüyse DDT’yi başlatır. Yüklü değilse, DDT’yi yükler ve ardından başlangıç konumunda çalıştırır. DDT bulunamazsa bu komut anormal bir kesmeye neden olur.
LIST (file group) <remote file group> (to file) <local file>
Esasen uzak sunucunun bir dizin komutu çalıştırmasına neden olur. Varsayılan *.*’dır. Listeleme veri bağlantısı üzerinden geleceğinden, kullanıcının bir yerel dosya belirtmesi gerekir.
Örnek:
!list (file group) *.* (going to file) tty: [ok]
SOCKET <socket descriptor>
Verinin gideceği veya geleceği soket tanımlayıcısını kabul eder. Şu anda sunucuya gönderilecek komut biçimi kararlaştırılmadığından HENÜZ UYGULANMAMIŞTIR.
ALLOCATE <decimal number of bytes>
Bir sonraki STORE veya APPEND için sunucunun ayırması gereken bayt sayısını ondalık olarak kabul eder.
QUIT
Argüman almaz. Konsolu EXEC’e döndürür. Program zarar görmeden devam ettirilebilir.
Bu komut ayrıca kullanıcının uzak sunucuya rastgele dizeler göndermesine olanak tanır. Şu anda bir TENEX sitesine bağlanıldığında yalnızca MAIL komutu için kullanışlıdır.
HOST <ARPANET host name or number>
Kullanıcının gerçekten bağlanmadan bir ARPANET ana bilgisayarı belirtmesine olanak tanır. Belirtilen ana bilgisayara bir sonraki anında yürütülen komut sırasında bağlanılır (ör. LOGIN, RETREIVE, STORE, LIST).
USER (name is) <remote user's name>
Uzak sistem için kullanıcı adını ayarlar. Kullanıcının uzak sisteme giriş yapması gerekene kadar bir işlem yapmaz. Uzak kullanıcı adı belirtilmeden program dosya ile ilgili komutlara izin vermez.
STATUS (of the) <sub-cmd> (at host) <ARPANET host>
Aşağıdaki alt komutlardan birini kabul eder:
- SERVICE (at host)
<ARPANET host name or number>: Mevcut bağlantıları bozmadan ICP gerçekleştirmeye çalışır. <ARPANET host name or number>: STATUS SERVICE ile aynıdır.- STATUS (of file)
<remote file group>:LISTkomutuna benzer, ancak listeleme TELNET bağlantısı üzerinden geri gelir. <command-terminator>: STAT komutunu gönderir; nerede olduğunuzu ve kim olduğunuzu öğrenmek için kullanışlıdır.
PASSWORD (is) <password for remote user's name>
Uzak kullanıcı adı için parolayı ayarlar. Yankılanmaz ve bir sonraki anında yürütülen komuta kadar bir işlem yapmaz.
ACCOUNT (is) <account number or string>
STORE, RETREIVE veya APPEND gibi kullanıcı etkinlikleri için ücretlendirilecek bir hesap dizesi veya numarası kabul eder.
LOGIN <user name> <password> <optional account>
TENEX giriş komutuyla biçim olarak aynıdır. Ana bilgisayar belirtilmemişse, bir tane ister. Gerekirse ICP’nin gerçekleşmesine neden olur.
BYTE (size is) <decimal byte size>
Veri bağlantısı için bayt boyutunu ayarlar. Varsayılan değer 8 bittir.
TYPE (is) <type descriptor>
Aşağıdaki alt komutlardan birini kabul eder:
- TENEX:
TYPE IMAGEveBYTE 36ayarlarını yapar. - EBCDIC: Veri EBCDIC olacaktır.
- PRINT: ASA dikey biçim denetimleriyle ASCII yazdırma dosyası.
- LOCAL: Kullanıcı ve sunucu FTP’sinin belirtilen bayt boyutunu kabul etmesini zorlar.
- IMAGE: LOCAL ile aynıdır; çeviri yapılmaz.
- ASCII:
TYPE ASCIIve 8 bitlik baytları ayarlar.
NOT: PRINT ve EBCDIC henüz uygulanmamıştır.
STRUCTURE (is) <file structure descriptor>
Aşağıdaki alt komutlardan birini kabul eder:
- RECORD: Veri, kayıt yapısı bilgisi içerir. TENEX kayıt yapılı dosyaları desteklemediğinden, bu kip yalnızca TENEX olmayan sitelere veya bu sitelerden aktarılan metin dosyaları için kullanışlıdır.
- FILE: Veri akışı kayıt yapısı bilgisi içermez.
TENEX
TYPE TENEX altındaki açıklamaya bakınız.
ASCII
TYPE ASCII altındaki açıklamaya bakınız.
VERBOSE
Komut tamamlama bayrağını ayarlar. Ayrıntılı kipte komutlar tamamlanır ve gürültü sözcükleri yazdırılır. Varsayılan, ayrıntısız kipdir.
V. FTP Kullanılarak Örnek Bir Oturum
Aşağıdaki senaryo FTP’nin bazı kullanımlarını gösterir. Kullanıcının yazdığı her şeyin altı çizilidir.
UTAH-TENEX 1.29.03 EXEC 1.38
LOGIN (USER) HICKS (PASSWORD) (ACCOUNT #) 1200
JOB 24 ON TTY2 11-NOV-72 1:51
TERMINAL (TYPE IS) 4
FTP Oturumu
ftp
FTP User Process 1.10 5-NOV-72. Type Help<cr> for help.
!login (user) network (password) (account) 4 (to host) case-10
CONNECTION IS OPEN TO CASE-10.
< CASE-10 FTP Server 1.14.0 - at SAT 11-NOV-72 2:00-EST
!tenex ? confirm with carriage return
tenex
Uzak Dosyaların Kopyalanması
!copy remote (remote group) ftp.*
Please be patient. Getting remote file-names.
Got them.
!copy (file) <NETWORK>FTP.MAC;32 (no file) ftp.mac [new file]
< IMAGE retrieve of <NETWORK>FTP.MAC;32 started.
< Transfer completed.
!copy (file) <NETWORK>FTP.SAV;5 (to file) FTP.SAV;5 [new version]
< IMAGE retrieve of <NETWORK>FTP.SAV;5 started.
< Transfer completed.
!copy (file) <NETWORK>FTP.REL;1 (to file) xxx
!copy (file) <NETWORK>FTP.HELP;5 (to file) ftp.help [new version]
copy (file) <NETWORK>FTP.HELP;5 (to file) FTP.HELP;1
< IMAGE retrieve of <NETWORK>FTP.HELP;5 started.
< Transfer completed.
Done...
Ana Bilgisayar Değiştirme
!usc-isi
Closing connections to CASE-10.
CONNECTION IS OPEN TO USC-ISI.
< USC-ISI FTP Server 1.14.0 - at SAT 11-NOV-72 2:15-PST
USC-ISI’ye Giriş
!log
user hicks
(password)
(account) ? account number or string for remote user's name
log
(user) hicks
(password)
(account) |
Dosya Gönderme ve Kopyalama
!send (local file) ftp.sav;5 (to remote file) ftp.sav
< STORE of <HICKS>FTP.SAV;P777752;A1, IMAGE type, started.
< Transfer completed.
!cp r acs.mac (to local file) acs.mac [new file]
< IMAGE Retrieve of <HICKS>ACS.MAC;3 started.
< Transfer completed.
Kullanıcı FTP Dokümantasyonu
Ayrıntılı Komut Listesi
!copy 1 ? Local file group, *'s ok - TENEX sites only,
copy 1 ftp.*
[Confirm]
< Store of <HICKS>FTP.MAC;1;P777752;A1, IMAGE type, Started.
< Transfer completed.
< Store of <HICKS>FTP.SAV;2;P777753;A1, IMAGE type, Started.
< Transfer completed.
< copy of <HICKS>FTP.HELP;1;P777752;A1 IMAGE type, Started.
< Transfer completed.
Oturumun Sonlandırılması
!bye
!< BYE command received.
< Therefore connection terminated.
logout
[logout message go here]
Bu RFC, Gottfried Janik tarafından 6/97 tarihinde çevrimiçi RFC arşivlerine girmek üzere makine tarafından okunabilir biçime dönüştürülmüştür.