فهرست سرفصل‌های Bash
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) فرمان ها (Commands) فهرست فایل ها (List (ls)) تغییر پوشه (Change Dir (cd)) نمایش مسیر (Print Dir (pwd)) چاپ متن (Echo (echo)) ادغام فایل ها (Concatenate (cat)) کپی کردن (Copy (cp)) جابه جایی (Move (mv)) حذف (Remove (rm)) ساخت/به روزرسانی زمان (Timestamp (touch)) ساخت پوشه (Make Dir (mkdir)) راهنما (Manual (man)) نام مستعار (Alias) جستجوی متن (Search Text (grep)) اسکن الگو (Pattern Scan (awk)) ویرایشگر جریان (Stream Editor (sed)) برش بخش ها (Remove Section (cut)) مرتب سازی خطوط (Sort Lines (sort)) نمایش انتها (View End (tail)) نمایش ابتدا (View Start (head)) وضعیت فرایندها (Process Status (ps)) فهرست فرایندها (List Processes (top)) فضای دیسک (Disk Space (df)) مصرف پوشه ها (Directory Usage (du)) مصرف حافظه (Memory Usage (free)) پایان دادن (Terminate (kill)) زمان روشن بودن (Uptime) پینگ (Ping) انتقال URL (URL Transfer (curl)) دانلودکننده (Downloader (wget)) اتصال راه دور (Remote Connect (ssh)) کپی امن (Secure Copy (scp)) همگام سازی فایل ها (File Sync (rsync)) فشرده سازی (Compress (zip)) استخراج (Extract (unzip)) بایگانی TAR (TAR Archive) مالکیت (Ownership) تغییر مجوزها (Modify (chmod)) تغییر مالکیت (Ownership (chown)) تغییر گروه (Group (chgrp)) سینتکس (Syntax) اسکریپت (Script) متغیرها (Variables) انواع داده (Data Types) عملگرها (Operators) اگر…وگرنه (If...Else) حلقه ها (Loops) توابع (Functions) آرایه ها (Arrays) زمان بندی (Schedule (cron)) تمارین (Exercises) آزمون (Quiz) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
مستندات زبان Bash

Bash — انتقال URL (URL Transfer (curl))

آخرین بروزرسانی: 1404/08/17

انتقال URL (URL Transfer (curl))

با فرمان «کرل (curl)» می توانیم داده را از/به سرور منتقل کنیم. «پروتکل (Protocol)» یعنی قانون های ارتباطی مثل HTTP و FTP. این ابزار برای دانلود، تست API، و گرفتن هدرها عالی است.

انتقال URL با curl

برای دریافت یک صفحه ساده، آدرس را بده. خروجی بدنه پاسخ نمایش می شود.

curl http://example.com/file.txt

مشاهده در ادیتور

گزینه های مهم

  • -O: ذخیره با همان نام فایل راه دور.
  • -L: دنبال کردن ریدایرکت ها.
  • -I: فقط هدرهای HTTP را بگیر.
  • -d: ارسال داده با درخواست POST.
  • -u: احراز هویت با نام کاربری:رمزعبور.

دانلود و حفظ نام اصلی

با -O فایل با همان نام ذخیره می شود. این روش برای آرشیو مناسب است.

curl -O http://example.com/file.txt
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   134  100   134    0     0    216      0 --:--:-- --:--:-- --:--:--   218

مشاهده در ادیتور

پشت سر گذاشتن ریدایرکت ها

خیلی از لینک ها منتقل می شوند. با -L مقصد نهایی را دنبال کن.

curl -L http://example.com/redirect
Hello, this is a test file.
There are three lines here.
This is the last line.

مشاهده در ادیتور

گرفتن فقط هدرها

هدرها اطلاعات پاسخ هستند. با -I فقط هدرها را بگیر.

curl -I http://example.com
# Output:
# HTTP/1.1 200 OK
# Date: Wed, 10 Apr 2025 10:00:00 GMT
# Content-Type: text/html; charset=UTF-8
# Connection: keep-alive

مشاهده در ادیتور

ارسال داده با POST

فرم ها داده می فرستند. با -d داده فرم را POST کن.

curl -d "fname=John" https://www.example.com/action_page.php
<h1>Submitted Form Data</h1>
<h2>Your input was received as:</h2>
fname=John

مشاهده در ادیتور

احراز هویت ساده

برخی مسیرها خصوصی اند. با -u نام کاربری و رمز بده.

curl -u user:password http://example.com/protected
Hello, this is a test file.
This is the last line.

مشاهده در ادیتور

شناخت خروجی curl

کد وضعیت، موفقیت یا خطا را می گوید. هدرها متاداده اند. بدنه، محتوای اصلی است. نوار پیشرفت سرعت و زمان را نشان می دهد.

گام های سریع اجرا

  1. آدرس را انتخاب کن. اینترنتت پایدار باشد.
  2. نیاز را تعیین کن؛ بدنه، هدر، یا دانلود.
  3. گزینه درست را بزن؛ -O، -L، -I یا -d.
  4. خروجی را بخوان و خطاها را بررسی کن.

نکته: برای تست شبکه، از پینگ استفاده کن. برای دریافت ساده فایل، wget هم گزینه خوبی است. اگر نیاز به مرور کامل داری، انتقال URL را مرجع نگه دار.

جمع بندی سریع

  • curl برای انتقال URL همه کاره است.
  • -O دانلود با نام اصلی می دهد.
  • -L ریدایرکت ها را دنبال می کند.
  • -I فقط هدرها را نمایش می دهد.
  • -d داده فرم را POST می کند.