جستجو برای:
سبد خرید 0
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
محتوای باز
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]
  • خانه
  • کتاب آنلاین
  • درباره سایت
  • درباره لوگو
  • تماس با ما
محتوای باز
  • صفحه اصلی
  • دوره‌های آموزشی
  • وبلاگ
  • درباره ما
  • قوانین و مقررات
  • همکاری با ما
  • تماس با ما
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0
[wcas-search-form]

دستورات لینوکس در DevOps

28 بهمن 1404
ارسال شده توسط فرشید نوتاش حقیقت
برنامه‌نویسی، خط فرمان، دواپس

دستورات لینوکس برای مهندسان DevOps ضروری هستند، زیرا مدیریت سیستم، اتوماسیون و عیب یابی را سریع و قابل اعتماد می‌کنند. چه در حال مدیریت ماشین‌های مجازی ابری باشید، چه در حال ساخت خطوط لوله CI/CD یا اشکال‌زدایی کانتینرها باشید، خط فرمان ابزارهایی را در اختیار شما قرار می‌دهد تا سیستم‌ها را بررسی کنید، وظایف را خودکار کنید و مشکلات را به سرعت برطرف کنید.

دستورات پایه

دستور pwd

دستور pwd به شما کمک می‌کند مکان فعلی خود را در سیستم فایل شناسایی کنید:

`pwd` - Print Working Directory

دستور ls

دستور ls برای فهرست کردن فایل‌ها و دایرکتوری‌ها در فهرست فعلی استفاده می‌شود:

`ls` - List Files and Directories

دستورشرح
ls «هر مسیر تعریف شده» پس از دستور «ls» تعریف می‌شود، همه موارد مربوط به آن مکان را نمایش می‌دهد.
ls -lپرچم `-l` برای نمایش لیست تمام محتویات با برخی اطلاعات اضافی مانند مجوز فایل یا پوشه، مهر زمان استفاده می شود.
ls - aپرچم `-a` برای دیدن فایل ها و پوشه های مخفی استفاده می شود.

دستور uname

دستور uname اطلاعات سیستم را بازیابی می‌کند:

uname - Print System Information

توجه: با افزودن پرچم «-r» به دستور «uname»، می‌توانید نسخه انتشار هسته را نمایش دهید.

uname -r   Print Kernel Release Information

دستور cd

دستور cd به شما اجازه می دهد تا با تغییر دایرکتوری فعلی خود در سیستم فایل حرکت کنید.

cd  -  Change Directory

دستور clear

دستور clear صفحه ترمینال را پاک می‌کند و یک فضای کاری تمیز فراهم می‌کند.

clear - Clear the Terminal Screen

دستور whoami

whoami نام کاربری کاربر فعلی وارد شده به ترمینال را برمی‌گرداند.

whoami - It returns the username of the current user logged into the terminal

دستور history

این دستور برای نمایش تاریخچه دستوری که قبلا اجرا شده است استفاده می‌شود.

history

دستور free

این دستور برای بررسی جزئیات مربوط به حافظه در سیستم شما استفاده می‌شود.

free

دستور nslookup

nslookup برای به دست آوردن اطلاعات برای سرور DNS استفاده می‌شود. مخفف Name Server Lookup است.

nslookup <domain name>

دستور ssh-keygen

ssh-keygen برای ایجاد یک اتصال SSH ایمن از دستگاه میزبان شما به هر سرور راه دور استفاده می‌شود. این یک جفت کلید عمومی/خصوصی تولید می‌کند.

ssh-keygen -t rsa

دستور curl

curl ابزاری است که برای واکشی داده‌ها و ارسال داده‌ها از طریق اینترنت استفاده می‌شود. می‌تواند از پروتکل های مختلفی مانند HTTPS، SMTP و FTP استفاده کند.

curl [options] [URL]

دستور curl -o

پرچم curl -o داده‌ها را در یک فایل در ماشین محلی ذخیره می‌کند.

`curl -o` [file_name] [URL...]

دستور apt-get

دستور apt-get برای مدیریت بسته‌ها در لینوکس استفاده می‌شود. APT مخفف Advanced Packaging Tool است و کاربرد اصلی آن نصب، به‌روزرسانی، ارتقا و حذف بسته‌ها است.

apt-get [options] command

دستور du

دستور du برای بررسی فضای استفاده از دیسک استفاده می‌شود.

du

دستور df

دستور df برای بررسی فضای دیسک موجود در سیستم استفاده می‌شود.

df -h

دستور ifconfig

دستور ifconfig برای مشاهده اطلاعات مربوط به رابط شبکه شما استفاده می‌شود.

ifconfig [OPTIONS] [INTERFACE]

دستور ip

دستور ip جایگزین مدرن دستور ifconfig است. از این دستور برای مشاهده و مدیریت تنظیمات شبکه استفاده می‌شود. با استفاده از این دستور می‌توانید آدرس‌های IP را بررسی کنید، رابط‌های شبکه را پیکربندی کنید و جداول مسیریابی را مشاهده کنید.

ip [OPTIONS] OBJECT {COMMAND | help}

ایجاد فایل‌ها و دایرکتوری‌ها

در DevOps، ایجاد و مدیریت فایل‌ها و دایرکتوری‌ها یک کار رایج است. در اینجا چند دستور ضروری آورده شده است:

برای ایجاد دایرکتوری‌ها

۱. برای ایجاد یک دایرکتوری واحد:

mkdir GFG

۲. برای ایجاد چندین دایرکتوری:

mkdir GFG1 GFG2 GFG3

۳. برای ایجاد مسیرهای دایرکتوری (دایرکتوری‌های درون دایرکتوری‌های دیگر):

mkdir -p   /GFG/GFG1/GFG2

۴. برای ایجاد مجموعه‌ای از دایرکتوری‌های شماره‌گذاری‌شده:

mkdir gfg{1..3}

برای ایجاد فایل‌ها

ما می‌توانیم با استفاده از دستورات مختلفی مانند vi، touch، echo، nano و غیره در لینوکس فایل ایجاد کنیم. جدول زیر موارد استفاده هر دستور را توضیح می‌دهد:

دستورهدفمثالتوضیحات
touchایجاد یک فایل خالیtouch file.txtمی‌تواند چندین فایل ایجاد کند: touch a.txt b.txt
echoایجاد یک فایل با مقداری محتواecho "Hello" > hello.txtاگر فایل از قبل وجود داشته باشد، رونویسی می‌کند
catایجاد یک فایل و نوشتن در آنcat > notes.txtمحتوا را تایپ کنید، سپس Ctrl + D را برای ذخیره فشار دهید
nanoباز کردن یک ویرایشگر متن ترمینالnano file.txtکاربرپسند؛ برای خروج و ذخیره، Ctrl + X را فشار دهید
vi or vimباز کردن یک ویرایشگر ترمینال قدرتمندvi file.txtبرای درج، i، برای خروج، Esc و برای ذخیره، wq: را فشار دهید.

کپی و پیست فایل‌ها و دایرکتوری‌ها

دستور cp برای کپی کردن و چسباندن فایل‌ها یا دایرکتوری‌ها در لینوکس استفاده می‌شود. در اینجا چند گزینه و مثال رایج آورده شده است:

برای کپی کردن یک فایل با استفاده از verbosity و force:

cp -rvf  gfg1   gfg

حذف فایل‌ها و دایرکتوری‌ها

برای حذف فایل‌ها یا دایرکتوری‌ها در DevOps، می‌توانید از دستور rm استفاده کنید. محتاط باشید، زیرا داده‌ها را به طور دائم حذف می‌کند. در اینجا مثالی آورده شده است:

برای حذف یک دایرکتوری و محتویات آن:

rm -rvf  gfg

تغییر نام فایل‌ها و دایرکتوری‌ها

دستور mv برای تغییر نام فایل‌ها یا دایرکتوری‌ها استفاده می‌شود. برای مثال، برای تغییر نام یک دایرکتوری از “gfg” به “gfg-devops”، می‌توانید از دستور زیر استفاده کنید:

mv gfg  gfg-devops

مدیریت کاربر

مدیریت کاربران در لینوکس یکی از جنبه‌های حیاتی DevOps و مدیریت سیستم است. مدیریت کاربران و مجوزهای آنها تضمین می‌کند که سیستم‌های شما ایمن، سازمان‌یافته و مطابق با نیازهای سازمان شما باشند. در اینجا مروری بر مدیریت کاربران در لینوکس در چارچوب DevOps داریم:

۱. ایجاد یک کاربر

برای ایجاد یک کاربر جدید در لینوکس، می‌توانید از دستور useradd استفاده کنید. به عنوان مثال:

sudo useradd  [usernam]

۲. تنظیم رمز عبور

پس از ایجاد کاربر، با استفاده از دستور passwd یک رمز عبور تنظیم کنید:

sudo passwd [username]

۳. حذف یک کاربر

برای حذف یک کاربر، از دستور userdel استفاده کنید:

sudo userdel  [username]

۴. تغییر به کاربری دیگر

دستور su به شما امکان می‌دهد با وارد کردن نام کاربری به عنوان آرگومان، به حساب کاربری دیگری بروید. برای خروج از حساب کاربری و بازگشت به جلسه اصلی خود، می‌توانید به سادگی exit را تایپ کنید.

su  [USER NAME]

۵. تغییر نام کاربر

برای تغییر نام کاربری از نام فعلی (oldname) به نام جدید (newname)، از دستور زیر استفاده کنید:

sudo usermod -l [newname] [oldname]

مدیریت گروه

یک گروه مجموعه‌ای از حساب‌های کاربری است که برای مدیران سیستم جهت مدیریت و اعمال مجوز به تعدادی از کاربران بسیار مفید است.

دستورشرح
sudo groupadd ساخت گروه جدید
sudo groupdel حذف گروه
sudo usermod -g اضافه کردن کاربر به گروه

مدیریت فرآیند

مدیریت فرآیند، فرآیند کنترل و نظارت بر فرآیند در حال اجرا در سیستم لینوکس است.

دستور ps

دستور ps فرآیندهای در حال اجرا را نمایش می‌دهد.

ps aux

دستور top

دستور top برای نظارت بر حافظه استفاده می‌شود و نمایی از فرآیندهای سیستم را به صورت بلادرنگ (real-time) نشان می‌دهد.

top

دستور kill

دستور kill برای خاتمه دادن به یک فرآیند با استفاده از PID آن استفاده می‌شود.

kill 1234

دستور pidof

دستور pidof برای بدست آوردن PID یک فرآیند در حال اجرا بر اساس نام آن استفاده می‌شود.

pidof bash

دستور systemctl

دستور systemctl برای شروع/توقف/راه‌اندازی مجدد سرویس‌های مدیریت‌شده توسط systemd (مانند Docker، Nginx و غیره) توسط کاربر استفاده می‌شود.

sudo systemctl status nginx

پرمیژن‌های سیستم فایل لینوکس

در لینوکس، برای افزایش امنیت فایل و دایرکتوری، باید از پرمیژن‌ها استفاده کنیم. در مجموع سه نوع پرمیژن برای فایل وجود دارد: خواندن، نوشتن و اجرا.

سه نوع پرمیژن فایل به شرح زیر وجود دارد:

  • user (u): مجوزهای مورد استفاده برای کاربر فایل.
  • group (g): مجوز مورد استفاده توسط عضو گروه.
  • other (o): مجوز مورد استفاده توسط سایر کاربران.

برای مثال، فرض کنید یک فایل دارای مجوزهای خواندن است که برای کاربر مجاز است. در این حالت، کاربر فقط می‌تواند آن فایل را بخواند، در حالی که گروه و دیگران قادر به خواندن آن نخواهند بود.

دستور ls -ld

برای بررسی مجوز دایرکتوری استفاده می‌شود.

ls -ld

پرمیژندسترسی برای یک فایلدسترسی به یک دایرکتوری
Read (r)نمایش محتویات فایل و کپی کردن فایلمشاهده محتویات دایرکتوری
Write (w)تغییر محتویات فایلتغییر محتویات یک دایرکتوری
Execute (x)اجرای فایل در صورت فایل دارا بودن مجوز اجراییاجازه دسترسی به دایرکتوری با استفاده از دستور cd

پرمیژن با عدد و نماد

عددنوع پرمیژننماد
0No permission---
1Execute--x
2Write-w-
3Execute +Write-wx
4Readr--
5Read + Executer-x
6Read +Writerw-
7Read + Write + Executerwx

دستور chmod

این دستور برای تغییر سطح دسترسی فایل‌ها و دایرکتوری‌ها استفاده می‌شود.

chmod <permission of user , group , other> {filename }

دستور chown

برای تغییر مالک فایل و دایرکتوری استفاده می‌شود.

chown [owner_name] [file name]

دستور cat

برای خواندن و الحاق متن داخل فایل‌ها استفاده می‌شود. با کمک این دستور می‌توانیم محتوای داخل فایل را نمایش دهیم.

cat <flag> {filename}

دستورشرح
cat -bاین پرچم عدد را به خط متن اضافه می‌کند.
cat -Eاین پرچم، علامت $ را به انتهای هر خط اضافه می‌کند.

دستور grep

این فیلتر، یک فایل را برای یافتن الگوی خاصی از کاراکترها جستجو می‌کند و تمام خطوطی را که حاوی آن الگو هستند، نمایش می‌دهد.

grep <flag or search_word> {file name}

دستورشرح
grep -iنتایج را برای رشته‌های غیر حساس به حروف بزرگ و کوچک ارائه می‌دهد.
grep -nرشته‌های مربوطه و شماره خط‌های مربوطه را بازیابی کنید.
grep -vخروجی خطوطی را ارائه می‌دهد که حاوی رشته جستجو نیستند.

دستور sort

sort filename

دستور head

دستور head برای نمایش چند خط اول یک یا چند فایل متنی استفاده می‌شود.

head -n 2 gfg

دستور tail

دستور tail برای نمایش چند خط آخر یک یا چند فایل متنی استفاده می‌شود.

tail -n 3 gfg

دستور find

دستور find برای جستجوی فایل‌ها و دایرکتوری‌ها بر اساس معیارهای مختلفی مانند نام، اندازه، نوع و تاریخ تغییر استفاده می‌شود.

find [path] [expression]

دستور stat

دستور stat برای نمایش جزئیات فراداده‌های مجوز و مالکیت استفاده می‌شود.

stat data.txt

geeksforgeeks

درباره فرشید نوتاش حقیقت

همیشه نیازمند یک منبع آموزشی فارسی در حوزه نرم‌افزارهای آزاد/ متن‌باز و سیستم‌عامل گنو/لینوکس بودم. از این رو این رسالت رو برای خودم تعریف کردم تا رسانه «محتوای باز» رو بوجود بیارم.

نوشته‌های بیشتر از فرشید نوتاش حقیقت
قبلی مقدمه‌ای بر سیستم‌عامل لینوکس
بعدی پیکربندی و گزینه‌های امنیتی سرور SSH لینوکس (sshd) به همراه مثال

دیدگاهتان را بنویسید لغو پاسخ

این سایت از اکیسمت برای کاهش جفنگ استفاده می‌کند. درباره چگونگی پردازش داده‌های دیدگاه خود بیشتر بدانید.

جستجو
جستجو برای:
دسته‌بندی موضوعی مقالات
  • برنامه‌نویسی
    • پایتون
    • دواپس
  • پایگاه‌داده
    • MariaDB
    • MySQL
  • تجارت الکترونیک
    • بازاریابی اینترنتی
    • دیجیتال مارکتینگ
    • شبکه‌های اجتماعی
  • جامعه کاربری
    • لاگ
  • دسته‌بندی نشده
  • شبکه و امنیت
  • طراحی وب
    • سئو
    • سیستم مدیریت محتوا
      • وردپرس
  • فناوری‌های نوظهور
    • اینترنت اشیاء
    • رایانش ابری
      • OpenStack
    • کلان‌داده‌ها
  • گنو/لینوکس
    • توزیع
      • CentOS
      • اوبونتو
      • دبیان
      • فدورا
    • چیست
    • خط فرمان
  • مهاجرت به آزاد/متن‌باز
  • نرم‌افزار
    • اداری
      • لیبره آفیس
        • ایمپرس
        • بیس
        • دراو
        • رایتر
        • کالک
    • کاربردی
    • گرافیک و انیمیشن
      • بلندر
      • گیمپ
نماد الکترونیکی (اینماد)
پرداخت‌یار

محتوای باز؛ مرجع آموزشی نرم‌افزارهای آزاد/ متن‌باز

از اینکه قصد همکاری با رسانه «محتوای باز» را دارید بسیار خرسندیم و این مایه مباهات ماست.

نحوه همکاری با ما چندان پیچیده نیست و شرایط آن در ادامه، ارائه گردیده است.

دستمزد مدرسین

پیش از بیان شرایط ضبط ویدئو شایان ذکر است اشاره‌ای به دستمزد مدرسین سایت داشته باشیم.

شما ممکن است در دو حالت تمایل به نشر ویدئو خود را داشته باشید: یا آن را رایگان در اختیار عموم قرار دهید و یا اینکه در قبال فروش آن از خریدار وجه مربوطه محصول را اخذ نمایید.

صرف نظر از هر حالت ممکنه، می‌بایست شرایطی که در ادامه ذکر شده‌اند را رعایت کرده باشید.

در حالت اول (رایگان) رسانه محتوای باز (Open Content)، نه وجهی از شما برای نشر ویدئو می‌گیرد و نه وجهی به شما پرداخت می‌نماید و دوره آموزشی شما را به رایگان منتشر می‌کند.

اما در حالت بعدی طریقه همکاری به روش درآمد از فروش خواهد بود، به گونه‌ای که 70 درصد از کل مبلغ فروش دوره آموزشی متعلق به مدرس دوره بوده و 30 درصد مابقی به رسانه محتوای باز تعلق می‌گیرد.

شرایط کلی ضبط دوره آموزشی

دوره آموزشی مربوطه، صرف نظر از هر محتوایی که دارد می‌بایست در یکی از توزیعات گنو/لینوکسی ضبط شده باشد. (به‌عنوان مثال دوره دروپال در اوبونتو، دوره آموزشی کار با آردوینو در دبیان و امثالهم). اگر دوره آموزشی شما در محیط ویندوز و یا هر پلتفرم/سیستم‌عامل دیگری ضبط شده باشد از همکاری با شما معذوریم.

پیشنهاد می‌گردد برای ضبط دوره آموزشی در توزیع گنو/لینوکس از ابزار قدرتمند OBS استفاده نمایید. البته این صرفا یک پیشنهاد است و شما می‌توانید از هر ابزار مناسب دیگری برای این کار بهره ببرید.

برای آشنایی یا تسلط بیشتر می‌توانید دوره رایگان آموزش OBS محمد عابدینی را ببینید:

مشاهده دوره آموزش OBS
شرایط کیفی ضبط دوره آموزشی

کیفیت صدا از اهمیت ویژه‌ای برخوردار می‌باشد و می‌بایست فاقد هر گونه نویز یا صدای اضافی دیگری (صدای محیط پیرامون) باشد.

دوره آموزشی تهیه شده صرفا باید برای رسانه محتوای باز تدوین شده باشد و در هیچ سایت مشابه دیگری قرار نگرفته باشد.

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

دوره آموزشی ضبط شده می‌باید فاقد هر گونه لوگو یا آدرس سایت دیگری (در گوشه تصویر یا بک‌گراند صفحه دسکتاپ و هر جای دیگری) باشد.

در حین دوره، مدرس نباید به برند خاصی اشاره کند که جز رقبای ما به‌شمار می‌آیند.

مدرس باید در ابتدا در اواسط و در انتهای دوره به برند ما یعنی رسانه محتوای باز (Open Content) بصورت کلامی اشاره نماید.

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

قبل از تدوین دوره آموزشی حتما با ما در تماس باشید و یک ویدیوی چنددقیقه‌ای (ترجیحا 5 الی 10 دقیقه)، بصورت نمونه‌کار برای ما بفرستید.

از همکاری با شما سپاسگزاریم.

فراخوان همکاری