سیستم عاملی را تصور کنید که آنقدر قابل اعتماد است که قدرت بزرگ ترین سرورهای جهان، سریع ترین ابررایانه ها و حتی زیرساخت ابری شرکت های فناوری پیشرو را تامین کند. به Red Hat Enterprise Linux (RHEL) خوش آمدید – ستون فقرات سیستم های IT مدرن.

چه یک تازه کار کاملاً مبتدی باشید که برای اولین بار در حال کاوش در لینوکس هستید یا یک حرفه ای با تجربه باشید که به دنبال پیشرفت هستید روی اصول اولیه شما، شما در جای درستی هستید. این آموزش نقطه شروع شما برای کشف قدرت، پایداری و تطبیق پذیری RHEL است.

اما چه چیزی RHEL را در اکوسیستم شلوغ لینوکس متمایز می کند؟ چرا شرکت هایی مانند گوگل، آمازون و ناسا متکی هستند؟ روی آن را؟ بیایید وارد آن شویم و همه چیزهایی را که برای شروع سفر خود با Red Hat Enterprise Linux باید بدانید، بررسی کنیم.

آنچه را پوشش خواهیم داد:

  1. یک پیشینه کوچک

  2. چه چیزی لینوکس را خاص می کند؟

  3. چرا Red Hat Enterprise Linux؟

  4. چگونه محیط تمرین خود را برای دستورات لینوکس تنظیم کنید

  5. مقدمه ای بر دستورات پایه لینوکس

یک پیشینه کوچک

آیا تا به حال فکر کرده اید که همه چیز از کجا شروع شد؟ قبل از اینکه لینوکس وجود داشته باشد، وجود داشت یونیکس، یک سیستم عامل انقلابی که در دهه 1970 ایجاد شد و روش کار کامپیوترها را تغییر داد. یونیکس که برای پایداری، چندوظیفگی و مقیاس‌پذیری طراحی شده بود، پایه‌ای شد که سیستم‌عامل‌های مدرن بر اساس آن ساخته شدند.

به سرعت به سال 1991، زمانی که یک دانشجوی 21 ساله فنلاندی علوم کامپیوتر به نام لینوس توروالدز در دانشگاه هلسینکی تصمیم گرفت هسته سیستم عامل خود را به عنوان یک پروژه سرگرمی ایجاد کند. او نمی دانست که این سرگرمی به لینوکس تبدیل می شود، یک سیستم عامل متن باز که بازی را تغییر می دهد و دنیای فناوری را دوباره تعریف می کند.

حالا قسمت جالب اینجاست: لینوکس چگونه نام خود را پیدا کرد؟ در اصل، لینوس می‌خواست آن را «فریکس» (ترکیبی از «رایگان»، «فریک» و «یونیکس») بنامد. اما زمانی که او فایل های پروژه را روی سروری که توسط دوستش Ari Lemmke مدیریت می شود آپلود کرد، آری فکر کرد که “Freax” به اندازه کافی جذاب به نظر نمی رسد. بنابراین، بدون اینکه به لینوس بگوید، آری نام دایرکتوری را “Linux” گذاشت – ترکیبی هوشمندانه از لینوس + یونیکس. و بقیه، همانطور که می گویند، تاریخ است.

چه چیزی لینوکس را خاص می کند؟

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

آنچه واقعا لینوکس را متمایز می کند، جامعه جهانی توسعه دهندگان و علاقه مندانی است که دائماً پیشرفت و نوآوری می کنند. این رویکرد مشترک تضمین می کند که لینوکس در خط مقدم فناوری باقی می ماند و با نیازهای کاربران خود تکامل می یابد.

امروزه، لینوکس فقط یک سیستم عامل نیست – بلکه یک خانواده کامل از توزیع ها (یا توزیع ها) است. از نسخه‌های کاربرپسند مانند اوبونتو و فدورا گرفته تا راه‌حل‌های سطح سازمانی مانند RHEL، یک لینوکس برای همه وجود دارد. در این مقاله، ما تمرکز می کنیم روی RHEL و چرا انتخاب عالی برای پروژه های خاص است.

اگر می‌خواهید انواع جذاب توزیع‌های لینوکس را بررسی کنید، می‌توانید این ویکی‌پدیا را بررسی کنید page روی توزیع های لینوکس برای اینکه ببینید اکوسیستم لینوکس چقدر متنوع است.

چرا Red Hat Enterprise Linux؟

Red Hat Enterprise Linux (RHEL) مانند دوست قابل اعتماد و بی معنی است که هنگام سازماندهی یک رویداد بزرگ و مهم با آن تماس می گیرید.

مطمئناً، می‌توانید از دوستان سرگرم‌کننده اما غیرقابل پیش‌بینی خود (مانند توزیع‌های لینوکس منبع باز) کمک بخواهید، اما همیشه این احتمال وجود دارد که صندلی‌ها را فراموش کنند یا در نیمه راه از بین بروند.

RHEL، روی از سوی دیگر، برای ثبات ساخته شده است و با یک تیم پشتیبانی حرفه ای همراه است روی 24/7 تماس بگیرید تا هر مشکلی را برطرف کنید. این به طور کامل آزمایش شده است تا مطمئن شوید که با تمام ابزارها و ابزارهایی که شرکت‌های بزرگ استفاده می‌کنند کار می‌کند، بنابراین هیچ شگفتی وجود ندارد.

ترکیبی از قابلیت اطمینان، امنیت، عملکرد و پشتیبانی RHEL آن را به سیستم عاملی مناسب برای شرکت ها تبدیل می کند و اهمیت آن را در چشم انداز فناوری اطلاعات تقویت می کند.

در اینجا خلاصه ای از مزایا و ویژگی های RHEL آمده است:

1. ثبات و قابلیت اطمینان در درجه سازمانی

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

2. ویژگی های امنیتی جامع

امنیت در محیط‌های سازمانی بسیار مهم است و RHEL با ویژگی‌های قوی مانند SELinux (لینوکس با امنیت بالا) و به‌روزرسانی‌های امنیتی منظم برتری دارد. رویکرد فعال برای شناسایی و رسیدگی به آسیب‌پذیری‌ها به سازمان‌ها کمک می‌کند تا از مقررات صنعت پیروی کنند و یکپارچگی سیستم‌های خود را حفظ کنند.

3. مقیاس پذیری و بهینه سازی عملکرد

RHEL برای ارائه عملکرد بالا برای طیف گسترده ای از معماری های سخت افزاری و حجم کاری، از جمله ابر، بهینه شده است. روی-محل، و تنظیمات هیبریدی. توانایی آن در مقیاس کارآمد آن را برای برنامه های کاربردی در مقیاس کوچک و همچنین مراکز داده بزرگ و بارهای کاری در سطح سازمانی مناسب می کند.

پیشنهاد می‌کنیم بخوانید:  اپراتور Null Coalescing در جاوا اسکریپت با ECMAScript 2020 هنگام کار در چرخه عمر درخواست-پاسخ، می‌خواهید مطمئن شوید که یک پاسخ با بدن مورد نظر - یا حداقل یک پاسخ آموزنده دریافت می‌شود تا کلاینت درخواست کننده داده در حلقه باقی بماند. در صورت وجود مقادیر تهی، احتمالاً می خواهید نتیجه متفاوتی را برگردانید.

4. اکوسیستم گسترده و پشتیبانی حرفه ای

RHEL از اکوسیستم گسترده Red Hat از سخت افزار، نرم افزار و ارائه دهندگان ابری تایید شده بهره می برد. شرکت ها به انبوهی از راه حل های آزمایش شده و تایید شده به همراه پشتیبانی 24 ساعته از Red Hat دسترسی دارند. این تضمین می کند که هر گونه مشکل فنی به سرعت حل می شود و زمان خرابی را به حداقل می رساند و بهره وری را افزایش می دهد.

چگونه محیط تمرین خود را برای دستورات لینوکس تنظیم کنید

قبل از اینکه به یادگیری و تمرین دستورات لینوکس بپردازیم، باید محیطی را تنظیم کنید که بتوانید این دستورات را اجرا کنید. در اینجا سه ​​گزینه عالی برای بررسی وجود دارد:

1. با استفاده از ترمینال روی ماشین لینوکس شما

اگر قبلا از لینوکس استفاده می کنید، terminal رابط شما برای تعامل با سیستم است. تمام دستورات لینوکس در اینجا اجرا می شوند و این محیط ایده آل برای شروع تمرین است.

می توانید در را باز کنید terminal و مستقیماً دستورات خود را تایپ کنید تا آنها را در عمل ببینید.

2. استفاده از VMware یا Oracle VirtualBox

اگر نمی خواهید مستقیما لینوکس را نصب کنید روی ماشین اصلی شما، استفاده از ماشین مجازی (VM) یک راه حل عالی است. ابزارهای مجازی سازی مانند VMware یا Oracle VirtualBox به شما این امکان را می دهند که یک توزیع کامل لینوکس را به عنوان یک سیستم عامل مهمان بدون تأثیر بر سیستم اصلی خود اجرا کنید. به این ترتیب، می توانید آزادانه در یک محیط ایزوله آزمایش کنید.

روش استفاده از VM:

  • VMware Workstation Player یا Oracle VirtualBox را نصب کنید روی کامپیوتر شما

  • تصویر RHEL ISO را دانلود کنید. با دنبال کردن مراحل زیر می توانید RHEL ISO را بدست آورید:

    1. ثبت نام برای یک حساب توسعه دهنده Red Hat (رایگان است):

      • به برنامه توسعه دهنده Red Hat بروید.

      • یک حساب کاربری ایجاد کنید (این برای توسعه دهندگان مجزا است).

      • پس از ثبت نام، وارد حساب کاربری Red Hat خود شوید.

    2. ISO را دانلود کنید:

      • پس از ورود به صفحه دانلود RHEL مراجعه کنید.

      • تصویر ISO را برای RHEL انتخاب کنید (شما می توانید آخرین نسخه را انتخاب کنید).

      • روی Download کلیک کنید و فایل ISO را ذخیره کنید روی سیستم محلی شما

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

3. KillerCoda: یک محیط لینوکس آنلاین

اگر به دنبال یک راه حل کاملا آنلاین هستید، KillerCoda یک گزینه فوق العاده است. این یک لینوکس تعاملی ارائه می دهد terminal درست در مرورگر خود، بنابراین نیازی به نصب چیزی ندارید روی ماشین محلی شما

به وب سایت KillerCoda مراجعه کنید و درس های مبتنی بر سناریو را مشاهده خواهید کرد.

حالا شما باید آماده باشید.

مقدمه ای بر دستورات پایه لینوکس

یکی از ویژگی های کلیدی که لینوکس را بسیار همه کاره می کند، آن است command-line رابط (CLI). اینجاست که می توانید با تایپ دستورات با سیستم ارتباط برقرار کنید. این دستورات به شما این امکان را می دهد که کارهای مختلفی مانند مدیریت فایل ها، دایرکتوری ها، منابع سیستم و موارد دیگر را انجام دهید.

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

دستورات پایه لینوکس

1. echo

را echo از دستور برای نمایش متن یا متغیرها استفاده می شود terminal. این یکی از رایج ترین دستورات مورد استفاده در لینوکس است و برای نمایش پیام ها، مقادیر متغیر و حتی اطلاعات سیستم مفید است.

echo نحو:

echo [OPTION] [STRING]

مثال:

echo Hello # Prints 'Hello' روی terminal
echo -n Hey # Does not output a trailing newline

name="Tanishka"
echo "Hello, $name" # Prints variables

گزینه -e اجازه می دهد echo دستورات برای فعال کردن توالی فرار.

در اینجا چند گزینه دیگر وجود دارد که می توانید از آنها استفاده کنید echo:

  1. \n – خط جدید: خروجی را به خط بعدی منتقل می کند.

  2. \t – Tab: یک فضای برگه اضافه می کند.

  3. \v – زبانه عمودی: با حرکت مکان نما به موقعیت عمودی بعدی، یک برگه اضافه می کند.

  4. \b – Backspace: آخرین کاراکتر را حذف می کند.

  5. \\ – بک اسلش: ​​یک اسلش را چاپ می کند.

مثال:

echo -e "Hello World\nThis is a new line."
# Hello World
# This is a new line.

echo -e "Hello World\tThis is tabbed."
# Hello World    This is tabbed.

echo -e "Hello\vWorld\vThis is vertically spaced."
# Hello
#       World
#             This is vertically spaced.

echo -e "This is a backslash: \\"
# This is a backslash: \

2. هوامی

را whoami از دستور برای نمایش نام کاربری کاربری که در حال حاضر وارد شده است استفاده می شود.

whoami نحو:

whoami

مثال:

whoami #tanishkamakode

3. pwd

را pwd از دستور برای نمایش دایرکتوری کاری فعلی استفاده می شود.

pwd نحو:

pwd [OPTION]

مثال:

pwd # /home/tanishkamakode
pwd -L # Displays logical current working directory i.e. shows symlinks (shortcut path ,if exists)
pwd -P # Displays physical current working directory i.e. shows resolved path (original path of shortcut ,if exists)

4. ls

را ls دستور برای فهرست کردن فایل ها و دایرکتوری ها در دایرکتوری کاری فعلی یا دایرکتوری مشخص استفاده می شود.

ls نحو:

ls [OPTION] [PATH]

مثال:

ls # Lists files and directories at current working directory

در اینجا چند گزینه وجود دارد که می توانید با آنها استفاده کنید ls:

  • ls -l: اطلاعات دقیق در مورد فایل ها و دایرکتوری ها را فهرست می کند

  • ls -lh: اطلاعات دقیق در مورد فایل ها و فهرست ها را با اندازه در قالب قابل خواندن توسط انسان فهرست می کند

  • ls -a: تمام فایل های مخفی را لیست می کند

  • ls -R: محتوای بازگشتی دایرکتوری را فهرست می کند

5. date

را date دستور برای نمایش یا تنظیم تاریخ و زمان سیستم استفاده می شود.

date نحو:

date [OPTION] [FORMAT_SPECIFIER]

مثال:

date # Displays current date and time
date +"%d/%m/%Y" # Displays date month year
date +"%H:%M:%S" # Displays hours minutes seconds
date -u # Displays date in UTC time
date --set "1403-06-05" # Sets date to given YYYY-MM-DD
date -d "yesterday" # Displays yesterday's date
date -d "tomorrow" # Displays tomorrow's date
date -d "7 days" # Displays date of 7 days from today

گزینه هایی که می توانید با دستور date استفاده کنید:

  1. -u: تاریخ و زمان را در UTC نمایش می دهد.

  2. -d: تاریخ/زمان را روی یک رشته خاص نمایش می دهد یا تنظیم می کند (به عنوان مثال، “دیروز”، “7 روز پیش”).

  3. %d: روز ماه (01 تا 31).

  4. %m: ماه سال (01 تا 12).

  5. %y: دو رقم آخر سال (00 تا 99).

  6. %Y: سال کامل (به عنوان مثال، 1404).

date -u # Displays date in UTC time
date -d "yesterday" # Displays yesterday's date
date -d "tomorrow" # Displays tommorow's date
date -d "7 days" # Displays date of 7 days from today
date +"%d/%m/%Y" # Displays date month year
date +"%H:%M:%S" # Displays hours minutes seconds

6. cal

را cal دستور برای نمایش جزئیات تقویم استفاده می شود. اگر هیچ گزینه ای داده نشود، ماه جاری نمایش داده می شود.

پیشنهاد می‌کنیم بخوانید:  روش استفاده از زیر ماژول های Git - با مثال توضیح داده شده است

cal نحو:

cal [OPTIONS]

مثال:

cal # Displays current month calendar
cal --highlight # Highlights current date

گزینه هایی که می توانید با استفاده از cal دستور:

  1. --highlight: تاریخ فعلی را در تقویم برجسته می کند.

  2. -3: ماه قبل، فعلی و بعد را نمایش می دهد.

  3. -m: ماه جاری را در قالب چند خطی نمایش می دهد.

  4. -y: تقویم کل سال را نمایش می دهد.

  5. -A [N]: N ماه قبل از ماه جاری را نمایش می دهد.

  6. -B [N]: N ماه قبل از ماه جاری را نمایش می دهد.

  7. cal [year]: تقویم کل سال را نمایش می دهد.

  8. cal [month] [year]: تقویم ماه و سال مشخص شده را نمایش می دهد.

cal 1403 # Displays the calendar for all months of 1403
cal 06 1403 # Displays the calendar for the 6th month (June) of 1403
cal -m # Displays the current month in multi-line format
cal -A 3 # Displays the 3 months ahead of the current month
cal -B 2 # Displays the 2 months before the current month

7. nl

را nl دستور برای افزودن شماره خط به محتوای فایل استفاده می شود.

nl نحو:

nl [OPTIONS] [FILENAME]

مثال:

nl file.txt # Displays file content with line numbers
nl -b a file.txt # Numbers all lines
nl -b t file.txt # Number non-empty lines only
nl -s ') ' file.txt # Adds a separator between the line number and the content -
# 1) First line
# 2) Second line

همانطور که در کد بالا می بینید، گزینه های دیگری نیز وجود دارد که می توانید با آن استفاده کنید nl فرمان نیز

دستورات ایجاد و مدیریت فایل

1. touch

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

touch نحو:

touch [OPTIONS] [FILENAME]

مثال:

touch file.txt # Creates a single file - file.txt
touch file1.txt file2.txt file3.txt # Creates multiple files
touch file{1..10}.txt # Creates files with given range names (file1.txt file2.txt upto file10.txt)

2. cat

را cat دستور به هم پیوستن فایل ها و همچنین نمایش محتوای فایل ها.

cat نحو:

cat [OPTIONS] [FILENAME]

مثال:

cat file.txt # Displays content of file.txt
cat file1.txt file2.txt > merged.txt # Overrides content of two files in merged.txt
cat file1.txt >> file2.txt # Appends content of first file to second file
cat -n file.txt # Displays the content along with line numbers

cat > file.txt OR cat >> file.txt # > for overriding, >> for appending
# This allows you to create a new file with a prompt to enter the content
# If file already exists, teminal will read the content you enter.
# Once you’re done with writing content,
# press Ctrl + D (detach).
# Or Ctrl + C but make sure you enter this روی new line
# or else current line content will not be appended to the file.

ایجاد و مدیریت دایرکتوری

1. mkdir

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

mkdir نحو:

mkdir [OPTIONS] [DIRECTORYNAME]

مثال:

mkdir folder # Creates a single directory
mkdir fol1 fol2 fol3 # Creates multiple directories
mkdir fol{1..10} # Creates directories with given range names
mkdir -p /myData/data # Creates nested directories
ls -R /myData # Verify if nested directories created
mkdir -v fol1 fol2 fol3 # Verbose mode i.e confirmation of directory creation روی terminal

2. cd

را cd دستور برای تغییر دایرکتوری استفاده می شود – یعنی برای حرکت بین دایرکتوری ها.

cd نحو:

cd [DIRECTORY]

مثال:

cd myFolder # Relative path, starting from current directroy
cd /home/myFolder # Absolute path, starting from root /
cd .. # Goes to one level above current directory
cd ../.. # Goes to two level above current directory
cd OR cd ~ # Goes to home directory
cd - # Switched to directory you were in previously

کپی، انتقال و حذف فایل ها و فهرست ها

1. cp

را cp دستور برای کپی فایل ها و دایرکتوری ها از یک مکان به مکان دیگر استفاده می شود.

cp نحو:

cp [OPTIONS] [SOURCE] [DESTINATION]

مثال:

cp myFile.txt /home/newFolder # Copies myFile.txt to newFolder
cp myFile1.txt myFile2.txt /home/newFolder # Copies multiple files to newFolder
cp -r oldData /home/newData # Recursively copies content of oldData directory to newData directory
cp -i file.txt /home/Folder # Asks for confirmation while overriding file.txt that already exists in Folder
cp -v oldData /home/newData # Verbose output i.e. confirmation of copying the directory 
cp -f file.txt /newFolder # Copies the file forecfully

2. mv

را mv دستور برای انتقال فایل ها و دایرکتوری ها از یک مکان به مکان دیگر استفاده می شود. همچنین برای تغییر نام یک فایل یا دایرکتوری استفاده می شود.

mv نحو:

mv [OPTIONS] [SOURCE] [DESTINATION]

مثال:

mv myFile.txt /home/newFolder # Moves myFile to newFolder
mv myFile1.txt myFile2.txt /home/newFolder # Moves multiple files to newFolder
mv -i file.txt /home/sample # Asks before overriding the file.txt that already exists in sample
mv -v oldData /home/sample # Verbose mode i.e. confirmation of moving directory oldData in sample directory
mv oldFile.txt newFile.txt # Renames the file

3. rm

را rm دستور برای حذف فایل ها و دایرکتوری ها استفاده می شود.

rm نحو:

rm [OPTIONS] [FILENAME OR DIRECTORYNAME]

مثال:

rm file.txt # Removes single file
rm file1.txt file2.txt # Removes multiple files
rm emptyDir # Won't work for empty directory (Next command will handle this case!)
rm -r myData # Removed a non-empty directory recursively
rm -r -i myData # Asks for confirmation before deleting each file
rm -r -f myData # Removes a non-empty directory recursively without confirmation
rm -r -f -v myData # Removes a non-empty directory recursively without confirmation in verbose mode

4. rmdir

را rmdir دستور فقط برای حذف دایرکتوری های خالی استفاده می شود.

rmdir نحو:

rmdir [OPTIONS] [FILENAME OR DIRECTORYNAME]

مثال:

rmdir emptyDir # Removes empty directory emptyDir
rmdir myDir1 myDir2 myDir3 # Removes multiple empty directories
rmdir myDir # Won't work for non-empty directories (Use 'rm -r dir_name' for this case!)

کلمات پایانی

تبریک می گویم! شما اصول اولیه لینوکس سازمانی Red Hat (RHEL) و دستورات ضروری را که پایه و اساس سیستم های لینوکس را تشکیل می دهند، با موفقیت یاد گرفته اید.

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

منتظر مقالات بیشتر باشید. آماده شوید تا مهارت های RHEL خود را به سطح بعدی ببرید.

بیایید وصل شویم!