این دستور zshzftpsys است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
zshzftpsys - تابع zftp front-end
شرح
این مجموعه ای از توابع پوسته ارائه شده با توزیع منبع را به عنوان یک توضیح می دهد
رابط به zftp دستور داخلی که به شما امکان می دهد عملیات FTP را از طریق
خط فرمان پوسته یا درون توابع یا اسکریپت ها. رابط کاربری مشابه a است
کلاینت سنتی FTP (به عنوان مثال اف تی پی خود فرمان، ببینید اف تی پی(1))، اما همانطور که کاملاً هست
تمام ویژگیهای آشنای تکمیل، ویرایش و globbing و غیره در پوسته انجام میشود
on، موجود هستند و نوشتن ماکروها بسیار ساده است زیرا معمولی هستند
توابع پوسته
پیش نیاز این است که zftp دستور، همانطور که در zshmodules(1) ، باید باشد
موجود در نسخه zsh در سایت شما نصب شده است. اگر پوسته برای
دستورات جدید را در زمان اجرا بارگیری کنید، احتمالاً این است: تایپ کردن `zmodload zsh/zftp' مطمئن خواهد شد
(اگر بی صدا اجرا شود، کار کرده است). اگر اینطور نباشد، امکان پذیر است zftp بود
به هر حال به پوسته پیوند داده شده است: برای آزمایش آن، « را تایپ کنیدکه zftp' و اگر zftp در دسترس شماست
پیام `zftp: صدف ساخته شده در فرمان'.
دستورات داده شده به طور مستقیم با zftp داخلی ممکن است بین توابع در پراکنده باشد
این سوئیت در موارد معدودی با استفاده از zftp ممکن است مستقیماً باعث برخی از اطلاعات وضعیت شود
در پارامترهای پوسته ذخیره می شود تا نامعتبر شود. به طور خاص به توضیحات مربوطه توجه کنید
متغیرها ZFTP_TMOUT $, $ZFTP_PREFS و $ZFTP_VERBOSE برای zftp.
نصب و راه اندازی
باید مطمئن شوید که تمام عملکردها از توابع/Zftp دایرکتوری منبع
توزیع در دسترس هستند. همه آنها با دو حرف شروع می شوندzf'. آنها ممکن است در حال حاضر
بر روی سیستم شما نصب شده است؛ در غیر این صورت، باید آنها را پیدا کرده و کپی کنید.
دایرکتوری باید به عنوان یکی از عناصر ظاهر شود $fpath آرایه (این باید
در حال حاضر اگر آنها نصب شده بودند، و حداقل عملکرد zfinit باید
بارگذاری خودکار؛ بقیه را خودکار بارگذاری می کند. در نهایت، برای مقداردهی اولیه استفاده از سیستم شما
نیاز به تماس با zfinit عملکرد. کد زیر در شما zshrc ترتیب خواهد داد
این؛ فرض کنید توابع در دایرکتوری ذخیره شده اند ~/myfns:
fpath=(~/myfns $fpath)
بارگیری خودکار -U zfinit
zfinit
توجه داشته باشید که zfinit فرض می کند که شما از zmodload روش بارگذاری zftp فرمان اگر
در حال حاضر در پوسته ساخته شده است، تغییر دهید zfinit به zfinit -n. مفید است (البته نه
ضروری) اگر تماس به zfinit بعد از هر کدی برای مقداردهی اولیه تکمیل جدید ظاهر می شود
سیستم، غیر ضروری است محاسبه کردن دستورات داده خواهد شد.
توابع
توالی عملیات در انجام یک انتقال فایل اساساً مشابه آن است
در یک کلاینت استاندارد FTP توجه داشته باشید که، به دلیل خصیصه پوسته گرفتن ساخته شده، برای
آن دسته از توابعی که گزینه هایی را مدیریت می کنند که باید از آن استفاده کنید--"به جای"-برای اطمینان از
آرگومان های باقی مانده به معنای واقعی کلمه (یک «-' به عنوان یک استدلال تلقی می شود).
افتتاح a ارتباط
zfparams [ میزبان [ کاربر [ کلمه عبور ... ] ]
پارامترهای آینده را تنظیم یا نمایش دهید zfopen بدون هیچ استدلال اگر هیچ استدلالی وجود ندارد
داده می شود، پارامترهای فعلی نمایش داده می شوند (رمز عبور به صورت a نشان داده می شود
خط ستاره ها). اگر یک میزبان داده می شود، و یا کاربر or کلمه عبور نیست،
از آنها خواسته می شود؛ همچنین، هر پارامتری که به عنوان «?' برای
و اگر `?' با یک رشته دنبال می شود که به عنوان اعلان استفاده می شود. مانند zfopen
تماس zfparams برای ذخیره پارامترها، معمولاً نیازی به فراخوانی مستقیم نیست.
یک استدلال واحد-' پارامترهای ذخیره شده را حذف می کند. این نیز باعث خواهد شد
حافظه آخرین دایرکتوری (و غیره) روی میزبان دیگر که باید حذف شود.
zfopen [ -1 ] [ میزبان [ کاربر [ کلمه عبور [ حساب ] ] ]
If میزبان وجود دارد، یک اتصال به آن میزبان را با نام کاربری باز کنید کاربر با
کلمه عبور کلمه عبور (و در موارد نادری که لازم است، حساب کنید
حساب). اگر یک پارامتر ضروری وجود نداشته باشد یا به عنوان «?' از آن خواسته خواهد شد
برای. اگر میزبان وجود ندارد، از مجموعه ای از پارامترهای ذخیره شده قبلی استفاده کنید.
اگر دستور موفقیت آمیز بود و ترمینال با آن سازگار است xterm یا هست
sun-cmd، خلاصه ای در نوار عنوان ظاهر می شود که محلی را ارائه می دهد میزبان: دایرکتوری
و از راه دور میزبان: دایرکتوری; این توسط تابع اداره می شود zftp_chpwd,
در زیر شرح داده شده است.
به طور معمول، میزبان, کاربر و کلمه عبور به صورت داخلی برای بازگشایی بعدی ثبت می شوند،
یا توسط a zfopen بدون آرگومان، یا به صورت خودکار (به زیر مراجعه کنید). با
گزینه `-1'، هیچ اطلاعاتی ذخیره نمی شود. همچنین، اگر یک دستور باز با آرگومان ها
شکست خورده، پارامترها حفظ نخواهند شد (و هر پارامتر قبلی نیز حفظ خواهد شد
حذف شود). آ zfopen به تنهایی یا الف zfopen -1، هرگز ذخیره شده را تغییر نمی دهد
پارامترها.
هر دو zfopen و zfanon (اما نه zfparams) آدرس های فرم را درک کنید
ftp: //میزبان/مسیر... به معنای اتصال به میزبان، سپس دایرکتوری را به تغییر دهید مسیر
(که باید یک دایرکتوری باشد نه یک فایل). «ftp: //' را می توان حذف کرد. دنباله دار
`/برای شروع شناخت کافی است مسیر. پیشوندهای غیر از ` را یادداشت کنیدftp:'
شناسایی نمی شوند، و همه شخصیت ها پس از اولین اسلش فراتر از آن میزبان هستند
قابل توجه در مسیر.
zfanon [ -1 ] میزبان
یک اتصال را باز کنید میزبان برای FTP ناشناس نام کاربری استفاده شده ` استبی نام"
رمز عبور (که برای اولین بار گزارش می شود) به عنوان ایجاد می شود کاربر@میزبان; این هست
سپس در پارامتر پوسته ذخیره می شود $EMAIL_ADDR که به طور متناوب قابل تنظیم است
به صورت دستی به یک رشته مناسب.
فهرست راهنما مدیریت
zfcd [ دیر ]
zfcd -
zfcd قدیمی جدید
تغییر دایرکتوری فعلی در سرور راه دور: این برای داشتن پیاده سازی شده است
بسیاری از ویژگی های پوسته داخلی cd.
در شکل اول با دیر حال، به دایرکتوری تغییر دهید دیر. فرمان `zfcd
..' به طور خاص درمان می شود، بنابراین تضمین شده است که روی سرورهای غیر یونیکس کار کند (به این نکته توجه کنید
به صورت داخلی توسط zftp) اگر دیر حذف شده است، اثر «zfcd ~'.
فرم دوم به دایرکتوری قبلی تغییر می کند.
فرم سوم تلاش می کند تا دایرکتوری فعلی را با جایگزین کردن پوشه اول تغییر دهد
وقوع رشته قدیمی با رشته جدید در دایرکتوری فعلی
توجه داشته باشید که در این دستور، و در واقع هر جایی که یک نام فایل از راه دور انتظار می رود،
رشته ای که در میزبان محلی با `~' دوباره به یک ' تبدیل می شود~' قبل از
به دستگاه از راه دور منتقل می شود. این به دلیل راه مناسب است
توسعه در خط فرمان قبلا انجام شده است zfcd یک رشته دریافت می کند. برای
به عنوان مثال، فرض کنید دستور «zfcd ~/فو'. پوسته این را تا حد کامل گسترش می دهد
مسیری مانند `zfcd /home/user2/pws/foo'. در این مرحله، zfcd را به رسمیت می شناسد
مسیر اولیه مطابق با `~' و دایرکتوری را به میزبان راه دور ارسال می کند
as ~/فو، به طوری که `~' توسط سرور به میزبان راه دور صحیح گسترش می یابد
فهرست راهنما. دیگر دایرکتوری های نامگذاری شده فرم `~ نامدر این درمان نمی شوند
مد.
zfhere دایرکتوری موجود در سرور راه دور را به فهرستی که مربوط به محلی فعلی است تغییر دهید
دایرکتوری، با مدیریت ویژه «~"به عنوان در zfcd. به عنوان مثال، اگر جریان
دایرکتوری محلی است ~/foo/bar، و سپس zfhere اثر ` را انجام می دهدzfcd ~/foo/bar'.
zfdir [ -rfd ] [ - ] [ گزینه های dir ] [ دیر ]
یک فهرست دایرکتوری طولانی تولید کنید. استدلال ها گزینه های dir و دیر تصویب می شوند
به طور مستقیم به سرور و اثر آنها وابسته به پیاده سازی، اما مشخص است
یک فهرست راه دور خاص دیر معمولا امکان پذیر است. خروجی ارسال می شود
از طریق یک پیجر داده شده توسط متغیر محیطی $PAGER، یا `بیشاگر اینطور نیست
تنظیم شده است.
دایرکتوری معمولاً برای استفاده مجدد در حافظه پنهان ذخیره می شود. در واقع دو کش نگهداری می شوند.
یکی برای استفاده زمانی است که وجود ندارد گزینه های dir or دیر، یعنی یک لیست کامل از
دایرکتوری راه دور فعلی؛ هنگامی که دایرکتوری راه دور فعلی تغییر می کند، فلاش می شود.
دیگری برای استفاده مکرر نگهداری می شود zfdir با همین استدلال ها؛ مثلا،
استفاده مکرر از `zfdir /pub/gnuفقط به بازیابی دایرکتوری نیاز دارد
اولین تماس از طرف دیگر، این کش را می توان مجدداً با استفاده از -r گزینه. مانند
دایرکتوری های نسبی گیج خواهند شد zfdirاز -f می توان از گزینه برای اجبار استفاده کرد
حافظه نهان قبل از فهرست شدن دایرکتوری پاک شود. گزینه -d هر دو را حذف خواهد کرد
حافظه پنهان بدون نمایش فهرست دایرکتوری. همچنین کش فایل را حذف می کند
نام ها در فهرست راه دور فعلی، در صورت وجود.
zfls [ گزینه های ls ] [ دیر ]
لیست فایل ها در سرور راه دور. بدون هیچ استدلالی، این کار ساده ای را ایجاد می کند
لیستی از نام فایل ها برای دایرکتوری راه دور فعلی. هر استدلالی تصویب می شود
مستقیم به سرور از پیجر و کش استفاده نمی شود.
وضعیت دستورات
zftype [ نوع ]
بدون هیچ آرگومان، نوع داده ای که باید منتقل شود، معمولاً ASCII یا
دودویی. با یک آرگومان، نوع را تغییر دهید: انواع `A"یا"ASCIIبرای داده های ASCII
و `B"یا"دودویی"، "I"یا"IMAGEبرای داده های باینری قابل درک است
بدون حساسیت به حروف کوچک و بزرگ
zfstat [ -v ]
وضعیت اتصال فعلی یا آخرین و همچنین وضعیت برخی از آنها را نشان دهید
zftpمتغیرهای وضعیت با -v گزینه، یک فهرست پرمخاطب تر توسط
پرس و جو از سرور برای نسخه رویدادهای آن نیز.
بازیابی فایل ها
دستورات بازیابی فایل ها همگی حداقل دو گزینه دارند. -G کنترل از راه دور را سرکوب می کند
گسترش نام فایل که در غیر این صورت انجام می شود (برای جزئیات بیشتر به زیر مراجعه کنید
شرح آن). -t تلاش می کند تا زمان اصلاح فایل محلی را روی آن تنظیم کند
از فایل راه دور: توضیحات عملکرد را ببینید zfrtime در زیر برای اطلاعات بیشتر
اطلاعات.
zfget [ -Gtc ] file1 ...
همه فایل های لیست شده را بازیابی کنید file1 ... یکی یکی از سرور راه دور. اگر یک
فایل حاوی یک `/'، نام کامل به سرور راه دور ارسال می شود، اما فایل است
به صورت محلی تحت نامی که قسمت پس از پایان ` ذخیره می شود/'. گزینه -c
(cat) تمام فایل ها را مجبور می کند که به صورت یک جریان واحد به خروجی استاندارد ارسال شوند. در این
مورد -t گزینه تاثیری ندارد
zfuget [ -Gvst ] file1 ...
As zfget، اما فقط فایل هایی را بازیابی کنید که نسخه روی سرور راه دور جدیدتر باشد
(زمان اصلاح بعدی دارد)، یا جایی که فایل محلی وجود ندارد. اگر
فایل ریموت قدیمیتر است، اما اندازههای فایلها متفاوت است، یا اگر اندازهها متفاوت است
همان است، اما فایل راه دور جدیدتر است، معمولاً از کاربر سؤال می شود. با
انتخاب -s، دستور به صورت بی صدا اجرا می شود و همیشه فایل را در هر یک از آنها بازیابی می کند
آن دو مورد با گزینه -v، دستور اطلاعات بیشتری در مورد چاپ می کند
در حالی که در حال بررسی این است که آیا آنها را منتقل کنید یا خیر.
zfcget [ -Gt ] file1 ...
As zfget، اما اگر هر یک از فایل های محلی وجود داشته باشد و کوتاهتر از آن باشد
فایل از راه دور مربوطه، فرمان فرض می کند که نتیجه یک فایل جزئی است
انتقال کامل شد و تلاش برای انتقال بقیه فایل. این مفید است
در یک اتصال ضعیف که مدام از کار می افتد.
توجه داشته باشید که این به یک نسخه معمولی، اما غیر استاندارد، نیاز دارد
پروتکل FTP، بنابراین تضمینی برای کار بر روی همه سرورها نیست.
zfgcp [ -Gt ] فایل از راه دور فایل محلی
zfgcp [ -Gt ] rfile1 ... ldir
این فایلها را از سرور راه دور با آرگومانهایی که مشابه آن رفتار میکنند بازیابی میکند
la cp فرمان
در شکل اول کپی کنید فایل از راه دور از سرور به فایل محلی فایل محلی.
در فرم دوم تمامی فایل های ریموت را کپی کنید rfile1 ... به دایرکتوری محلی
ldir حفظ نام های پایه یکسان این فرض معنایی دایرکتوری یونیکس را دارد.
ارسال فایل ها
zfput [ -r ] file1 ...
ارسال همه file1 ... به طور جداگانه به سرور راه دور داده می شود. اگر نام فایل
حاوی یک «/'، نام کامل فایل به صورت محلی برای یافتن فایل استفاده می شود، اما فقط از
basename برای نام فایل راه دور استفاده می شود.
با گزینه -r، اگر هر یک از فایل ها دایرکتوری هایی هستند که به صورت بازگشتی ارسال می شوند
با همه زیرشاخه های آنها، از جمله فایل هایی که با « شروع می شوند.'. این نیاز دارد
که ماشین راه دور معنای فایل یونیکس را درک می کند، زیرا `/' به عنوان a استفاده می شود
جداکننده دایرکتوری
zfuput [ -در مقابل ] file1 ...
As zfput، اما فقط فایل هایی را ارسال کنید که جدیدتر از معادل های راه دور خود هستند یا اگر
فایل راه دور وجود ندارد. منطق همان است که برای zfuget، اما برعکس
بین فایل های محلی و راه دور
zfcput file1 ...
As zfput، اما اگر فایلی از راه دور از قبل وجود داشته باشد و از فایل محلی کوتاهتر باشد
معادل، فرض کنید نتیجه یک انتقال ناقص است و بقیه را ارسال کنید
فایل را به قسمت موجود اضافه کنید. همانطور که دستور FTP append بخشی از
مجموعه استاندارد، این است که در اصل به احتمال زیاد به کار از zfcget.
zfpcp فایل محلی فایل از راه دور
zfpcp file1 ... رز
این فایلها را با آرگومانهایی که مشابه آن رفتار میکنند، به سرور راه دور ارسال میکند cp
فرمان
با دو آرگومان کپی کنید فایل محلی به سرور به عنوان فایل از راه دور.
با بیش از دو آرگومان، تمام فایل های محلی را کپی کنید file1 ... به موجود
دایرکتوری راه دور رز حفظ نام های پایه یکسان این دایرکتوری یونیکس را فرض می کند
مفاهیم.
اگر بخواهید از آن استفاده کنید مشکلی پیش می آید zfpcp file1 رز، یعنی شکل دوم از
کپی کردن اما با دو آرگومان، زیرا دستور راه ساده ای برای دانستن if ندارد رز
مربوط به دایرکتوری یا نام فایل است. سعی در حل این مشکل در موارد مختلف دارد
راه ها. اول، اگر رز استدلال " است."یا"..' یا به اسلش ختم می شود، فرض می شود
دایرکتوری بودن در مرحله دوم، اگر عملیات کپی کردن به یک فایل از راه دور در
فرم اول ناموفق بود و سرور راه دور کد خرابی مورد انتظار 553 را برمی گرداند
و یک پاسخ شامل رشته `Is a فهرست راهنما'، سپس zfpcp با استفاده از
فرم دوم
بستن la ارتباط
zfclose
اتصال را ببندید.
جلسه مدیریت
zfsession [ -lvod ] [ sessname ]
به شما امکان می دهد چندین جلسه FTP را همزمان مدیریت کنید. به طور پیش فرض، اتصالات طول می کشد
در جلسه ای به نام `به طور پیش فرض'; با دادن دستور `zfsession sessname' شما
می توانید به یک جلسه جدید یا موجود با نام انتخابی خود تغییر دهید. جدید
Session اتصال خود و همچنین پارامترهای پوسته مرتبط را به خاطر می آورد و
همچنین پارامترهای میزبان/کاربر تنظیم شده توسط zfparams. از این رو می توانید متفاوت داشته باشید
جلسات برای اتصال به هاست های مختلف تنظیم شده است که هر کدام موارد مناسب را به خاطر می آورند
میزبان، کاربر و رمز عبور
بدون هیچ استدلالی، zfsession نام جلسه فعلی را چاپ می کند. با
انتخاب -l تمام جلساتی را که در حال حاضر وجود دارد و با این گزینه فهرست می کند -v it
یک لیست مفصل ارائه می دهد که میزبان و دایرکتوری را برای هر جلسه نشان می دهد، جایی که
جلسه فعلی با یک ستاره مشخص شده است. با -o، به بیشترین تغییر خواهد کرد
جلسه قبلی اخیر
با -d، جلسه داده شده (یا جلسه فعلی) حذف می شود. همه چیز برای انجام
با آن به طور کامل فراموش شده است. اگر تنها جلسه بود، یک جلسه جدید فراخوانی شد
`به طور پیش فرض' ایجاد و جاری می شود. ایمن ترین کار این است که جلسات را حذف نکنید
با استفاده از دستورات پس زمینه zftp فعال هستند
zftransfer sess1:file1 sess2:file2
انتقال فایل بین دو جلسه هیچ کپی محلی ساخته نمی شود. فایل از خوانده شده است
جلسه sess1 as file1 و به جلسه نوشته شد sess2 به عنوان فایل file2; file1 و
file2 ممکن است نسبت به دایرکتوری های فعلی جلسه باشد. هر دو sess1 or
sess2 ممکن است حذف شود (البته در صورت وجود کولون باید حفظ شود).
یک دونقطه که در نام فایل ظاهر میشود) و به صورت پیشفرض در جلسه جاری قرار میگیرد. file2
ممکن است حذف شود یا با یک اسلش به پایان برسد، در این صورت نام پایه file1 خواهد بود
اضافه. جلسات sess1 و sess2 باید متمایز باشد
عملیات با استفاده از لوله انجام می شود، بنابراین لازم است که اتصالات
هنوز در یک زیر پوسته معتبر است، که در نسخههای برخی از آنها صدق نمیکند
سیستم عامل، احتمالا به دلیل یک باگ سیستم.
توسعه
دو تابع zfmark و zfgoto به شما امکان می دهد مکان فعلی را "نشانک" کنید (میزبان،
کاربر و دایرکتوری) اتصال FTP فعلی برای استفاده بعدی. فایل مورد استفاده برای
ذخیره و بازیابی نشانک ها توسط پارامتر داده می شود $ZFTP_BMFILE; اگر تنظیم نشده است چه زمانی
یکی از دو تابع فراخوانی می شود، به فایل تنظیم می شود zfbkmarks در دایرکتوری
جایی که فایل های راه اندازی zsh شما زندگی می کنند (معمولا ~).
zfmark [ چوب الف ]
اگر آرگومان داده شد، میزبان، کاربر و دایرکتوری فعلی را زیر نام علامت بزنید
چوب الف برای استفاده بعدی توسط zfgoto. اگر اتصالی باز نیست، از مقادیر استفاده کنید
برای آخرین اتصال بلافاصله قبل از بسته شدن؛ اگر وجود داشته باشد خطا است
هیچکدام نبود هر نشانک موجود با همین نام بیصدا جایگزین میشود.
اگر آرگومان داده نشد، نشانکهای موجود و نقاطی را که به آنها اشاره میکنند فهرست کنید
در فرم مراجعه کنید کاربر@میزبان:فهرست راهنما; این فرمتی است که آنها در آن ذخیره می شوند،
و فایل ممکن است مستقیماً ویرایش شود.
zfgoto [ -n ] چوب الف
به مکان ارائه شده توسط چوب الف، همانطور که قبلا توسط zfmark. اگر
مکان کاربر دارد `اف تی پی"یا"بی نام'، ارتباط را با zfanon، به طوری که نه
رمز عبور مورد نیاز است. اگر پارامترهای کاربر و میزبان با پارامترهای ذخیره شده برای
جلسه فعلی، در صورت وجود، از آن ها استفاده خواهد شد، و مجدداً نیازی به رمز عبور نیست.
در غیر این صورت رمز عبور از شما خواسته می شود.
با گزینه -n، نشانک به عنوان یک نام مستعار ذخیره شده در نظر گرفته می شود ncftp
برنامه در فایل بوکمارک خود که فرض شده است ~/.ncftp/نشانک ها.
عملکرد به روش های دیگر یکسان عمل می کند. توجه داشته باشید که مکانیزمی برای آن وجود ندارد
افزودن یا اصلاح ncftp نشانک ها از توابع zftp.
دیگر توابع
اغلب، این توابع به طور مستقیم فراخوانی نمی شوند (به غیر از zfinit) اما شرح داده شده است
اینجا برای کامل بودن ممکن است بخواهید تغییر دهید zftp_chpwd و zftp_progress، به خصوص.
zfinit [ -n ]
همانطور که در بالا توضیح داده شد، این برای مقداردهی اولیه سیستم تابع zftp استفاده می شود. در -n
اگر دستور zftp از قبل در پوسته تعبیه شده باشد، باید از گزینه استفاده شود.
zfautochck [ -dn ]
این تابع برای اجرای رفتار بازگشایی خودکار، همانطور که در توضیح داده شده است، فراخوانی می شود
جزئیات بیشتر در زیر گزینه ها باید در آرگومان اول ظاهر شوند. -n مانع از
فرمان از تغییر به دایرکتوری قدیمی، while -d از تنظیم آن جلوگیری می کند
متغیر do_close، که در غیر این صورت به عنوان پرچمی برای بسته شدن خودکار آن انجام می دهد
اتصال پس از انتقال میزبان و دایرکتوری برای آخرین جلسه هستند
در متغیر ذخیره می شود $zflastsession، اما میزبان/کاربر/رمز عبور داخلی
پارامترها نیز باید به درستی تنظیم شوند.
zfcd_match پیشوند پسوند
این تطبیق را برای تکمیل نام دایرکتوری راه دور انجام می دهد. اگر از راه دور
سرور یونیکس است، سعی می کند سرور را متقاعد کند تا فهرست راه دور را فهرست کند
با زیر شاخه های علامت گذاری شده، که معمولا کار می کند اما تضمین نمی شود. روی دیگری
میزبان آن به سادگی تماس می گیرد zfget_match و از این رو تمام فایل ها را تکمیل می کند، نه فقط
دایرکتوری ها در برخی از سیستم ها، فهرست ها حتی ممکن است شبیه نام فایل ها نباشند.
zfget_match پیشوند پسوند
این تطبیق را برای تکمیل نام فایل های راه دور انجام می دهد. این فایل ها را برای
دایرکتوری فعلی (فقط) در پارامتر پوسته zftp_fcache $. به شکل است
توسط -K گزینه ای از محاسبه کردن، اما هنگام فراخوانی از a نیز کار می کند
تابع تکمیل به سبک ویجت با پیشوند و پسوند مناسب تنظیم کنید
zfrglob نام متغیر
همانطور که در زیر با جزئیات بیشتر توضیح داده شده است، globbing از راه دور را انجام دهید. نام متغیر نام است
متغیری حاوی الگوی بسط شود. اگر هیچ مسابقه ای وجود داشت،
در هنگام بازگشت، همان متغیر روی مجموعه گسترده ای از نام فایل ها تنظیم می شود.
zfrtime فایل rfile [ زمان ]
فایل محلی را تنظیم کنید فایل برای داشتن زمان اصلاح مشابه فایل راه دور
rfile، یا زمان صریح زمان در فرمت FTP CCYYMMDDhhmmSS برای منطقه زمانی GMT
این از پوسته استفاده می کند zsh/تاریخ ماژول برای انجام تبدیل از GMT به
به وقت محلی.
zftp_chpwd
این تابع هر بار که یک اتصال باز یا بسته می شود یا کنترل از راه دور فراخوانی می شود
دایرکتوری تغییر می کند این نسخه نوار عنوان an را تغییر می دهد xterm-سازگار یا
sun-cmd شبیه ساز ترمینال برای منعکس کردن نام هاست محلی و راه دور و جریان
دایرکتوری ها وقتی با تابع ترکیب شود بهترین کار را می کند chpwd. به خصوص،
تابعی از فرم
chpwd() {
if [[ -n $ZFTP_USER ]]؛ سپس
zftp_chpwd
دیگر
# معمول chpwd به عنوان مثال قرار دادن میزبان: دایرکتوری in عنوان بار
fi
}
به خوبی جا می گیرد
zftp_progress
این تابع وضعیت انتقال را نشان می دهد. چیزی نمی نویسد مگر اینکه
خروجی به ترمینال می رود. با این حال، اگر فایل ها را در
پس زمینه، شما باید گزارش های پیشرفت را با دست با استفاده از ` خاموش کنیدzstyle ':zftp:*'
پیشرفت هیچ'. همچنین توجه داشته باشید که اگر آن را تغییر دهید، هر خروجی باید استاندارد باشد
خطا، به عنوان خروجی استاندارد ممکن است یک فایل در حال دریافت باشد. شکل پیشرفت
متر، یا اینکه آیا اصلاً از آن استفاده می شود، می توان بدون تغییر در آن پیکربندی کرد
تابع، همانطور که در بخش بعدی توضیح داده شد.
zffcache
این برای پیاده سازی کش کردن فایل ها در فهرست فعلی برای هر یک استفاده می شود
جلسه جداگانه مورد استفاده قرار می گیرد zfget_match و zfrglob.
متفرقه ویژگیها
پیکر بندی
سبکهای مختلفی با استفاده از مکانیزم سبک پوسته استاندارد در دسترس هستند که در توضیح داده شده است
zshmodules(1). به طور خلاصه دستور `zstyle ':zftp:*' سبک ارزش ...'. را تعریف می کند سبک
ارزش داشتن ارزش; ممکن است بیش از یک مقدار داده شود، اگرچه این مقدار در مقدار مفید نیست
موارد شرح داده شده در اینجا سپس این مقادیر در سراسر سیستم عملکرد zftp استفاده خواهند شد.
برای کنترل دقیق تر، اولین آرگومان، که زمینه ای را ارائه می دهد که در آن سبک
اعمال می شود، می توان آن را تغییر داد تا یک تابع خاص را شامل شود، به عنوان مثال `:zftp:zfget':
سپس استایل مقدار داده شده را فقط در zfget عملکرد. ارزش ها برای همان
سبک در زمینه های مختلف ممکن است تنظیم شود. خاص ترین تابع استفاده خواهد شد، جایی که
ریسمانها خاصتر از الگوها و الگوهای بلندتر و کوتاهتر هستند
الگوها توجه داشته باشید که فقط از نام تابع سطح بالا که توسط کاربر فراخوانی می شود استفاده می شود.
فراخوانی توابع سطح پایین تر برای کاربر شفاف است. از این رو تغییراتی در
نوار عنوان در zftp_chpwd از زمینه ها استفاده کنید :zftp:zfopen, :zftp:zfcdو غیره بسته به اینکه کجاست
از آن تماس گرفته شد. سبک های زیر درک می شوند:
پیشرفت
این راه را کنترل می کند zftp_progress گزارش پیشرفت یک انتقال اگر
خالی، تنظیم نشده، یا `هیچ'، هیچ گزارش پیشرفتی ساخته نشده است. اگر `باریک نوار در حال رشد از
ویدئوی معکوس نشان داده شده است. اگر `در صد(یا هر رشته دیگری، اگرچه ممکن است تغییر کند
در آینده)، درصد فایل منتقل شده نشان داده می شود. نوار متر
مستلزم آن است که عرض ترمینال از طریق در دسترس باشد $COLUMNS پارامتر
(معمولاً این به طور خودکار تنظیم می شود). اگر اندازه فایل در حال انتقال است
در دسترس نیست، بار و در صد متر به سادگی تعداد بایت ها را نشان می دهد
تا کنون منتقل شده است.
چه زمانی zfinit اجرا می شود، اگر این سبک برای زمینه تعریف نشده باشد :zftp:*، خواهد شد
روی "نوار" تنظیم شود.
به روز رسانی حداقل فاصله زمانی بین به روز رسانی های متر پیشرفت را مشخص می کند
ثانیه هیچ به روز رسانی ساخته نمی شود مگر اینکه داده های جدید دریافت شده باشد، بنابراین زمان واقعی است
فاصله فقط با محدود شده است ZFTP_TIMEOUT دلار.
همانطور که برای پیشرفت, zfinit این را مجبور به پیشفرض 1 میکند.
کره از راه دور
اگر روی «» تنظیم شود1"، "بله"یا"درست'، تولید نام فایل (globbing) بر روی انجام می شود
دستگاه از راه دور به جای خود zsh. زیر را ببینید.
نوار عنوان
اگر روی «» تنظیم شود1"، "بله"یا"درست', zftp_chpwd هاست راه دور و ریموت را قرار می دهد
دایرکتوری در نوار عنوان شبیه سازهای ترمینال مانند xterm یا sun-cmd که
اجازه این را بده
همانطور که برای پیشرفت, zfinit این را مجبور به پیشفرض 1 میکند.
chpwd اگر روی «» تنظیم شود1''بله"یا"درست', zftp_chpwd تابع را فراخوانی خواهد کرد chpwd وقتی یک
اتصال بسته است این در صورتی مفید است که جزئیات میزبان راه دور در آن قرار داده شده باشد
نوار عنوان ترمینال توسط zftp_chpwd و معمول شما chpwd نوار عنوان را نیز تغییر می دهد.
چه زمانی zfinit اجرا می شود، تعیین خواهد کرد که آیا chpwd وجود دارد و اگر چنین باشد تنظیم خواهد شد
مقدار پیشفرض برای سبک به 1 در صورتی که هیچ کدام از قبل وجود نداشته باشد.
توجه داشته باشید که یک آرایه انجمنی نیز وجود دارد zfconfig که حاوی مقادیر استفاده شده توسط
سیستم عملکرد این نباید اصلاح یا بازنویسی شود.
دور گلوب
دستورات بازیابی فایل ها معمولاً تولید نام فایل (گلوب) را روی آنها انجام می دهند
استدلال ها؛ این را می توان با عبور گزینه خاموش کرد -G به هر یک از دستورات
معمولاً این کار با بازیابی لیست کاملی از فایلها برای دایرکتوری در آن عمل میکند
سوال، سپس اینها را به صورت محلی با الگوی ارائه شده مطابقت دهید. این را دارد
مزیت این است که طیف کاملی از الگوهای zsh (با رعایت تنظیمات گزینه
EXTENDED_GLOB) می تواند به کار رود. با این حال، به این معنی است که بخش دایرکتوری نام فایل خواهد بود
گسترش نمی یابد و باید دقیقا داده شود. اگر سرور راه دور از یونیکس پشتیبانی نمی کند
معنای دایرکتوری، مدیریت دایرکتوری مشکل دارد و توصیه می شود که globbing
فقط در دایرکتوری فعلی استفاده شود. لیست فایل های موجود در فهرست فعلی، اگر
بازیابی می شود، در حافظه پنهان ذخیره می شود، به طوری که گلوب های بعدی در همان فهرست بدون علامت
مداخله zfcd بسیار سریعتر هستند
اگر کره از راه دور سبک (به بالا مراجعه کنید) تنظیم شده است، در عوض globbing روی کنترل از راه دور انجام می شود
میزبان: از سرور لیستی از فایل های منطبق خواسته می شود. این بستگی زیادی به چگونگی آن دارد
سرور پیاده سازی شده است، اگرچه معمولاً سرورهای یونیکس از پایه پشتیبانی می کنند
الگوهای کره ای این ممکن است در برخی موارد سریعتر باشد، زیرا از بازیابی کل لیست جلوگیری می کند
از محتویات دایرکتوری
اتوماتیک و موقت بازگشایی
همانطور که برای zfopen فرمان بعدی zfopen بدون هیچ پارامتری دوباره باز می شود
اتصال به آخرین میزبان (این شامل اتصالات ایجاد شده با zfanon فرمان).
با این روش باز می شود، اتصال در فهرست راه دور پیش فرض شروع می شود و خواهد شد
تا زمانی که به صراحت بسته نشود باز بماند.
بازگشایی خودکار نیز در دسترس است. اگر یک اتصال در حال حاضر باز نیست و الف
دستوری که نیاز به اتصال دارد داده می شود، آخرین اتصال به طور ضمنی دوباره باز می شود. که در
در این حالت دایرکتوری که در زمان بسته شدن مجدد اتصال جاری بود تبدیل به دایرکتوری می شود
دایرکتوری فعلی (البته مگر اینکه دستور داده شده آن را تغییر دهد). بازگشایی خودکار
همچنین اگر اتصال به هر دلیلی توسط سرور راه دور بسته شده باشد، انجام خواهد شد
(مثلا تایم اوت). در دسترس نیست اگر -1 گزینه ای برای zfopen or zfanon مورد استفاده قرار گرفت.
علاوه بر این، اگر دستور صادر شده انتقال فایل باشد، پس از آن اتصال بسته خواهد شد
انتقال به پایان رسیده است، از این رو یک حالت یک شات برای انتقال ارائه می شود. این نیست
اعمال به دستورات تغییر یا فهرست کردن دایرکتوری. به عنوان مثال a zfdir ممکن است دوباره باز شود
اتصال، اما آن را باز خواهد گذاشت. همچنین، بسته شدن خودکار فقط در هر زمان اتفاق می افتد
همان فرمان باز شدن خودکار، یعنی a zfdir به طور مستقیم توسط a zfget هرگز
اتصال را بطور خودکار ببندید
اطلاعات مربوط به اتصال قبلی توسط zfstat عملکرد. بنابراین برای
به عنوان مثال، اگر گزارش دهد:
جلسه: به طور پیش فرض
نه متصل.
نام جلسه: ftp.bar.com:/pub/textfiles
سپس فرمان zfget file.txt تلاش خواهد کرد تا اتصال را دوباره باز کند ftp.bar.com,
فایل را بازیابی کنید /pub/textfiles/file.txtو بلافاصله دوباره اتصال را ببندید. بر
از طرف دیگر ، zfcd .. اتصال را در دایرکتوری باز می کند / میخانه و آن را باز بگذارید.
توجه داشته باشید که تمام موارد بالا برای هر جلسه محلی است. اگر به جلسه قبلی برگردید،
اتصال برای آن جلسه یکی است که دوباره باز می شود.
تکمیل
تکمیل فایل های محلی و راه دور، دایرکتوری ها، جلسات و نشانک ها پشتیبانی می شود.
بزرگتر، محاسبه کردنتکمیل سبک زمانی تعریف می شود zfinit نامیده میشود؛ پشتیبانی از جدید
سیستم تکمیل مبتنی بر ویجت در تابع ارائه شده است تکمیل/Zsh/Command/_zftp,
که باید با سایر عملکردهای سیستم تکمیل نصب شود و از این رو
باید به طور خودکار در دسترس باشد.
از zshzftpsys به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید