چهارشنبه, ۱۲ اردیبهشت, ۱۴۰۳ / 1 May, 2024
مجله ویستا

برنامه دریافت فایل GNU Wget


برنامه دریافت فایل GNU Wget
این برنامه یك ابزار رایگان برای دریافت فایل از اینترنت در محیط متنی میباشد . این برنامه از پروتكل های HTTP، HTTPS و FTP پشتیبانی میكند و همچنین سازگار با سرویس دهنده های پراكسی است .
Wget این قابلیت را دارد كه در پس زمینه، در حالی كه كاربر در سیستم وارد نشده است، به فعالیت بپردازد. به این ترتیب میتوانید دریافت فایل را شروع كرده و از سیستم خارج شوید. Wget تا اتمام كار، به فعالیت خود ادامه خواهدداد. این قابلیت برای دانلود كردن فایلهای بزرگ كه ساعتهای زیادی طول میكشند، مفید است.
Wget میتواند لینكهای موجود در سایتهای وب را دنبال كرده و نسخه های محلی سایتتهای وب را ایجاد نماید و ساختار دایركتوری آنها را در كامپیوترتان ایجاد نماید . به این عملیات اصطلاحا دانلود بازگشتی یا Recursive downloading اطلاق میشود. همچنین Wget میتواند لینكهای موجود در سایت وب را طوری تغییر دهد كه سایت را بتوان بصورت Offline در كامپیوتر مشاهده نمود .
Wget برای عملكرد روی خطوط آهسته و ناپایدار اتصال به اینترنت طراحی شده است . در صورتی كه اتصال شما دائما قطع میشود، ویا بدلیل بزرگ بودن فایل مجبور به قطع مداوم اتصال هستید، Wget میتواند پس از اتصال مجدد ادامه فایل را برای شما دریافت نماید. Wget برنامه بسیار قابل اطمینانی است. در بدترین شرایط، امكان ندارد كه یك فایل را بصورت خراب دانلود كند، حتی اگر اتصال شما صدها بار قطع شده باشد.
برای یادگیری كامل این برنامه نیاز دارید تا مستندات آنرا به تایپ دستور man wget مطالعه نمایید. این مستندات حدود ۲۰ صفحه بوده و كلیه گزینه های این برنامه را توضیح داده است . در اینجا برای آشنایی شما با كاربرد این برنامه، برخی گزینه های مهم را به همراه مثال شرح میدهم :
۱) استفاده ساده :
در حالت عادی برای دریافت یك فایل، باید پس از دستور wget، آدرس URL فایل مربوطه را وارد نمایید. برای این كار، با استفاده از مرورگر خود، URL كامل فایل مربوطه را كپی كرده و در پنجره ترمینال، جلوی دستور Paste نمایید. در صورتی كه قبلا در حال دریافت فایلی بوده اید و دریافت آن به دلایلی نیمه كاره مانده و مایل به دریافت ادامه فایل هستید، میتوانید از سوئیچ c برای این كار استفاده كنید. به دو مثال زیر توجه كنید :
▪ wget http://www.redhat.com/download/kernel-۲.۴-۲۰.K۷.rpm
▪ wget -c http://www.redhat.com/download/kernel-۲.۴-۲۰.K۷.rpm
در مثال اول، wget شروع به دریافت فایلی را كه در جلوی آن تعیین شده است، خواهد كرد. در مثال دوم، در صورتی كه این فایل قبلا به صورت ناقص دریافت شده است، ادامه آنرا دریافت خواهد كرد. برنامه wget به صورت پیش گزیده و خودكار، در صورت قطع اتصال به هر دلیل، ۲۰ بار عملیات دریافت را تكرار خواهد كرد. در صورتی كه احساس میكنید این تعداد ممكن است برای اتصال كند و ناپایدار شما كم باشد، با استفاده از سوئیچ t میتوانید تعداد آنرا تعیین كنید . به مثال زیر توجه كنید :
▪ wget -t ۴۵ http://www.redhat.com/download/kernel-۲.۴-۲۰.K۷.rpm
در مثال بالا، برنامه wget، در صورت قطع اتصال، ۴۵ بار مجددا به سرویس دهنده متصل شده و دریافت را تمام خواهد كرد . در صورتی كه چنین اتصالی دارید، توصیه میشود تا حتما سوئیچ c را هم بكار ببرید تا فایل از ادامه دریافت شود .
همانطور كه گفتم، یكی از قابلیت هایبرنامه wget، قابلیت اجرای آن در پس زمینه است. برای اجرای آن در پس زمینه، كافی است از دستور زیر استفاده كنید :
▪ wget -t ۴۵ -o log http://www.redhat.com/download/kernel-۲.۴-۲۰.K۷.rpm &
در مثال بالا، برنامه wget در حالت پس زمینه اجرا شده و عملیات آن در فایل ثبتی به نام log ثبت میشود.
۲) استفاده پیشرفته :
در صورتی كه یك فایل حاوی URL كامل فایلهایی كه نیاز دارید دانلود شوند دارید، میتوانید با استفاده از گزینه i از آن استفاده كنید:
▪ wget -i | myFile
در مثال بالا، برنامه wget، آدرسهای مورد نیاز خود را از فایل myFile خواهد خواند. قبلا گفتم كه wget میتواند یك سایت وب كامل را برای شما دانلود كرده و در كامپیوترتان ذخیره كند. برای دریافت كامل یك سایت وب، باید دستور زیر را وارد نمایید :
▪ wget -r http://www.gnu.org/ -o gnulog
در این مثال، برنامه wget، نسخه ای از سایت وب gnu.org را با عمق ۵ دایركتوری و همان ساختار دایركتوری استفاده شده در سایت، دریافت كرده و عملیات را در فایل gnulog ذخیره خواهد كرد. در صورتی كه مایل هستید، لینكهای فایلهای HTML طوری تبدیل شود تا در كامپیوتر خودتان و در حالت Offline بتوانید آنها را مرور كنید، از گزینه زیر استفاده كنید :
▪ wget --convert-links -r http://www.gnu.org/ -o gnulog
در صورتی كه بخواهید فقط محتویات یك دایركتوری حاوی فایلهای خاص را دریافت كنید نیز، wget این امكان را به شما اعطا میكند . به مثال زیر توجه كنید :
▪ wget -r -l۱ -A.gif http://www.gnu.org/images/
در این مثال، wget با عمق یك دایركتوری، تمام فایلهای gif موجود در دایركتوری مربوطه را دریافت خواهد كرد. در صورتی كه هنگام دانلود ساختار یك سایت، اتصال قطع شود، برای ادامه باید از گزینه nc استفاده كنید:
▪ wget -nc -r http://www.gnu.org
بصورت كلی، برنامه wget برنامه ای بسیار قدرتمند و انعطاف پذیر بوده و كلیه نیازهای دریافت فایل شما را پوشش خواهد داد.
منبع : فساهو