FTP یا File Transfer Protocol یک پروتکل شبکه است که جهت انتقال فایل بین کلاینت و سرور در یک شبکه کامپیوتری استفاده می شود. انتشار اولین اپلیکیشن های FTP به پیش از ظهور سیستم عامل ها با رابط کاربری گرافیکی (GUI) بر میگردد. با وجود اینکه تعداد زیادی نرم افزار FTP Client با رابط گرافیکی وجود دارد اما توسعه دهندگان همچنان FTP Client های مبتنی بر خط فرمان را برای کاربرانی که به استفاده از روش های قدیمی علاقه دارند، طراحی می کنند. در این مقاله به بررسی بهترین نرم افزارهای FTP Client مبتنی بر خط فرمان در سیستم عامل لینوکس پرداخته می شود.
تصویر(1)
1- FTP
سیستم عامل های لینوکسی به همراه یکی از نرم افزارهای FTP Client پیشفرض ارائه می شوند که شما می توانید به سادگی با وارد کردن دستور ftp در ترمینال، به آن دسترسی پیدا نمایید. با استفاده از FTP می توانید کاملا ناشناس به سرورها متصل شوید (اگر این ویژگی در سرور فعال باشد) یا از مشخصات کاربری خود استفاده نمایید. همچنین این امکان وجود دارد که عملیات آپلود و دانلود فایل را بین سیستم خود و سرور مربوطه انجام دهید.
زمانی که از FTP برای انتقال اطلاعات بین کامپیوترها استفاده می کنید، ارتباط ایمن نبوده و اطلاعات رمزنگاری نمی شوند. جهت انتقال اطلاعات به صورت امن می توانید از Secure File Transfer Protocol به اختصار sFTP یا Secure Copy به اختصار SCP استفاده نمایید.
2- LFTP
تصویر(2)
LFTP نرم افزاری متن باز و رایگان می باشد که جهت پشتیبانی از چندین پروتکل انتقال فایل از جمله sftp، fish، و torrent روی UNIX و سیستم عامل های مشابه طراحی شده است.
از جمله قابلیت های این برنامه عبارتند از:
1. نشانهگذاری (Bookmarks): این قابلیت به شما امکان میدهد تا لینکهای مورد نیاز خود را نشانهگذاری کنید. با استفاده از نشانهگذاری، میتوانید به سرعت و بدون نیاز به وارد کردن مجدد آدرس، به سرورها یا مسیرهای خاص دسترسی پیدا نمایید.
2. کنترل کار (Job Control): این قابلیت به شما امکان مدیریت همزمان پروسه ها و فعالیتهای FTP را می دهد. میتوانید کارهایی را که در حال اجرا هستند متوقف نموده، پیشرفت آنها را مشاهده کنید و چندین دستور جدید را به صورت همزمان ارسال نمایید.
3. پشتیبانی از کتابخانه readline: این قابلیت به شما امکان میدهد از ویژگیهای پیشرفته در ورودی و خروجی خط فرمان FTP بهره ببرید. به عنوان مثال، میتوانید دستورات را به صورت خودکار تکمیل نموده، تاریخچه دستورات را مشاهده کنید و به صورت کلی از امکانات بیشتری جهت بهبود تجربه کاربری استفاده نمایید.
4. دستور Mirror: با استفاده از دستور Mirror، قادر خواهید بود تا فایلها و ساختارهای فایل را بین سیستم خود و سرور به صورت خودکار همگام سازی کنید. این بدان معنی است که هر تغییری در یکی از دو طرف (کلاینت یا سرور) انجام گیرد، به طور خودکار در طرف دیگر نیز اعمال خواهد شد.
LFTP از طریق مخازن پیشفرض و با استفاده از پکیج منیجر قابل نصب است. دستور نصب متناسب با توزیع لینوکسی، به شرح ذیل می باشد:
در توزیع Debian/Ubuntu:
sudo apt install lftp
در توزیع CentOs/RHEL:
sudo yum install lftp
در توزیع Fedora:
sudo dnf install lftp
3- NcFTP
NcFTP یکی از نرم افزارهای FTP Client رایگان است که روی پلتفرمهای مختلف قابل استفاده میباشد. این نرم افزار، به عنوان نخستین جایگزین برای برنامه استاندارد FTP توسعه یافت. استفاده از NcFTP بسیار ساده است و با عملکرد و ویژگیهای بهتر نسبت به FTP، بهترین تجربه کاربری را در اختیارتان قرار می دهد.
مهمترین ویژگی های این برنامه عبارتند از:
1. اتصال مجدد به میزبان (Host Redialing): این قابلیت به شما امکان میدهد تا در صورت قطع ارتباط با میزبان، عملیات اتصال مجدد به صورت خودکار انجام شود.
2. پردازش در پس زمینه (Background Processing): این ویژگی به شما اجازه میدهد تا عملیات FTP را در پس زمینه اجرا کنید. به این ترتیب، میتوانید نرم افزار را ببندید و به سایر کارهای خود بپردازید در حالی که عملیات FTP به صورت همزمان ادامه مییابد.
3. ادامه دریافت فایل به صورت خودکار (Auto-Resume Downloads): این ویژگی باعث میشود تا در صورت قطع ارتباط یا مشکل در دریافت فایل، به صورت خودکار از جایی که قطع شده بود، فرآیند دانلود را ادامه دهید.
4. تکمیل نام فایل (Filename Completion): این ویژگی موجب میشود تا با تایپ بخشی از نام فایل، به صورت خودکار تکمیل گردد و با سرعت بیشتری به فایلها و مسیرها دسترسی پیدا نمایید.
5. نمایش میزان پیشرفت (Progress Meters): این ویژگی به شما نشان میدهد که دریافت یا ارسال فایل در چه مرحلهای قرار دارد و چه مقدار از فرآیند تکمیل شده است.
6. پشتیبانی از برنامههای دیگر مانند ncftpput و ncftpget: این نرمافزار قابلیت کار با برنامههای دیگر که برای عملیات ارسال (ncftpput) و دریافت (ncftpget) فایلها از طریق FTP طراحی شدهاند را دارد.
NcFTP از طریق مخازن پیشفرض و با استفاده از پکیج منیجر قابل نصب میباشد. دستور نصب متناسب با توزیع لینوکسی به شرح ذیل است:
در توزیع Debian/Ubuntu:
sudo apt install ncftp
در توزیع CentOs/RHEL:
sudo yum install ncftp
در توزیع Fedora:
sudo dnf install ncftp
4- cbftp
cbftp یک FTP/FXP client انعطاف پذیر است که امکان انتقال فایلهای بزرگ را به صورت ایمن و بدون استفاده از ایمیل، برای کاربران فراهم میکند. FXP مخفف "File eXchange Protocol" است. این پروتکل، به کاربران امکان میدهد تا فایلها را مستقیماً بین دو سرور FTP انتقال دهند، بدون اینکه نیاز به دانلود و بارگذاری فایل از سرور اصلی به کامپیوتر محلی و سپس از کامپیوتر محلی به سرور مقصد باشد. با استفاده از FXP، فایلها مستقیماً از سرور به سرور منتقل میشوند که این کار سرعت و کارآیی را افزایش و مصرف پهنای باند را کاهش میدهد. برنامه cbftp به طور معمول در خط فرمان قابل اجرا است اما میتوانید آن را با استفاده از ncurses به صورت نیمه گرافیکی نیز اجرا نمایید.
برخی از مهمترین ویژگی های این نرم افزار عبارتند از:
1. مشاهده فایل های رمزنگاری شده: این ویژگی به شما اجازه میدهد تا فایلها را با چندین متد رمزگذاری مختلف بررسی نموده و نمایش دهید. به عبارت دیگر، امکان مشاهده فایلهای رمزگذاری شده را در قالبهای مختلف فراهم می کند.
2. Skip-listing: این قابلیت به شما امکان میدهد فایلهای خاصی را در هنگام انتقال (مثلاً از یک سرور به سرور دیگر) رد کنید و آنها را به طور خودکار نادیده بگیرید.
3. اجرای دستورات از راه دور: توسط این ویژگی می توانید دستورات مربوط به فراخوانی UDP همانند race، download، fxp، raw، idle و… را به صورت ریموت اجرا کنید.
4. رمزگذاری داده با استفاده از AES-256: این قابلیت کمک می کند تا دادههایتان را با استفاده از الگوریتم AES-256 رمزگذاری کنید. این الگوریتم قدرتمند، امنیت اطلاعات را در هنگام انتقال فایلها افزایش میدهد.
5- Yafc
Yafc یکی دیگر از نرم افزارهای FTP Client متن باز می باشد که به عنوان یک جایگزین برای برنامه استاندارد FTP در سیستمهای لینوکسی طراحی شده است. همچنین این نرم افزار از سیستمهای سازگار با POSIX نیز پشتیبانی می کند.
Yafc کاملا رایگان است و ویژگی های بسیار زیادی دارد که برخی از مهمترین آنها عبارتند از:
1. دریافت/ارسال/انتقال بازگشتی (get/put/fxp/ls/rm): توسط آن می توانید عملیات دریافت، ارسال، انتقال و حذف فایلها را به صورت بازگشتی انجام دهید. به عبارت دیگر، میتوانید یک پوشه کامل را دریافت و ارسال نمایید یا فایلهای داخل زیرپوشهها را همراه با ساختار پوشهها حذف کنید.
2. صفبندی: این قابلیت به شما امکان میدهد تا عملیات FTP را در قالب یک صف اجرا کنید. با استفاده از صفبندی، میتوانید چندین عملیات را به صورت متوالی برنامهریزی نموده و سپس توسط نرم افزار به ترتیب اجرا شوند.
3. تکمیل دستورات با تب: می توانید با استفاده از کلید تب، به صورت خودکار دستورات و نام فایل ها و پوشه ها را تکمیل نمایید. این ویژگی موجب افزایش سرعت و دقت در وارد کردن دستورات میشود.
4. نام مستعار یا alias: این قابلیت کمک می کند تا برای دستورات یا مسیرهای پرکاربرد، نام مستعار تعریف نمایید. به این ترتیب، به جای وارد کردن دستور کامل، میتوانید از نام مستعار مربوطه استفاده کنید که موجب افزایش سرعت در انجام فرایندها می شود.
5. پشتیبانی از SSH2: این نرم افزار دارای قابلیت اتصال به سرورها از طریق SSH2 است که برای امنیت بیشتر در انتقال اطلاعات استفاده میشود.
Yafc از طریق مخازن پیشفرض و با استفاده از پکیج منیجر قابل نصب خواهد بود. دستور نصب متناسب با توزیع لینوکسی به شرح ذیل است:
در توزیع Debian/Ubuntu:
sudo apt install yafc
در توزیع CentOs/RHEL:
sudo yum install yafc
در توزیع Fedora:
sudo dnf install yafc