| TNFTP(1) | General Commands Manual | TNFTP(1) |
نام (NAME)
tnftp —
برنامه
انتقال
فایل
اینترنتی
خلاصه دستور (SYNOPSIS)
tnftp
[-46AadefginpRtVv] [-b
bufsize] [-H
header] [-N
netrc] [-o
output] [-P
port] [-q
quittime] [-r
retry] [-s
srcaddr] [-T
dir,max[,inc]]
[-x xfersize]
[[user@]host
[port]]
[[user@]host:[path][/]]
[file:///path]
[ftp://[user[:password]@]host[:port]/path[/][;type=type]]
[http://[user[:password]@]host[:port]/path]
[https://[user[:password]@]host[:port]/path]
... tnftp
-u
url file ...
tnftp -?.Sh
-توضیحات
(DESCRIPTION) tnftp
رابط
کاربری
برای
پروتکل
استاندارد
اینترنتی
انتقال
فایل (File Transfer Protocol)
است. این
برنامه به
کاربر
امکان
میدهد
فایلها را
به یا از یک
میزبان
شبکهای
دوردست
انتقال
دهد.
پنج آرگومان پایانی یک فایل را با استفاده از پروتکلهای FTP یا HTTP یا از طریق رونویسی مستقیم، به دایرکتوری جاری دریافت میکنند. این قابلیت برای اسکریپتها ایدهآل است. برای اطلاعات بیشتر به AUTO-FETCHING FILES در ادامه مراجعه کنید.
گزینهها را میتوان در خط فرمان یا به مفسر دستور مشخص کرد.
-4tnftpرا وادار میکند تنها از نشانیهای IPv4 استفاده کند.-6tnftpرا وادار میکند تنها از نشانیهای IPv6 استفاده کند.-A- حالت فعال (active
mode) در FTP را
اجبار
میکند.
بهطور
پیشفرض،
tnftpتلاش میکند از حالت غیرفعال (passive mode) در FTP استفاده کند و در صورتی که سرور از حالت غیرفعال پشتیبانی نکند، به حالت فعال بازگردد. این گزینه باعث میشودtnftpهمیشه از یک اتصال فعال استفاده کند. این گزینه تنها برای اتصال به سرورهای بسیار قدیمی که حالت غیرفعال را بهدرستی پیادهسازی نکردهاند کاربرد دارد. -a- باعث
میشود
tnftpروال عادی ورود را نادیده گرفته و در عوض از ورود ناشناس (anonymous) استفاده کند. -bbufsize- اندازه
بافر
استفادهشده
برای تجزیه
خطوط پاسخ HTTP
را به bufsize
بایت تغییر
میدهد.
مقدار
پیشفرض
bufsize برابر
با
16384(16 KiB) است. -d- اشکالزدایی را فعال میکند.
-e- ویرایش خط فرمان را غیرفعال میکند. این گزینه برای حالت ange-ftp در Emacs مفید است.
-f- بارگذاری مجدد حافظه موقت (cache) را برای انتقالهایی که از پروکسیهای FTP یا HTTP عبور میکنند اجبار میکند.
-g- تطبیق الگوهای نام فایل (globbing) را غیرفعال میکند.
-Hheader- رشته header
ارائهشده
را به عنوان
یک سرایند
سفارشی HTTP
برای یک
درخواست HTTP
لحاظ
میکند.
گزینه
-Hمیتواند برای افزودن سرایندهای بیشتر تکرار شود. -i- درخواستهای تأیید تعاملی را در حین انتقال چندگانه فایلها غیرفعال میکند.
-Nnetrc- به جای ~/.netrc از netrc استفاده میکند. برای اطلاعات بیشتر به THE .netrc FILE مراجعه کنید.
-ntnftpرا از تلاش برای “auto-login” هنگام اتصال اولیه در انتقالهای غیر خودکار بازمیدارد. اگر ورود خودکار فعال باشد،tnftpفایل .netrc (در ادامه توضیح داده شده) در دایرکتوری خانگی کاربر را برای یافتن مدخلی مربوط به یک حساب در رایانه دوردست بررسی میکند. اگر مدخلی وجود نداشته باشد،tnftpنام کاربری برای ورود به رایانه دوردست را درخواست میکند (پیشفرض، شناسه کاربر در رایانه محلی است), و در صورت لزوم، گذرواژه و حسابی را که باید با آن وارد شود جویا میشود. برای لغو ورود خودکار در انتقالهای دریافت خودکار، نام کاربری (و در صورت تمایل، گذرواژه) را برحسب نیاز مشخص کنید.-ooutput- هنگام
دریافت
خودکار
فایلها،
محتویات را
در output
ذخیره
میکند.
output بر
اساس
FILE NAMING CONVENTIONS
در ادامه
تجزیه
میشود. اگر
output برابر
با ‘
-’ نبوده یا با ‘|’ آغاز نشود، آنگاه تنها اولین فایل مشخصشده در output دریافت خواهد شد؛ تمام فایلهای دیگر با نام پایه (basename) نام دوردست خود دریافت خواهند شد. -Pport- شماره پورت را به port تنظیم میکند.
-p- عملیات در
حالت
غیرفعال را
برای
استفاده در
پشت
فایروالهای
فیلترکننده
اتصالات
فعال
میکند. این
گزینه
منسوخ شده
است، زیرا
tnftpاکنون بهطور پیشفرض تلاش میکند از حالت غیرفعال استفاده کند و در صورتی که سرور از اتصالات غیرفعال پشتیبانی نکند به حالت فعال بازمیگردد. -qquittime- اگر اتصال به مدت quittime ثانیه متوقف بماند، برنامه را میبندد.
-R- تمام دریافتهای خودکار غیرپروکسیشده را از سر میگیرد.
-rretry- در صورت ناموفق بودن تلاش برای اتصال، با مکث به مدت retry ثانیه، مجدداً تلاش میکند.
-ssrcaddr- از srcaddr به عنوان نشانی IP محلی برای تمام اتصالات استفاده میکند.
-t- ردیابی بستهها (packet tracing) را فعال میکند.
-Tdirection,maximum[,increment]- حداکثر نرخ
انتقال
برای direction
را به maximum
بایت بر
ثانیه، و در
صورت
تعیین، گام
افزایش را
به increment
بایت بر
ثانیه
تنظیم
میکند.
برای
اطلاعات
بیشتر به
rateمراجعه کنید. -uurl file ...- فایلهای
مشخصشده
در خط فرمان
را به url
بارگذاری
میکند، که
در آن url
یکی از
انواع
نشانیهای
‘
ftp://’ پشتیبانیشده توسط دریافت خودکار (auto-fetch) است (همراه با یک نام فایل مقصد اختیاری برای بارگذاری تکفایل), و file یک یا چند فایل محلی است که باید بارگذاری شوند. -Vverboseوprogressرا غیرفعال میکند، و حالت پیشفرض فعال بودن هنگام ارسال خروجی به ترمینال را لغو میکند.-vverboseوprogressرا فعال میکند. این حالت در صورتی که خروجی به یک ترمینال ارسال شود، پیشفرض است.Po و در موردprogress,tnftpفرایند پیشزمینه باشد.tnftpرا وادار میکند تا تمام پاسخهای کارساز دوردست و همچنین گزارش آمارهای انتقال داده را نمایش دهد.-xxfersize- اندازه
بافرهای
ارسال و
دریافت
سوکت را روی
xfersize بایت
تنظیم
میکند.
برای
اطلاعات
بیشتر به
xferbufمراجعه کنید. -?- راهنما را در خروجی استاندارد نمایش داده و خارج میشود.
میزبانی
که tnftp
باید با آن
ارتباط
برقرار
کند،
میتواند
در خط فرمان
مشخص شود.
اگر چنین
شود، tnftp
بلافاصله
برای
برقراری
اتصال به یک
کارساز FTP
روی آن
میزبان
تلاش خواهد
کرد؛ در غیر
این صورت،
tnftp وارد
مفسر
دستورهای
خود شده و
منتظر
دستورهای
کاربر
میماند.
هنگامی که
tnftp منتظر
دستورهای
کاربر است،
اعلان
‘ftp>’ به
کاربر
نمایش داده
میشود.
دستورهای
زیر توسط
tnftp
شناخته
میشوند:
![command [args]]- یک شل تعاملی را روی ماشین محلی فراخوانی میکند. اگر آرگومانهایی وجود داشته باشد، اولین آرگومان به عنوان دستوری برای اجرای مستقیم در نظر گرفته میشود و بقیه آرگومانها به عنوان آرگومانهای آن عمل میکنند.
$macro-name [args]- ماکروی
macro-name را که
با دستور
macdefتعریف شده است اجرا میکند. آرگومانها بدون بسط الگو (unglobbed) به ماکرو ارسال میشوند. account[passwd]- گذرواژه تکمیلی مورد نیاز یک سیستم دوردست را برای دسترسی به منابع، پس از انجام موفقیتآمیز ورود به سیستم، ارائه میدهد. اگر هیچ آرگومانی ارائه نشود، در حالت ورودی بدون بازتاب از کاربر خواسته میشود تا گذرواژه حساب را وارد کند.
appendlocal-file [remote-file]- یک فایل
محلی را به
انتهای یک
فایل در
ماشین
دوردست
الحاق
میکند. اگر
remote-file مشخص
نشود، نام
فایل محلی
پس از اعمال
هرگونه
تغییر توسط
تنظیمات
ntransیاnmapبرای نامگذاری فایل دوردست استفاده میشود. انتقال فایل از تنظیمات جاری برایtype ،form ،modeوstructاستفاده میکند. ascii- مترادفی
برای
typeascii. bell- تنظیم میکند که پس از تکمیل هر دستور انتقال فایل، صدایی شبیه زنگ نواخته شود.
binary- مترادفی
برای
typebinary. bye- نشست FTP با
کارساز
دوردست را
خاتمه داده
و از
tnftpخارج میشود. رسیدن به انتهای فایل (EOF) نیز نشست را خاتمه داده و خارج میشود. case- تطبیق
بزرگی و
کوچکی حروف
نام فایل در
رایانه
دوردست را
هنگام
اجرای
دستورهای
get ،mgetوmputتغییر وضعیت میدهد. هنگامی کهcaseروشن است (پیشفرض خاموش است)، نام فایلهای رایانه دوردست که تمام حروف آنها بزرگ است، با تبدیل به حروف کوچک در دایرکتوری محلی نوشته میشوند. cdremote-directory- دایرکتوری کاری در ماشین دوردست را به remote-directory تغییر میدهد.
cdup- دایرکتوری کاری ماشین دوردست را به والد دایرکتوری کاری جاری ماشین دوردست تغییر میدهد.
chmodmode remote-file- حالتهای مجوز دسترسی فایل remote-file روی سیستم دوردست را به mode تغییر میدهد.
close- نشست FTP با کارساز دوردست را خاتمه داده و به مفسر دستور بازمیگردد. تمام ماکروهای تعریفشده پاک میشوند.
connecthost [port]- مترادفی
برای
open. cr- حذف نویسه
بازگشت به
سر سطر (carriage return)
را هنگام
دریافت
فایل در
حالت
typeasciiتغییر وضعیت میدهد. در طول انتقال فایل در حالتtypeascii ،رکوردها با دنباله carriage return/linefeed مشخص میشوند. هنگامی کهcrروشن باشد (حالت پیشفرض)، نویسههای بازگشت به سر سطر از این دنباله حذف میشوند تا با جداکننده رکورد تکlinefeed در UNIX مطابقت داشته باشند. رکوردها در سیستمهای دوردستِ non-UNIX ممکن است حاوی تکlinefeed باشند؛ هنگامی که یک انتقالtypeasciiانجام میشود، این linefeedها تنها زمانی از جداکننده رکورد قابل تفکیک هستند کهcrخاموش باشد. debug[debug-value]- حالت
اشکالزدایی
را تغییر
وضعیت
میدهد. اگر
مقدار
اختیاری
debug-value مشخص
شود، برای
تنظیم سطح
اشکالزدایی
استفاده
میشود.
هنگامی که
اشکالزدایی
فعال باشد،
tnftpهر دستور ارسالی به ماشین دوردست را با پیشوند رشته ‘-->’ چاپ میکند. deleteremote-file- فایل remote-file را روی ماشین دوردست حذف میکند.
dir[remote-path [local-file]]- فهرستی از
محتویات یک
دایرکتوری
در ماشین
دوردست را
چاپ میکند.
این فهرست
شامل
هرگونه
اطلاعات
وابسته به
سیستم است
که کارساز
برای
گنجاندن
انتخاب
میکند؛
برای
نمونه،
بیشتر
سیستمهای
UNIX خروجی
دستور ‘
ls -l’ را تولید خواهند کرد. اگر remote-path مشخص نشود، از دایرکتوری کاری جاری استفاده میشود. اگر اعلان تعاملی فعال باشد،tnftpاز کاربر میخواهد تا تأیید کند که آخرین آرگومان واقعاً فایل محلی مقصد برای دریافت خروجیdirاست. اگر هیچ فایل محلی مشخص نشود، یا اگر local-file برابر با ‘-’ باشد، خروجی به پایانه ارسال میشود. disconnect- مترادفی
برای
close. edit- ویرایش خط فرمان و تکمیل خودکار حساس به متن دستورها و فایلها را تغییر وضعیت میدهد. اگر ورودی از یک پایانه باشد، این ویژگی به طور خودکار فعال و در غیر این صورت غیرفعال میشود.
epsv,epsv4,epsv6- استفاده از
دستورهای
گسترشیافته
EPSVوEPRTرا به ترتیب در تمام اتصالات IP، IPv4 و IPv6 تغییر وضعیت میدهد. ابتداEPSV/EPRTو سپسPASV/PORTرا امتحان میکند. این گزینه به صورت پیشفرض فعال است. اگر یک دستور گسترشیافته با شکست مواجه شود، این گزینه به طور موقت در طول مدت اتصال جاری، یا تا زمانی کهepsv ،epsv4یاepsv6مجدداً اجرا شود، غیرفعال خواهد شد. exit- مترادفی
برای
bye. features- ویژگیهایی را که کارساز دوردست پشتیبانی میکند، نمایش میدهد.Pq با استفاده از دستور Dv FEAT .
fgetlocalfile- دریافت فایلهای فهرستشده در localfile که در هر سطر آن یک نام فایل قرار دارد.
formformat- تنظیم
کنترل قالب
انتقال
فایل به
format. قالب
پیشفرض (و
تنها قالب
پشتیبانیشده)
format برابر
با ‘
non-print’ است. ftphost [port]- مترادفی
برای
open. gate[host [port]]- تغییر
وضعیت حالت
gate-ftp، که برای
اتصال از
طریق
پیشکارهای
FTP مربوط به TIS FWTK
و Gauntlet به کار
میرفت. اگر
کارگزار gate-ftp
(خواه
بهطور
صریح توسط
کاربر،
خواه از
طریق متغیر
محیطی
FTPSERVER) تنظیم نشده باشد، این عمل مجاز نخواهد بود. اگر host مشخص شود، حالت gate-ftp فعال خواهد شد و کارگزار gate-ftp روی host تنظیم میشود. اگر port نیز مشخص شود، از آن بهعنوان درگاه اتصال به کارگزار gate-ftp استفاده خواهد شد. getremote-file [local-file]- دریافت
remote-file و
ذخیره آن
روی دستگاه
محلی. اگر
نام فایل
محلی مشخص
نشود، همان
نامی که در
دستگاه
دوردست
دارد به آن
اختصاص
داده
میشود، که
ممکن است بر
اثر
تنظیمات
فعلی
case,ntransوnmapتغییر یابد. تنظیمات فعلیtype,form,modeوstructدر حین انتقال فایل استفاده میشوند. glob- تغییر
وضعیت
گسترش نام
فایل برای
mdelete,mget,mputوmreget. اگر تطبیق الگو (globbing) باglobغیرفعال شود، آرگومانهای نام فایل بهصورت عینی در نظر گرفته شده و گسترش نمییابند. تطبیق الگو برایmputمانند csh(1) انجام میشود. برایmdelete,mgetوmreget, هر نام فایل دوردست بهطور جداگانه در دستگاه دوردست گسترش مییابد و فهرستها با یکدیگر ادغام نمیشوند. احتمالاً گسترش نام یک دایرکتوری با گسترش نام یک فایل معمولی متفاوت خواهد بود: نتیجه دقیق به سیستمعامل دوردست و کارگزار FTP بستگی دارد، و میتوان با اجرای دستور ‘mls remote-files -’ پیشنمایشی از آن را مشاهده کرد. نکته: دستورهایmget,mputوmregetبرای انتقال کل زیردرختهای دایرکتوری در نظر گرفته نشدهاند. این کار را میتوان با انتقال یک بایگانی tar(1) از آن زیردرخت، در حالتtypebinaryانجام داد. hash[size]- تغییر
وضعیت چاپ
علامت هش
(‘
#’) به ازای هر بلوک داده منتقلشده. اندازه پیشفرض هر بلوک داده ۱۰۲۴ بایت است. این مقدار را میتوان با مشخص کردن size به بایت تغییر داد. فعال کردنhashباعث غیرفعال شدنprogressمیشود. help[command]- چاپ یک پیام
اطلاعرسانی
درباره
معنی command.
اگر
آرگومانی
داده نشود،
tnftpفهرستی از دستورهای شناختهشده را چاپ میکند. idle[seconds]- تنظیم زمانسنج بیکاری در کارگزار دوردست روی seconds ثانیه. اگر seconds مشخص نشود، زمانسنج بیکاری فعلی چاپ میشود.
image- مترادفی
برای
typebinary. lcd[directory]- تغییر دایرکتوری کاری روی دستگاه محلی. اگر هیچ directory مشخص نشود، از دایرکتوری خانگی کاربر استفاده میشود.
lessfile- مترادفی
برای
page. lpagelocal-file- نمایش local-file
با
برنامهای
که توسط
گزینه
set pagerمشخص شده است. lpwd- چاپ دایرکتوری کاری روی دستگاه محلی.
ls[remote-path [local-file]]- مترادفی
برای
dir. macdefmacro-name- تعریف یک
ماکرو.
سطرهای
بعدی
بهعنوان
ماکروی
macro-name ذخیره
میشوند؛
یک سطر خالی
(نویسههای
خط جدید
متوالی در
یک فایل یا
بازگشت به
ابتدای سطر
از ترمینال)
به حالت
ورودی
ماکرو
پایان
میدهد.
محدودیت ۱۶
ماکرو و در
مجموع ۴۰۹۶
نویسه برای
تمامی
ماکروهای
تعریفشده
وجود دارد.
نام
ماکروها
حداکثر
میتواند ۸
نویسه باشد.
ماکروها
فقط برای
همان نشستی
که در آن
تعریف
شدهاند
اعمال
میشوند (یا
در صورت
تعریف خارج
از نشست،
برای نشستی
که با دستور
بعدی
openفراخوانی میشود) و تا زمان اجرای دستورcloseتعریفشده باقی میمانند. برای فراخوانی یک ماکرو، از دستور$استفاده کنید (به بالا رجوع کنید).پردازشگر ماکرو ‘
$’ و ‘\’ را بهعنوان نویسههای خاص تفسیر میکند. یک ‘$’ که پس از آن یک عدد (یا اعدادی) آمده باشد، با آرگومان متناظر در خط فرمان فراخوانی ماکرو جایگزین میشود. یک ‘$’ که پس از آن یک ‘i’ آمده باشد، به پردازشگر ماکرو اعلام میکند که ماکروی در حال اجرا باید تکرار شود (حلقه بزند). در دور نخست، ‘$i’ با اولین آرگومان در خط فرمان فراخوانی ماکرو جایگزین میشود، در دور دوم با دومین آرگومان جایگزین میشود، و به همین ترتیب. یک ‘\’ که پس از آن هر نویسهای بیاید، با همان نویسه جایگزین میشود. از ‘\’ برای جلوگیری از رفتار ویژه با ‘$’ استفاده کنید. mdelete[remote-files]- حذف remote-files روی دستگاه دوردست.
mdirremote-files local-file- مانند
دستور
dirاست، با این تفاوت که میتوان چندین فایل دوردست را مشخص کرد. اگر اعلان تعاملی فعال باشد،tnftpاز کاربر میخواهد تأیید کند که آخرین آرگومان واقعاً فایل محلی مقصد برای دریافت خروجیmdirاست. mgetremote-files- گسترش
remote-files روی
دستگاه
دوردست و
اجرای
دستور
getبرای هر نام فایل تولیدشده. برای جزئیات گسترش نام فایل بهglobمراجعه کنید. نامهای فایل حاصل طبق تنظیماتcase,ntransوnmapپردازش خواهند شد. فایلها به دایرکتوری کاری محلی منتقل میشوند، که باlcddirectory قابل تغییر است؛ دایرکتوریهای محلی جدید را میتوان با! mkdirdirectory ایجاد کرد. mkdirdirectory-name- ایجاد یک دایرکتوری روی دستگاه دوردست.
mlsremote-files local-file- مانند
دستور
lsاست، با این تفاوت که میتوان چندین فایل دوردست را مشخص کرد، و local-file باید مشخص شود. اگر اعلان تعاملی فعال باشد،tnftpاز کاربر میخواهد تأیید کند که آخرین آرگومان واقعاً فایل محلی مقصد برای دریافت خروجیmlsاست..It Ic mlsd Op Ar remote-path نمایش محتویات remote-path (که در صورت مشخص نشدن، پیشفرض آن دایرکتوری جاری خواهد بود) در قالبی ماشینخوان، با استفاده ازMLSD. قالب نمایش را میتوان با ‘remopts mlst...’ تغییر داد. mlst[remote-path]- نمایش
جزئیات
مربوط به
remote-path (که در
صورت مشخص
نشدن،
پیشفرض آن
دایرکتوری
جاری خواهد
بود) در
قالبی
ماشینخوان،
با استفاده
از
MLST. قالب نمایش را میتوان با ‘remopts mlst...’ تغییر داد. modemode-name- تنظیم حالت
ارسالِ
انتقال
فایل به
mode-name. مقدار
پیشفرض (و
تنها حالت
پشتیبانیشده)
برای mode-name
برابر
‘
stream’ است. modtimeremote-file- نمایش زمان
آخرین
تغییر فایل
در ماشین
دوردست، در
قالب
RFC 2822. morefile- مترادفی
برای
page. mputlocal-files- بسط دادن
نویسههای
عام (wildcards) در
فهرست
فایلهای
محلیِ
ارائهشده
بهعنوان
آرگومان و
انجام یک
putبرای هر فایل در فهرست حاصل. برای جزئیات بسط نام فایل،globرا ببینید. نام فایلهای حاصل سپس مطابق با تنظیماتntransوnmapپردازش خواهند شد. mregetremote-files- مانند
mget ،اما بهجایgetیکregetانجام میدهد. msendlocal-files- مترادفی
برای
mput. newerremote-file [local-file]- دریافت
فایل تنها
در صورتی که
زمان آخرین
تغییر فایل
دوردست،
تازهتر از
فایل در
سیستم جاری
باشد. اگر
فایل در
سیستم جاری
وجود
نداشته
باشد، فایل
دوردست
newer(تازهتر) تلقی میشود. در غیر این صورت، این دستور همارز باgetاست. nlist[remote-path [local-file]]- مترادفی
برای
ls. nmap[inpattern outpattern]- تنظیم یا
لغو
سازوکار
نگاشت نام
فایل. اگر
هیچ
آرگومانی
مشخص نشود،
سازوکار
نگاشت نام
فایل لغو
میشود. اگر
آرگومانها
مشخص شوند،
نام
فایلهای
دوردست
هنگام
دستورهای
mputو دستورهایputکه بدون نام فایل مقصد دوردست صادر شدهاند، نگاشت میشوند. اگر آرگومانها مشخص شوند، نام فایلهای محلی هنگام دستورهایmgetو دستورهایgetکه بدون نام فایل مقصد محلی صادر شدهاند، نگاشت میشوند. این دستور هنگام اتصال به یک رایانهٔ دوردست non-UNIX با قراردادها یا رویههای متفاوت نامگذاری فایل سودمند است. این نگاشت از الگوی تعیینشده توسط inpattern و outpattern پیروی میکند.inpattern الگویی برای نام فایلهای ورودی است (که ممکن است تا پیش از این مطابق با تنظیمات
ntransوcaseپردازش شده باشند). الگوسازی متغیرها با گنجاندن توالیهای ‘$1’, ‘$2’, ..., ‘$9’ در inpattern انجام میپذیرد. از ‘\’ برای جلوگیری از این رفتار ویژه با نویسهٔ ‘$’ استفاده کنید. تمامی نویسههای دیگر بهصورت لفظی تلقی میشوند و برای تعیین مقادیر متغیرnmap[inpattern] به کار میروند. برای نمونه، با فرض inpattern برابر ‘$1.$2’ و نام فایل دوردست ‘mydata.data ،’ متغیر ‘$1’ دارای مقدار ‘mydata’ و ‘$2’ دارای مقدار ‘data’ خواهد بود.الگوی outpattern نام فایلِ نگاشتشدهٔ حاصل را تعیین میکند. توالیهای ‘
$1’, ‘$2’, ..., ‘$9’ با هر مقداری که از الگوی inpattern حاصل شود جایگزین میشوند. توالی ‘$0’ با نام فایل اصلی جایگزین میشود. علاوه بر این، توالی[seq1,seq2]در صورتی که seq1 یک رشتهٔ تهی نباشد با seq1 جایگزین میشود؛ در غیر این صورت با seq2 جایگزین خواهد شد. برای نمونه، دستورnmap $1.$2.$3 [$1,$2].[$2,file]نام فایل خروجی ‘
myfile.data’ را برای نامهای ورودی ‘myfile.data’ و ‘myfile.data.old ،’ نام فایل ‘myfile.file’ را برای نام ورودی ‘myfile ،’ و ‘myfile.myfile’ را برای نام فایل ورودی ‘.myfile’ تولید میکند. فاصلهها ممکن است در outpattern گنجانده شوند، همانگونه که در این مثال نشان داده شده است:nmap $1 sed s/ *$// > $1از نویسهٔ ‘
\’ برای جلوگیری از رفتار ویژه با نویسههای ‘$’, ‘[’, ‘]’, و ‘,’ استفاده کنید. ntrans[inchars [outchars]]- تنظیم یا
لغو
سازوکار
تبدیل
نویسههای
نام فایل.
اگر هیچ
آرگومانی
مشخص نشود،
سازوکار
تبدیل
نویسههای
نام فایل
لغو میشود.
اگر
آرگومانها
مشخص شوند،
نویسهها
در نام
فایلهای
دوردست
هنگام
دستورهای
mputو دستورهایputکه بدون نام فایل مقصد دوردست صادر شدهاند، تبدیل میشوند. اگر آرگومانها مشخص شوند، نویسهها در نام فایلهای محلی هنگام دستورهایmgetو دستورهایgetکه بدون نام فایل مقصد محلی صادر شدهاند، تبدیل میشوند. این دستور هنگام اتصال به یک رایانهٔ دوردست non-UNIX با قراردادها یا رویههای متفاوت نامگذاری فایل سودمند است. نویسههایی از نام فایل که با نویسهای در inchars مطابقت داشته باشند با نویسهٔ متناظر در outchars جایگزین میشوند. اگر موقعیت نویسه در inchars بزرگتر از طول outchars باشد، آن نویسه از نام فایل حذف میشود. openhost [port]- برقراری
اتصال به
کارساز FTP
مشخصشده
در host.
میتوان یک
شماره
درگاه
اختیاری را
مشخص کرد که
در این
صورت،
tnftpتلاش خواهد کرد تا با یک کارساز FTP در آن درگاه ارتباط برقرار کند. اگر گزینهٔset auto-loginروشن باشد (پیشفرض)،tnftpهمچنین تلاش خواهد کرد تا کاربر را بهطور خودکار به کارساز FTP وارد کند (پایین را ببینید). pagefile- دریافت
fileو نمایش آن با برنامهای که توسط گزینهٔset pagerمشخص شده است. passive[auto]- تغییر
وضعیت حالت
غیرفعال (passive)
(در صورتی
که هیچ
آرگومانی
داده نشود).
اگر
autoداده شود، چنان عمل میکند که گوییFTPMODEروی ‘auto’ تنظیم شده است. اگر حالت غیرفعال روشن باشد (پیشفرض)،tnftpبرای تمام اتصالات داده یک دستورPASVارسال خواهد کرد، بهجای یکدستورPORT. دستورPASVدرخواست میکند که سرور دوردست یک درگاه برای اتصال داده باز کند و نشانی آن درگاه را بازگرداند. سرور دوردست به آن درگاه گوش فرا میدهد و کلاینت به آن متصل میشود. هنگام استفاده از دستور سنتیترPORT، کلاینت به یک درگاه گوش فرا میدهد و آن نشانی را به سرور دوردست ارسال میکند، که متعاقباً به آن وصل میشود. حالت غیرفعال (Passive mode) هنگامی مفید است که ازtnftpاز طریق یک مسیریاب دروازه (gateway router) یا میزبانی که جهت ترافیک را کنترل میکند، استفاده شود. (توجه داشته باشید هرچند طبقRFC 1123سرورهای FTP ملزم به پشتیبانی از دستورPASVهستند، برخی از آنها این کار را نمیکنند.) pdir[remote-path]- دستور
dir[remote-path] را اجرا کرده و نتیجه را با برنامهای که توسط گزینهٔset pagerمشخص شده است نمایش میدهد. pls[remote-path]- دستور
ls[remote-path] را اجرا کرده و نتیجه را با برنامهای که توسط گزینهٔset pagerمشخص شده است نمایش میدهد. pmlsd[remote-path]- دستور
mlsd[remote-path] را اجرا کرده و نتیجه را با برنامهای که توسط گزینهٔset pagerمشخص شده است نمایش میدهد. preserve- وضعیت حفظ زمانهای تغییر روی فایلهای دریافتشده را تغییر میدهد.
progress- نمایش نوار
پیشرفت
انتقال را
فعال یا
غیرفعال
میکند.
نوار
پیشرفت
برای
انتقالی که
local-file آن
‘
-’ یا دستوری باشد که با ‘|’ شروع میشود غیرفعال خواهد شد. برای اطلاعات بیشتر به FILE NAMING CONVENTIONS مراجعه کنید. فعال کردنprogressدستورhashرا غیرفعال میکند. prompt- حالت اعلان
تعاملی را
فعال یا
غیرفعال
میکند.
اعلان
تعاملی در
طول انتقال
چند فایل رخ
میدهد تا
به کاربر
امکان دهد
فایلها را
بهصورت
انتخابی
دریافت یا
ذخیره کند.
اگر اعلان
غیرفعال
باشد
(پیشفرض
فعال است)،
هر دستور
mgetیاmputهمهٔ فایلها را منتقل خواهد کرد، و هر دستورmdeleteهمهٔ فایلها را حذف خواهد نمود.هنگامی که اعلان فعال است، دستورهای زیر در اعلان در دسترس هستند:
هر پاسخ دیگری به عنوان ‘yes’ برای فایل فعلی در نظر گرفته خواهد شد.
proxyftp-command- یک دستور FTP
را روی یک
اتصال
کنترلی
ثانویه
اجرا
میکند. این
دستور
امکان
اتصال
همزمان به
دو سرور FTP
دوردست را
جهت انتقال
فایلها
بین آن دو
سرور فراهم
میسازد.
نخستین
دستور
proxyباید یکopenباشد، تا اتصال کنترلی ثانویه برقرار گردد. دستور ‘proxy ?’ را برای مشاهدهٔ سایر دستورهای FTP قابل اجرا در اتصال ثانویه وارد کنید. دستورهای زیر هنگامی که پیشوندproxyداشته باشند، رفتار متفاوتی خواهند داشت:openماکروهای جدیدی در طول فرآیند ورود خودکار تعریف نخواهد کرد،closeتعاریف ماکروهای موجود را پاک نخواهد کرد،getوmgetفایلها را از میزبان در اتصال کنترلی اولیه به میزبان در اتصال کنترلی ثانویه منتقل میکنند، وput،mputوappendفایلها را از میزبان در اتصال کنترلی ثانویه به میزبان در اتصال کنترلی اولیه منتقل مینمایند. انتقال فایل شخص ثالث به پشتیبانی از دستورPASVدر پروتکل FTP توسط سرور روی اتصال کنترلی ثانویه بستگی دارد. putlocal-file [remote-file]- یک فایل
محلی را روی
ماشین
دوردست
ذخیره
میکند. اگر
remote-file مشخص
نشده باقی
بماند، نام
فایل محلی
پس از
پردازش
مطابق با هر
یک از
تنظیمات
ntransیاnmapبرای نامگذاری فایل دوردست استفاده میشود. انتقال فایل از تنظیمات فعلی برایtype،form،modeوstructاستفاده میکند. pwd- نام دایرکتوری کاری فعلی روی ماشین دوردست را چاپ میکند.
quit- مترادفی
برای
bye. quote[arg ...]- آرگومانهای مشخصشده عیناً به سرور FTP دوردست ارسال میشوند.
ratedirection [maximum [increment]]- حداکثر نرخ
انتقال را
به maximum
بایت بر
ثانیه
محدود
میکند. اگر
maximum برابر
با 0 باشد،
محدودیت را
غیرفعال
میکند..Pp
مقدار direction
میتواند
یکی از
موارد زیر
باشد:
مقدار maximum میتواند در حین اجرا به اندازهٔ increment بایت (پیشفرض: ۱۰۲۴) با هر بار دریافت یک سیگنال مشخص تغییر یابد:
اگر maximum مشخص نشود، نرخهای محدودسازی فعلی نمایش داده میشوند.
نکته:
rateهنوز برای انتقالهایtypeasciiپیادهسازی نشده است. rcvbufsize- تنظیم اندازهٔ بافر دریافت سوکت به size.
recvremote-file [local-file]- مترادفی
برای
get. regetremote-file [local-file]- دستور
regetمانندgetعمل میکند، با این تفاوت که اگر local-file وجود داشته باشد و کوچکتر از remote-file باشد، فرض میشود که local-file یک رونوشت با انتقال ناقص از remote-file است و انتقال از نقطهٔ قطعیِ به نظر رسیده ادامه مییابد. این دستور هنگام انتقال فایلهای بسیار بزرگ روی شبکههایی که مستعد قطع اتصال هستند مفید است. remoptscommand [command-options]- تنظیم
گزینهها
روی
کارگزار
دوردست FTP
برای command
به command-options (که
نبود آن بر
مبنای هر
دستور به
طور خاص
مدیریت
میشود).
دستورهای
دوردست FTP که
پشتیبانی
آنها از
گزینهها
شناخته شده
است
عبارتند از:
MLST(استفاده شده برایMLSDوMLST). rename[from [to]]- تغییر نام فایل from در دستگاه دوردست به فایل to.
reset- پاک کردن صف پاسخ. این دستور ترتیب دستور/پاسخ را با کارگزار دوردست FTP مجدداً همگامسازی میکند. همگامسازی مجدد ممکن است پس از نقض پروتکل FTP توسط کارگزار دوردست ضروری باشد.
restartmarker- شروع مجدد
دستور
بلافاصله
بعدیِ
getیاputدر marker مشخصشده. در سامانههای UNIX ، نشانگر معمولاً یک آفست بایتی درون فایل است. rhelp[command-name]- درخواست راهنما از کارگزار دوردست FTP. اگر یک command-name مشخص شده باشد، آن نیز به کارگزار ارسال میشود.
rmdirdirectory-name- حذف یک دایرکتوری در دستگاه دوردست.
rstatus[remote-file]- بدون آرگومان، وضعیت دستگاه دوردست را نمایش میدهد. اگر remote-file مشخص شده باشد، وضعیت remote-file در دستگاه دوردست را نشان میدهد.
runique- تغییر
وضعیت
ذخیرهسازی
فایلها در
سامانهٔ
محلی با
نامهای
یکتا. اگر
فایلی از
پیش با نامی
برابر با
نام فایل
محلیِ هدف
برای یک
دستور
getیاmgetوجود داشته باشد، یک ‘.1’ به انتهای نام اضافه میشود. اگر نام حاصل با فایل موجود دیگری مطابقت داشته باشد، یک ‘.2’ به نام اصلی افزوده میشود. اگر این روند تا ‘.99’ ادامه یابد، یک پیام خطا چاپ شده و انتقال انجام نخواهد شد. نام فایل یکتای تولید شده گزارش میشود. توجه داشته باشید کهruniqueبر فایلهای محلی تولید شده از یک دستور پوسته تأثیری نخواهد داشت (به بخش زیر مراجعه کنید). مقدار پیشفرض غیرفعال (off) است. sendlocal-file [remote-file]- مترادفی
برای
put. sendport- تغییر
وضعیت
استفاده از
دستورهای
PORT. بهطور پیشفرض،tnftpهنگام برقراری اتصال برای هر انتقال داده تلاش میکند از یک دستورPORTاستفاده کند. استفاده از دستورهایPORTمیتواند از تأخیرها هنگام انتقال چندگانهٔ فایلها جلوگیری کند. اگر دستورPORTناموفق باشد،tnftpاز درگاه دادهٔ پیشفرض استفاده خواهد کرد. هنگامی که استفاده از دستورهایPORTغیرفعال باشد، هیچ تلاشی برای استفاده از دستورهایPORTبرای هر انتقال داده صورت نخواهد گرفت. این امر برای برخی پیادهسازیهای FTP که دستورهایPORTرا نادیده میگیرند اما به نادرستی اعلام میکنند که پذیرفته شدهاند، مفید است. set[option value]- تنظیم option
به value. اگر
option و value
داده
نشوند،
همهٔ
گزینهها و
مقادیر
آنها
نمایش داده
میشوند.
مقدارهای
پشتیبانیشده
برای option
عبارتند از:
anonpass- بهطور
پیشفرض
$FTPANONPASS ftp_proxy- بهطور
پیشفرض
$ftp_proxy. http_proxy- بهطور
پیشفرض
$http_proxy. https_proxy- بهطور
پیشفرض
$https_proxy. no_proxy- بهطور
پیشفرض
$no_proxy. pager- بهطور
پیشفرض
$PAGER. prompt- بهطور
پیشفرض
$FTPPROMPT. rprompt- بهطور
پیشفرض
$FTPRPROMPT. sslnoverify- بهطور
پیشفرض
$FTPSSLNOVERIFY.
site[arg ...]- آرگومانهای
مشخصشده
عینا
بهعنوان
یک دستور
SITEبه کارگزار دوردست FTP ارسال میشوند. sizeremote-file- بازگرداندن اندازهٔ remote-file در دستگاه دوردست.
sndbufsize- تنظیم اندازهٔ بافر ارسال سوکت به size.
status- نمایش
وضعیت فعلی
tnftp. structstruct-name- تنظیم
ساختارهای
دادهٔ
انتقال
فایل به
struct-name. تنها
struct-name
پشتیبانیشده
(و پیشفرض)
‘
file’ است. sunique- تغییر
وضعیت
ذخیرهسازی
فایلها در
دستگاه
دوردست با
نامهای
فایل یکتا.
کارگزار
دوردست FTP
باید
پشتیبانی
کنددستور
STOUپروتکل FTP برای اتمام موفقیتآمیز لازم است. سرور دوردست نام یکتا را گزارش خواهد کرد. مقدار پیشفرض off است. system- نمایش نوع سیستمعامل در حال اجرا روی ماشین دوردست.
tenex- مترادفی
برای
typetenex. throttle- مترادفی
برای
rate. trace- تغییر وضعیت ردگیری بستهها.
type[type-name]- تنظیم نوع دادهٔ انتقال فایل به type-name. اگر هیچ نوعی مشخص نشود، نوع کنونی چاپ میشود. مقدارهای پشتیبانیشده برای type-name عبارتند از:
umask[newmask]- تنظیم umask پیشفرض در سرور دوردست روی newmask. اگر newmask مشخص نشود، umask کنونی چاپ میشود.
unsetoption- لغو تنظیم
option. برای
اطلاعات
بیشتر به
setمراجعه کنید. usagecommand- چاپ پیام نحوهٔ استفاده برای command.
useruser-name [password [account]]- شناسایی
هویت خود در
سرور FTP
دوردست. اگر
password مشخص
نشده باشد و
سرور به آن
نیاز داشته
باشد،
tnftpآن را از کاربر درخواست خواهد کرد (پس از غیرفعال کردن پژواک محلی). اگر فیلد account مشخص نشده باشد و سرور FTP به آن نیاز داشته باشد، از کاربر درخواست خواهد شد. اگر فیلد account مشخص شده باشد، چنانچه سرور دوردست برای ورود به آن نیازی نداشته باشد، پس از تکمیل توالی ورود، یک دستور account به سرور دوردست ارسال خواهد شد. مگر اینکهtnftpبا غیرفعال بودن “auto-login” فراخوانی شده باشد، این فرایند بهطور خودکار در اتصال اولیه به سرور FTP انجام میشود. verbose- تغییر وضعیت حالت پرگویی (verbose). در حالت پرگویی، تمام پاسخهای سرور FTP به کاربر نمایش داده میشوند. علاوه بر این، اگر حالت پرگویی روشن باشد، هنگام تکمیل انتقال فایل، آمارهای مربوط به کارایی انتقال گزارش میشوند. بهطور پیشفرض، حالت پرگویی روشن است.
xferbufsize- تنظیم اندازهٔ بافرهای ارسال و دریافت سوکت روی size. اگر size برابر با 0 باشد، از مقدارهای پیشفرض سیستمعامل استفاده میشود.
?[command]- مترادفی
برای
help.
آرگومانهای
دستوری که
دارای
فاصلههای
درونی
هستند
میتوانند
درون
نشانههای
نقلقول
‘"’
قرار
گیرند.
دستورهایی
که تنظیمات
را تغییر
وضعیت
میدهند
میتوانند
یک آرگومان
صریح on یا
off
بپذیرند تا
وضعیت
تنظیمات را
بهطور
مناسب
اعمال
کنند.
دستورهایی
که یک شمارش
بایت را به
عنوان
آرگومان
دریافت
میکنند
(بهعنوان
مثال، hash
، rate و
xferbuf) از یک
پسوند
اختیاری
روی
آرگومان
پشتیبانی
میکنند که
تفسیر
آرگومان را
تغییر
میدهد.
پسوندهای
پشتیبانیشده
عبارتند
از:
اگر tnftp
در حین
انجام یک
انتقال،
سیگنال
SIGINFO
(آرگومان
status از
stty(1) را
ببینید) یا
SIGQUIT را
دریافت
کند،
آمارهای
نرخ انتقال
کنونی در
خروجی خطای
استاندارد
و در همان
قالب پیام
تکمیل
استاندارد
نوشته
خواهند شد..Sh
"دریافت
خودکار
فایلها (AUTO-FETCHING
FILES)" علاوه بر
دستورهای
استاندارد،
این نسخه از
tnftp از
قابلیت
دریافت
خودکار (auto-fetch)
پشتیبانی
میکند.
برای فعال
کردن
دریافت
خودکار،
کافی است
فهرستی از
نامهای
میزبان/فایلها
را در خط
فرمان مشخص
کنید.
قالبهای زیر نحو معتبری برای یک جزء دریافت خودکار هستند:
- [user
@]host:[path][/] - قالب
“کلاسیک” FTP.
اگر path حاوی یک نویسهٔ تطبیق الگو (glob) باشد و قابلیت globbing فعال باشد، (ببینید
glob), آنگاه معادل دستورmgetpath اجرا میشود.اگر جزء دایرکتوری از path هیچ نویسهٔ تطبیق الگویی نداشته باشد، بهصورت محلی با نام basename (ببینید basename(1)) مربوط به
path, در دایرکتوری جاری ذخیره میشود. در غیر این صورت، نام کامل دوردست بهعنوان نام محلی، نسبت به دایرکتوری ریشهٔ محلی استفاده میشود. ftp://[user[:password]@]host[:port]/path[/][;type=type]- یک FTP URL که در
صورت تعریف
نشدن
set ftp_proxyبا استفاده از پروتکل FTP دریافت میشود. در غیر این صورت، URL با استفاده از HTTP از طریق پراکسی تعریفشده درset ftp_proxyانتقال مییابد. اگرset ftp_proxyتعریف نشده باشد و user داده شده باشد، ورود به سیستم با عنوان user انجام میشود. در این حالت، در صورت ارائه از password استفاده میشود؛ در غیر این صورت رمز عبور از کاربر درخواست خواهد شد.اگر پسوند ‘
;type=A’ یا ‘;type=I’ ارائه شود، آنگاه نوع انتقال (به ترتیب) بهصورتtypeasciiیاtypebinaryانجام خواهد شد. نوع پیشفرض انتقالtypebinaryاست.بهمنظور سازگاری با
RFC 3986, ابزارtnftpبخش path از یک URL دریافت خودکارِ ‘ftp://’ را به صورت زیر تفسیر میکند:- نویسهٔ
‘
/’ بلافاصله پس از host[:port] بهعنوان یک جداکننده پیش از path تفسیر میشود، نه بهعنوان بخشی از خود path. - مسیر path
بهصورت
فهرستی از
اجزای نام
که با
‘
/’ جدا شدهاند تفسیر میشود. برای همهٔ این اجزا به جز آخرین جزء،tnftpمعادل یک دستورcdرا اجرا میکند. برای آخرین جزء مسیر،tnftpمعادل یک دستورgetرا اجرا میکند. - اجزای نام
خالی، که
از وجود
‘
//’ درون path یا از یک ‘/’ اضافی در ابتدای path ناشی میشوند، موجب اجرای معادل یک دستورcdبدون نام دایرکتوری خواهند شد. بعید است این مورد مفید باشد. - هر کُد
‘
%XX’ (طبقRFC 3986) درون اجزای مسیر رمزگشایی میشود، که در آن XX نشاندهندهٔ کُد یک نویسه در مبنای شانزده (هگزادسیمال) است. این رمزگشایی پس از تقسیم path به اجزای سازنده، اما پیش از استفاده از هر جزء در معادل یک دستورcdیاgetانجام میشود. برخی کدهای پرکاربرد عبارتاند از ‘%2F’ (که نشاندهندهٔ ‘/’ است) و ‘%7E’ (که نشاندهندهٔ ‘~’ است).
تفسیر بالا پیامدهای زیر را به همراه دارد:
- مسیر نسبت
به
دایرکتوری
پیشفرضِ
ورود
کاربر
مشخصشده
یا کاربر
‘anonymous’ تفسیر
میشود.
اگر
دایرکتوری
/ مورد
نیاز است،
از مسیر
آغازینِ
‘
%2F’ استفاده کنید. اگر دایرکتوری خانگی یک کاربر مورد نیاز باشد (و سرور دوردست از این نحو پشتیبانی کند ،) از مسیر آغازینِ ‘%7Euser’ استفاده کنید. برای نمونه، جهت دریافت /etc/motd از ‘/localhost’ بهعنوان کاربر ‘myname’ با رمز عبور ‘mypass ،’ از ‘ftp://myname:mypass@localhost/%2fetc/motd’ استفاده کنید. - دستورهای
دقیق
cdوgetرا میتوان با انتخاب دقیق محل استفاده از ‘/’ و محل استفاده از ‘%2F’ (یا ‘%2f’) کنترل کرد. برای نمونه، نشانیهای URL زیر متناظر با معادلهای دستورهای مشخصشده هستند: - باید مجوز
دسترسی
مناسب
برای هر یک
از
دایرکتوریهای
میانی که
در معادل
یک دستور
cdبهکار میروند، داشته باشید.
- نویسهٔ
‘
http://[user[:password]@]host[:port]/path- یک نشانی HTTP (URL)
که با
استفاده از
پروتکل HTTP
دریافت
میشود. اگر
set http_proxyتعریف شده باشد، بهعنوان URL یک سرور پراکسی HTTP استفاده میشود. اگر برای دریافت path به مجوزدهی HTTP نیاز باشد، و user (و بهصورت اختیاری password) در URL موجود باشد، از آنها در نخستین تلاش برای احراز هویت استفاده میشود.. https://[user[:password]@]host[:port]/path- یک نشانی HTTPS
که با
استفاده از
پروتکل HTTPS
دریافت
میشود. اگر
set https_proxyتعریف شده باشد، بهعنوان نشانی یک کارساز پراکسی HTTPS بهکار میرود. اگر برای دریافت path به احراز هویت HTTPS نیاز باشد، و user (و در صورت تمایل password) در نشانی مشخص شده باشند، در نخستین تلاش برای احراز هویت از آنها استفاده میشود. file:///path- یک نشانی محلی، کپیشده از /path روی میزبان محلی.
about:topic- نمایش
اطلاعات
دربارهٔ
topic ؛ هیچ
فایلی برای
این عنصرِ
دریافتِ
خودکار
واکشی
نمیشود.
مقدارهای
پشتیبانیشده
عبارتند از:
about:ftp- اطلاعاتی
دربارهٔ
tnftp. about:version- نسخهٔ
tnftp. ارائهٔ آن هنگام گزارش مشکلات سودمند است.
مگر در
مواردی که
در بالا به
گونهٔ
دیگری ذکر
شده باشد، و
اگر -o
output داده
نشده باشد،
فایل در
دایرکتوری
جاری با نام
basename(1)
مربوط به
path ذخیره
میشود.
توجه داشته
باشید که در
صورت
دریافت
تغییر مسیر
HTTP ، عملیات
واکشی با
استفاده از
نشانی هدف
جدید
ارائهشده
توسط
کارساز، و
با path جدید
متناظر
دوباره
تلاش
میشود.
برای
جلوگیری از
نوشتن روی
نامهای
فایل
غیرمنتظره،
استفاده از
-o output
بهطور
صریح توصیه
میشود.
اگر یک
قالب
کلاسیک یا
قالب نشانی
FTP دارای یک
‘/’ در
انتها یا یک
مؤلفهٔ path
خالی باشد،
آنگاه
tnftp به
پایگاه
متصل شده و
به
دایرکتوری
دادهشده
بهعنوان
مسیر cd
میکند، و
کاربر را در
حالت
تعاملی و
آماده برای
ورودی
بیشتر رها
میسازد.
اگر از set
ftp_proxy استفاده
شود، این
سازوکار
کار نخواهد
کرد.
انتقالهای مستقیم HTTP از HTTP 1.1 استفاده میکنند. انتقالهای پراکسیشدهٔ FTP و HTTP از HTTP 1.0 استفاده میکنند.
اگر -R
داده شود،
تمام
دریافتهای
خودکاری که
از طریق
پراکسیهای
FTP یا HTTP انجام
نمیشوند،
از سر گرفته
خواهند شد.
برای FTP ، این
قابلیت با
استفاده از
reget
بهجای get
پیادهسازی
شده است.
برای HTTP ، این
ویژگی با
استفاده از
دستورالعمل
‘Range: bytes=’ در HTTP/1.1
پیادهسازی
شده است.
اگر احراز هویت WWW یا احراز هویت پراکسی WWW لازم باشد، برای وارد کردن نام کاربری و گذرواژه جهت احراز هویت از شما درخواست خواهد شد.
هنگام
مشخص کردن
نشانیهای
عددی IPv6 در یک
نشانی
اینترنتی،
باید نشانی
را در کروشه
قرار دهید.
برای نمونه:
‘ftp://[::1]:21/’.
دلیل این
امر این است
که دونقطه
هم در نشانی
عددی IPv6 و هم
بهعنوان
جداکنندهٔ
شمارهٔ
درگاه
استفاده
میشود..Sh
"لغو
انتقال
فایل (ABORTING A FILE TRANSFER)"
برای لغو یک
انتقال
فایل، از
کلید وقفه
پایانه
(معمولاً Ctrl-C)
استفاده
کنید.
انتقالهای
ارسالی
فوراً
متوقف
خواهند شد.
انتقالهای
دریافتی با
ارسال یک
دستور ABOR
پروتکل FTP به
سرور
دوردست و
نادیده
گرفتن
هرگونه
داده
دریافتی
بعدی،
متوقف
خواهند شد.
سرعتی که
این کار در
آن انجام
میشود به
پشتیبانی
سرور
دوردست از
پردازش
ABOR بستگی
دارد. اگر
سرور
دوردست از
دستور ABOR
پشتیبانی
نکند، خط
فرمان تا
زمانی که
سرور
دوردست
ارسال فایل
درخواستی
را به پایان
نرساند،
ظاهر
نخواهد شد.
اگر توالی
کلید وقفه
پایانه
زمانی
استفاده
شود که tnftp
در انتظار
دریافت
پاسخ از
سرور
دوردست
برای
پردازش
ABOR است،
اتصال بسته
خواهد شد.
این کار با
رفتار سنتی
(که وقفه
پایانه را
در این
مرحله
نادیده
میگیرد)
تفاوت
دارد، اما
کاربردیتر
در نظر
گرفته
میشود.
قراردادهای نامگذاری فایل (FILE NAMING CONVENTIONS)
فایلهایی
که به عنوان
آرگومان به
دستورات
tnftp داده
میشوند،
بر اساس
قواعد زیر
پردازش
میشوند.
- اگر نام
فایل ‘
-’ مشخص شده باشد، stdin (برای خواندن) یا stdout (برای نوشتن) استفاده میشود. - اگر نخستین
نویسه نام
فایل
‘
|’, باشد، باقیمانده آرگومان به عنوان یک دستور پوسته (shell) تفسیر میشود. سپسtnftpبا استفاده از popen(3) و آرگومان دادهشده، یک پوسته را اجرا (fork) کرده و از stdout میخواند (یا در stdin مینویسد). اگر دستور پوسته شامل فاصله باشد، آرگومان باید در نقلقول قرار گیرد؛ به عنوان مثال ‘"| ls -lt"’. یک مثال بهویژه کاربردی از این سازوکار عبارت است از: ‘dir "" |more’. - در صورت عدم
برقراری
بررسیهای
بالا، اگر globbing
فعال باشد،
نامهای
فایل محلی
بر اساس
قواعد
استفادهشده
در csh(1);
گسترش
مییابند؛
دستور
globرا ببینید. اگر دستورtnftpانتظار یک فایل محلی واحد را داشته باشد (مانندput), تنها نخستین نام فایل ایجادشده توسط عملیات globbing استفاده میشود. - برای
دستورات
mgetو دستوراتgetبا نام فایل محلی مشخصنشده، نام فایل محلی همان نام فایل دوردست خواهد بود که ممکن است با یکی از تنظیماتcase,ntrans, یاnmapتغییر داده شود. سپس در صورت روشن بودنrunique, نام فایل حاصل ممکن است تغییر یابد. - برای
دستورات
mputو دستوراتputبا نام فایل دوردست مشخصنشده، نام فایل دوردست همان نام فایل محلی است که ممکن است توسط یکی از تنظیماتntransیاnmapتغییر یابد. اگرsuniqueروشن باشد، نام فایل حاصل ممکن است توسط سرور دوردست تغییر یابد. مشخصات FTP در RFC 959 پارامترهای بسیاری را تعیین میکند که ممکن است بر انتقال فایل تأثیر بگذارند.نوع داده پارامتر انتقال فایل به عنوان یکی از موارد “نوع ASCII”, “نوع EBCDIC”, “نوع image” (که با عنوان binary نیز شناخته میشود)، و “نوع local” (عمدتاً برای سامانههای PDP-10 و PDP-20) مشخص میشود.
tnftpتنهاtypeascii,typebinary,typeimageوtypetenexبا اندازه بایت محلی ۸ را پیادهسازی میکند.tnftpتنها از مقادیر پیشفرض برای سایر پارامترهای انتقال فایل از طریق دستورهای زیر پشتیبانی میکند:mode,formوstruct.
فایل .netrc (THE .netrc FILE)
فایل .netrc
حاوی
اطلاعات
ورود و
مقداردهی
اولیه است
که توسط
فرایند
ورود
خودکار
استفاده
میشود. این
فایل در
دایرکتوری
خانگی
کاربر قرار
دارد، مگر
اینکه با
گزینه -N
netrc
بازنویسی
شده یا در
متغیر
محیطی NETRC
مشخص شده
باشد.
توکنهای
زیر
شناسایی
میشوند؛
آنها
میتوانند
با فاصله،
تب یا خط
جدید از
یکدیگر جدا
شوند:
machinename- یک ماشین
دوردست با
نام name را
مشخص
میکند.
فرایند
ورود
خودکار
فایل .netrc
را برای
یافتن توکن
machineکه با ماشین دوردستِ مشخصشده در خط فرمانtnftpیا به عنوان آرگومان دستورopenمطابقت دارد، جستجو میکند. به محض یافتن تطابق، توکنهای بعدی در .netrc پردازش میشوند و با رسیدن به انتهای فایل یا مواجهه با یک توکنmachineدیگر یا یک توکنdefaultمتوقف میشود. default- این توکن
همانند
machinename است، با این تفاوت کهdefaultبا هر نامی مطابقت مییابد. تنها یک توکنdefaultمیتواند وجود داشته باشد، و باید پس از تمام توکنهایmachineقرار گیرد. این مورد معمولاً به صورت زیر استفاده میشود:default login anonymous password user@siteو بدین ترتیب ورود خودکار و ناشناس FTP را برای ماشینهایی که در .netrc مشخص نشدهاند برای کاربر فراهم میکند. این رفتار را میتوان با استفاده از پرچم
-nبرای غیرفعال کردن ورود خودکار نادیده گرفت. loginname- یک کاربر را در ماشین دوردست مشخص میکند. در صورت وجود این توکن، فرایند ورود خودکار با استفاده از name مشخصشده اقدام به ورود میکند.
passwordstring- یک گذرواژه
ارائه
میدهد. در
صورت وجود
این توکن،
چنانچه
کارگزار
دوردست به
عنوان بخشی
از فرایند
ورود به
گذرواژه
نیاز داشته
باشد،
فرایند
ورود
خودکار
رشته
مشخصشده
را ارسال
میکند.
توجه داشته
باشید که
اگر این
توکن در
فایل .netrc
برای هر
کاربری غیر
از anonymous
وجود داشته
باشد، در
صورتی که
.netrc توسط
هر فردی غیر
از کاربر
قابل
خواندن
باشد،
tnftpفرایند ورود خودکار را لغو خواهد کرد. accountstring- یک گذرواژه
حساب
کاربری
اضافی
ارائه
میدهد. در
صورت وجود
این توکن،
اگر
کارگزار
دوردست به
گذرواژه
حساب اضافی
نیاز داشته
باشد،
فرایند
ورود
خودکار
رشته
مشخصشده
را ارسال
میکند، یا
اگر نیازی
نباشد،
فرایند
ورود
خودکار یک
دستور
ACCTصادر میکند. macdefname- یک ماکرو
تعریف
میکند. این
توکن
عملکردی
مشابه
دستور
macdefدرtnftpدارد. یک ماکرو با نام مشخصشده تعریف میشود؛ محتوای آن از خط بعدی .netrc آغاز شده و تا رسیدن به یک خط خالی (نویسههای خط جدید متوالی) ادامه مییابد. همانند سایر توکنها در فایل .netrc, یکmacdefتنها برای تعریفmachineپیش از خود معتبر است. یک مدخلmacdefنمیتواند توسط چندین تعریفmachineمورد استفاده قرار گیرد؛ بلکه باید پس از هرmachineکه قرار است با آن به کار رود، تعریف شود. اگر ماکرویی به نامinitتعریف شود، به طور خودکار به عنوان آخرین مرحله در فرایند ورود خودکار اجرا میشود. برای مثال:default macdef init epsv4 off
و به دنبال آن یک خط خالی قرار میگیرد.
tnftpاز طریق کتابخانهٔ editline(3) از ویرایش تعاملی خط فرمان پشتیبانی میکند. این قابلیت با دستورeditفعال میشود، و اگر ورودی از یک tty باشد بهطور پیشفرض فعال است. خطهای قبلی را میتوان با کلیدهای جهتنما فراخوانی و ویرایش کرد، و کلیدهای ویرایشی دیگر به سبک GNU Emacs نیز قابل استفاده هستند.کتابخانهٔ editline(3) توسط یک فایل .editrc پیکربندی میشود — برای اطلاعات بیشتر به editrc(5) مراجعه کنید.
یک ترکیب کلید اضافی در
tnftpدر دسترس است تا تکمیل وابسته به زمینهٔ دستور و نام فایل (شامل تکمیل فایلهای دوردست) را فراهم آورد. برای استفاده از این قابلیت، یک کلید را به دستورftp-completeدر editline(3) اختصاص دهید. بهطور پیشفرض، این قابلیت به کلید TAB اختصاص یافته است.
اعلان خط فرمان (COMMAND LINE PROMPT)
بهطور
پیشفرض،
tnftp اعلان
خط فرمانی
بهصورت
‘ftp> ’ به
کاربر
نمایش
میدهد. این
اعلان را
میتوان با
دستور set prompt
تغییر داد.
با دستور
set rprompt
میتوان یک
اعلان را در
سمت راست
صفحه (پس از
ورودی
دستور)
نمایش داد.
دنبالههای قالببندی زیر با اطلاعات مشخصشده جایگزین میشوند:
%/- دایرکتوری کاری دوردستِ فعلی.
%c[[0]n],%.[[0]n]- مؤلفهٔ
پایانی
دایرکتوری
کاری
دوردستِ
فعلی، یا
n مؤلفهٔ
پایانی
چنانچه رقم
n مشخص
شده باشد.
اگر n با
‘
0’ آغاز شود، تعداد مؤلفههای نادیدهگرفتهشده در قالبِ “/<number>trailing” (برای ‘%c’) یا “...trailing” (برای ‘%.’) پیش از مؤلفه(های) پایانی قرار میگیرد. %M- نام میزبان دوردست.
%m- نام میزبان
دوردست، تا
نخستین
نقطهٔ
‘
.’. %n- نام کاربری دوردست.
%%- یک نویسهٔ
درصدِ تکی
‘
%’.tnftpاز متغیرهای محیطی زیر استفاده میکند:FTPANONPASS- گذرواژهای
برای
ارسال در
انتقال
ناشناس FTP.
پیشفرض
آن “
`whoami`@” است. FTPMODE- حالت عملیاتی پیشفرض را لغو میکند. مقادیر پشتیبانیشده عبارتند از:
FTPPROMPT- اعلان خط
فرمان
مورد
استفاده.
پیشفرض
آن
‘
ftp>’ است. برای اطلاعات بیشتر به COMMAND LINE PROMPT مراجعه کنید. FTPRPROMPT- اعلان سمت راست خط فرمان مورد استفاده. پیشفرض یک رشتهٔ خالی است. برای اطلاعات بیشتر به COMMAND LINE PROMPT مراجعه کنید.
FTPSERVER- میزبانی
که در زمان
فعال بودن
gateبهعنوان سرور gate-ftp استفاده میشود. FTPSERVERPORT- درگاهی که
هنگام
اتصال به
سرور gate-ftp در
زمان فعال
بودن
gateاستفاده میشود. پیشفرض، درگاهی است که توسط جستجوی getservbyname(3) برای “ftpgate/tcp” برگردانده میشود. FTPUSERAGENT- مقداری که برای سرآیند User-Agent در HTTP ارسال میشود.
FTPSSLNOVERIFY- برای عدم اعتبارسنجی گواهیهای SSL، روی 1 تنظیم شود.
HOME- برای مکان پیشفرض فایل .netrc در صورت وجود.
NETRC- مکانی جایگزین برای فایل .netrc.
PAGER- توسط دستورهای مختلف برای نمایش فایلها استفاده میشود. در صورت خالی بودن یا تنظیم نشدن، پیشفرض more(1) است.
SHELL- برای پوستهٔ پیشفرض.
ftp_proxy- نشانی وب (URL)
پروکسی FTP
برای
استفاده
هنگام
ارسال
درخواستهای
URL در FTP (در
صورت عدم
تعریف، از
پروتکل
استاندارد
FTP استفاده
میشود).
برای نکات بیشتر پیرامون استفاده از پروکسی به
http_proxyمراجعه کنید. http_proxy- نشانی وب (URL)
پروکسی HTTP
برای
استفاده
هنگام
ارسال
درخواستهای
URL در HTTP. اگر
احراز
هویت
پروکسی
لازم باشد
و نام
کاربری و
گذرواژهای
در این URL
وجود
داشته
باشد،
آنها
بهطور
خودکار در
نخستین
تلاش برای
احراز
هویت در
پروکسی
استفاده
خواهند شد.
اگر به نویسههای «ناامن» URL در نام کاربری یا گذرواژه نیاز باشد (برای مثال ‘
@’ یا ‘/’) آنها را با کدگذاری ‘%XX’ درRFC 3986کدگذاری کنید.توجه داشته باشید که استفاده از نام کاربری و گذرواژه در
ftp_proxyوhttp_proxyممکن است با سایر برنامههایی که از آن استفاده میکنند (مانند lynx(1)) ناسازگار باشد.نکته: این متغیر برای نشستهای تعاملی استفاده نمیشود و فقط برای دریافتهای خط فرمان به کار میرود.
https_proxy- نشانی وب (URL)
پروکسی HTTPS
برای
استفاده
هنگام
ارسال
درخواستهای
URL در HTTPS.
برای نکات بیشتر پیرامون استفاده از پروکسی به
http_proxyمراجعه کنید. no_proxy- فهرستی از
میزبانها
(یا
دامنهها)
که با
فاصله یا
کاما از هم
جدا
شدهاند و
نباید
برای
آنها از
پروکسی
استفاده
شود. هر
مدخل
میتواند
یک
‘
:port’ اختیاری در انتها داشته باشد که تطابق را به اتصالها به آن درگاه محدود میکند. برخی پیکربندیهای دیواره آتش اجازه استفاده از حالت غیرفعال گسترشیافته را بهtnftpنمیدهند. اگر متوجه شدید که حتی یک دستور سادهlsپس از چاپ پیامی مانند این معلق میماند:229 Entering Extended Passive Mode (|||58551|)در این صورت لازم است حالت غیرفعال گسترشیافته را با
epsv4 offغیرفعال کنید. برای مشاهده مثالی از چگونگی خودکارسازی این کار، بخش بالا The .netrc File را ببینید.
همچنین ببینید (SEE ALSO)
استانداردها (STANDARDS)
tnftp تلاش
میکند با
استانداردهای
زیر سازگار
باشد:
RFC 959- File Transfer Protocol
RFC 1123- Requirements for Internet Hosts - Application and Support
RFC 1635- How to Use Anonymous FTP
RFC 2389- Feature negotiation mechanism for the File Transfer Protocol
RFC 2428- FTP Extensions for IPv6 and NATs
RFC 2616- Hypertext Transfer Protocol -- HTTP/1.1
RFC 2822- Internet Message Format
RFC 3659- Extensions to FTP
RFC 3986- Uniform Resource Identifier (URI)
تاریخچه (HISTORY)
دستور
tnftp در
4.2BSD معرفی
شد.
قابلیتهای
گوناگونی
همچون
ویرایش خط
فرمان،
تکمیل
خودکار
حساس به متن
دستور و
فایل، نوار
پیشرفت
پویا،
دریافت
خودکار
فایلها و
URLها، حفظ
زمان آخرین
تغییر،
محدودسازی
نرخ
انتقال،
اعلان خط
فرمان قابل
پیکربندی،
و دیگر
بهبودها
نسبت به
tnftp
استاندارد
BSD توسط
Luke Mewburn ⟨lukem@NetBSD.org⟩
در NetBSD 1.3 و
نگارشهای
پس از آن
پیادهسازی
شدند.
پشتیبانی از IPv6 توسط پروژه WIDE/KAME افزوده شد (اما بسته به اینکه سیستمعامل از IPv6 به روشی مشابه KAME پشتیبانی کند یا خیر، ممکن است در تمام نسخههای غیر NetBSD این برنامه موجود نباشد).
گزارش باگها (BUGS)
اجرای صحیح بسیاری از دستورات به رفتار مناسب از سوی سرور راه دور بستگی دارد.
خطایی در
پردازش
نویسههای
بازگشت به
ابتدای سطر
(carriage return) در کد
انتقال
type ascii در
4.2BSD اصلاح
شده است. این
اصلاح ممکن
است منجر به
انتقال
نادرست
فایلهای
باینری به
سرورهای
4.2BSD و از
آنها با
استفاده از
type ascii
شود. با
استفاده از
type binary از
بروز این
مشکل
جلوگیری
کنید.
tnftp فرض
میکند که
تمام
آدرسهای
نگاشتهشده
به IPv4
(آدرسهای IPv6
با قالبی
شبیه به
::ffff:10.1.1.1)
نشاندهنده
مقصدهای IPv4
هستند که
میتوانند
توسط
سوکتهای
AF_INET
مدیریت
شوند. با این
حال، در
برخی
پیکربندیهای
شبکه IPv6، این
فرض درست
نیست. در
چنین
محیطی،
آدرسهای
نگاشتهشده
به IPv4 باید
مستقیماً
به
سوکتهای
AF_INET6 ارسال
شوند. برای
نمونه، اگر
سایت شما از
یک مبدل SIIT
برای ترجمه
IPv6 به IPv4
استفاده
میکند،
tnftp قادر
به
پشتیبانی
از
پیکربندی
شما نخواهد
بود.
| February 7, 2026 | Linux 6.12.113+deb13-amd64 |