فهرست محتوا
سیستم عامل لینوکس یکی از پرکاربردترین و محبوبترین سیستمعاملهای منبع باز (Open source) است که در حوزههای مختلف مانند سرورها، سرویسهای ابری و حتی دسکتاپها استفاده میشود. یکی از مهمترین مزایای لینوکس، رابط خط فرمان (Terminal) آن است که امکانات فراوانی را در اختیار کاربران قرار میدهد.
ترمینال لینوکس چیست؟
ترمینال یا Terminal در سیستم عامل لینوکس، یک رابط خط فرمان (Command Line Interface) است که امکان کنترل و مدیریت سیستم از طریق دستورات متنی را فراهم میکند. در واقع، ترمینال پنجرهای است که کاربر در آن دستورات خود را تایپ و اجرا میکند و سیستم نیز خروجی مربوطه را در همان محیط نمایش میدهد. با استفاده از ترمینال، شما دسترسی کامل به تمامی بخشهای سیستم عامل لینوکس خواهید داشت. شما همچنین میتوانید فایلها و پوشهها را مدیریت کنید، فرایندها را کنترل نمایید، تنظیمات شبکه را اعمال کنید و هزاران کار دیگر را انجام دهید. این قابلیت کنترل کامل، یکی از بزرگترین مزایای ترمینال است. در مقایسه با رابط گرافیکی، ترمینال بسیار سریعتر و کارآمدتر است. دستورات خط فرمان معمولا چند کاراکتر هستند و اجرای آنها بسیار سریع صورت میگیرد. این ویژگی برای کاربرانی که باید کارهای تکراری را انجام دهند یا نیاز به سرعت عمل بالا دارند، بسیار مفید است. با استفاده از ترمینال و زبانهای اسکریپتنویسی مانند Bash، میتوانید فرایندهای مختلف را خودکار کنید. این امر باعث صرفهجویی در زمان و افزایش بهرهوری میشود. خودکارسازی فرایندها در محیط گرافیکی معمولا دشوارتر و پیچیدهتر است.
دستور sudo
دستور sudo یکی از دستورات کاربردی و قدرتمند در سیستم عامل لینوکس است که به کاربران این امکان را میدهد تا عملیاتهای ویژهای را که نیازمند دسترسیهای سطح بالا (root) هستند، انجام دهند. این دستور که مخفف عبارت “SuperUser Do” است، به شما اجازه میدهد تا به صورت موقت، دسترسیهای کاربر root را کسب کنید و دستورات خاصی را با سطح دسترسی بالاتر اجرا کنید.
در سیستم عامل لینوکس، کاربر root یا کاربر سوپر دسترسی کامل به سیستم دارد و میتواند هر عملیاتی را انجام دهد. با این حال، به دلایل امنیتی، توصیه میشود که از حساب کاربری عادی برای فعالیتهای روزمره استفاده کنید و فقط در مواقع ضروری، از دسترسی root استفاده کنید. این امر از آسیبهای احتمالی ناشی از اشتباهات جلوگیری میکند. دستور sudo این امکان را به شما میدهد که بدون نیاز به ورود به حساب root، عملیاتهای ویژه را انجام دهید. این ویژگی باعث میشود که کاربران عادی بتوانند برخی از فعالیتهای مدیریتی را انجام دهند.
برای استفاده از دستور sudo، کافی است قبل از دستوری که میخواهید با دسترسی root اجرا کنید، کلمه sudo را بنویسید. مثال:
sudo apt-get update
این دستور، فرایند بهروزرسانی لیست بستههای نرمافزاری را با دسترسی root انجام میدهد. پس از اجرای دستور sudo، سیستم عامل از شما رمز عبور کاربر جاری را میخواهد. پس از وارد کردن رمز عبور صحیح، دستور مورد نظر با دسترسی root اجرا میشود.
دستور sudo دارای کاربردهای متنوعی است. برخی از این کاربردهای مفید عبارتند از:
- sudo -i: این گزینه یک شل جدید با دسترسی root برای شما باز میکند. با این کار، تمام دستورات بعدی که وارد میکنید، با دسترسی root اجرا خواهند شد.
- sudo -u username command: به شما این امکان را میدهد تا یک دستور خاص را به عنوان یک کاربر دیگر اجرا کنید. دستور مورد نظر خود را باید به جای عبارت command وارد کنید.
- sudo -l: لیستی از دستورات مجاز برای اجرا با sudo را نمایش میدهد.
دستور su
دستور su یکی از دستورات اساسی و مهم برای مدیریت دسترسیهای کاربری در سیستمعامل لینوکس است. این دستور به شما این امکان را میدهد تا به حساب کاربر root (سوپرکاربر) یا حساب کاربرهای دیگر تغییر وضعیت دهید. با استفاده از این دستور، میتوانید عملیاتهای ویژهای را که نیازمند دسترسی سطح بالا هستند، انجام دهید.
برای استفاده از دستور su، در ترمینال لینوکس، دستور su را وارد کنید. سیستم از شما رمز عبور حساب root را میخواهد. پس از وارد کردن رمز عبور صحیح، شما به حساب root تغییر وضعیت داده میشوید و میتوانید دستورات مربوط به مدیریت سیستم را اجرا کنید. اگر میخواهید به حساب کاربری دیگری غیر از root تغییر وضعیت دهید، میتوانید از دستور زیر استفاده کنید:
su username
این دستور از شما رمز عبور کاربر مورد نظر را میخواهد و در صورت صحیح بودن، شما به حساب آن کاربر تغییر وضعیت داده میشوید. پس از اتمام کار با حساب کاربری دیگر، میتوانید با استفاده از دستور exit به حساب کاربری قبلی خود بازگردید. این دستور شما را از حساب کاربری فعلی خارج میکند و به حساب قبلی باز میگرداند.
دستور ls
این دستور به شما این اجازه را میدهد تا محتویات یک پوشه یا دایرکتوری را لیست کنید و اطلاعات مفیدی درباره فایلها و زیرپوشههای موجود در آن را مشاهده کنید.
برای لیست کردن محتویات پوشه جاری، کافی است دستور ls را در ترمینال وارد کنید. این دستور به صورت پیشفرض نام فایلها و زیرپوشههای موجود در پوشه فعلی را نمایش میدهد.
دستور ls دارای کاربردهای متعددی است که میتوانند اطلاعات بیشتری را در مورد فایلها و پوشهها نمایش دهند. برخی از این کاربردهای مفید عبارتند از:
- ls -l: این گزینه لیست بلندی از اطلاعات فایلها را نمایش میدهد، شامل مجوزها، مالک، گروه، اندازه و تاریخ آخرین تغییر.
- ls -a: این گزینه فایلها و پوشههای پنهان را نیز نمایش میدهد.
- ls -h: این گزینه اندازه فایلها را به صورت خوانا برای انسان نمایش میدهد.
- ls -s: این گزینه فایلها را بر اساس اندازه (از بزرگ به کوچک) مرتب میکند.
- ls -t: این گزینه فایلها را بر اساس تاریخ آخرین تغییر (از جدیدترین به قدیمیترین) مرتب میکند.
- ls -r: این گزینه ترتیب لیست را معکوس میکند (از آخر به اول).
اگر میخواهید محتویات یک پوشه خاص را لیست کنید، کافی است مسیر آن پوشه را به دستور ls اضافه کنید. مثلاً:
ls /home/user/Documents
این دستور محتویات پوشه Documents در مسیر home/user را نمایش میدهد.
دستور pwd
دستور pwd یکی از دستورات ساده اما بسیار مفید در سیستمعامل لینوکس است که به شما این امکان را میدهد تا مسیر کامل پوشه جاری یا پوشهای که در حال حاضر در آن قرار دارید را مشاهده کنید. این دستور در موارد متعددی کاربرد دارد و میتواند به شما در درک بهتر ساختار فایلهای سیستم کمک کند.
استفاده از دستور pwd بسیار ساده است. کافی است آن را در ترمینال لینوکس وارد کنید و کلید Enter را فشار دهید. خروجی این دستور، مسیر کامل پوشه جاری را نمایش میدهد.
دستور pwd گزینههای زیادی ندارد، اما چند گزینه مفید آن عبارتند از:
- pwd -p: این گزینه مسیر فیزیکی پوشه جاری را نمایش میدهد.
- pwd -l: این گزینه مسیر منطقی پوشه جاری را نمایش میدهد.
دستور cd
دستور cd یکی از پرکاربردترین دستورات در محیط ترمینال است که برای تغییر دایرکتوری فعلی کاربر استفاده میشود. این دستور به شما امکان میدهد تا در سیستم فایل حرکت کنید و بین پوشههای مختلف جابجا شوید. برای تغییر دایرکتوری فعلی، کافی است دستور cd را به همراه مسیر دلخواه در ترمینال وارد کنید.
دستور cd میتواند هم با مسیرهای مطلق (absolute paths) و هم با مسیرهای نسبی (relative paths) کار کند. مسیرهای مطلق از ریشه سیستم فایل شروع میشوند و معمولاً با / آغاز میشوند. در حالی که مسیرهای نسبی نسبت به دایرکتوری فعلی شما تعریف میشوند.
به عنوان مثال، اگر میخواهید به پوشه home/user/Documents بروید، میتوانید از مسیر مطلق استفاده کنید:
cd /home/user/Documents
اما اگر در حال حاضر در پوشه home/user قرار دارید، میتوانید از مسیر نسبی Documents استفاده کنید:
cd Documents
برای رفتن به دایرکتوری والد (parent directory)، میتوانید از دستور زیر استفاده کنید:
cd ..
برای رفتن به ریشه سیستم فایل (root directory)، میتوانید از دستور زیر استفاده کنید:
cd /
گاهی اوقات ممکن است نیاز داشته باشید که به دایرکتوری قبلی که در آن قرار داشتید، بازگردید. برای این کار، میتوانید از دستور زیر استفاده کنید:
cd –
دستور cd به طور پیشفرض هیچ خروجی ندارد، مگر اینکه با خطایی مواجه شود. اگر میخواهید مسیر فعلی خود را پس از اجرای دستور cd ببینید، میتوانید از دستور pwd استفاده کنید:
cd Documents
pwd
دستور mkdir
دستور mkdir یکی از دستورات پایه در محیط ترمینال سیستم عامل لینوکس است که برای ایجاد پوشه یا دایرکتوری جدید در سیستم فایل لینوکس استفاده میشود. این دستور به کاربران اجازه می دهد تا ساختار درختی پوشهها را در لینوکس مدیریت کنند.
برای ایجاد یک پوشه جدید با استفاده از این دستور، کافی است دستور mkdir را به همراه نام دلخواه پوشه در ترمینال وارد کنید. به عنوان مثال، برای ایجاد پوشهای با نام test میتوانید از دستور زیر استفاده کنید:
mkdir test
این دستور در مسیر فعلی که شما در آن قرار دارید، یک پوشه جدید با نام test ایجاد میکند.
دستور mkdir به طور پیشفرض هیچ خروجی ندارد، مگر اینکه با خطایی مواجه شود. اگر میخواهید خروجی این دستور را ببینید، میتوانید از دستور mkdir -v استفاده کنید. این گزینه باعث میشود که mkdir نام پوشههای ایجاد شده را در خروجی نمایش دهد.
mkdir -v test
این دستور پس از ایجاد پوشه test، نام آن را در خروجی نمایش میدهد.
دستور rmdir
دستور rmdir به شما این امکان را میدهد تا پوشههایی که دیگر به آنها نیاز ندارید را از سیستم حذف کنید و فضای دیسک را آزاد کنید.
برای حذف یک پوشه خالی، کافی است دستور rmdir را به همراه نام پوشه مورد نظر در ترمینال وارد کنید. به عنوان مثال، برای حذف پوشه خالی test، میتوانید از دستور زیر استفاده کنید:
rmdir test
این دستور پوشه خالی test را از مسیر فعلی که در آن قرار دارید، حذف میکند.
گاهی اوقات ممکن است نیاز داشته باشید که پوشههای تو در تو را حذف کنید. برای این کار، میتوانید از دستور rmdir -p استفاده کنید. این گزینه به دستور rmdir میگوید که پوشههای والد را نیز حذف کند، به شرطی که آنها نیز خالی باشند. به عنوان مثال، برای حذف پوشههای parent/child/grandchild میتوانید از دستور زیر استفاده کنید:
rmdir -p parent/child/grandchild
این دستور ابتدا پوشه grandchild را حذف میکند، سپس child را، و در نهایت parent را حذف میکند، به شرطی که تمام این پوشهها خالی باشند.
دستور rmdir فقط میتواند پوشههای خالی را حذف کند. اگر یک پوشه حاوی فایلها یا پوشههای دیگر باشد، rmdir قادر به حذف آن نیست. برای حذف پوشههای غیرخالی، باید از دستور rm -r استفاده کنید. این گزینه به rm میگوید که به صورت بازگشتی (recursive) عمل کند و تمام محتویات پوشه را حذف کند. به عنوان مثال، برای حذف پوشه test و تمام محتویات آن، میتوانید از دستور زیر استفاده کنید:
rm -r test
این دستور ابتدا تمام فایلها و پوشههای موجود در test را حذف میکند و سپس خود پوشه test را حذف میکند.
دستور rm
دستور rm یکی از ابزارهای پرکاربرد در محیط ترمینال است که برای حذف فایلها و پوشهها از سیستم فایل استفاده میشود. این دستور به شما این امکان را میدهد تا فایلها و پوشههایی که دیگر به آنها نیاز ندارید را از سیستم حذف کنید.
برای حذف یک فایل، کافی است دستور rm را به همراه نام فایل مورد نظر در ترمینال وارد کنید. به عنوان مثال، برای حذف فایل file.txt، میتوانید از دستور زیر استفاده کنید:
rm file.txt
این دستور فایل file.txt را از مسیر فعلی که در آن قرار دارید، حذف میکند.
اگر میخواهید چندین فایل را به صورت همزمان حذف کنید، میتوانید نامهای آنها را با فاصله از یکدیگر جدا کنید. به عنوان مثال، برای حذف فایلهای file1.txt، file2.txt و file3.txt، میتوانید از دستور زیر استفاده کنید:
rm file1.txt file2.txt file3.txt
برای حذف پوشه directory و تمام فایلها و پوشههای موجود در آن، میتوانید از دستور زیر استفاده کنید:
rm -r directory
این دستور ابتدا تمام فایلها و پوشههای موجود در directory را حذف میکند و سپس خود پوشه directory را حذف میکند.
گاهی اوقات ممکن است هنگام حذف فایلها یا پوشهها با پیامهای هشدار یا خطا مواجه شوید، مانند عدم دسترسی به فایل یا پوشه. در این موارد، میتوانید از دستور rm -f استفاده کنید تا rm به صورت اجباری عمل کند و فایلها یا پوشهها را حذف کند. به عنوان مثال، برای حذف اجباری پوشه directory و تمام محتویات آن، میتوانید از دستور زیر استفاده کنید:
rm -rf directory
این دستور ابتدا تمام فایلها و پوشههای موجود در directory را به صورت اجباری حذف میکند و سپس خود پوشه directory را بدون توجه به هرگونه پیام هشدار یا خطا، حذف میکند.
دستور cp
دستور cp یکی از دستورات مهم در محیط ترمینال است که برای کپی کردن فایلها و پوشهها از یک مکان به مکان دیگر استفاده میشود. این دستور به شما این اجازه را میدهد تا نسخههای پشتیبان از فایلهای خود ایجاد کنید، فایلها را به پوشههای دیگر منتقل کنید یا حتی آنها را بین سیستمهای مختلف جابجا کنید.
برای کپی کردن یک فایل، کافی است دستور cp را به همراه نام فایل مبدأ و مقصد در ترمینال وارد کنید. به عنوان مثال، برای کپی کردن فایل file.txt از پوشه فعلی به پوشه Documents، میتوانید از دستور زیر استفاده کنید:
cp file.txt ~/Documents
این دستور یک نسخه از فایل file.txt را در پوشه Documents در مسیر خانگی شما ایجاد میکند.
اگر میخواهید چندین فایل را به صورت همزمان کپی کنید، میتوانید نامهای آنها را با فاصله از یکدیگر جدا کنید. به عنوان مثال، برای کپی کردن فایلهای file1.txt، file2.txt و file3.txt به پوشه backup، میتوانید از دستور زیر استفاده کنید:
cp file1.txt file2.txt file3.txt backup
این دستور نسخههایی از فایلهای مذکور را در پوشه backup ایجاد میکند.
برای کپی کردن پوشهها و تمام محتویات آنها، باید از گزینه cp -r استفاده کنید. این گزینه به دستور cp میگوید که به صورت بازگشتی (recursive) عمل کند و تمام فایلها و پوشههای موجود در پوشه مبدأ را کپی کند. به عنوان مثال، برای کپی کردن پوشه directory و تمام محتویات آن به پوشه backup، میتوانید از دستور زیر استفاده کنید:
cp -r directory backup
این دستور یک نسخه کامل از پوشه directory و تمام فایلها و پوشههای موجود در آن را در پوشه backup ایجاد میکند.
در صورتی که فایل یا پوشهای با همان نام در مقصد وجود داشته باشد، cp به طور پیشفرض از کپی کردن امتناع میکند تا از بروز هرگونه خطا جلوگیری شود. اگر میخواهید فایلها یا پوشههای موجود در مقصد را جایگزین کنید، باید از گزینه cp -f استفاده کنید. به عنوان مثال، برای کپی کردن فایل file.txt به پوشه backup و جایگزینی فایل موجود در آنجا، میتوانید از دستور زیر استفاده کنید:
cp -f file.txt backup
این دستور فایل file.txt را به پوشه backup کپی میکند و اگر فایلی با همان نام در آنجا وجود داشته باشد، آن را جایگزین میکند.
دستور mv
دستور mv در سیستم عامل لینوکس برای جابجایی، انتقال و تغییر نام فایلها و دایرکتوریها استفاده میشود. این دستور از خط فرمان قابل اجرا است و دارای قابلیتهای متنوعی میباشد.
ساختار اصلی دستور mv به این صورت است:
mv source directory
در این ساختار، source فایل یا فایلهایی هستند که میخواهید جابجا کنید یا تغییر نام دهید، و directory مقصد یا نام جدیدی است که برای این فایلها در نظر گرفتهاید.
یکی از کاربردهای اصلی دستور mv انتقال فایلها و دایرکتوریها از یک مکان به مکان دیگر است. برای مثال، اگر میخواهید فایل file.txt را از دایرکتوری فعلی به دایرکتوری home/user/documents منتقل کنید، میتوانید از دستور زیر استفاده کنید:
mv file.txt /home/user/documents
همچنین میتوانید چندین فایل را با یک دستور منتقل کنید:
mv file1.txt file2.txt file3.txt /home/user/documents
دستور mv همچنین میتواند برای انتقال دایرکتوریها نیز استفاده شود. برای مثال، اگر میخواهید دایرکتوری old_directory را به دایرکتوری home/user/new_directory منتقل کنید، میتوانید از دستور زیر استفاده کنید:
mv old_directory /home/user/new_directory
کاربرد دیگر دستور mv تغییر نام فایلها و دایرکتوریهاست. برای تغییر نام یک فایل، کافی است نام جدید را به عنوان آرگومان دوم دستور قرار دهید. برای مثال، اگر میخواهید نام فایل old_file.txt را به new_file.txt تغییر دهید، میتوانید از دستور زیر استفاده کنید:
mv old_file.txt new_file.txt
همچنین میتوانید نام یک دایرکتوری را با همین روش تغییر دهید:
mv old_directory new_directory
دستور mv دارای چندین گزینه است که میتوانید از آنها برای کنترل بیشتر عملیات انتقال یا تغییر نام استفاده کنید. برخی از این گزینهها عبارتند از:
- mv -i: قبل از انجام هر عملیات، از کاربر تأیید میگیرد.
- mv -v: در حین انجام عملیات، پیامهای توضیحی را نمایش میدهد.
- mv -b: در صورت وجود فایل هدف در مقصد مورد نظر، از آن پشتیبان تهیه میکند.
- mv -f: بدون هیچ پرسشی، فایلهای هدف را جایگزین میکند.
دستور find
دستور find یکی از قدرتمندترین ابزارهای جستجو در سیستم عامل لینوکس است که به کاربران این امکان را میدهد تا فایلها و دایرکتوریهای مورد نظر خود را بر اساس معیارهای مختلف جستجو و پیدا کنند. این دستور بسیار کاربردی و انعطافپذیر است و میتواند در انواع سناریوهای مختلف مورد استفاده قرار گیرد.
ساختار اصلی دستور find به صورت زیر است:
find path expression
در این ساختار، path مسیر یا مسیرهایی است که میخواهید جستجو در آنها انجام شود. اگر هیچ مسیری مشخص نشود، جستجو از دایرکتوری جاری شروع میشود. expression نیز معیاری است که باید فایلها یا دایرکتوریها آن را برآورده کنند تا توسط دستور find پیدا شوند.
دستور find دارای تعداد زیادی از معیارهای جستجو است که از طریق آنها میتوانید شرایط مورد نظر خود را مشخص کنید. برخی از این معیارها عبارتند از:
- find path -name expression: بر اساس نام فایل یا دایرکتوری جستجو میکند.
- find path -iname expression: مانند -name اما بدون توجه به بزرگی یا کوچکی حروف.
- find path -type expression: بر اساس نوع فایل (مانند فایل معمولی، دایرکتوری، لینک و غیره) جستجو میکند.
- find path -size expression: بر اساس اندازه فایل جستجو میکند.
- find path -mtime expression: بر اساس زمان آخرین تغییر محتوای فایل جستجو میکند.
- find path -atime expression: بر اساس زمان آخرین دسترسی به فایل جستجو میکند.
- find path -perm expression: بر اساس مجوزهای فایل یا دایرکتوری جستجو میکند.
توجه داشته باشید که در دستورات بالا به جای عبارت path باید مسیری که میخواهید جستجو در آن انجام شود را وارد کنید و به جای عبارت expression نیز باید معیاری که میخواهید جستجو بر اساس آن انجام شود را وارد کنید.
به عنوان مثال، برای پیدا کردن تمام فایلهای با پسوند txt در دایرکتوری جاری و زیردایرکتوریهای آن، میتوانید از دستور زیر استفاده کنید:
find . -name “*.txt”
همچنین برای پیدا کردن فایلهایی که در دایرکتوری جاری در 7 روز گذشته تغییر کردهاند، میتوانید از دستور زیر استفاده کنید:
find . -mtime -7
دستور chmod
در سیستم عامل لینوکس، مدیریت مجوزهای دسترسی به فایلها و دایرکتوریها یکی از مباحث مهم و اساسی است. دستور chmod ابزاری قدرتمند برای تنظیم این مجوزهاست که به کاربران این امکان را میدهد تا سطح دسترسی خواندن، نوشتن و اجرا را برای کاربر اصلی، گروه و دیگران تعیین کنند.
ساختار اصلی دستور chmod به این صورت است:
chmod mode file
در این ساختار، mode سطح دسترسی مورد نظر است و file فایل یا فایلهایی هستند که میخواهید مجوزهای آنها را تغییر دهید.
در لینوکس، سه نوع مجوز اصلی برای فایلها و دایرکتوریها وجود دارد:
- خواندن (r): امکان خواندن محتویات فایل یا لیست کردن محتویات دایرکتوری
- نوشتن (w): امکان تغییر محتویات فایل یا ایجاد، حذف و جابجایی فایلها در دایرکتوری
- اجرا (x): امکان اجرای فایل
این مجوزها میتوانند برای سه گروه کاربری تعیین شوند:
- صاحب (owner): کاربری که فایل یا دایرکتوری متعلق به اوست.
- گروه (group): گروهی که صاحب فایل یا دایرکتوری در آن عضو است.
- دیگران (others): تمام کاربران دیگر در سیستم.
یکی از روشهای تعیین مجوزها در دستور chmod استفاده از مد عددی است. در این روش، هر کدام از مجوزهای خواندن، نوشتن و اجرا به ترتیب با اعداد 4، 2 و 1 نمایش داده میشوند. برای تعیین مجوزها، باید سه عدد را به ترتیب برای صاحب، گروه و دیگران در کنار هم قرار داد.
برای مثال، اگر میخواهید برای فایلی به نام file.txt مجوز خواندن و نوشتن برای صاحب، فقط مجوز خواندن برای گروه و هیچ مجوزی برای دیگران تعیین کنید، میتوانید از دستور زیر استفاده کنید:
chmod 640 file.txt
در این مثال، عدد 6 (4+2) برای صاحب، عدد 4 برای گروه و عدد 0 برای دیگران است.
روش دیگر تعیین مجوزها در دستور chmod استفاده از مد رشتهای است. در این روش، از حروف r ،w و x برای نشان دادن مجوزهای خواندن، نوشتن و اجرا استفاده میشود. این حروف باید به ترتیب برای صاحب، گروه و دیگران نوشته شوند.
برای مثال، اگر میخواهید برای دایرکتوری my_directory مجوز خواندن، نوشتن و اجرا برای صاحب، فقط مجوز خواندن و اجرا برای گروه و هیچ مجوزی برای دیگران تعیین کنید، میتوانید از دستور زیر استفاده کنید:
chmod u=rwx,g=rx,o= my_directory
در این مثال، u=rwx برای صاحب، g=rx برای گروه و o= برای دیگران است.
دستور chown
در سیستم عامل لینوکس، هر فایل و دایرکتوری دارای یک صاحب (owner) و یک گروه (group) است. صاحب، کاربری است که فایل یا دایرکتوری متعلق به اوست و گروه نیز گروه کاربری است که صاحب فایل در آن عضو است. دستور chown ابزاری است که به کاربران این اجازه را میدهد تا صاحب و گروه فایلها و دایرکتوریها را تغییر دهند.
ساختار اصلی دستور chown به این صورت است:
chown owner :group file
در این ساختار، owner نام کاربری جدید صاحب، group نام گروه جدید و file فایل یا فایلهایی هستند که میخواهید صاحب و گروه آنها را تغییر دهید.
برای تغییر صاحب یک فایل یا دایرکتوری، کافی است نام کاربری جدید را به عنوان owner در دستور chown قرار دهید. برای مثال، اگر میخواهید صاحب فایل file.txt را به کاربر new_user تغییر دهید، میتوانید از دستور زیر استفاده کنید:
chown new_user file.txt
همچنین میتوانید چندین فایل را با یک دستور تغییر صاحب دهید:
chown new_user file1.txt file2.txt file3.txt
دستور chown همچنین میتواند برای تغییر صاحب دایرکتوریها نیز استفاده شود:
chown new_user directory
برای تغییر گروه یک فایل یا دایرکتوری، باید نام گروه جدید را پس از یک دونقطه (:) در دستور chown قرار دهید. برای مثال، اگر میخواهید گروه فایل file.txt را به new_group تغییر دهید، میتوانید از دستور زیر استفاده کنید:
chown :new_group file.txt
همچنین میتوانید هم صاحب و هم گروه را با یک دستور تغییر دهید:
chown new_user:new_group file.txt
دستور touch
دستور touch یک ابزار کاربردی است که برای ایجاد فایلهای جدید، تغییر زمان آخرین دسترسی (atime) و زمان آخرین تغییر (mtime) فایلها استفاده میشود. این دستور به کاربران این اجازه را میدهد تا فایلهای خالی ایجاد کنند، تاریخ و زمان فایلها را تنظیم کنند و حتی فایلهایی که از قبل وجود داشتند را بهروزرسانی کنند.
ساختار اصلی دستور touch به این صورت است:
touch options file
در این ساختار، options گزینههای اضافی دستور هستند و file فایل یا فایلهایی هستند که میخواهید با آنها کار کنید.
یکی از کاربردهای اصلی دستور touch ایجاد فایلهای جدید و خالی است. برای ایجاد یک فایل جدید، کافی است نام فایل را به عنوان ورودی دستور قرار دهید. برای مثال، اگر میخواهید فایلی با نام new_file.txt ایجاد کنید، میتوانید از دستور زیر استفاده کنید:
touch new_file.txt
این دستور یک فایل خالی با نام new_file.txt در دایرکتوری جاری ایجاد میکند. همچنین میتوانید چندین فایل را با یک دستور ایجاد کنید:
touch file1.txt file2.txt file3.txt
علاوه بر ایجاد فایلهای جدید، دستور touch همچنین میتواند برای تغییر زمان آخرین دسترسی (atime) و زمان آخرین تغییر (mtime) فایلهای موجود استفاده شود. برای مثال، اگر میخواهید زمان آخرین دسترسی و تغییر فایل existing_file.txt را به زمان جاری تغییر دهید، میتوانید از دستور زیر استفاده کنید:
touch existing_file.txt
این دستور زمان آخرین دسترسی و تغییر فایل existing_file.txt را به زمان جاری تنظیم میکند.
دستور touch دارای چندین گزینه است که میتوانید از آنها برای کنترل بیشتر عملیات ایجاد و تغییر فایلها استفاده کنید. برخی از این گزینهها عبارتند از:
- touch -a: فقط زمان آخرین دسترسی (atime) را تغییر میدهد.
- touch -m: فقط زمان آخرین تغییر (mtime) را تغییر میدهد.
- touch -r file1 file2: زمان آخرین دسترسی و تغییر file2 را براساس فایل file1 تنظیم میکند.
- touch -c: در صورت عدم وجود فایل، فایل جدیدی ایجاد نمیکند.
دستور echo
دستور echo یک ابزار ساده برای نمایش متن یا مقدار متغیرها در ترمینال استفاده میشود. این دستور همچنین میتواند برای ایجاد فایلهای جدید، افزودن محتوا به فایلهای موجود و انجام محاسبات ساده نیز مورد استفاده قرار گیرد.
ساختار اصلی دستور echo به این صورت است:
echo options string
در این ساختار، options گزینههای اضافی دستور هستند و string متن یا مقدار متغیری است که میخواهید در خروجی نمایش داده شود.
یکی از کاربردهای اصلی دستور echo نمایش متن در ترمینال است. برای این کار، کافی است متن مورد نظر را به عنوان ورودی دستور قرار دهید. برای مثال، اگر میخواهید عبارت “Hello” را در خروجی نمایش دهید، میتوانید از دستور زیر استفاده کنید:
echo “Hello”
این دستور عبارت “Hello” را در خط جدیدی در خروجی نمایش میدهد.
دستور echo همچنین میتواند برای نمایش مقدار متغیرها استفاده شود. برای این کار، کافی است نام متغیر را به عنوان ورودی دستور قرار دهید. برای مثال، اگر متغیر variable دارای مقدار “Hello” باشد، میتوانید از دستور زیر برای نمایش ارزش آن استفاده کنید:
echo $variable
این دستور عبارت “Hello” را در خروجی نمایش میدهد.
علاوه بر نمایش متن در خروجی، دستور echo میتواند برای ایجاد فایلهای جدید و افزودن محتوا به فایلهای موجود نیز استفاده شود. برای ایجاد یک فایل جدید، کافی است متن مورد نظر را به همراه عملگر > و نام فایل به عنوان آرگومان دستور قرار دهید. برای مثال، اگر میخواهید فایلی با نام new_file.txt ایجاد کنید و محتوای “This is a new file” را در آن قرار دهید، میتوانید از دستور زیر استفاده کنید:
echo “This is a new file” > new_file.txt
برای افزودن محتوا به یک فایل موجود، میتوانید از عملگر >> استفاده کنید. برای مثال، اگر میخواهید عبارت “This is an additional line” را به فایل existing_file.txt اضافه کنید، میتوانید از دستور زیر استفاده کنید:
echo “This is an additional line” >> existing_file.txt
دستور head
دستور به کاربران این امکان را میدهد تا سطرهای ابتدایی یک فایل را مشاهده کنند. این دستور میتواند برای بررسی محتویات فایلهای بزرگ، تشخیص نوع فایل، یا حتی خروجی دستورات دیگر مورد استفاده قرار گیرد.
ساختار اصلی دستور head به این صورت است:
head options file
در این ساختار، options گزینههای اضافی دستور هستند و file فایل یا فایلهایی هستند که میخواهید سطرهای ابتدایی آنها را مشاهده کنید.
یکی از کاربردهای اصلی دستور head نمایش سطرهای ابتدایی یک فایل است. به طور پیشفرض، این دستور 10 سطر ابتدایی فایل را نمایش میدهد. برای مثال، اگر میخواهید 10 سطر ابتدایی فایل file.txt را مشاهده کنید، میتوانید از دستور زیر استفاده کنید:
head file.txt
با استفاده از دستور head -n، میتوانید تعداد سطرهای نمایش داده شده را تعیین کنید. برای مثال، اگر میخواهید 5 سطر ابتدایی فایل file.txt را مشاهده کنید، میتوانید از دستور زیر استفاده کنید:
head -n 5 file.txt
دستور head همچنین میتواند برای نمایش سطرهای ابتدایی چندین فایل استفاده شود. برای این کار، کافی است نام فایلها را به عنوان ورودی دستور وارد کنید. برای مثال، اگر میخواهید 10 سطر ابتدایی فایلهای file1.txt و file2.txt را مشاهده کنید، میتوانید از دستور زیر استفاده کنید:
head file1.txt file2.txt
دستور head دارای چندین گزینه مختلف است که میتوانید از آنها برای کنترل بیشتر عملیات نمایش سطرهای ابتدایی استفاده کنید. برخی از این گزینهها عبارتند از:
- head -q: هشدارهای خروجی را نمایش نمیدهد.
- head -v: قبل از هر خروجی، نام فایل را نمایش میدهد.
- head -c: به جای سطرها، تعداد بایتهای مشخص شده را نمایش میدهد.
- head –help: راهنمای استفاده از دستور head را نمایش میدهد.
دستور tail
با استفاده از دستور tail کاربران میتوانند سطرهای انتهایی یک فایل یا خروجی یک دستور را مشاهده کنند. این دستور میتواند برای بررسی لاگهای سیستم، پیگیری فرآیندهای در حال اجرا، یا حتی خروجی دستورات دیگر مورد استفاده قرار گیرد.
ساختار اصلی دستور tail به این صورت است:
tail options file
در این ساختار، options گزینههای اضافی دستور هستند و file نام فایل یا فایلهایی هستند که میخواهید سطرهای انتهایی آنها را مشاهده کنید.
یکی از کاربردهای اصلی دستور tail نمایش سطرهای انتهایی یک فایل است. به طور پیشفرض، این دستور 10 سطر انتهایی فایل را نمایش میدهد. برای مثال، اگر میخواهید 10 سطر انتهایی فایل file.txt را مشاهده کنید، میتوانید از دستور زیر استفاده کنید:
tail file.txt
با استفاده از دستور tail -n، میتوانید تعداد سطرهای نمایش داده شده را تعیین کنید. برای مثال، اگر میخواهید 5 سطر انتهایی فایل file.txt را مشاهده کنید، میتوانید از دستور زیر استفاده کنید:
tail -n 5 file.txt
دستور tail همچنین میتواند برای پیگیری خروجی یک دستور یا فایل در حال تغییر استفاده شود. برای این کار، از دستور tail -f استفاده میشود. این دستور باعث میشود که tail به طور مداوم خروجی را پیگیری کند و هر سطر جدیدی که اضافه شود را نمایش دهد. این ویژگی برای پیگیری لاگهای سیستم، خروجی فرآیندهای در حال اجرا، یا هر نوع فایلی که در حال تغییر است، بسیار مفید است. برای مثال، اگر میخواهید خروجی لاگ سیستم را در فایل var/log/syslog بررسی کنید، میتوانید از دستور زیر استفاده کنید:
tail -f /var/log/syslog
دستور tail دارای چندین گزینه است که میتوانید از آنها برای کنترل بیشتر عملیات نمایش سطرهای انتهایی استفاده کنید. برخی از این گزینهها عبارتند از:
- tail -c: به جای سطرها، تعداد بایتهای مشخص شده را نمایش میدهد.
- tail -q: هشدارهای خروجی را نمایش نمیدهد.
- tail -v: قبل از هر خروجی، نام فایل را نمایش میدهد.
- tail –help: راهنمای استفاده از دستور tail را نمایش میدهد.
دستور cat
در سیستم عامل لینوکس، دستور cat برای نمایش محتویات فایلها، ترکیب چندین فایل، یا حتی ایجاد فایلهای جدید از طریق خط فرمان استفاده میشود. این دستور قدرتمند در سناریوهای مختلف میتواند مورد استفاده قرار گیرد.
ساختار اصلی دستور cat به این صورت است:
cat options file
در این ساختار، options گزینههای اضافی دستور هستند و file نام فایل یا فایلهایی هستند که میخواهید محتویات آنها را مشاهده کنید.
یکی از وظایف اصلی دستور cat نمایش محتویات یک فایل در ترمینال است. برای این کار، کافی است نام فایل را به عنوان ورودی دستور وارد کنید. برای مثال، اگر میخواهید محتویات فایل file.txt را مشاهده کنید، میتوانید از دستور زیر استفاده کنید:
cat file.txt
این دستور کل محتویات فایل file.txt را در خروجی نمایش میدهد.
دستور cat همچنین میتواند برای ترکیب محتویات چندین فایل استفاده شود. برای این کار، کافی است نام فایلها را به عنوان ورودیهای دستور قرار دهید. برای مثال، اگر میخواهید محتویات فایلهای file1.txt، file2.txt و file3.txt را با هم ترکیب کنید، میتوانید از دستور زیر استفاده کنید:
cat file1.txt file2.txt file3.txt
این دستور محتویات تمام فایلهای مشخص شده را به ترتیب در خروجی نمایش میدهد.
دستور cat دارای چندین گزینه است که میتوانید از آنها برای کنترل بیشتر عملیات نمایش محتویات فایلها استفاده کنید. برخی از این گزینهها عبارتند از:
- cat -n: شماره سطرها را در خروجی نمایش میدهد.
- cat -b: شماره سطرهای خالی را در خروجی نمایش نمیدهد.
- cat -s: سطرهای خالی اضافی را در خروجی حذف میکند.
- cat -v: کاراکترهای غیرقابل چاپ را به صورت نمادین نمایش میدهد.
- cat –help: راهنمای استفاده از دستور cat را نمایش میدهد.
دستور grep
دستور برای جستجوی الگوها یا عبارات در فایلها یا خروجی دیگر دستورات در سیستم عامل لینوکس استفاده میشود. این دستور از طریق خط فرمان اجرا میشود و میتواند در انواع سناریوهای مختلف مورد استفاده قرار گیرد.
ساختار اصلی دستور grep به این صورت است:
grep options pattern file
در این ساختار، options گزینههای اضافی دستور هستند، pattern الگو یا عبارتی است که میخواهید جستجو کنید و file نام فایل یا فایلهایی هستند که باید در آنها جستجو انجام شود.
یکی از کاربردهای اصلی دستور grep جستجوی الگوها یا عبارات در فایلها است. برای این کار، کافی است نام فایل و الگوی مورد نظر را به عنوان ورودیهای دستور وارد کنید. برای مثال، اگر میخواهید در فایل file.txt برای الگوی “Hello” جستجو کنید، میتوانید از دستور زیر استفاده کنید:
grep “Hello” file.txt
این دستور تمام سطرهایی از فایل file.txt را که حاوی الگوی “Hello” هستند، در خروجی نمایش میدهد.
دستور grep همچنین میتواند برای جستجوی الگوها در چندین فایل استفاده شود. برای این کار، کافی است نام فایلها را به عنوان ورودیهای دستور وارد کنید. برای مثال، اگر میخواهید الگوی “World” را در فایلهای file1.txt، file2.txt و file3.txt جستجو کنید، میتوانید از دستور زیر استفاده کنید:
grep “World” file1.txt file2.txt file3.txt
این دستور تمام سطرهایی از فایلهای مشخص شده را که حاوی الگوی “World” هستند، در خروجی نمایش میدهد.
علاوه بر جستجو در فایلها، دستور grep میتواند برای جستجوی الگوها در خروجی دیگر دستورات نیز استفاده شود. برای این کار، از عملگر | استفاده میشود. برای مثال، اگر میخواهید در خروجی دستور ls برای الگوی “.txt” جستجو کنید، میتوانید از دستور زیر استفاده کنید:
ls | grep “*.txt”
این دستور تمام فایلهای با پسوند txt را در خروجی نمایش میدهد.
دستور grep دارای تعداد زیادی گزینههای مختلف است که میتوانید از آنها استفاده کنید. برخی از این گزینهها عبارتند از:
- grep -i: جستجو را بدون توجه به بزرگی یا کوچکی حروف انجام میدهد.
- grep -v: سطرهایی را که حاوی الگوی مشخص شده نیستند، نمایش میدهد.
- grep -n: شماره سطرهای مطابق با الگو را نمایش میدهد.
- grep -r: به صورت بازگشتی (recursive) در دایرکتوریهای زیرمجموعه نیز جستجو میکند.
- Grep –color: سطرهای مطابق با الگو را با رنگ متمایز میکند.
دستور sort
دستور sort به کاربران این امکان را میدهد تا خطوط یا رکوردهای موجود در فایلها یا خروجی دیگر دستورات را بر اساس معیارهای مختلف مرتب کنند.
ساختار اصلی دستور sort به این صورت است:
sort options file
در این ساختار، options گزینههای اضافی دستور هستند که نحوه مرتبسازی را کنترل میکنند، و file نام فایل یا فایلهایی هستند که میخواهید محتویات آنها را مرتب کنید.
کاربرد اصلی دستور sort مرتبسازی محتویات فایلها بر اساس الفبا یا عددی است. برای مثال، اگر میخواهید محتویات فایل file.txt را به ترتیب الفبایی مرتب کنید، میتوانید از دستور زیر استفاده کنید:
sort file.txt
این دستور محتویات فایل file.txt را به ترتیب صعودی الفبایی مرتب میکند و خروجی را در ترمینال نمایش میدهد.
دستور sort دارای امکانات مختلفی است که میتوانید از آنها برای کنترل بیشتر عملیات مرتبسازی استفاده کنید. برخی از این امکانات عبارتند از:
- sort -r: مرتبسازی را به صورت نزولی انجام میدهد.
- sort -n: مرتبسازی را بر اساس ارزش عددی انجام میدهد.
- sort -u: خطوط تکراری را حذف میکند.
- sort -f: مرتبسازی را بدون توجه به بزرگی یا کوچکی حروف انجام میدهد.
- sort -o: خروجی را در یک فایل جدید ذخیره میکند.
دستور useradd
در سیستم عامل لینوکس، مدیریت کاربران یکی از مهمترین وظایف سیستم است. برای ایجاد، حذف، ویرایش و مدیریت کاربران، از ابزارهای مختلفی استفاده میشود که یکی از پرکاربردترین آنها دستور useradd است. دستور useradd در واقع یک برنامه است که برای ایجاد کاربران جدید در سیستم لینوکس استفاده میشود.
برای ایجاد یک کاربر جدید در لینوکس، فقط کافی است دستور useradd را به همراه نام کاربری مورد نظر اجرا کنید:
sudo useradd username
با اجرای این دستور، یک کاربر جدید با نام username در سیستم ایجاد میشود. پوشه کاربر در مسیر home/username ایجاد خواهد شد.
دستور useradd دارای پارامترهای متعددی است که به شما اجازه شخصیسازی تنظیمات کاربر جدید را میدهد. برخی از این پارامترها عبارتند از:
- useradd -c: افزودن یک توضیح یا نام کامل به کاربر.
- useradd -d /home/path: تعیین مسیر پوشه کاربر.
- useradd -g group: تعیین گروه اصلی کاربر.
- useradd -G group1,group2: عضویت کاربر در گروههای دیگر.
- useradd -s /bin/shell: تعیین شل پیشفرض کاربر.
- useradd -u uid: تعیین شناسه کاربری (UID) خاص.
به عنوان مثال:
sudo useradd -c “John” -g developers -G admins,ops -s /bin/bash jdoe
در این مثال، یک کاربر جدید با نام کاربری jdoe ایجاد میشود که دارای توضیح “John”، گروه اصلی developers و عضویت در گروههای admins و ops است. همچنین شل پیشفرض این کاربر bin/bash تنظیم شده است.
دستور userdel
همان طور که برای ایجاد کاربران جدید از دستور useradd استفاده میشود، برای حذف کاربران از دستور userdel استفاده میشود. دستور userdel یک ابزار قدرتمند برای حذف کاربران از سیستم عامل لینوکس است. این دستور به شما این اجازه را میدهد تا کاربران موجود را به همراه تمام اطلاعات و پوشههای مربوط به آنها از سیستم حذف کنید. همچنین میتوانید با استفاده از پارامترهای مختلف، نحوه حذف کاربر را کنترل کنید.
برای حذف یک کاربر از سیستم عامل لینوکس، فقط کافی است دستور userdel را به همراه نام کاربری مورد نظر اجرا کنید:
sudo userdel username
با اجرای این دستور، کاربر با نام username از سیستم حذف خواهد شد. اما پوشه شخصی کاربر و فایلهای موجود در آن، همچنان در سیستم باقی خواهند ماند. اگر میخواهید پوشه شخصی کاربر و تمام فایلهای موجود در آن را نیز حذف کنید، میتوانید از دستور userdel -r استفاده کنید:
sudo userdel -r username
با اجرای این دستور، علاوه بر حذف کاربر، پوشه شخصی کاربر و تمام فایلهای موجود در آن نیز از سیستم حذف خواهند شد.
در صورتی که کاربر مورد نظر عضو گروههای مختلفی در سیستم باشد، میتوانید با استفاده از دستور userdel -f کاربر را از تمام گروهها حذف کنید:
sudo userdel -f username
این دستور کاربر را از تمام گروههایی که عضو آنها است، خارج میکند و سپس کاربر را از سیستم حذف مینماید.
دستور ping
در دنیای شبکه و ارتباطات، دستور ping یکی از ابزارهای پایه و کاربردی است که در تمام سیستم عاملهای مدرن از جمله لینوکس استفاده میشود. این دستور به شما این امکان را میدهد تا ارتباط بین دستگاه خود و یک شبکه (مانند سرور، یک دستگاه دیگر یا آدرس IP) را بررسی کنید. دستور ping در اصل یک ابزار تست وضعیت شبکه است که با ارسال بستههای داده به هدف مشخص شده و دریافت پاسخ از آن، زمان رفت و برگشت (RTT) را اندازهگیری میکند. این فرایند به شما کمک میکند تا متوجه شوید که آیا هدف قابل دسترسی است یا خیر و همچنین کیفیت ارتباط شبکه را ارزیابی کنید.
برای استفاده از دستور ping در لینوکس، فقط کافی است آن را در ترمینال وارد کرده و آدرس IP یا نام میزبان (hostname) هدف را به عنوان ورودی وارد کنید:
ping example.com
ping 192.168.1.1
دستور ping دارای پارامترهای مختلفی است. برخی از پارامترهای مهم این ابزار عبارتند از:
- ping -c: تعیین تعداد بستههای داده که باید ارسال شود.
- ping -i: فاصله زمانی بین ارسال هر بسته داده (به ثانیه).
- ping -W: مدت زمان انتظار برای دریافت پاسخ از هدف (به ثانیه).
- ping -s: اندازه هر بسته داده ارسالی (به بایت).
- ping -f: ارسال بستههای داده با حداکثر سرعت ممکن.
- ping -q: نمایش خروجی به طور خلاصه.
دستور tar
دستور tar یکی از ابزارهای کاربردی برای فشردهسازی، استخراج و مدیریت فایلها و پوشهها است. این دستور به کاربران این امکان را میدهد تا چندین فایل را در یک فایل ترکیب کنند، آنها را فشرده کنند و سپس در صورت نیاز، آنها را در مقصد دیگری استخراج کنند.
برای ایجاد یک فایل tar از یک مجموعه فایل یا پوشه، از دستور زیر استفاده میشود:
tar -cf archive.tar /path/to/directory/
این دستور یک فایل با نام archive.tar از پوشه path/to/directory و تمام محتویات آن ایجاد میکند.
برای فشردهسازی فایلها به صورت tar و صرفهجویی در فضای دیسک، میتوانید از الگوریتمهای فشردهسازی مختلفی مانند gzip یا bzip2 استفاده کنید. برای استفاده از gzip، میتوانید از دستور زیر استفاده کنید:
tar -czf archive.tar.gz /path/to/directory/
این دستور یک فایل فشرده شده با نام archive.tar.gz از پوشه path/to/directory ایجاد میکند.
برای استخراج محتویات یک فایل tar، از پارامتر x استفاده میشود:
tar -xf archive.tar
این دستور محتویات آرشیو archive.tar را در پوشه جاری استخراج میکند.
دستور tar دارای پارامترهای متعددی است که به شما اجازه اعمال تغییرات بیشتر در عملیات فشردهسازی را میدهد. برخی از پارامترهای مهم عبارتند از:
- tar -v: نمایش جزئیات فرآیندفشردهسازی.
- tar -f: تعیین نام فایل.
- tar -C: تغییر پوشه کاری قبل از استخراج یا فشردهسازی.
- tar -j: استفاده از الگوریتم فشردهسازی bzip2.
- tar -p: حفظ اطلاعات مالکیت و دسترسی فایلها.
- tar –exclude: استثنا کردن فایلها یا پوشههای خاص از فایل فشرده.
به عنوان مثال:
tar -czvf backup.tar.gz –exclude=’*.log’ /home/user/
در این مثال، یک فایل فشرده شده با نام backup.tar.gz از پوشه /home/user/ ایجاد میشود، اما فایلهای با پسوند log در فایل فشرده خروجی قرار نمیگیرند.