← rfc/
╔══════════════════════════════════════════════════════════════════════════╗
RFC 412 · ftp

Kullanıcı FTP Dokümantasyonu

Yazar
Kurum
Tarih
27 Kasım 1972
Durum
Network Working Group Yorum Talebi
Kanal
ftp/

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.


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:

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:

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:

NOT: PRINT ve EBCDIC henüz uygulanmamıştır.

STRUCTURE (is) <file structure descriptor>

Aşağıdaki alt komutlardan birini kabul eder:

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.