به دنیای بنیادی Red Hat Enterprise Linux (RHEL) خوش آمدید! برای اینکه یک کاربر موثر لینوکس باشید، باید برخی از مفاهیم و دستورات ضروری را یاد بگیرید و به درستی درک کنید.

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

فهرست مطالب

در اینجا چیزی است که ما در این راهنمای جامع پوشش خواهیم داد:

  • RHEL چیست؟
  • نیازی به راه اندازی لینوکس به صورت محلی نیست
  • درک بالادست و پایین دست
  • ابزارها و توابع خط فرمان ضروری RHEL
  • روش عملکرد سیستم فایل لینوکس
  • ویرایشگرهای متن
  • تمرینات عملی
  • بسته بندی

RHEL چیست؟

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

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

RHEL برای مشاغل، سازمان ها و توسعه دهندگانی است که به دنبال یک سیستم عامل قابل اعتماد برای وظایف با اولویت بالا هستند. این یک پایگاه قوی برای راه اندازی سرور، مراکز داده، محاسبات ابری، و برنامه های کاربردی تجاری ارائه می دهد و اغلب گزینه ای برای بارهای کاری حیاتی است.

نیازی به راه اندازی لینوکس به صورت محلی نیست

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

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

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

بالادست

Upstream نشان دهنده نرم افزار اصلی یا منبعی است که مشتقات یا توزیع ها از آن مشتق شده اند. برای لینوکس Red Hat Enterprise (RHEL)، فدورا به عنوان منبع اصلی به‌روزرسانی‌ها و ویژگی‌ها عمل می‌کند.

RHEL پیشرفت‌های پلتفرم منبع باز فدورا را در توزیع سطح سازمانی خود ادغام می‌کند. تغییرات ایجاد شده در فدورا به طور سیستماتیک در RHEL به عنوان بخشی از پیشرفت بالادستی آن ادغام می شوند.

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

پایین دست

Downstream به توزیع ها یا نسخه های مشتق شده از منبع بالادستی اشاره دارد. این توزیع‌ها معمولاً شامل تغییرات، تنظیمات و ویژگی‌های اضافی متناسب با نیازهای خاص هستند.

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

به همین ترتیب، توزیع‌هایی مانند اوراکل لینوکس نیز از پایگاه کد RHEL ساخته شده‌اند، اما تغییرات و تنظیمات بسته‌بندی خود را انجام می‌دهند.

Downstream به گروه‌های مختلف کاربران با برداشتن ویژگی‌های اصلی از منبع اصلی و تغییر دادن آن‌ها برای مطابقت با نیازهای خاص، مانند ثبات، پشتیبانی یا استفاده‌های خاص، به گروه‌های مختلف کاربران خدمات ارائه می‌دهد.

ابزارها و توابع خط فرمان ضروری RHEL

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

echo

این echo دستور برای نمایش متن یا متغیرها به عنوان خروجی استفاده می شود. این یک ابزار ساده و در عین حال قوی است که اغلب در اسکریپت نویسی و کار با آن استفاده می شود command-line رابط ها

نحو:
echo [OPTIONS] [STRING]
مثال ها:

نمایش متن:

echo "Hello, World!"

این اراده print متن را همانطور که هست داده شده است روی صفحه نمایش یک کاربر

نمایش متغیرها:

name="John"
echo "Hello, $name"

می‌توانیم مستقیماً یک متغیر را اعلام کنیم و مقداری را به آن متغیر اختصاص دهیم. ما میتوانیم استفاده کنیم $ در مقابل متغیر نام to print آن را با استفاده از echo فرمان

سکانس های فرار:

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

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

  • \n: نشان دهنده یک کاراکتر خط جدید است. هنگامی که این دنباله در یک رشته مواجه می شود، نشان دهنده یک شکست خط است.
  • \t: یک کاراکتر برگه را نشان می دهد. برای ایجاد زبانه ها یا فضاهای افقی در یک رشته استفاده می شود.
  • \: یک کاراکتر بک اسلش را نشان می دهد. از آنجایی که بک اسلش خود یک کاراکتر فرار است، با استفاده از \ به شما امکان می دهد یک بک اسلش تحت اللفظی در یک رشته قرار دهید.
  • \" : به ترتیب یک کاراکتر نقل قول مضاعف یا یک کاراکتر نقل قول واحد را در یک رشته نشان می دهد. این موارد زمانی مفید هستند که می‌خواهید نقل قول‌ها را در رشته‌ای که خود در گیومه محصور شده است قرار دهید.

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

مثال ها:

چاپ جمله جدید روی یک خط جدید:

echo -e "This is a new line.\nThis is another line."

حالا هر دو خط خواهند بود روی یک خط جداگانه به جای اینکه یکی پس از دیگری ادامه یابد. می توانید از گزینه های دیگر از بالا استفاده کنید.

whoami

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

مثال
whoami

در حال دویدن whoami در یک terminal نام کاربری کاربر فعلی را خروجی خواهد کرد. به عنوان مثال، اگر به عنوان “Kedar” وارد شده باشید، نمایش داده می شود Kedar. این یک هدف خاص برای نشان دادن هویت کاربر فعلی است و گزینه ها یا تغییرات اضافی ندارد.

cat

دستور cat در درجه اول برای خواندن، ایجاد، الحاق و نمایش محتوای فایل ها استفاده می شود. نام آن از “concatenate” گرفته شده است که به معنای پیوند دادن چیزها به یکدیگر است.

نحو:
cat [OPTIONS] [FILE(s)]
مثال ها:

نمایش محتوای فایل:

cat filename.txt

با این کار محتویات filename.txt در قسمت نمایش داده می شود terminal.

الحاق چند فایل:

cat file1.txt file2.txt > combined.txt

این کد file1.txt و file2.txt را به هم متصل می کند و محتوای آنها را به Combined.txt هدایت می کند.

ایجاد یا الحاق به یک فایل:

خروجی از cat می توان با استفاده از > (ایجاد/بازنویسی) یا >> (پیوست) برای ذخیره محتوا در یک فایل.

برای ایجاد یک فایل جدید و افزودن محتوا به آن، این دستور را امتحان کنید:

cat > newfile.txt

این به شما امکان می دهد تا محتوا را در آن تایپ کنید terminalو با فشار دادن Ctrl + D آن را در newfile.txt ذخیره می کنیم.

برای افزودن محتوا به یک فایل موجود، این را امتحان کنید:

cat >> existingfile.txt

مشابه دستور قبلی، این به شما امکان می دهد محتوا را به existfile.txt اضافه کنید.

نمایش شماره خطوط همراه با محتوا:

ما می توانیم شماره خط را به همراه محتوا با استفاده از آن نشان دهیم -n گزینه با گربه

cat -n filename.txt

یک علامت دلار ($) در انتهای هر خط نشان دهید:

می توانیم الف را نشان دهیم $ در پایان هر خط به همراه محتوا با استفاده از -E گزینه با cat مثل این:

cat -E filename.txt

touch

فرمان لمسی برای ایجاد فایل‌های جدید و خالی یا به‌روزرسانی مُهر زمانی فایل‌های موجود بدون تغییر محتوای آنها استفاده می‌شود.

نحو:
touch [OPTIONS] [FILE(s)]
مثال ها:

ایجاد فایل جدید:

touch newfile.txt

این دستور یک فایل جدید با نام newfile.txt ایجاد می کند. اگر فایل از قبل وجود داشته باشد، مهر زمانی را به زمان فعلی به‌روزرسانی می‌کند.

ایجاد چندین فایل:

touch file1.txt file2.txt file3.txt

این کار چندین فایل (file1.txt، file2.txt، file3.txt) را به طور همزمان ایجاد می کند.

همچنین، ما می توانیم فایل هایی با تغییر اعداد یا حروف به صورت پویا ایجاد کنیم. ما باید محدوده حروف یا اعداد را در پرانتزهای فرفری بدهیم:

touch file{1..3}.txt  

این ایجاد خواهد کرد file1.txt، file2.txt و file3.txt.

ls

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

نحو:
ls [OPTIONS] [DIRECTORY/PATH_OF_DIRECTORY]
مثال ها:

لیست فایل ها در دایرکتوری فعلی:

ls

این دستور تمام فایل ها و دایرکتوری ها را در فهرست کاری فعلی فهرست می کند.

لیست فایل ها در یک دایرکتوری خاص:

ls /custom/path

/custom/path را با مسیر واقعی برای فهرست کردن فایل ها و دایرکتوری ها در آن دایرکتوری خاص جایگزین کنید.

لیست فایل های مخفی:

ls -a
ls -a /custom/path

این -a گزینه همه فایل‌ها، از جمله فایل‌های مخفی (آنهایی که با یک نقطه شروع می‌شوند، برای مثال .hiddenfile) را نشان می‌دهد.

لیست تمام جزئیات فهرست/فایل ها:

ls -l /custom/path

این یک فرمت فهرست طولانی و مفصل را ارائه می دهد که اطلاعات بیشتری در مورد فهرست ها و فایل ها می دهد. در مورد جزئیات بیشتر خواهید آموخت که ls -l در مقاله آینده ارائه می کند.

نمایش دایرکتوری/اندازه فایل:

ls -h /custom/path

اندازه فایل ها را در قالبی قابل خواندن برای انسان (به عنوان مثال، کیلوبایت، مگابایت) نمایش می دهد.

ابتدا فایل های اصلاح شده را نشان دهید:

ls -t /custom/path

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

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

ls -la /custom/path

با این کار تمام فایل ها و دایرکتوری همراه با فایل های مخفی (-a) و جزئیات اطلاعات فایل ها و دایرکتوری ها (-l) فهرست می شود.

date

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

نحو:
date [OPTIONS]
مثال ها:

نمایش تاریخ و زمان فعلی:

date

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

تنظیم تاریخ و زمان:

date MMDDhhmm[[CC]YY][.ss]
  • MM: ماه (01-12)
  • DD: روز (01-31)
  • ساعت: ساعت (00-23)
  • میلی متر: دقیقه (00-59)
  • CC: قرن (اختیاری، برای سالهای قبل از 2000)
  • YY: سال (اختیاری، 00-99)
  • .ss: ثانیه (اختیاری، 00-61)

این دستور به شما امکان می دهد هر تاریخ و ساعتی را که می خواهید تنظیم کنید روی سیستم شما

سفارشی کردن خروجی تاریخ:

date +"%A, %B %d, %Y"

گزینه ها

  • %A = نام کامل روز هفته (به عنوان مثال یکشنبه)
  • %B = نام کامل ماه (به عنوان مثال ژانویه)
  • %d = روز ماه (به عنوان مثال، 01)
  • %Y = سال
پیشنهاد می‌کنیم بخوانید:  استفاده از fetch برای ارسال درخواست های HTTP در JavaScriptJavaScript Fetch API به ما امکان می دهد درخواست های HTTP ارسال کنیم. از زمانی که ECMAScript 2015 (که معمولاً با نام ES6 شناخته می شود) معرفی شد و از Promises استفاده می کند، بخشی استاندارد از جاوا اسکریپت بوده است. این مقاله ابتدا به شما نشان می دهد که چگونه درخواست ها با جاوا اسکریپت وانیلی قبل از توسعه Fetch API انجام شده است. ما سپس ...

این نمایش داده خواهد شد Saturday, December 16, 1402. می توانید با استفاده از گزینه های بیشتری برای تاریخ پیدا کنید man date فرمان

توجه داشته باشید: اگر می خواهید اطلاعات عمیقی در مورد هر دستوری پیدا کنید، از آن استفاده کنید man your_command برای دریافت اطلاعات بیشتر

cal

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

نحو:
cal [OPTIONS] [MONTH] [YEAR]
مثال ها:

نمایش تقویم ماه جاری:

cal

این دستور تقویم ماه جاری را نمایش می دهد.

نمایش ماه و سال خاص:

cal 12 1402

این دستور تقویم دسامبر 1402 را نمایش می دهد.

نمایش یک سال خاص:

cal 1402

نمایش روزهای جولیان:

“روزهای جولیان” به یک روش ساده برای شمارش روز اشاره دارد. به جای استفاده از تاریخ هایی مانند 1 ژانویه یا 15 فوریه، روزهای جولیان فقط تعداد روزهایی را که از یک نقطه شروع خاص گذشته است محاسبه می کند. این نقطه شروع، شماره روز جولیان (JDN) نامیده می شود که آغاز شد روی 1 ژانویه 4713 پیش از میلاد در تقویم جولیان.

برای مثال، 1 ژانویه 4713 قبل از میلاد، روز ژولیان صفر است. روی. مثل شمارش مداوم روزها بدون نگرانی در مورد ماه ها یا سال هاست. این یک روش مفید برای دانشمندان، ستاره شناسان و دیگر متخصصان برای پیگیری زمان است زیرا یک سیستم ساده شمارش روز است.

cal -j 12 1402

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

mkdir

شما از این دستور برای ایجاد دایرکتوری های جدید استفاده می کنید و ساختار سیستم فایل را به طور موثر سازماندهی می کنید. mkdir مخفف Make Directory.

نحو:
mkdir [OPTIONS] DIRECTORY_NAME(s)
مثال ها:

ایجاد یک دایرکتوری واحد:

mkdir new_directory

این دستور یک دایرکتوری جدید به نام new_directory در دایرکتوری فعلی ایجاد می کند.

ایجاد چندین دایرکتوری:

mkdir dir1 dir2 dir3

این دستور چندین دایرکتوری به نام‌های dir1، dir2 و dir3 را در فهرست کاری فعلی ایجاد می‌کند.

ما همچنین می توانیم این دستور را کمی جالب تر کنیم. ما می توانیم n عدد دایرکتوری ایجاد کنیم اگر بخواهید آنها را در یک دنباله از اعداد (یا حروف) – مانند dir1، dir2، dir3، و غیره ایجاد کنیم. روی – با نحو زیر.

mkdir dir{1..5}

حالا این dir1 تا dir5 ایجاد می کند. همچنین می توانیم اعداد را با حروف جایگزین کنیم.

ایجاد دایرکتوری های تو در تو:

mkdir -p parent/child/grandchild

این -p گزینه دایرکتوری های تودرتو ایجاد می کند. در این مثال، یک ساختار دایرکتوری ایجاد می کند: والد → فرزند → نوه.

pwd

دستور pwd مخفف “print دایرکتوری کاری.” مسیر دایرکتوری فعلی که در آن در سیستم فایل قرار دارید را نشان می دهد.

مثال:
pwd

cd

دستور cd برای تغییر دایرکتوری کاری فعلی استفاده می شود. cd مخفف Change Directory.

نحو:
cd [DIRECTORY_PATH]
مثال ها:

تغییر به یک دایرکتوری خاص:

cd /path/to/directory

این دستور دایرکتوری فعلی را به مسیر داده شده تغییر می دهد – به عنوان مثال، /path/to/directory.

انتقال به دایرکتوری والد:

cd ..

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

بازگشت به فهرست اصلی:

cd

تایپ کردن cd بدون هیچ استدلالی شما را به دایرکتوری اصلی خود می برد.

جابجایی به دایرکتوری قبلی:

cd -

این شما را به دایرکتوری قبلی که در آن کار می کردید می برد روی.

cp

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

نحو:
cp [OPTIONS] SOURCE DESTINATION
مثال ها:

کپی کردن یک فایل در مکان دیگری:

cp file.txt /path/to/destination/

این دستور file.txt را در فهرست مقصد مشخص شده (/path/to/destination/) کپی می کند.

کپی کردن چندین فایل در دایرکتوری:

cp file1.txt file2.txt file3.txt /path/to/destination/

این دستور چندین فایل (file1.txt، file2.txt، file3.txt) را در فهرست مقصد مشخص شده کپی می کند.

کپی کردن دایرکتوری و محتویات آن:

cp -r directory1 /path/to/destination/

این -r (یا -R) گزینه برای کپی کردن دایرکتوری ها به صورت بازگشتی استفاده می شود. این دستور directory1 و محتویات آن را در مقصد مشخص شده کپی می کند.

mv

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

نحو:
mv [OPTIONS] SOURCE DESTINATION
مثال ها:

انتقال فایل به مکان دیگری:

mv file.txt /path/to/destination/

این دستور file.txt را به فهرست مقصد مشخص شده (/path/to/destination/) منتقل می کند. اگر مقصد یک نام فایل باشد، file.txt را به آن نام تغییر می دهد.

تغییر نام فایل:

mv old_name.txt new_name.txt

این دستور old_name.txt را به new_name.txt تغییر نام می دهد.

گزینه ها:

  • -i: قبل از بازنویسی فایل های موجود درخواست می کند.
  • -u: فقط زمانی حرکت می کند که منبع جدیدتر از فایل مقصد باشد یا زمانی که فایل مقصد وجود نداشته باشد.

nl

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

نحو:
nl [OPTIONS] [FILE]
مثال ها:

شماره گذاری خطوط در یک فایل:

nl filename

این دستور تمام خطوط موجود در فایل مشخص شده را شماره گذاری می کند (filename) و نتیجه را به بیرون می دهد.

شماره گذاری فقط خطوط غیر خالی:

nl -ba filename

این دستور فقط خطوط غیر خالی را شماره گذاری می کند (the -b گزینه سبک شماره گذاری را مشخص می کند a نشان دهنده خطوط غیر خالی است).

این head فرمان قسمت ابتدایی فایل ها یا جریان های ورودی را خروجی می دهد.

نحو:
head [OPTIONS] [FILE(s)]
مثال:

نمایش n خط اول یک فایل:

head -n 10 filename

این دستور 10 خط اول فایل مشخص شده را نمایش می دهد.

tail

این tail فرمان بخش پایانی فایل ها یا جریان های ورودی را نمایش می دهد.

نحو:
tail [OPTIONS] [FILE(s)]
مثال:

نمایش n خط آخر یک فایل:

tail -n 10 filename

این دستور 10 خط آخر فایل مشخص شده را نمایش می دهد.

grep

این grep فرمان در لینوکس یک ابزار قدرتمند است که برای جستجوی الگوهای متن در فایل ها یا جریان های ورودی استفاده می شود. وظیفه اصلی آن اسکن یک فایل مشخص یا ورودی استاندارد خط به خط و print خطوطی که با یک الگوی مشخص مطابقت دارند.

نحو:
grep [OPTIONS] PATTERN [FILE(s)]
مثال ها:

جستجوی یک الگوی خاص در یک فایل:

grep "pattern" filename

این دستور کلمه “pattern” را در فایل مشخص شده جستجو می کند (filename) و خطوط حاوی آن الگو را نمایش می دهد.

جستجوی بدون حروف کوچک و بزرگ در یک فایل:

grep -i "pattern" filename

این دستور “الگو” را در فایل مشخص شده جستجو می کند (filename) صرف نظر از حروف بزرگ یا کوچک بودن آن.

جستجوی الگوهای متعدد در یک فایل:

grep -e "pattern1" -e "pattern2" filename

این دستور هر دو “pattern1” و “pattern2” را در فایل مشخص شده جستجو می کند (filename) و خطوط حاوی هر یک از این الگوها را نمایش می دهد. همچنین می توانید از فایل های مختلف برای تطبیق الگوهای مختلف استفاده کنید.

wc

این wc دستور مخفف “شمارش کلمات” است، اما عملکرد آن فراتر از شمارش کلمات است. این همه کاره است command-line ابزاری که برای شمارش تعداد خطوط، کلمات و کاراکترها در فایل ها یا جریان های ورودی استاندارد استفاده می شود.

نحو:
wc [OPTIONS] [FILE(s)]
مثال ها:

شمارش خطوط در یک فایل:

wc -l filename

این دستور تعداد خطوط موجود در فایل مشخص شده را نمایش می دهد (filename).

شمارش کلمات در یک فایل:

wc -w filename

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

شمارش خطوط، کلمات و کاراکترها به طور همزمان:

wc filename

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

گزینه ها و پرچم ها برای wc:
  • -l: تعداد خطوط را نمایش می دهد.
  • -w: تعداد کلمات را نشان می دهد.
  • -m: خروجی تعداد کاراکترها.
  • -c: تعداد بایت ها (معادل -m در بیشتر موارد).
  • -L: طول طولانی ترین خط را نمایش می دهد.
  • -h: خروجی قابل خواندن برای انسان را ارائه می دهد (به عنوان مثال، 1.2K برای 1200).

cut

این cut دستور در لینوکس برای استخراج بخش های خاص (ستون ها یا بخش های) متن از فایل ها یا جریان های ورودی مبتنی بر استفاده می شود. روی جداکننده هایی مانند کاراکترها یا فیلدها.

نحو:
cut [OPTIONS] [FILE(s)]
مثال ها:

استخراج ستون های خاص از یک فایل:

cut -d',' -f 1,3 filename.txt

این دستور ستون های اول و سوم را از یک فایل CSV استخراج می کند (filename.txt) که در آن ستون ها با کاما (-d',' جداکننده را مشخص می کند).

انتخاب طیف وسیعی از کاراکترها از یک فایل:

cut -c 1-5 filename.txt

این دستور کاراکترهای 1 تا 5 را از هر خط از فایل مشخص شده استخراج می کند (filename.txt).

همیشه می توانید گزینه های بیشتری را برای هر دستوری با استفاده از آن بیابید man you_command. این اسناد را برای آن دستور مشخص شده ارائه می دهد. man stands for manual.

اکنون که برخی از دستورات رایج RHEL را یاد گرفتید، حتماً استفاده از آنها را تمرین کنید. می توانید با تمرین زیر شروع کنید.

روش عملکرد سیستم فایل لینوکس

در لینوکس، root فهرست راهنما / به عنوان دایرکتوری سطح بالا در سلسله مراتب سیستم عمل می کند. این شامل زیر شاخه های مختلفی است که هر کدام عملکرد خاصی را انجام می دهند و فایل های سیستمی لازم را ذخیره می کنند.

در اینجا مروری بر دایرکتوری های اولیه در RHEL و عملکردهای آنها در داخل است root فهرست راهنما:

قاب-1000004540
سیستم فایل لینوکس

اجازه دهید به عملکرد و هدف هر یک از این دایرکتوری ها بپردازیم.

/bin (دودویی)

  • تابع: شامل باینری های اجرایی ضروری (دستورات) قابل دسترسی برای همه کاربران.
  • هدف: شامل دستورات اساسی سیستم مانند ls، cp، mv، rm، و غیره روی.

/boot

  • عملکرد: فایل های لازم برای بوت شدن سیستم عامل را نگه می دارد.
  • هدف: حاوی فایل های بوت لودر، تصاویر هسته و فایل های پیکربندی مورد نیاز در هنگام راه اندازی سیستم است.

/dev (دستگاه)

  • تابع: فایل های دستگاه را نشان می دهد.
  • هدف: دسترسی به دستگاه های فیزیکی و مجازی مانند هارد دیسک، دستگاه های USB، پایانه ها و غیره را فراهم می کند.

/etc (و غیره)

  • عملکرد: فایل های پیکربندی کل سیستم را ذخیره می کند.
  • هدف: حاوی فایل های پیکربندی برای برنامه های مختلف، سرویس ها و تنظیمات سیستم است.

/home

  • تابع: فهرست راهنمای کاربر را در خود جای می دهد.
  • هدف: هر کاربر معمولاً یک زیر شاخه در داخل دارد /home که حاوی فایل‌ها، تنظیمات و داده‌های شخصی آنهاست.

/lib و /lib64

  • تابع: شامل کتابخانه های مورد نیاز برنامه ها در زمان اجرا است.
  • هدف: ذخیره فایل های کتابخانه مشترک مورد استفاده توسط باینری ها و برنامه های کاربردی سیستم.

/mnt (کوه)

  • عملکرد: یک نقطه اتصال برای نصب موقت دستگاه های خارجی فراهم می کند.
  • هدف: برای نصب دستگاه های ذخیره سازی خارجی مانند درایوهای USB، اشتراک های شبکه یا سیستم های فایل اضافی استفاده می شود.

/opt (اختیاری)

  • عملکرد: برای نرم افزار اختیاری یا شخص ثالث محفوظ است.
  • هدف: اغلب برای نصب بسته های نرم افزاری بزرگ و مستقل استفاده می شود که با سلسله مراتب سیستم فایل لینوکس استاندارد مطابقت ندارد.

/proc (روند)

  • عملکرد: سیستم فایل مجازی اطلاعاتی در مورد فرآیندهای سیستم ارائه می دهد.
  • هدف: راهی برای بررسی تعاملی و دستکاری وضعیت داخلی سیستم ارائه می دهد.
پیشنهاد می‌کنیم بخوانید:  روش نصب LAMP روی CentOS 7 - گام به گام

/root

  • تابع: فهرست اصلی برای ابرکاربر (root).
  • هدف: شامل root فایل‌ها، تنظیمات و فایل‌های پیکربندی کاربر.

/sbin (سیستم باینری)

  • تابع: باینری های ضروری مدیریت سیستم را ذخیره می کند.
  • هدف: شامل دستورات حیاتی برای مدیریت سیستم است که اغلب به امتیازات اداری نیاز دارد.

/srv (سرویس)

  • تابع: برای داده های مربوط به خدمات ارائه شده توسط سیستم در نظر گرفته شده است.
  • هدف: برای ذخیره داده ها و فایل های مورد استفاده توسط سرویس های مختلف در حال اجرا استفاده می شود روی سیستم.

/tmp (موقت)

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

/usr (منابع سیستم یونیکس)

  • تابع: برنامه ها، کتابخانه ها و اسناد مربوط به کاربر را نگه می دارد.
  • هدف: شامل اکثریت قریب به اتفاق برنامه های کاربردی، ابزارهای سیستمی، کتابخانه ها و اسناد قابل دسترسی توسط کاربر است.

/var (متغیر)

  • تابع: داده های متغیر مانند گزارش ها، فایل های قرقره و فایل های موقت را ذخیره می کند.
  • هدف: حاوی داده هایی است که اغلب متفاوت است، از جمله گزارش های سیستم، نامه، print صف ها و موارد دیگر

ویرایشگرهای متن

مختلف وجود دارد terminalویرایشگرهای متنی مبتنی بر، که هر کدام نقاط قوت و قابلیت های خاص خود را دارند. اما Vim به دلیل تطبیق پذیری بی نظیر و مجموعه ویژگی های قوی در میان این ویرایشگرها متمایز است.

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

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

vim

Vim یک ویرایشگر متن محبوب در بین کاربران لینوکس به ویژه در رابط خط فرمان است. Vim مخفف “Vi IMproved” است و یک نسخه پیشرفته از کلاسیک است vi ویرایشگر ویژگی های گسترده ای برای ویرایش، مشاهده و دستکاری فایل های متن یا کد ارائه می دهد.

در این بخش به بررسی دنیای Vim و روش استفاده از آن در لینوکس می پردازیم. هدف من این است که شما را با برخی از دستورات و ویژگی های کاربردی در Vim آشنا کنم تا به شما در دستکاری متن کمک کند.

در اینجا روش باز کردن Vim در لینوکس آمده است:

vim [OPTIONS] [FILE(s)]

حالت ها در Vim:

در Vim، حالت‌ها به‌عنوان حالت‌های عملیاتی متفاوت عمل می‌کنند که روش تعامل با ویرایشگر را دیکته می‌کنند. حالت های کلیدی – عادی، درج و بصری – نقش مهمی در ویرایش شما دارند process.

با باز کردن Vim در حالت عادی شروع به کار خواهید کرد. از آنجا می توانید به راحتی حرکت کنید، مکان نما را حرکت دهید و دستورات را اجرا کنید. تغییر حالت درج به شما ابزاری مستقیم برای وارد کردن و تغییر متن می دهد. و حالت ویژوال به شما امکان می دهد بلوک های متن را انتخاب و دستکاری کنید.

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

  • حالت عادی: حالت پیش فرض برای ناوبری و اجرای دستورات.
  • حالت درج: برای تایپ و ویرایش متن
  • حالت بصری: برای انتخاب و دستکاری بلوک های متن.

ویرایش در حالت درج:

تصور کنید که در حال باز کردن یک سند در Vim هستید و مشتاق درج اطلاعات جدید هستید. به سادگی ضربه بزنید i و Vim متوجه می شود که آماده تایپ در موقعیت مکان نما هستید.

یک اعلان در پایین به شما هشدار می دهد – INSERT – به این معنی که شما رسماً در حالت درج هستید. اکنون می توانید اضافات مورد نظر خود را وارد کنید. وقتی کارتان تمام شد، کلید Esc را بزنید تا به حالت پیش‌فرض برگردید، جایی که می‌توانید دستورات را پیمایش و اجرا کنید.

  • مطبوعات i برای وارد کردن حالت درج و شروع به تایپ کردن.
  • مطبوعات Esc برای خروج از حالت درج و بازگشت به حالت فرمان.

ذخیره و خروج از Vim:

تصور کنید که تغییراتی در سند خود ایجاد کرده اید و اکنون آماده هستید تا قبل از خروج از Vim آنها را ذخیره کنید. به سادگی تایپ کنید :wq (که نشان دهنده «نوشتن و خروج» است) و برای ذخیره ایمن تغییرات و خروج از Vim، «Enter» را بزنید.

اما اگر تغییراتی ایجاد کرده باشید که نمی خواهید آن را حفظ کنید چه؟ در این شرایط وارد شوید :q! و “Enter” را فشار دهید تا به Vim دستور دهید بدون ذخیره هیچ گونه تغییری که از آخرین ذخیره شما انجام شده است، خارج شود.

با تایپ کردن :wq و :q!، بسته به روی نیازهای خود را دارید، می توانید با اطمینان محتوا را به سند خود اضافه کنید و اطمینان حاصل کنید که کار شما به طور ایمن ذخیره شده یا دور ریخته می شود. این اقدامات، همراه با توانایی شما برای پیمایش در حالت‌های مختلف Vim، یک تجربه ویرایش یکپارچه و کارآمد را ایجاد می‌کند.

  • برای ذخیره تغییرات و خروج، تایپ کنید :wq (نوشتن و خروج) و Enter را فشار دهید.
  • برای خروج بدون ذخیره تغییرات، تایپ کنید :q! و Enter را فشار دهید.

روش ویرایش دستورات

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

در ویرایشگر، دستوراتی که قبل از یک دونقطه (به عنوان مثال، :w) برای انجام اقدامات مختلفی مانند ذخیره فایل ها استفاده می شوند. برای ذخیره هرگونه تغییری که انجام داده اید، به سادگی تایپ کنید :w و کلید “Enter” را بزنید.

به طور مشابه، دستورات مانند dd برای کارهایی مانند پاک کردن یک خط طراحی شده اند. برای حذف یک خط، مطمئن شوید که در حالت مناسب (حالت عادی) هستید، سپس تایپ کنید dd با فشار دادن کلید ‘d’ دو بار متوالی. اگر در حالت دیگری قرار گرفتید، به سادگی کلید ‘esc’ را فشار دهید تا به حالت عادی بازگردید.

مثال حالت درج:

  • i: قبل از مکان نما وارد حالت درج شوید.
vim example.txt
  • برای رفتن به انتهای خط اول از کلیدهای جهت دار یا ‘h’، ‘j’، ‘k’، ‘l’ استفاده کنید.
  • “i” را فشار دهید تا وارد حالت درج شوید.
  • جمله جدید خود را تایپ کنید
  • برای خروج از حالت درج، ‘Esc’ را فشار دهید.

حذف و تغییر متن:

  • dw: حذف از مکان نما تا انتهای کلمه.
  • dd: حذف کل خط.
vim example.txt
  • مکان نما را به خطی که می خواهید حذف کنید حرکت دهید.
  • مطبوعات dd.

کپی، برش و چسباندن:

  • yy: خط فعلی (yank) را کپی کنید.
  • yw: از مکان نما تا انتهای کلمه کپی کنید.
  • p: بعد از مکان نما بچسبانید.
  • P: قبل از مکان نما بچسبانید.
vim example.txt
  • برای کپی کردن یک خط: مکان نما را به خطی که می خواهید کپی کنید حرکت دهید و فشار دهید yy.
  • برای برش (حذف) یک خط: مکان نما را به خطی که می خواهید برش دهید حرکت دهید و فشار دهید dd.
  • برای چسباندن خط کپی شده یا بریده شده: مکان نما را به محل مورد نظر منتقل کرده و فشار دهید p برای چسباندن بعد از مکان نما یا P برای چسباندن قبل از مکان نما.

جستجوکردن:

  • /pattern: جستجو برای “الگو”.
  • ?pattern: «الگو» را به عقب جستجو کنید.
  • n: به نتیجه جستجوی بعدی بروید.
  • N: به نتیجه جستجوی قبلی بروید.
vim example.txt
  • برای جستجوی کلمه ای مانند “مثال”: را فشار دهید / و سپس تایپ کنید example به دنبال Enter.
  • برای رفتن به رخداد بعدی: را فشار دهید n.
  • برای حرکت به رخداد قبلی: را فشار دهید N.

جایگزین کردن:

  • :%s/old/new/g: در کل فایل به جای “قدیمی” با “جدید” به صورت سراسری.
  • :s/old/new/g: جایگزین «قدیمی» با «جدید» روی خط فعلی
  • :s/old/new/gc: با تأیید جایگزین «قدیمی» با «جدید».
vim example.txt
  • برای جایگزینی همه موارد “oldword” با “newword”: تایپ کنید :%s/oldword/newword/g و فشار دهید Enter.

صرفه جویی در:

  • :w: ذخیره تغییرات.
  • :wq یا ZZ: تغییرات را ذخیره کنید و از آن خارج شوید.
  • :x: تغییرات را ذخیره کنید و از آن خارج شوید (همانند :wq).
vim example.txt
  • برای ذخیره تغییرات ایجاد شده در فایل: تایپ کنید :w و فشار دهید Enter.

ترک کردن:

  • :q: خروج (فقط در صورتی که تغییرات ذخیره نشده ای وجود نداشته باشد).
  • :q!: بدون ذخیره تغییرات خارج شوید.
vim example.txt
  • برای خروج بدون ذخیره تغییرات: تایپ کنید :q! و فشار دهید Enter.
  • برای ذخیره تغییرات و خروج: تایپ کنید :wq یا ZZ و فشار دهید Enter.

تمرینات عملی

اکنون، برای کمک به تمرین آنچه آموخته اید، در اینجا چند تمرین برای شما آورده شده است.

فرض کنید که وظیفه سازماندهی و دستکاری فایل ها و دایرکتوری ها بر عهده شماست روی یک سیستم لینوکس جدید Red Hat Enterprise. استفاده کنید terminal برای تکمیل وظایف زیر:

ابزارها و توابع ضروری خط فرمان:

  • استفاده کنید echo برای نمایش نام و پیام تبریک با استفاده از متغیرها و دنباله های فرار.
  • استفاده کنید whoami به print نام کاربر فعلی
  • یک فایل به نام ایجاد کنید example.txt و محتویات آن را با استفاده از cat.
  • استفاده کنید touch برای ایجاد سه فایل: file1.txt، file2.txt، و file3.txt.
  • آزمایش با ls تغییرات دستور: -a، -l، -h، -t، و ترکیبات.
  • استفاده کنید date برای نمایش تاریخ فعلی و سپس سفارشی کردن خروجی به یک فرمت خاص.

کاوش سیستم فایل لینوکس:

  • استفاده کنید mkdir برای ایجاد دایرکتوری ها: /bin، /boot، /home، /etcو غیره، و کارکردهای آنها را در یک سند توضیح دهید.
  • هدایت به /var و مطالب آن را فهرست کنید.
  • استفاده کنید pwd به print مسیر دایرکتوری فعلی

ویرایش متن با Vim:

  • یک فایل ایجاد کنید sample.txt.
  • باز کن sample.txt استفاده کردن vim.
  • درج متن، حذف خطوط، کپی و چسباندن و ذخیره تغییرات را تمرین کنید.

عملیات فایل:

  • کپی 🀄 sample.txt به دایرکتوری تازه ایجاد شده /tmp استفاده کردن cp.
  • حرکت sample.txt به /var دایرکتوری با استفاده از mv.
  • برداشتن sample.txt از دایرکتوری فعلی با استفاده از rm.

بررسی اطلاعات فایل سیستم:

  • استفاده کنید ls -l برای مشاهده اطلاعات دقیق یک فایل در /usr/bin.
  • مجوزهای خروجی و فایل را در یک سند توضیح دهید.

جستجوهای اساسی و دستکاری متن:

  • استفاده کنید grep برای جستجوی یک کلمه خاص در یک فایل.
  • عملیات جستجو و جایگزینی را انجام دهید example.txt استفاده کردن sed.

مدیریت فایل پیشرفته:

  • دایرکتوری های تودرتو ایجاد کنید /opt/program/scripts استفاده کردن mkdir -p.
  • حرکت file1.txt و file2.txt به /opt/program فهرست راهنما.

انعکاس و Documentation:

  • منعکس کنید روی تجربه شما با هر فرمان در یک سند، توضیح استفاده و نتایج آن.
  • هرگونه چالش پیش رو و راه حل های آنها را مستند کنید.
  • اهمیت هر مفهوم و دستور آموخته شده را خلاصه کنید.

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

سوالات بررسی:

  1. چه دستوری یک دایرکتوری جدید ایجاد می کند؟ اجراش کن
  2. چگونه می توان چندین فایل را در یک زمان ایجاد کرد؟ این را نشان دهید.
  3. چه دستوری فایل ها را از یک مکان به مکان دیگر منتقل می کند؟ حرکت file1.txt و file3.txt به folderA.
  4. چگونه می توانید تاریخ و زمان فعلی را نمایش دهید؟ خروجی را نشان دهید.
  5. کدام دستور محتویات یک دایرکتوری را با جزئیات فهرست می کند؟ از آن برای RHCSA_Practice فهرست راهنما.
  6. هدف از ایجاد دایرکتوری های تودرتو را توضیح دهید.
  7. چه دستوری یک فایل را تغییر نام می دهد؟ تغییر نام دهید file2.txt به important_file.txt.
  8. چگونه می توانید فقط فایل های مخفی را در یک فهرست نمایش دهید؟ فایل های مخفی را در فهرست فعلی خود نشان دهید.

بسته بندی

از شما برای کاوش در دنیای مدیریت لینوکس سازمانی Red Hat (RHEL) امروز با من سپاسگزارم. می‌توانید عمیق‌تر در حوزه تخصص لینوکس غوطه‌ور شوید و در آموزش‌های آینده من برای محتوای روشن‌تر همراه باشید.

میتونی دنبال من بیای روی: