сряда, 10 септември 2014 г.

DOS FTP Команди

DOS FTP Команди
FTP (File Transfer Protocol) е  услуга за прехвърляне на файлове в ASCII или BINARY формат между два компютъра, свързани в мрежа. Услугата се обслужва от свой протокол като надстройка на TCP/IP протоколите. FTP е много полезно средство особено за пренасяне на файлове с голям обем.
Осъществяване на FTP връзка между два компютъра в  мрежата и провеждане на сесия изисква изпълнението на определена последователност от действия от страна на клиента (FTP Client) в процеса на установяване на връзка и извличане на информация от файловия сървър (FTP Server) на кореспондентския компютър. Тези действия предполагат познаването на едно не голямо множество от команди за този протокол.

FTP команди:
Команда
Съдържание
!
изпълнява локална shell команда
?
извежда на екрана помощна информация (help)
ascii
установява ascii (текстов) режим на файловия трансфер
bell
звуков сигнал за край на извличане или прехвърляне на файл
binary
установява binary режим на файловия трансфер
bye
прекратява връзката и изход от ftp услугата
cd
смяна на текущата директория в отдалечената машина
delete
изтрива файл в отдалечената машина
dir
извежда съдържанието на директория в отдалечената машина
disconnect
прекратява връзката
get
извлича файл от отдалечената машина
glob
включва/изключва употребата на wildcard символи (*.*)
hash
отпечатва символа "#" за всеки изпратен или получен пакет
help
извежда помощни съобщения за всяка ftp команда
lcd
смяна на текущата директория в локалната машина
ls
извежда съкратена форма на съдържанието на директория в отдалечената машина (Unix формат)
mdelete
изтрива файлове в отдалечената машина
mget
извлича група файлове от отдалечената машина
mdir
извежда съдържанието на множество директории от отдалечената машина
mkdir
създава поддиректория в отдалечената машина
mput
прехвърля група файлове в отдалечената машина
open
начало на комуникация с отдалечен компютър
prompt
активира потвърждение за всяка входно-изходна операция от отдалечената машина
put
прехвърля файл в отдалечената машина
pwd
извежда текущата пътека в отдалечената машина
quit
затваря връзката и изход от ftp
quote
изпраща управляващ низ в отдалечената машина
recv
копира файл от отдалечената машина в локалната
remotehelp
получаване на информация от отдалечен сървър
rename
смяна името на файл
rmdir
премахва се посочената директория
send
изпращане на единичен файл
status
показва се текущият статус
trace
активира проследяването на входно-изходните пакети
type
установява типа на файловия трансфер
user
данни за потребител - име и парола
verbose
извежда данни за сървъра и обменената информация

Вид трансфер
При FTP услугата са възможни два вида трансфер на файлове:
  • ASCII - за файлове, чието съдържание е обикновен текст, включващи и кодовете за нов ред (CR, LF) и нова страница (FF).
  • BINARY (IMAGE) - за файлове, записани в двоичен формат. Това са изпълнимите файлове, архивните и компресираните.
Разширенията на файловете могат да се приемат като идентификатори на техния формат. В таблицата отдолу  са изброени най-често срещаните символични имена на разширения за различни платформи, помощните програми за тяхната обработка и тълкувание на тези формати.

 
Разширение
Програма
Коментар
.txt, .TXT
Text Editor
текстов файл без компресия
.doc, .DOC
Text Editor, Word
текстов файл или Word документ
pdf
Acroread
файл в Adobe pdf формат
.gz
gunzip
Unix компресия gunzip на файл
.tar
tar
стандартен, многотомен Unix архив
.tar.gz
tar+gunzip
архив с компресия Unix
.exe
self-extract-archive
архив с компресия за WINDOWS
tar.bz2
tar + cvfj
архив с компресия Unix
FTP сесия
Успешното провеждане на една FTP сесия изисква изпълнението на определена последователност от действия.
Първото действие е активиране на програмата, поддържаща протокола. 
 
ftp <Internet site>
където, <Internet site>е адресът на кореспондентската машина. Адресът може да бъде зададен като IP адрес или чрез символичното име на машината, например: 
 
ftp 194.141.5.113
или 
 
ftp media.univ.acad.bg
След натискане на клавиш >Enter от клавиатурата програмата прави опит да установи контакт с избраната машина. При нормална работа на мрежата и при възможност да се установи контакт не след дълго на екрана на клиента се появяват опознавателните редове на отдалечената машина. Следва разпознаване на клиента по установените в сървъра правила, например: 
 
Connected to media.univ.acad.bg. 
Unix FTP Server (Version 5.01) Ready 
Name (media.univ.acad.bg:user): anonymous 
Password: guest
Тук се въвежда име за потребител (Name) или Ctrl/C за прекъсване на връзката. Потребителското име е необходимо за да се открие процес за този потребител в машината. Официално регистрираните потребители използват своите потребителски имена за достъп до тази услуга в тази машина. За останалите е предвидено едно обобщено име, което е: 
 
anonymous
Анонимен или неизвестен съвсем не означава, че потребителя, търсещ достъп до файловата система на сървъра, остава такъв за него. Следващият въпрос е паролата за достъп(Password). Това предопределя същинските права на потребителя. Регистриран потребител добива предписаните му права, а външен потребител добива достъп до общите части на файловия сървър. В един FTP сървър като общи и достъпни за публиката се заделят определени части от файловото му пространство. 
 
Всяка изпълнена от страна на потребителя операция се регистрира в FTP сървъра и представлява своеобразен протокол за неговите действия. Така всеки опит за неправомерни действия се регистрира веднага. 
 
230 Guest connection accepted. Restrictions apply. 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp>
Този финален акорд от въвеждащия протокол напомня на потребителя, че му е осигурен достъп с определени ограничения. Отсрещната операционна система е UNIX и установения като текущ тип трансфер на файлове е Binary. 
 
ftp> dir
Въведената команда >dir извежда на екрана на локалния компютър съдържанието на текущата директория в отдалечената машина в пълен формат. 
 
200 PORT command successful  
150 Opening ASCII mode data connection for /bin/ls.  
total 2636 
-rw-rw-r-- 1 0 31 4444 Mar 3 11:34 README  
-rw-rw-r-- 1 0 31 160384 Mar 3 11:39 INDEX  
dr-xr-xr-x 2 0 1 512 Feb 8 1995 bin  
dr--r--r-- 2 0 1 512 Feb 8 11:06 etc  
drwxrwsr-x 5 13 22 512 Mar 19 12:19 map  
drwxr-xr-x 25 1016 31 512 Apr 2 15:01 info-mac  
drwxrwsr-x 13 0 20 1024 Mar 4 12:20 pub  
drwxr-xr-x 2 1077 20 512 Feb 21 13:05 user  
226 ASCII Transfer complete  
549 bytes received in 0.33 seconds (1.90 Kbytes/sec)  
ftp>
В средата на Unix операционна система резултатът от изпълнението на команда " >dir" може да бъде този, показан по-горе. Съдържанието на отделните колони се нуждае от обяснение. Преобладаващата част от FTP сървърите са базирани на Unix машини и файловата им структура обикновено е сходна. Различията се отнасят предимно до предмета и обема на съхранявана информация.
На един ред от този списък е поместена информация за характера на файла или директорията, правата за достъп, собственика или създателя, обема в байтове, датата на последна модификация, името на файла или директорията в последната колона. В първа колона буква "d" означава директория, следващите букви определят възможностите за четене, запис, изтриване или изпълнение. Първият файл в списъка с наименование README нормално съдържа обяснения за сървъра, правата за достъп, e_mail адрес за кореспонденция, големината му е 4444 байта, последната му модификация е направена 3 март в 11:34 часа. При липса на информация за годината се приема текущата. За минали години, тя е записана на мястото на часа. За да се прочете съдържанието на този файл трябва да се “изтегли” в локалната машина. Файлът с наименование INDEX обикновено съдържа каталога на директория /pub. От неговото съдържание потребителят може да се ориентира за поддържаните рубрики в FTP-сървъра. Директорията /bin е създадена на 8 февруари 1995. Командата за изтегляне на файл е следната: 
 
ftp> get README
Трябва да се има предвид, че употребата на малки или големи букви има значение и името на файла при всяка FTP команда да се изписва по начина, по който то е записано.


За трансфер на група от файлове, отговарящи на определено условие се прилагат команди за многократно четене или запис (mget, mput): 
 
ftp> mget *.txt
Всички файлове с разширение .TXT в текущата директория на сървъра ще бъдат прехвърлени един след друг в машината на потребителя. При активен prompt за копирането на всеки файл ще се иска потвърждение. Дезактивирането на това условие става с изпълнение на команда prompt. Активирането му става с повторно изпълнение на същата команда: 
 
ftp> prompt 
Interactive mode off
Ако избраният за трансфер файл не е текстов, то трябва изрично да се установи Binary режим на трансфер. Повечето сървъри разполагат с FTP продукт, автоматично определящ типа на прехвърляния файл, но внимание, това не винаги е така. Ако един чисто текстов файл е прехвърлен по Binary mode това не е фатално. Появяват се проблеми с неговото четене на екран от някои редактори поради записването му в Unix формат, загубва се символа <CR>. Прехвърлянето на архивен или изпълним файл по ASCII mode прави файла неизползваем! Установяването на един от двата режима се извършва с командите BINARY или ASCII,например: 
 
ftp> binary 
200 Type set to I
Процесът на прехвърляне на един файл може да бъде маркиран и проследяван стъпка по стъпка, което в повечето случаи е удобно и показва моментната скорост на обмен по мрежата. Маркировка се установява с команда hash. Прехвърлянето в потребителския компютър на определено количество байтове се маркира със знак “#” на екрана. В зависимост от настройките на софтуера, маркировка се извежда на всеки 1024, 2048 или 8192 байта. 
 
ftp> hash 
Hash mark printing On (8192 bytes/hash mark)
Смяна на директория с връщане една стъпка назад се извършва чрез командата: 
 
ftp> cd .. 
250 CWD command successful
Смяна на директория с връщане в корена на дървото се извършва чрез командата:. 
 
ftp> cdup 
250 CWD command successful
За прекратяване на връзката със сървъра се издава следната команда: 
 
ftp> bye 
221 Goodbye.


Автоматизация:

Ако искате да автоматизирате качването/свалянето на файл или файлове, можете да го направите чрез създаването на текстов файл, съдържащ FTP команди за изпълнение. Например, за сваляне на определен файл, се създава текстов файл със следното съдържание:
open host
username
password
cd directory
binary
get filename
bye
Ако вашият FTP сървър е ftp.myserver.com  той се изписва на мястото на  host. По същия начин се изписват стойностите и на другите параметри: username, password,directory ,filename.
Този скрипт се записва с разширение .txt (пр. getfile.txt). За да се стартира ftp и този скрипт да проработи е необходимо да се изпише ftp -i -s:getfile.txt.
Освен  FTP скрипт, може да се създаде и batch file. Пример: Създайте текстов файл getfile.bat със следното съдържание:
@echo off
ftp -i -s:getfile.txt
За да се стартира този batch файле необходимо да се изпише getfile (или getfile.bat).  Batch файлът ще се стартира и ftp ще прочете FTP скрипта getfile.txt.

Изпращане и получаване на файл по FTP

За да се свалят файлове от ftp сървър на персонален компютър се използва команда - get. ( Ако е необходимо да се свалят повече файлове, се използва команда – mget.
Пример: mget *.doc (искат се всички файлове с разширение .doc).

Получените файлове се записват в собствената работна директория. Ако искате да смените директорията, в която да се получат файловете използвайте lcd командата. Например в cmd в Windows напишете - lcd c:\windows.


Няма коментари:

Публикуване на коментар