یکی از بهترین سیستم عامل ها و پلتفرمهای پرکاربرد لینوکس است که دستورهای متعدد آن در محیط ترمینال سبب میشوند تا با سرعت بیشتری از ابزارها و امکانات لینوکس بهره مند شویم. تعدد دستورهای لینوکس برای استفاده در محیط ترمینال، بسیار زیاد هستند و ما در این مقاله سعی نمودیم تا مهمترین و کاربردی ترین دستورات ترمینال لینوکس را از منابع مختلف جمع آوری نماییم. امیدواریم که برای شما مفید واقع شود.
آنچه در این مطلب میخوانید:
- دستورهای ارتباط با سرور
- دستورات کاربردی
- دستورات شبکه
- فرمان های ساخت دایرکتوری
- دستورات عملیاتی لینوکس
- جدول دستورات
- لیست فرمانهای شبکه
- لیست فرمانهای ارتباط با سرور
- لیست فرمانهای ساخت دایرکتوری
- لیست فرمان های سیناپس
ارتباط با سرور لینوکس
ارتباط با سرور از طریق کامپیوترهای دیگر در شبکه
برای ارتباط با سرور لینوکس، چندین راه وجود دارد. از telnet برای لاگین و یا از FTP برای انتقال فایل استفاده میکنند اما موردی که امنیت بالایی داشته باشد SSH نام دارد. به کمک SSH شما میتوانید از طریق یک شبکه ناامن، ارتباط امن برقرار کنید. شما به ترمینال سرور خود دسترسی خواهید داشت.
نصب SSH روی سرور راحت است. ما SSH Server را روی لینوکس سرور خود نصب میکنیم و پس از آن توسط یک SSH Client مثل putty در ویندوز خود استفاده کنیم که بتوانیم از طریق آن به سرور وصل شویم.
(فرض بر این است که سیستم دیگر شما ویندوزی است، اگر روی آن سیستم هم لینوکس داشته باشید از طریق ترمینال این ارتباط قابل برقرار شدن است)
1- لینوکس سرور خود را آپ دیت نمایید.
sudo apt-get update
دستور sudo : معرفی کاربر دستور دهنده است و به معنای آن است که کار قابل انجام را super user انجام میدهد (super user do)
دستور apt-get : مخفف advanced package tool است که یک اینترفیس برای کار با کتابخانه ها است. به کمک این دستور کتابخانه های لازم، از طریق اینترنت قابل دریافت هستند.
دستور update : به روزرسانی لیست پکیج های موجود در لینوکس و دریافت اطلاعات مربوط به نسخه جدید آنها. ( فقط لیست های پکیج ها به روز رسانی میشود)
2- دستور upgrade
با دستور آپگرید نسخه جدید پکیج ها نصب میشوند.
sudo apt-get upgrade
در حقیقت بعد از آپدیت کردن لیست پکیج ها، پکیج منیجر از آپدیت های موجود مطلع میشود و با دستور آپگرید این آپدیت ها انجام میشوند.
3- دستور نصب openssh
sudo apt-get install openssh-server
با نصب پکبج فوق ssh server نصب میشود، حالا باید کانفیگ سرور را انجام داد.
4- همچنین MaxAuthorize 4 اضافه میکنیم.(اگر وجود ندارد)
با دستور زیر فایل کانفیگ را باز میکنیم و مطمئن میشویم Port 22 کامنت نباشد (خطوطی که ابتدای آنها # است کامنت هستند).
sudo nano /etc/ssh/ssh_config
5- بررسی وضعیت سرور
sudo service ssh status
6- دستور فعال و غیرفعال کردن ssh server
sudo service ssh start
sudo service ssh stop
7- به کمک دستور زیر از آی پی سرور لینوکس مطلع میشویم.
ifconfig
آی پی خود را یادداشت میکنیم. (در ادامه اتصال به شکل wifi توضیح داده خواهد شد)
در سمت ویندوز(جایی که میخواهیم از آن به سرور لینوکس وصل شویم)، نرم افزار putty را از اینجا دانلود و نصب میکنیم.
با کلیک روی open باید یک پنجره ترمینالی باز شود که یوزر و پسورد لینوکس را از ما میخواهد و خط فرمان آماده دستورات شماست!
اگر ارتباط برقرار نشد و مثلا خطای connection timeout در putty دیدیم، بهتر است از طریق ping ارتباط سیستم ویندوزی به عنوان کلاینت را با سرور لینوکسی چک کنیم. همچنین برعکس این ارتباط را از طریق ping در سرور لینوکسی چک کنیم. در سرور ویندوزی برای فهمیدن آی پی از دستور ipconfig باید استفاده کرد. (به جای ifconfig).
8- ping
ping 192.168.1.8
مطمئن شوید روی فایروال ویندزو مشکلی برای پورت 22 نباشد یا محض اطمینان فایروال خود را موقتا قطع کنید.
ارتباط بدون کابل سرور لینوکس با روتر
برای فعال کردن wifi روی سرور لینوکس از طریق ترمینال با سرچ، روش های مختلفی گفته شده است ولی چون حوصله انجام اینکارها را نداریم بهتر است هم برای اینکار و هم برای راحت بودن کار با سرور یک پوسته دسکتاپ برای سرور خود نصب کنیم. دستور زیر را برای نصب دسکتاپ مینویسیم.
9- xubuntu-desktop نصب پوسته دسکتاپ
sudo apt install xubuntu-desktop
اگر مشکل فیلترینگ تحریم را داشتید، دستورالعمل های نصب tor را انجام دهید و دوباره دستور نصب xubuntu-desktop را بنویسید؛ نصب بطور کامل انجام میشود و با بوت کردن سیستم، فضای دسکتاپ را خواهید دید. از بخش setting manager و آیتم software and updates و تب additional drivers درایور wifi خود را نصب کنید.
پس از نصب در بالای دسکتاپ سمت راست، علامت فلش را انتخاب کنید و wifi خود را پیدا کنید و کلمه عبور آن را وارد کنید تا علامت فلش به علامت wifi تبدیل شود. به کمک فایرفاکس میتوانید ارتباط اینترنتی خود را چک کنید.
نصب وب سرور
برای راه اندازی یک وب سایت ساده به وب سرور نیاز داریم.
وب سرورها محلی برای ارائه پاسخ به درخواست های کاربران است. به بیان ساده تر نرم افزاری است که شما با قرار دادن صفحات و فایل های خود در آن اعلام میکنید که دیگران میتوانند با قراردادی خاص از این اطلاعات استفاده کنند.
مثلا با مرورگر خود اگر آدرس example.com/getusers را صدا کنند لیست کاربرانی که در دیتابیس قرار دارند برایشان ارسال میشود. با این تعریف مشخص میشود که به غیر از فایل، امکان ارائه خدمات بر اساس کد را نیز داریم. یعنی کد خاصی را روی سرور قرار میدهیم که با شنیدن درخواست خاص، عملیاتی را انجام دهد و خروجی مورد نظر را برای کاربر ارسال کند.
وب سرور lighttpd
باید سرور لینوکس را به چیزی قابل دسترس از دنیای بیرون تبدیل کنیم. فعلا دنیای بیرون همین سیستم ویندوزی است که به کمک putty به سرور لینوکس متصل است. از putty استفاده میکنیم و دستور زیر را برای نصب یکی از ساده ترین وب سرور ها مینویسیم.(روی لینوکس خود وب سرور lighttpd نصب و اجرا میکنیم)
10- نصب وب سرور lighttpd
sudo apt-get install lighttpd sudo service lighttpd start
کافیست در سیستم ویندوزی خودتان آدرس آی پی سرور لینوکس را در مرورگر بنویسید. به صورت پیش فرض روی پورت 80 (که نیاز به نوشتن آن نیست) صفحه ای اولیه را خواهید دید:
اما فایل مربوط به این صفحه کجای سرور لینوکس است؟
آدرس /var/www/html را ببینید. این فایل در همین محل قرار دارد. میتوانید فایل را ویرایش کنید و به شکل دلخواهتان تبدیل کنید. (که پرمیشن احتمالا اجازه نمیدهد!) مشکل پرمیشن را یا از طریق دستورات ترمینال یا از طریق نصب برنامه nautilus که یک برنامه مدیریت فایل است رفع کنید.
11-
sudo apt-get install --reinstall nautilus
12- برای پیدا کردن محل نصب ناتیلوس یا هر برنامه ای از دستور زیر استفاده میکنیم:
whereis nautilus
البته ناتیلوس را از طریق ترمینال در هر مسیری که باشیم میتوانیم اجرا کنیم:
13- اجرای nautilus از طریق ترمینال
nautilus .
- چگونه مسیر فایل html را عوض کنیم؟
- چگونه lighttpd را کانفیگ کنیم؟
فایل کانفیگ این وب سرور ساده در مسیر etc/lighttpd/lighttpd.conf قرار دارد. به راحتی به کمک nautilus پنجره مدیریت فایل را در این محل باز میکنیم و این فایل را ادیت میکنیم. مسیر دلخواهی برای وب سایت انتخاب میکنیم که حاوی html خودمان باشد. همچنین امکان تعریف پورت یا فایل های قابل میزبانی را دارید.
هیچ الزامی برای استفاده از lighttpd نیست. شما میتوانید به جای این وب سرور ساده، از apache2 که یک وب سرور اوپن سورس است استفاده کنید.
دسترسی به وب سرور
دسترسی به وب سرور بیرون از شبکه خانگی
معمولا این آی پی روی سیستم های خانگی به شکل داینامیک است. یعنی هر چند وقت عوض میشود. از طریق گوگل با تایپ my ip به آی پی خودتان خواهید رسید.
14- یافتن ip از طریق ترمینال لینوکس
dig @resolver1.opendns.com ANY myip.opendns.com +short
یا از طریق ترمینال ویندوز :
(Invoke-WebRequest -uri "http://ifconfig.me/ip").Content
دوست شما با تایپ این آی پی چه چیزی خواهد دید؟ احتمالا هیچ!
قبل از توضیح در مورد اینکه چه اتفاقی افتاده تعاریف زیر را بخوانید :
آدرس ip : هر خانه ای در شهر یک آدرس منحصر به فرد دارد که به محل فیزیکی آن خانه اشاره میکند. کسی که به خانه ما دعوت شده باید این آدرس را داشته باشد. دستگاه های ما نیز باید با همین روش رفتار کنند. یعنی اگر کامپیوتر ما بخواهد از طریق مرورگر به یک کامپیوتر دیگر (سرور) متصل شود باید آدرس آن را بداند. پس اگر تایپ میکنیم google.com در حقیقت این کلمه و پسوندش به یک آدرس ip اشاره میکند که ترکیب چند عدد است.
مفهوم dns : چه چیزی این google.com را به ip آن مپ کرده است؟ DNS server شامل یک دیتابیس بزرگ است که مجوعه ای از دامین ها و IP های مرتبط را در خود دارد. مثلا دامین google.com به IP با آدرس ۶۴.۲۳۳.۱۶۷.۹۹ مپ می شود. سرورهای Dns زیادی وجود دارد که معمولا شرکت ها و سازمان های هاستینگ مسئول آن هستند. کافیست دامینی که رزرو کردید و همچنین آدرس ip وب سرور خود را به این شرکت ها بدهید تا آنها به این سرور ها اضافه کنند و چون این سرورهای dns در دنیا به هم متصل هستند ظرف یک یا دو روز سایت شما با تایپ دامین شما قابل دسترس خواهد بود.
برای آنکه ip داینامیک ما به وب سرور مپ شود باید با مفاهیمی مثل port forwarding و virtual host آشنا باشیم. باید تنظیمات مودم خود را دستکاری کنیم و در کل اگر در اینترنت جستجو کنید آموزش های متفاوت و غالبا پیچیده ای خواهید دید.
فرض کنید میخواهیم با گوشی، همیشه سایتمان دسترسی داشته باشیم. دقت کنید آی پی ما داینامیک است و ممکن است بعد از چند ساعت دسترسی به آن ممکن نباشد. اگر مکانیزمی وجود داشت که این آدرس داینامیک را به یک domain مپ میکرد (مثل dns server) ولی حواسش به تغییر ip هم بود و هر بار ip عوض میشد ، ip جدید را به همان دامین مپ میکرد عالی بود.
وب سایت ngrok اینکار را میکند.
برای نصب ngrok از طریق سرور لینوکس خود به آدرس آن رفته و از منوی download روش نصب آن روی سرور را بخوانید و عمل کنید. مثلا روی دسکتاپ آن را قرار دهید و دستور زیر را بنویسید:
15-دستور نصب ngrok
قبل از نوشتن این دستور از فعال بودن وب سرور lighttpd یا هر وب سرور دیگر روی پورت 80 مطمئن شوید.
./ngrok http 80
با نوشتن این دستور در ترمینال پیامی مبنی بر موفقیت آمیز بودن بایندینگ نمایش داده میشود و یک آدرس رندم هم برای سایت شما تولید میشود که همان آدرسی است که قرار است به دیگران بدهید!
دستورات کاربردی لینوکس
# | فرمان | تمرین | |
---|---|---|---|
9 | xubuntu-desktop | sudo apt install xubuntu-desktop | مثال |
21 | دستور | ls | مثال |
22 | دستور | alias | مثال |
23 | مثال | ||
24 | مثال | ||
25 | تغییر در دایرکتوری | cd | مثال |
26 | دستور کپی دایرکتوری و فایل | Cp | مثال |
27 | حذف فایل | rm | مثال |
28 | مثال | ||
29 | مثال | ||
30 | کمکرسان خط فرمان لینوکس | man | مثال |
31 | دستور مدیریت دسترسیها | chmod | مثال |
32 | مثال | ||
33 | مثال | ||
34 | مثال | ||
35 | مثال | ||
36 | مثال | ||
37 | مثال | ||
38 | مثال | ||
39 | مثال |
لینوکس یکی از محبوبترین سیستمعاملهایی است که با شعار امنیت بالا توانسته کاربران بسیاری را به خود جذب کند و حدود 90 درصد از زیرساختهای ابری و خدمات میزبانی را به خود اختصاص دهد. بههمیندلیل آشنایی با دستورهای لینوکس کار با این سیستمعامل را سهولت میبخشد.
دستورهای لینوکس در محیط ترمینال استفاده و سبب میشوند تا با سرعت بیشتری از ابزارها و امکانات لینوکس بهره ببرید. تعداد دستورهای لینوکس که در سرور میتوان از آنها استفاده کرد، بهمراتب بیشتر از چیزی است که فکر میکنید. لینوکس یکی از پلتفرمها و سیستمعاملهای پرکاربرد سمت سرور است.
21. دستور ls
با استفاده از این دستور، محتویات دایرکتوری مدنظرتان را بهراحتی میتوانید فهرست کنید. برای مثال، میخواهید ببینید در پوشه عکسها، چند فایل و با چه مشخصاتی وجود دارد و بین آنها بهدنبال فایل مدنظرتان بگردید.
ls
این دستور گزینههای زیادی در اختیارتان قرار میدهد بههمیندلیل با استفاده از دستور help — میتوانید تمام دستورات مورد استفاده JS را مشاهده کنید. برای مثال برای رنگیکردن خروجی JS امکان استفاده از دستور زیر برایتان فراهم شده است.
ls –color=auto
22. دستور alias
این فرمان برای نمایش گروهی از دستورها و گزینهها و نمایش فهرستی از تمام نامهایی است که در سرور تعریف شده است. پسازآن، aliasهای تعریفشده بهواسطه کاربر را به فایل bashrc./~ میتوانید اضافه کنید. بهعنوان مثال، بهمنظور تنظیم ls برای داشتن رنگ، بدون تایپکردن آن میتوانید از این دستور استفاده کنید:
alias ls=”ls –color=auto”
اگر میخواهید امکان مشاهده تمام دستورات aliases ممکن شود، میتوانید دستور آن را بدون آرگومان اجرا کنید.
alias
آموزش کامل دستور alias در لینوکس را در مقالهی زیر بخوانید.
23. دستور unalias
این دستور همانطورکه از نامش مشخص است، برای حذف نام مستعاری بهکار میرود که از قبل تعریف شده است. برای حذف نام مستعار، میتوانید از دستور زیر بهره ببرید:
unalias ls
درواقع برای حذف آن، میتوانید LS را درمقابل این دستور قرار دهید.
24. دستور pwd
این دستور با عنوان چاپ پوشه و مسیر دردسترس و کاری استفاده میشود و مخفف چاپ دایرکتوری کاری است. pwd یکی از دستورهای پرکاربرد لینوکس بهحساب میآید که البته در یونیکس نیز بهکار برده میشود. برای مثال، اگر نام کاربری شما ali باشد و در دایرکتوری Doc حضور داشته باشید، مسیر بدینصورت اجرا خواهد شد:
/home/john/Documents
دستور آن در ترمینال بهترتیب زیر پرینت خواهد شد:
pwd
# My result: /home/kinsta/Documents/linux-commands
25. دستور cd تغییر در دایرکتوری
ورود به دایرکتوریها
دستور cd در سیستمعامل لینوکس یکی از دستورهای پرکاربرد و مهمی است که میتوان بارهاوبارها از آن استفاده کرد. ناگفته نماند مشابه این دستور در سیستمعامل ویندوز و در خط فرمان نیز وجود دارد. دستور یادشده معمولاً همراه با ls استفاده میشود و به تغییر در دایرکتوری اشاره میکند. شما میتوانید به دایرکتوری دلخواهتان دسترسی داشته باشید و این دستور عملیات سوئیچ را انجام میدهد. برای مثال، اگر در پوشه اسناد هستید و میخواهید به پوشه ویدئو بروید که از زیرشاخههای این بخش است، میتوانید از این گزینه استفاده کنید:
cd Videos
همچنین، میتوانید مسیر مطلق پوشه را نیز نمایش دهید:
cd /home/kinsta/Documents/Videos
اگر بازهم به این دستور نیاز دارید و میخواهید بیشتر درباره آن بدانید، از این ساختارها میتوانید استفاده کنید:
حالت اول، نمایش پوشه خانگی (Home) است:
cd
انتقال به یک سطح بالاتر:
cd ..
بازگشت به دایرکتوری و مسیر قبلی:
cd –
26. دستور Cp کپی دایرکتوری و فایل
کپی دایرکتوری و فایل
Cp نیز از دیگر دستورهای پراستفاده لینوکس بهحساب میآید که با استفاده از آن، فایلها و دایرکتوریها را در مکان دلخواهتان بهراحتی میتوانید کپی کرد. درضمن، اگر به سیستمعامل لینوکس نیاز دارید، بهصورت مرتب با این دستور سروکار خواهید داشت.
کپیکردن مستقیم فایلها و پوشهها در ترمینال سیستمعامل لینوکس بسیار آسان است و گاهی اوقات میتواند جایگزین فایلمنیجری شود که نمیخواهید با آن کار کنید. برای استفاده از این دستور، کافی است که آن را همراه با فایلهای مبدأ و مقصد تایپ کنید:
cp file_to_copy.txt new_file.txt
افزونبراین، کل دایرکتوریها را میتوانید با استفاده از این تگ استفاده کنید:
cp -r dir_to_copy/ new_copy_dir/
27. دستور rm حذف فایل
حالا که براساس کاربردیترین دستورهای لینوکس یاد گرفتید چگونه پوشهها و دایرکتوریها را در لینوکس کپی کنید، وقت آن فرارسیده است که حذف فایلها را نیز بیاموزید. برای این کار، میتوانید از دستور rm استفاده کنید؛ البته هنگام استفاده از آن دقت کنید؛ زیرا ممکن است سبب ازبینرفتن همیشگی فایلهای سیستمیتان شود. برای حذف فایلی معمولی، بدینترتیب پیش بروید:
rm file_to_copy.txt
درصورتیکه میخواهید دایرکتوری خالی را حذف کنید، میتوانید از دستور r- استفاده کنید:
rm -r dir_to_remove
برای حذفکردن دایرکتوری با محتوای داخل آن، از دستور f- نیز درکنار دستور بازگشت باید استفاده کنید:
rm -rf dir_with_content_to_remove/
28. دستور mv جابهجاکردن و تغییر نام فایل در لینوکس
درادامه معرفی کاربردیترین دستورهای لینوکس، بهسراغ دستور mv میرویم. با استفاده از این دستور، فایلها را بهراحتی میتوانید جابهجا کنید یا آنها را تغییر نام دهید. برای استفاده از این دستور، آن را با نام فایلهای مبدأ و مقصد تایپ کنید:
mv source_file destination_folder/
mv command_list.txt commands/
برای استفاده از مسیرهای مطلق، از این دستور استفاده کنید:
mv /home/kinsta/BestMoviesOfAllTime ./
./ Where دایرکتوری جاری شما است، همچنین با استفاده از دستور mv میتوانید نام فایلهای دایرکتوری جاری را تغییر دهید.
mv old_file.txt new_named_file.txt
برای آشنایی کامل با سیستم عامل لینوکس، انواع توزیعها، زبانهای برنامهنویسی، بخشهای مختلف آن و… مقاله زیر را بخوانید.
29. دستور mkdir ایجاد پوشه و دایرکتوری
برای ساخت پوشه در شل، از دستور mkdir میتوانید استفاده کنید. ناگفته نماند پیش از هر کاری باید نام پوشه جدید را مشخص کنید و مطمئن شوید که از قبل ساخته نشده است و تکراری نیست. برای مثال، این دایرکتوری برای تمام تصاویر است:
mkdir images/
همچنین، برای ایجاد زیرپوشه میتوانید از دستورهای ساده p- استفاده کنید:
mkdir -p movies/2004/
این کار باعث میشود که درون پوشه فیلمها پوشهای با عنوان 2004 ایجاد شود.
برای دریافت آموزش کامل ساخت دایرکتوری در لینوکس با دستور mkdir مقالهی زیر را بخوانید.
30. دستور man راهنمای خط فرمان
یکی دیگر از دستورهای ضروری و مهم لینوکس man است؛ صفحهای که دستور دلخواهتان را به شما آموزش میدهد. با واردکردن این دستور، توضیحاتی به شما نمایش داده میشود که میتوانید براساس آن پیش بروید:
man mkdir
همچنین با استفاده از دستور زیر می توانید به صفحه راهنمای دستی man مراجعه کنید.
man man
31. دستور chmod مدیریت دسترسیها
31. دستور chmod مدیریت دسترسیها در لینوکس
دستور بسیار کاربردی chmod برای مدیریت دسترسیها یا ایجاد و حذف پرمیشنها بهکار برده میشود. اگر میخواهید امکان خواندن و نوشتن و مدیریت فایل یا پوشهای خاص را به کاربر بدهید یا او را محدود کنید، از این دستور مهم میتوانید بهره بگیرید.
معمولاً دستورهای chmod بر پایه موارد زیر است:
- r (read)
- w (write
- x (execute)
یکی از کاربردهای رایج این دستور زمانی است که فایل برای کاربر اجرا شدنی باشد و بتوان این دستور و مجوز را به او الحاق کرد. برای این منظور، میتوانید از این فرمان استفاده کنید:
chmod +x script
فایل برای کاربر اجرا شدنی باشد | chmod +x script |
12. دستور خروج از ترمینال
همانطورکه از نام این دستور مشخص است، با عنوان exit شناخته میشود. دستور مذکور زمانی بهکار خواهد رفت که با استفاده از آن قصد دارید ترمینال و ورود به دایرکتوری و پوشه و مسیر را بهاتمام برسانید. اگر در صفحه خالی ترمینال لینوکس این دستور را وارد کنید، صفحه ترمینال بسته میشود:
exit
13. دستور سوپریوزر در لینوکس
احتمالاً برای شما نیز پیش آمده است که خواسته باشید در ترمینال پکیج نرمافزاری نصب کنید؛ اما به دسترسی root نیاز داشته باشید. درواقع، این دسترسی ادمین لینوکس محسوب میشود؛ یعنی کسی که میتواند تمامی پردازشها را انجام دهد. با استفاده از دستور sudo، میتوانید نرمافزار را نصب یا فایلهای خارج از فهرست دسترسی کاربران را ویرایش کنید:
sudo apt install gimp
sudo cd /root/
ناگفته نماند قبل از اینکه دستور sudo اجرا شود، از شما رمز عبورادمین یا همان root خواسته خواهد شد.
14. دستور shutdown
از این دستور در درجه اول برای خاموشکردن مستقیم سیستم در ترمینال لینوکس استفاده میشود. بااینحال، برای راهاندازی مجدد سیستم یا خاموششدن در زمان مقرر نیز میتوانید از آن استفاده کنید:
shutdown now
برای خاموشکردن در ساعتی خاص، از این دستور استفاده کنید:
shutdown 20:40
برای لغوکردن فرایند خاموششدن، میتوانید با استفاده از دستور c– این کار را انجام دهید:
shutdown -c
15. مدیریت منابع دستگاه
با استفاده از دستوری که درادامه با آن آشنا میشوید، برپایه فرایند تعاملی مناسب، دستگاه خود را مستقیماً از ترمینال لینوکس میتوانید مدیریت کنید. در بیشتر مواقع، دستور مذکور بهصورت پیشفرض بدینترتیب استفاده میشود:
htop
16. دستور استخراج فایل فشرده
در بین کاربردیترین دستورهای لینوکس، احتمالاً به خارجکردن فایل زیپ از حالت فشرده هم نیاز پیدا خواهید کرد. این کار را میتوانید بدون نصب نرمافزارهای جانبی بهراحتی انجام دهید. حتی در سیستمعامل ویندوز نیز این قابلیت بهصورت پیشفرض وجود دارد:
unzip images.zip
دستور بالا پوشهای که نامش درادامه آمده است، از حالت فشرده خارج میکند.
17. نصب یا بهروزرسانی یا حذف بستهها
با استفاده از دستورهایی که درادامه میخوانید، باتوجهبه توزیع لینوکس مورداستفادهتان، بسته را میتوانید حذف یا نصب یا بهروزرسانی کنید. این دستور در خط فرمان سیستمهای مختلف لینوکسی ممکن است متفاوت باشد؛ بههمیندلیل، ما به همه آنها اشاره میکنیم.
در توزیعهای دبیان (اوبونتو و لینوکس و مینت):
sudo apt install gimp
در توزیعهای ردهت (فدورا و سنتاواس):
sudo yum install gimp
در توزیعهای آرچ (مانجارو و آرکو):
sudo pacman -S gimp
مقالهی زیر مقایسه کاملی از سرویسهای میزبانی تحت دو سیستم عامل لینوکس و ویندوز است برای اطلاعات بیشتر در این زمینه، این مقاله را از دست ندهید.
18. دستور نمایش متن در ترمینال
این دستور چیزی شبیه به یکی از سینتکسهای پیاچپی است و با استفاده از آن، متن را در باکس ترمینال بهراحتی میتوانید نمایش دهید:
echo “Cool message”
خروجی آن نیز Cool message است.
19. پیشنمایش فایلها
با استفاده از دستور cat، میتوانید فایلها را مستقیماً در ترمینال ایجاد و آنها را بههم متصل کنید و فایل را در ویرایشگر گرافیکی متن ببینید:
cat long_text_file.txt
20. نمایش پردازشهای پسزمینه
با استفاده از این دستور پرکاربرد لینوکس، میتوانید بهراحتی پردازشهایی را مشاهده کنید که در هسته و لینوکس در حال انجام است. این دستور شناسه فرایند و زمان و نام فرمان را بهنمایش میگذارد و یکی از گزینههای کاربردی برای کسانی است که مدام نگران منابع مصرفی سرور یا سختافزار خود هستند:
ps
21. دستور پایان فرایند در حال اجرا
اگر بخواهیم این دستور را بهصورت ویندوزی به شما توضیح دهیم، درواقع همان کار End Task را در منو نرمافزارهای در حال اجرا در سیستمعامل ویندوز میکند. زمانی که نرمافزاری به هر دلیل از کار میافتد یا در پسزمینه سعی میکند که اجرا شود؛ اما موفق نمیشود یا وقت شما را تلف میکند، از دستور کشتن (kill) میتوانید استفاده کنید. برای مثال، نیاز است که ID پردازش یا نام برنامه را وارد کنید:
kill 533494
kill firefox
22. دستور پینگ در لینوکس
این دستور نیز ازجمله دستورهای محبوب و پراستفاده لینوکس است که از آن میتوان هم در سرور و هم در شبکههای خانگی بهره برد. با استفاده از این دستور، میتوانید بهراحتی آیپی وبسایت یا فعالیت آیپی دلخواهتان را بهدست بیاورید. برای این کار، اینگونه عمل کنید:
ping google.com
ping 8.8.8.8
23. ویرایشگر متن ترمینال
دستور بعدی vim را اجرا میکند. این ویرایشگر متن ترمینال بهرایگان کار میکند و از دهه ۱۹۹۰ در لینوکس بهکار برده میشود. نرمافزار متنی یادشده به شما اجازه میدهد که بهراحتی متنها را با استفاده از صفحهکلید ویرایش کنید:
vim
24. نمایش تاریخچه دستورهای استفادهشده
شاید شما هم مثل بسیاری از افراد در بهخاطرسپردن دستورها مشکل داشته باشید. در این صورت، میتوانید آن را در تاریخچه آخرین دستورهایی پیدا کنید که در ترمینال وارد کردهاید. ازنظر توسعهدهندگان نرمافزاری و کاربران لینوکسی، این دستور یکی از دستورهای محبوب و کاربردی لینوکس محسوب میشود:
history
25. تغییر رمزعبور حساب کاربری
اگر به هر دلیل میخواهید رمزعبور حساب کاربریتان را در سیستمعامل لینوکس تغییر دهید، از دستور password میتوانید بهراحتی استفاده کنید:
passwd
پس از تایپ این دستور، پنجره رمزعبور فعلی و تغییر به رمزعبور جدید بهنمایش درمیآید. اگر به هر دلیل رمزعبور فعلی را نداشته باشید، نمیتوانید این فرایند را بهپایان برسانید.
26. غیرقابلبازیابیکردن فایل در لینوکس
با استفاده از این دستور کاربردی، میتوانید فایلها را طوری از بین ببرید که بازگردانی و بازیابی آنها عملاً غیرممکن شود:
shred file_to_shred.txt
درواقع، این دستور ساختار فایلتان را ناخوانا و کدها را نامفهوم میکند. حتی اگر میخواهید آن فایل را فوراً حذف کنید تا پس از ریکاوری نیز نمایشدادنی نباشد، از این دستور استفاده کنید:
shred -u file_to_shred.txt
27. چاپ خطوط خاص از فایل متنی
این دستور نیز ازجمله دستورهای پراستفاده لینوکس بهشمار میرود که به شما اجازه میدهد آخرین خط یا خطهای خاصی از فایل متنی را چاپ کنید. برای مثال، میتوانید مشخص کنید که خط ۱۱ از فایل متنی چاپ شود:
tail long.txt
البته برای این کار باید در n– عدد خط مدنظر را وارد کنید:
tail -n 4 long.txt
28. یافتن عبارت در فایل
احتمالاً برای شما هم پیش آمده است که در فایلی خاص بهدنبال عبارتی خاص باشید. برای نمونه، میخواهید در فایل متنی هرچه عبارت new وجود دارد، نمایش داده شود. برای این کار، میتوانید از دستور grep استفاده کنید:
grep “new” long.txt
با استفاده از دستور c–، میتوانید تعداد دفعات تکرار یک واژه در یک فایل را بیابید:
grep -c “linux” long.txt
# 2
29. دستور بازیابی محتوا از اینترنت
با این دستور که به وب گسترده جهانی اشاره میکند، محتوا را از اینترنت میتوانید بازیابی کنید یا نمایش دهید. برای این کار، نخست دستور را بنویسید و سپس آدرس وبسایت را درج کنید:
wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py
برای درک بهتر این موضوع، کافی است به مثال بالا توجه کنید. شایان ذکر است بهجای آدرس میتوانید هرچیزی بگذارید.
30. دستور find
این دستور همانطورکه از نامش مشخص است، برای یافتن فایل در دایرکتوری استفاده میشود. بهمنظور انجام این کار، آدرس و flags و خصوصیات و نام آن را میتوانید بنویسید. بهطور مثال، در نمونهای که درادامه میبینید، فایل متنی جستوجو میشود:
find ./ -name “long.txt” # ./long.txt
برای جستوجوی فایلهایی با فرمت پایتون، میتوانید بدینشکل عمل کنید؛ البته امکان فراخوانی از گیتهاب نیز وجود دارد:
find ./ -type f -name “*.py” ./get_keys.py ./github_automation.py ./binarysearch.py
31. دستور neofetch
احتمالاً برای شما هم پیش آمده است که بخواهید اطلاعات تکمیلی درخصوص سختافزار و مشخصات فنی و نسخه سیستمعامل و ورژن آن را در لینوکس بیابید. برای این کار، میتوانید از دستور neofetch استفاده کنید:
neofetch
32. نمایش اطلاعات اولیه سیستمعامل و سختافزار
این دستور نیز برای نمایش مشخصات دستگاه و سیستمعامل و نسخه لینوکس نصبشده بهکار برده میشود. با استفاده از آن، درباره ورژن سیستمعامل خود و جدیدترین بهروزرسانی و پَچ آن میتوانید اطلاعات مفیدی کسب کنید:
uname
# Linux
uname -a
# Linux kinstamanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux
33. دستور wc
این دستور نشاندهنده تعداد کلمات یک فایل متنی است. برای نمونه، اگر فایل وردی دارید و میخواهید تعداد واژههای آن را بررسی کنید یا دوست دارید بدانید که فایل txt شما از چند واژه تشکیل شده است، این دستور به شما اجازه این کار را میدهد. افزونبراین، با کمک دستور یادشده امکان مشاهده تعداد خطها و اندازه و نام فایل وجود دارد. درواقع، نام فایل صرفاً بازگردانی میشود:
wc long.txt
# 37 207 1000 long.txt
34. جستوجو درباره دستورهای لینوکس با whatis
این دستور وارد پایگاه داده میشود و درباره دستورهای لینوکس چیزهایی را جستوجو میکند که شما مشخص کردهاید و شرح تکخطی از دستوری دیگر است:
whatis python
# python (1) – an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) – display one-line manual page descriptions
35. دستور whoami
این دستور بهمعنای «من کیستم» است و نام کاربری حساب لینوکسی شما را نمایش میدهد. درواقع، اگر میخواهید اطلاعاتی درباره نام کاربری خود بهدست آورید، این دستور سادهترین کار را انجام میدهد:
whoami
# kinsta
36. دستور head
این دستور از خط اول فایل متنی خروجی میدهد؛ اما شما میتوانید هر تعداد خطی که میخواهید نمایش داده شود، تنظیم کنید. در مثال زیر، میبینید در خط پایین دستور خواسته شده ۵ خط نمایش داده شود:
head long.txt
head -n 5 long.txt
37. دستور less
این دستور به شما امکان بررسی فایلها را میدهد. درواقع با استفاده از آن، اسکرولکردن در متنها را که بهصورت پیشفرض در ترمینال وجود ندارد، بهراحتی میتوانید انجام دهید. برای این کار، کافی است که دستور مذکور را همراه نام فایل وارد کنید:
less large_text_file.txt
38. دستور which
این دستور موقعیت دستور اجرایی را به شما نمایش میدهد و بهترین روش برای جستوجو بین دستورهای لینوکسی است و سوئیچهای مختلفی در آن وجود دارد. در سیستمعامل لینوکس، با هر دستوری که در ترمینال وارد میکنید، درحقیقت یک کتابخانه را فراخوانی میکنید. برای نمونه، در مثال زیر میتوانید آدرس فراخوانی مرورگر بریو را در سیستمعاملتان مشخص کنید:
which python
# /usr/bin/python
which brave
# /usr/bin/brave
39. دستور touch
با استفاده از این دستور، میتوانید زمان دسترسی و اصلاح فایلها را بهروز کنید. بهعنوان مثال، فایلی دارید که آخرینبار یک ماه پیش بهروز و اصلاح شده است. برای تغییر تاریخ اصلاح آن، میتوانید بدینترتیب عمل کنید:
touch -m old_file
40. دستور ./
این دستور را نمیتوان جزو فرمانهای اصلی لینوکس دانست؛ اما به شما اجازه میدهد فایل اجرایی را با هر مترجمی که روی سیستمتان نصب شده است، مستقیماً از روی ترمینال اجرا کنید. با این کار، دیگر به دو بار کلیککردن و اجرای فایل در محیط گرافیکی نیازی ندارید.
برای نمونه، با استفاده از این دستور میتوانید بهراحتی فایلهای نرمافزار شبیهساز سرور مانند XAMPP را اجرا کنید. هنگام اجرای دستور یادشده، مطمئن شوید که سطح دسترسی لازم را به کاربر دادهاید:
#! /usr/bin/python3
# filename: script
for i in range(20):
print(f”This is a cool script {i}”)
در اینجا، نحوه تبدیل اسکریپت به فایل اجرایی و اجرای آن آمده است:
chmod +x script
./script
برگه تقلب دستورهای لینوکسی
درادامه و در فهرستی جامع، برگه تقلب ویژه دستورهای لینوکسی را نیز شرح خواهیم داد. در یک ردیف دستور و در ردیف دیگر کاربرد آن آمده است. ناگفته نماند هرکدام از این دستورها لازمههای کار با این پلتفرم هستند:
ردیف | کاربرد | دستور |
---|---|---|
نمایش فهرست دایرکتوری | ls | |
نمایش فهرستی از تمام نامهای تعریفشده | alias | |
alias حذف فهرست | unalias | |
چاپ دایرکتوری | pwd | |
تغییر دایرکتوری | cd | |
کپی فایل و دایرکتوری | cp | |
حذف فایل و دایرکتوری | rm | |
انتقال و تغییر نام دایرکتوری | mv | |
ایجاد دایرکتوریها | mkdir | |
نمایش صفحه دستورهای دیگر بهطور دستی | man | |
ساخت فایل خالی | touch | |
تغییر سطح دسترسی | chmod | |
اجرای فایلهای اجرایی | ./ | |
خروج از محیط شل ترمینال | exit | |
اجرای دستورها بهعنوان Superuser | sudo | |
خاموشکردن دیوایس | shutdown | |
نمایش اطلاعات فرایندها و منابع | htop | |
استخراج فایلهای فشرده زیپ | unzip | |
مدیریت پکیجها | apt, yum, pacman | |
نمایش خطها از متن | echo | |
نمایش محتوای فایل | cat | |
گزارش وضعیت فرایندهای پوسته | ps | |
خاتمه برنامهها | kill | |
آزمایش اتصال شبکه | ping | |
ویرایش متن کارآمد لینوکسی | vim | |
نمایش فهرستی از دستورهای قبلی | history | |
تغییر رمزعبور کاربر | passwd | |
برگرداندن مسیر باینری کامل برنامه | which | |
بازنویسی فایل با هدف پنهانکردن محتویات آن | shred | |
بررسی فایلها بهصورت تعاملی | less | |
نمایش آخرین خطوط یک فایل | tail | |
نمایش اولین خطوط یک فایل | head | |
چاپ خطوط مطابق با الگوها | grep | |
نمایش نام کاربری | whoami | |
نشاندادن توضیحات تکخطی | whatis | |
نمایش تعداد کلمات یک فایل متنی | wc | |
نمایش مشخصات سیستمعامل و ورژن لینوکس | uname | |
نمایش مشخصات سختافزاری و توضیحاتی درخصوص سیستمعامل | neofetch | |
جستوجوی فایلهایی که از یک الگو پیروی میکنند | find | |
بازیابی فایلها از اینترنت | wget |
سؤالات متداول
1. برای تغییر دایرکتوری در لینوکس از چه دستوری استفاده میشود؟
برای اینکه بتوان از یک دایرکتوری به دایرکتوری دیگر در لینوکس جابهجا شد از دستور cd استفاده میشود.
2. چگونه میتوان نام فایلها و دایرکتوریها را در لینوکس و یونیکس تغییر دارد؟
با استفاده از دستور mv میتوان نام فایلها و دایرکتوریها را تغییر داد و آنها را از یک مکان به مکان دیگر جابهجا کرد.
3. در لینوکس چگونه می توان بااستفاده از دستورات فایلها را حذف کرد؟
دستور حذف فایل در لینوکس rm است، توجه داشته باشید با به کاربردن این دستور، احتمال دارد فایلهایتان بهصورت همیشگی حذف شوند. همچنین برای حذف دایرکتوری با محتویات داخل آن میتوان از دستور زیر استفاده کرد.
rm -rf dir_with_content_to_remove/
*****
دستورات مدیریت فایل در لینوکس
1. pwd
این دستور برای نمایش لوکیشن دایرکتوری فعلی استفاده می شود. منظور از لوکیشن همان مسیری است از دایرکتوری روت تا دایرکتوری فعلی وجود دارد.
Syntax: pwd [option]
نمایش مسیر منطقی
pwd -L
نمایش مسیر فیزیکی
pwd -P
نمایش ورژن pwd
pwd -version
2. mkdir
کاربر با استفاده از دستور mkdir دایرکتوری جدیدی را به مسیر موردنظر اضافه می کند. گزینه های متنوعی وجود دارد که با استفاده از آنها می توان ویژگی های مختلفی برای این دستور لحاظ کرد.
Syntax: mkdir [options] [directories]
ایجاد دایرکتوری جدید در مسیر فعلی
mkdir mydirct_name
ایجاد چند دایرکتوری به صورت همزمان در مسیر فعلی (بین کاما و اسم دایرکتوری نباید هیچ فاصله ای باشد)
mkdir {dir1,dir2,dir3}
ایجاد دایرکتوری به صورت تو در تو (از پدر به فرزند)
mkdir –p first/second/third
مجوز دادن به دایرکتوری جدید
mkdir -m a=rwx [directory]
نمایش اطلاعات مفید در مورد دستور mkdir
mkdir –help
3.cd
از این دستور برای پیمایش در بین فایل ها و دایرکتوری ها استفاده می شود. مسیر فعلی شما بستگی به دایرکتوری دارد که اکنون در داخل آن قرار دارید.
به عنوان مثال اگر در مسیر /home/username/Documents قرار دارید و می خواهید به دایرکتوری Photos موجود در آن مسیر بروید، کافی است دستور cd Photos را وارد کنید.
Syntax: cd [options] directories
قرار گرفتن در لوکیشن موردنظر
cd dir_1/dir_2/dir_3
تغییر دایرکتوری فعلی به دایرکتوری ریشه (نقطه شروع هر مسیر)
cd /
تغییر دایرکتوری به دایرکتوری home
cd یا ~ cd
انتقال به دایرکتوری parent
cd ..
انتقال به دایرکتوری قبلی که کاربر اخیراً در آنجا حضور داشت.
cd -
4. ls
این دستور برای نمایش لیستی از محتویات دایرکتوری موردنظر استفاده می شود. کاربر با تایپ ls در ترمینال، لیست فایل ها و دایرکتوری های تو در تو را مشاهده می کند.
Syntax: ls [options] [directory]
نمایش لیست محتویات موجود در مسیر موردنظر
ls path
نمایش محتویات دایرکتوری پدر دایرکتوری فعلی
ls ..
نمایش لیست دایرکتوری ها به همراه زیر دایرکتوری ها
ls *
نمایش لیست محتویات دایرکتوری به همراه نام فایل یا دایرکتوری، مجوز، تعداد لینک ها، اندازه محتوا و …
ls –l
5. rmdir
دستور rmdir برای حذف دایرکتوری استفاده می شود. البته، به این نکته نیز توجه داشته باشید که با این دستور فقط می توانید دایرکتوری های خالی را حذف کنید. اگر دایرکتوری موردنظر خالی نباشد، یک پیام خطا دریافت خواهید کرد.
Syntax: rmdir [-p] [-v | –verbose] [–ignore-fail-on-non-empty] directories
با p، آرگومان های موجود در بخش دایرکتوری به عنوان مسیر در نظر گرفته می شوند و در صورت خالی بودن به ترتیب (از اول تا آخر) حذف می شوند.
rmdir –p
با استفاده از گزینه v، اطلاعات مربوط به هر دایرکتوری در حال پردازش، نمایش داده می شود.
rmdir -v, –verbose
اگر تمایلی به مشاهده پیام خطای مربوط به خالی نبودن دایرکتوری ندارید، می توانید گزینه زیر را استفاده کنید.
rmdir –ignore-fail-on-non-empty
6. grep
کاربر از این دستور برای پیدا کردن عبارت موردنظر در داخل فایل یا فایل های موردنظر استفاده می کند.
به عنوان مثال، دستور grep blue notepad.txt تمام جملات موجود در داخل فایل که دارای کلمه blue هستند را برمی گرداند.
Syntax: grep [options] کلمه مورد جستجو یا الگوی عبارت منظم directories
آپشن هایی که به کاربر کمک می کند جستجوی خود را به صورت بهینه تر انجام دهد:
c- : نمایش تعداد خط هایی که دارای کلمه موردنظر یا عبارت متناسب با الگو می باشند.
h- : نمایش خطوط موردنظر بدون اسم فایل
v- : نمایش لیستی اسم فایل های که مطابق با الگوی موردنظر نیستند.
7. cat
cat یکی از دستورات لینوکس چند منظوره است است و برای موارد مختلفی بکار می رود. ایجاد فایل، نمایش محتوای فایل، کپی محتوای یک فایل در فایل دیگر و … از جمله کاربردهای این دستور است.
نمایش محتوای یک فایل یا چند فایل
cat file_name
cat file1,file2, …
ایجاد فایل جدید
cat > newfile
کپی محتوای یک فایل در فایل دیگر
cat [Origin filename] > [destination filename]
اضافه کردن محتوای یک فایل به به انتهای فایل دیگر
cat file1 >> file2
ادغام محتوای چند فایل
cat file1 file2 file3 > merged_file
اضافه کردن متن جدید به انتهای فایل موجود
cat >> file.txt
new text
8. chmod
chmod یکی دیگر از دستورات لینوکس است که با استفاده از آن می توان نوع دسترسی و مجوز فایل را تغییر داد. منظور از مجوز همان نوع دسترسی است که جهت خواندن، نوشتن یا اجرای فایل لحاظ می شود.
Syntax: chmod [reference][operator][mode] files
آرگومان reference برای تعیین کاربرانی است که مجوزهای دسترسی فایل به آنها اختصاص داده می شود.
در کل، برای مجوز دهی به فایل از دو روش نمادی و عددی استفاده می شود:
جدول مجوز دستورات لینوکس
نوع مجوز | عددی | نمادی |
---|---|---|
بدون محوز | 0 | — |
اجرا | 1 | –X |
نوشتن | 2 | -w- |
نوشتن و اجرا | 3 | -wx |
خواندن | 4 | r– |
خواندن و اجرا | 5 | r-x |
خواندن و نوشتن | 6 | rw- |
خواندن و نوشتن و اجرا | 7 | rwx |
نماد مورد استفاده برای کاربرانی که می توانند از این مجوزها بهره مند شوند:
نماد | کلاس | شرح |
---|---|---|
u | مالک فایل | کاربرانی که مالک فایل هستند |
g | گروه | کاربرانی که عضو گروه مربوط به فایل هستند |
o | کاربران دیگر | کاربرانی که مالک نیستند و عضو گروه مربوط به فایل هم نیستند |
a یا ugo | همه کاربران | تمام کاربران (همه 3 کلاس بالا) |
عملگرهایی که برای روش نمادی بکار می روند:
عمل گر | شرح |
---|---|
+ | افزودن مجوز مورد نظر به کلاس |
– | حذف مجوز از کلاس مورد نظر |
= | جایگزین کردن مجوز جدید بجای مجوز قبلی |
ارائه مجوز های موردنظر به کلاس ها به صورت نمادی
chmod u=rwx,g=rx,o=r myfile
اضافه کردن مجوز های جدید به تمام کاربران به صورت نمادی
chmod ugo+rwx folder_name
ارائه مجوزها به صورت عددی
ارائه مجوز خواندن، نوشتن و اجرا به همه کاربران به صورت عددی
chmod 777 folder_name
(۷ سمت چپ برای کاربر ایجاد کننده فایل، ۷ وسط برای اعضای گروه و ۷ سمت راست برای کاربران (به جز مالک فایل یا فولدر و اعضای گروه)
ارائه مجوزها برای ایجاد کننده فایل
ارائه مجوز های خواندن، نوشتن و اجزا به کاربر ایجاد کننده فایل
chmod 700 folder_name
ارائه مجوز نوشتن و اجرا
ارائه مجوز نوشتن و اجرا به کاربر ایجاد کننده فایل، مجوز نوشتن به اعضای گروه و مجوز خواندن، نوشتن و اجرا به کل کاربران (به جز مالک فایل یا فولدر و اعضای گروه)
chmod 327 folder_name
9. دستور chown تغییر مالکیت فایل
این دستور برای تغییر مالکیت فایل، دایرکتوری یا لینک سمبلیک استفاده می شود.
Syntax: chown [options] user[:group] files
تغییر مالکیت فایل
chown owner_name file_name
بررسی گزینه های مربوط به این دستور به همراه مثال:
c- : ارائه گزارشات مربوط به پروسه تغییر مالکیت
chown -c owner_name file_name
f- : در صورت وجود هر گونه خطا یا نداشتن مجوز برای تغییر مالکیت، استفاده از این گزینه باعث می شود که مالکیت به صورت اجباری تغییر پیدا کند.
chown -f owner_name file_name
انتقال مالکیت فایل به یک گروه
chown :group_name file_name
انتقال مالکیت فایل به یک گروه و کاربر
chown user_name:group_name file_name
کپی مالکیت یک فایل به فایل دیگر
chown --reference=file1 file2
mv .10
این دستور برای انتقال فایل به دایرکتوری موردنظر و همچنین تغییر نام فایل بکار می رود.
Syntax: mv [option] source destination
انتقال فایل به دایرکتوری
mv a.txt path_of_directory
تغییر نام فایل متنی از a به b
mv a.txt b.txt
11. یافتن یک فایل خاص در داخل دایرکتوری find
این دستور برای پیدا کردن یک فایل خاص در داخل دایرکتوری موردنظر به کار می رود. پشتیبانی از گزینه های متنوع مثل جستجو بر اساس اسم، نوع فایل، اندازه، مجوز، کاربر، گروه، تاریخ و … باعث می شود که این دستور در بین کاربردی ترین دستورات لینوکس قرار بگیرد.
Syntax: find [شروط لازم برای عمل جستجو] [محل شروع جستجو] [options] [محتوای موردنظر]
جستجوی فایل بر اساس نام در دایرکتوری فعلی
find . -name file.txt
جستجوی دایرکتوری هایی با اسم asam در دایرکتوری ریشه
find / -type d -name asam
جستجوی فایل های php در دایرکتوری فعلی
find . -type f -name "*.php"
نمایش مسیر فایل هایی با مجوز ۷۷۷ در دایرکتوری فعلی
find . -type f -perm 777 –print
چند مورد از دستورات لینوکس که بسته به نیاز کاربر می تواند کاربردی باشد:
– نمایش تعداد کلمات، خط ها و کاراکترهای موجود در داخل یک فایل
wc file.txt
– نمایش محتوای یک فایل در فرمت مشخص
– نمایش محتوای یک فایل در فرمت مشخص (هگزادسیمال، اکتال و کاراکترهای اسکی)
od -b < file.txt > // فرمت اکتال
od -t x1 < file.txt > //فرمت هگزا دسیمال
od -c < file.txt > // فرمت کاراکتر اسکی
– فشرده سازی فایل
فشرده سازی فایل تحت قالب zip
gzip files
– خارج کردن فایل zip از حالت فشرده
gunzip files
12. diff
diff (مخفف difference) برای مقایسه خط به خط فایل ها و نمایش تفاوت های آنها استفاده می شود. حتی این دستور به کاربر می گوید که تغییر کدام خط ها باعث یکی شدن دو فایل می شود و این کار با سمبل ها و دستورات خاصی انجام می شود.
سمبل ها:
a : add
c : chage
d : delete
Syntax: diff [options] File1 File2
نمایش تفاوت های دو فایل
diff a.txt b.txt
مثلاً اگر محتوای دو فایل به صورت زیر باشد:
a.txt:
Apple
Orange
Banana
Water
melon
Chery
b.txt:
Orange
Peach
Apple
Banana
Melon
Cherry
خروجی diff a.txt b.txt به صورت زیر خواهد بود:
1d0 – خط اول (1) از فایل اول باید حذف شود (d). اگر حذف نشود، در خط شماره 0 فایل دوم قرار بگیرد.
Apple > – محتوایی که بنابه 1d0، باید حذف شود.
2a2,3 – با سمبل a یا همان add، سطرهای 2 و 3 (2،3) فایل دوم را به خط اول فایل 2 اضافه کنید.
Peach, < Apple > – محتوایی که باید بنابه 2a2,3، اضافه شوند.
4c5 – خط چهارم فایل اول باید با خط پنجم فایل دوم عوض شود.
Watermelon > – محتوایی که باید عوض شود.
Melon > – محتوایی که باید با Watermelon عوض شود.
گزینه هایی دیگری هم وجود دارند که می توانند تفاوت های بین دو فایل را با فرمت دیگری نشان دهند که یکی از آنها –c است:
diff -c file1 file2
c- : قرار دادن علامت های + (add)، – (delete) و ! (change) در کنار خطوطی که بین دو فایل متفاوت هستند.
13. file
دستور file برای تعیین نوع فایل استفاده می شود که کلاً از 3 مدل تست برای دسته بندی فایل استفاده می کند:
تست فایل سیستم: نتیجه این تست بر اساس یک فراخوانی سیستمی مشخص می شود. ابتدا، خالی یا پر بودن فایل بررسی می شود، سپس نوع فایل چاپ می شود.
تست جادویی: این تست برای بررسی نوع فایل هایی که داده هایی با فرمت ثابت و خاص دارند، استفاده می شود.
تست زبان: این تست با جستجوی یک سری رشته خاص از چند بلوک اول، نوع فایل را شناسایی می کند.
Syntax: file [option] [filename]
نمایش نوع فایل
file file-name
نمایش نوع فایل با حالت مختصر
file -b filename
نمایش نوع تمام فایل ها
file *
نمایش نوع فایل های یک دایرکتوری
file directoryname*/
14. rm
این دستور برای حذف آبجکت هایی مثل فایل ها، دایرکتوری ها و … از فایل سیستم استفاده می شود. دستور rm تمام ارجاعات به آن فایل را هم حذف می کند و در کل موقع استفاده از این دستور باید کمی مراقب باشید چون امکان بازیابی بعد از حذف وجود ندارد.
Syntax: rm [option] filename
حذف یک فایل
rm a.txt
حذف چند فایل
rm a.txt b.txt c.txt
حذف تعاملی فایل بر اساس تایید نهایی کاربر (فشردن y برای تایید)
rm -i d.txt
حذف اجباری فایل در صورت نیاز به مجوز نوشتن
rm -f e.txt
حذف تمام زیرشاخه ها و فایل ها از دایرکتوری والد به صورت بازگشتی
rm -r *
cp .15
cp مخفف copy است که برای کپی کردن فایل ها یا دایرکتوری ها استفاده می شود. این دستور یک نسخه مشابه فایل اصلی روی دیسک ایجاد می کند و در کل حداقل به دو اسم فایل به عنوان آرگومان نیاز دارد.
Syntax: cp [option] Source Destination
کپی فایل اصلی در فایل دیگر
cp Src_file Dest_file
کپی چند فایل با همان اسم در دایرکتوری دیگر
cp Src_file1 Src_file2 Src_file3 Dest_directory
کپی تمام فایل های یک دایرکتوری در دایرکتوری دیگر به صورت بازگشتی
cp -R Src_directory Dest_directory
کپی یک فایل در فایل دیگر به صورت اجباری و بدون نیاز به مجوز نوشتن
cp -f a.txt b.txt
16. locate
این دستور برای پیدا کردن فایلی با اسم مشخص استفاده می شود. locate نسبت به find سریعتر و بهتر عمل می کند چون به جای فایل سیستم جستجوی خود را از طریق دیتابیس انجام می دهد.
Syntax: locate [OPTION] PATTERN
جستجوی یک فایل با اسم مشخص
locate sample.txt
نمایش نتایج تا یک حد مشخص (مثلاً ۲۰ نتیجه)
locate "*.html" -n 20
نمایش تعداد نتایج مطابق با فایل یا پسوند مشخص
locate -c [.txt]*
نادیده گرفتن حساسیت مربوط به بزرگ یا کوچک بودن حروف
locate -i *SAMPLE.txt*
17. nano
در واقع، nano یک ویرایشگر متنی کاربرپسند و ساده است که معمولاً در اکثر سیستم های لینوکس به طور پیش فرض نصب شده است. این ویرایشگر با خط فرمان کار می کند و دستورات خاص آن عملیات ساده ای مثل ایجاد فایل یا جستجو، جایگزینی و … را انجام می دهند.
Syntax: nano [operation]
نصبnano
sudo apt install nano /اوبونتو و دبیان
sudo yum install nano / CentOS و RHEL
sudo dnf install nano /فدورا
ایجاد یک فایل جدید
nano file-name
این دستور یک ویرایشگر خالی را با اسم فایل را باز می کند که در کنسول پایینی مجموعه ای از میانبرهای کیبورد لحاظ شده اند. مثل تصویر زیر:
مثلاً o^ نشاندهنده این است که باید کلید ترکیبی ctrl+o را فشار دهید تا فایل موردنظر را در دیسک بنویسید. برای آشنایی با همه shortcut های کیبورد می توانید g^ یا همان ctrl+g را فشار دهید.
باز کردن یک فایل
اگر قبلاً ویرایشگر را باز نکرده اید، دستور زیر فایل موردنظر باز می کنید:
nano existing-file-name
اگر در فضای nano قرار دارید، با فشردن Ctrl+R شما خواسته می شود که نام فایلی که در لوکیشن فعلی قرار دارد را وارد کنید. Ctrl+T هم مرورگر فایل داخلی nano را باز می کند تا فایل موردنظر را پیدا کرده و باز کنید.
جستجو و جایگزینی متن
برای جستجو در فایل متنی کافی است Ctrl + w را فشار دهید و بعد از تایپ کلمه موردنظر، Enter را فشار دهید.
اگر قصد جستجو و جایگزینی یک رشته با رشته دیگر را دارید، ابتدا باید کلید ترکیبی/+Ctrl را فشار دهید و Enter را بزنید. بعد، کلمه موردنظر را وارد کنید و Enter را بزنید. الان نوبت وارد کردن در کلمه ای است که می خواهید با کلمه قبلی جایگزین کنید، بعد از این که در بخش مشخص آن کلمه را وارد کردید، دوباره Enter را بزنید تا جایگزینی انجام شود.
18. vim
vim هم یک ویرایشگر متنی است که به عنوان یک نسخه پیشرفته Vi، قابلیت های بیشتری دارد. عمل undo چند سطحی، برجسته سازی Syntax، ویرایش command line و … فقط چند مورد از این قابلیت ها هستند. این ویرایشگر از انواع فایل ها پشتیبانی می کند و به عنوان ویرایشگر برنامه نویسی هم شناخته می شود.
این ویرایشگر ۲ حالت دارد:
حالت insert: با فشار دادن کلید i می توان وارد این حالت شد.
حالت Command: با فشار دادن کلید ESC می توان وارد این حالت شد.
که هر کدام از این حالت ها عملیات مربوط به خود را دارند که با وارد کردن یک یا چند کاراکتر خاص، این عملیات به صورت خودکار انجام می شوند.
Syntax: vim [options] [filelist]
ویرایش یک فایل
باز کردن یک فایل و شروع ادیت
vim file-name
x – حذف یک کاراکتر خاص
u –undo کردن دستور قبلی
A – اضافه کردن متن به انتهای فایل
!q: – حذف تمام تغییرات
a – اضافه کردن متن به بخش بعد از نقطه ای که اشاره گر قرار دارد.
O – باز کردن یک خط در بالای اشاره گر
…
دستورات کاربری لینوکس
1. sudo
sudo یکی از پرکاربردترین دستورات لینوکس است که برای ارائه مجوز دسترسی ادمین استفاده می شود. اگر می خواهید دستوری را به عنوان ادمین اجرا کنید، با کمک این دستور اجازه دسترسی پیدا می کنید. کاربری که امتیازات پایین تری دارد، با استفاده از این دستور، اقدام لازم را به عنوان ادمین اجرا می کند.
این دستور معادل گزینه run as administrator در ویندوز است.
Syntax: sudo [options] command
برخی از گزینه هایی که برای دستورات sudo لحاظ می شوند:
v- : نمایش اطلاعات مربوط به ورژن sudo
l- : نمایش امتیازات کاربر یا بررسی یک دستور خاص
k- : ریست کردن timestamp کاربر و حذف احراز هویت او
u- : اجرای دستور موردنظر به عنوان یک کاربر دیگر
ریستارت سیستم به عنوان کاربر روت
sudo shutdown -r now
تغییر کاربر به کاربر روت بدون تغییر مسیر دایرکتوری
sudo –s
اجرای هر دستور خاص مثل ایجاد کاربر یا گروه جدید به عنوان ادمین نیاز به اضافه کردن دستور sudo قبل از دستور موردنظر است.
2. دستور useradd اضافه کردن کاربر جدید
دستور useradd برای اضافه کردن کاربران جدید به سیستم
از آنجایی که لینوکس یک سیستم عامل چند منظوره است، دستور useradd برای اضافه کردن کاربران جدید به سیستم استفاده می شود. البته بهتر است به این نکته نیز توجه داشته باشید که نام کاربری با useradd و رمز عبور با دستور passwd مشخص می شود. حذف کاربر نیز با دستور userdel انجام می شود.
Syntax: useradd [options] user_name
اضافه کردن کاربر ساده
sudo useradd user_name
اختصاص دایرکتوری home به کاربر جدید
sudo useradd -d /home/ user_name
ایجاد کاربر جدید با شناسه کاربری مشخص
sudo useradd -u 1234 user_name
ایجاد کاربر جدید با شناسه گروه مشخص
sudo useradd -g 1000 user_name
ایجاد کاربر جدید با تاریخ انقضا
sudo useradd -e 2023-05-30 user_name
3. دستور passwd تغییر رمز کاربر
دستور passwd برای تغییر رمز کاربران استفاده می شود. کاربر روت می تواند علاوه بر رمز خود، رمز کاربران دیگر را نیز تغییر دهد. در حالی که یک کاربر معمولی فقط قادر به تغییر رمز عبور خودش است. البته همانطور که قبلاً نیز اشاره کردیم، دستور sudo اختیارات کاربر روت را در اختیار کاربر معمولی قرار می دهد.
Syntax: passwd [options] [username]
تغییر رمز توسط کاربر معمولی توسط خودش
passwd
تغییر رمز کاربر معمولی توسط کاربر روت
passwd user1
تغییر رمز کاربر دیگر توسط کاربر معمولی
sudo passwd user1
چند گزینه پرکاربرد برای دستور passwd:
d- یا delete–: این گزینه رمز کاربر را حذف می کند تا حساب کاربری بدون رمز عبور باشد.
e- یا expire- : با این گزینه، رمز کاربر منقضی می شود و کاربر برای ورود بعدی خود مجبور است رمز خود را تغییر دهد.
l- یا lock- : این گزینه برای قفل رمز عبور کاربر استفاده می شود. منظور از قفل، غیر فعال سازی نیست بلکه از ورود کاربر با رمز عبور جلوگیری می کند.
S- یا status- : با این گزینه، وضعیت رمز کاربری با قالبی که دارای ۷ فیلد است، نمایش داده می شود.
q- یا quite- : با لحاظ کردن این گزینه، دستور passwd بدون نمایش خروجی کار می کند.
R- یا root- : این گزینه مخصوص کاربران پیشرفته است و با استفاده از آن می توان تغییراتی را در CHROOT_DIR ایجاد کرد از فایل های پیکربندی آن استفاده کرد.
4. groupadd
امکان تعامل همزمان چند کاربر با سیستم باعث می شود که نیاز به ایجاد گروه باشد. در واقع، مجوز دادن به تک تک کاربران به صورت مجزا کار دشواری است. به کمک groupadd می توان کاربران با سطوح یکسان را در یک گروه قرار داد.
Syntax: groupadd [option] group_name
گزینه هایی که می توان برای ایجاد گروه در نظر گرفت:
f- یا force- : هر گروه، ID منحصر به فرد خود را دارد و در صورتی که هنگام ایجاد گروه از GID تکراری استفاده شود، f- پیام مربوط به این عملیات را نشان داده و عمل خروج از پروسه ایجاد گروه با موفقیت انجام می شود.
sudo groupadd -f g_name
g- یا gid- : این گزینه برای اختصاص یک شناسه منحصر به فرد به گروه جدید استفاده می شود. این شناسه باید یک عدد مثبت باشد. اگر شناسه خاصی را برای گروه در نظر نگیرید، سیستم به طور پیش فرض یک شناسه بزرگتر از شناسه گروه های موجود را برای گروه جدید درنظر می گیرد.
sudo groupadd g_name -g 1100
o- یا non-unique– : این گزینه باعث می شود که قانون منحصربه فرد بودن شناسه گروه برای گروه جدید لحاظ نشود و گروهی با ID غیر منحصر بفرد اضافه شود.
groupadd -o g_name sudo
r- یا system- : استفاده از این گزینه باعث ایجاد گروه سیستمی می شود. شناسه های گروه سیستمی جدید باید در بازه SYS_GID_MIN و SYS_GID_MAX (به جای GID_MIN و GID_MAX مربوط به گروه های معمولی) تعریف شده در login.defs، انتخاب شود. معمولاً شناسه های 0 تا 999 برای گروه های سیستمی اختصاص داده می شوند.
groupadd -r g_name sudo
K- یا key- : کاربر با استفاده از این گزینه می تواند پیش فرض های مربوط به فایل login.defs (GID_MIN، GID_MAX و …) را لغو و آنها را دوباره مقدار دهی کند.
sudo groupadd g_name -K GID_MIN=8000 -K GID_MAX=9999
دستورات عملیاتی لینوکس
1. apt –get
apt یک ابزار مدیریت بسته قدرتمند و رایگان برای لینوکس است. این ابزار برای نصب بسته های نرم افزاری جدید، حذف بسته های موجود و ارتقا نرم افزارها استفاده می شود. برای اجرای این دستور نیز نیاز به دسترسی مدیریتی دارید که با استفاده از sudo فراهم می شود.
نصب یک بسته جدید
apt-get install pack_name
یا
apt install pack_name
حذف بسته موجود
apt-get remove pack_name
یا
apt remove pack_name
حذف بسته به همراه فایل های پیکربندی مربوط به آن
apt-get purge pack_name
یا
apt purge pack_name
حذف تمام بسته های بدون استفاده
apt-get autoremove
یا
apt autoremove
2. date، time و cal
همانطور که از اسم هر کدام مشخص است، این دستورات برای نمایش تاریخ، ساعت و تقویم ماه جاری استفاده می شود.
3. zcat
دسترسی به محتوای یک فایل زیپ، بدون نیاز به خارج کردن از حالت زیپ، با دستور zcat امکان پذیر است.
Syntax: zcat [options] files
گزینه هایی که می توان برای نمایش محتوا با zcat لحاظ کرد:
l- : نمایش اطلاعاتی مثل اندازه فایل اصلی، اندازه فایل فشرده شده، نرخ فشرده سازی مربوط به دو فایل
zcat –l file1.gz file2.gz
q- : حذف همه پیام های اضافی به غیر از محتوای اصلی فایل
zcat -q file.gz
4. df
کاربر با استفاده از این دستور می تواند از میزان فضای مصرفی فایل سیستم اطلاع پیدا کند. البته وارد کردن نام فایل در این دستور باعث می شود که فضای دیسک مصرفی مربوط به فایل سیستم فایل موردنظر نمایش داده شود. وارد نکردن اسم فایل باعث نمایش تمام فایل سیستم های نصب شده می شود.
Syntax: df [option] [file]
برخی از گزینه هایی که می توان برای این دستور در نظر گرفت:
h- یا human-readable– : نمایش فضای حافظه با فرمت قابل خواندن توسط کاربر
نمایش فضای مصرفی فایل سیستم هایی با نوع مشخص : -t یا –type=TYPE
sync– : جهت انجام همگام سازی قبل از نمایش اطلاعات
نمایش فضای مصرفی فایل سیستم مربوط به فایل موردنظر
df file.txt
نمایش اطلاعات مربوط به فضای مصرفی تمام فایل سیستم ها
df --total
نمایش فضای مصرفی فایل سیستم مربوط به فایل موردنظر به صورت قابل خواندن برای کاربر
df -h /home/file
5. mount
همه فایل های سیستم عامل لینوکس به شکل یک درخت بزرگ با ریشه «/» مرتب شده اند. این فایل ها بر اساس جدول پارتیشن بندی پخش می شوند. ابتدا دایرکتوری های والد به این درخت وصل می شوند و در ادامه سایر دایرکتوری ها و فایل ها با استفاده از رابط کاربری یا دستور mount در این درخت قرار میگیرند.
در واقع این دستور، فایل سیستم موجود بر روی دستگاه را روی ساختار درختی سوار می کند. برای جداسازی این دستگاه ها از درخت می توان از دستور umount استفاده کرد.
Syntax: mount [options] device_name directory
مشاهده لیست سیستم فایل های ext4 (نمایش لیست با گزینه l- و تعیین نوع فایل سیستم با گزینه t-)
sudo mount –l –t ext4
اتصال فایل سیستم /dev/sdb1 به دایرکتوری /mnt/media
sudo mount /dev/sdb1 /mnt/media
6. exit
این دستور برای خروج از shell فعلی بکار می رود. اگر چند ترمینال باز باشد، این دستور باعث خروج از ترمینال فعلی می شود. همچنین، با استفاده از یک پارامتر عددی میتوان مقدار برگشتی حاصل از این خروج را مشخص کرد. این پارامتر برگشتی برای انجام برخی اقدامات توسط دستورات دیگر موردنیاز است.
خروج معمولی بدون مقدار برگشتی
exit
خروج با پارامتر برگشتی
exit number
7. ctrl+c
وقتی که در داخل خط فرمان لینوکس یا همان ترمینال باشید، کلید ترکیبی ctrl+c برای ارسال سیگنال SIGINT استفاده می شود که برنامه یا دستور در حال اجرا لغو شود یا خاتمه پیدا کند. به عنوان مصال، اگر یک اسکریپت یا برنامه در یک حلقه بی نهایت گیر کرده باشد، فشردن کلید ترکیبی ctrl+c آن دستور را لغو می کند و خط فرمان را در اختیار شما قرار می دهد تا دوباره از آن استفاده کنید.
8. which
این دستور به عنوان یکی از مهم ترین دستورات لینوکس برای پیدا کردن لوکیشن فایل اجرایی مربوط به دستور استفاده می شود و این کار را با جستجو در مسیر متغیر محلی انجام می دهد.
در کل، با این دستور با ۳ وضعیت روبرو هستید:
۰: اگر همه دستورات مشخص پیدا شوند و به صورت “اجرا شده” باشد.
۱: اگر یک یا چند دستور مشخص وجود نداشته باشد یا در حال اجرا نباشند.
۲: اگر گزینه نامعتبر مشخص شده باشد.
Syntax: which [filename1] [filename2]
نمایش مسیر فایل(ها)
which cpp python java
نمایش نام تمام مسیرهای مرتبط با هر آرگومان
which –a cpp python
9. man
این دستور برای نمایش راهنمای استفاده از هر دستوری است که فایل متنی مربوط به آن توسط برنامه نویس برای کاربر تهیه شده است. به این صورت که با نمایش ویژگی هایی زیر یک نمای دقیق تری در مورد دستور موردنظر ارائه می دهد.
NAME, SYNOPSIS, DESCRIPTION, OPTIONS, EXIT STATUS, RETURN VALUES, ERRORS, FILES, VERSIONS, EXAMPLES, AUTHORS, SEE ALSO
در کل این دستورات به ۹ دسته تقسیم شده اند:
- برنامه های قابل اجرا یا دستورات shell
- فراخوانی های سیستمی
- فراخوانی های کتابخانه ای
- بازی ها
- فایل های خاص
- فرمت فایل ها
- دستورات متفرقه
- دستورات مدیریتی سیستم
- روتین های مربوط به کرنل
Syntax: man [OPTION] [COMMAND NAME]
نمایش تمام اطلاعات مربوط به دستور
man [COMMAND NAME]
نمایش اطلاعات مربوط به یک دستور از بخش خاص
man [SECTION-NUMBER] [COMMAND NAME]
نمایش شماره بخشی که دستور موردنظر به آن تعلق دارد.
man -f [COMMAND NAME]
جستجوی دستور به عنوان یک عبارت منظم در تمام فایل های اطلاعاتی دستورات
man -k [COMMAND NAME]
10. uname
این دستور تمام اطلاعات مربوط به سیستم را نمایش می دهد.
Syntax: uname [OPTION]
نمایش اطلاعات مربوط به سیستم به ترتیب:
Kernel, name, network node hostname , …
uname -a
نمایش اسم کرنل
uname -s
اطلاعات از هر کدام از این بخش ها با استفاده از option های مخصوص به صورت تکی قابل نمایش است.
11. du
این دستور مخفف disk usage است و برای نمایش بلوک هایی استفاده می شود که فایل موردنظر در اختیار دارد. پس استفاده از این دستور برای ردیابی فایل ها و دایرکتوری هایی که فضای زیادی از دیسک را اشغال کرده اند، ایده هوشمندانه ای است.
Syntax: du [OPTION] [FILE]
نمایش تعداد بلوک مورداستفاده هر دایرکتوری موجود در دایرکتوری مشخص
du /home/project/test
نمایش میزان حافظه مربوط به دایرکتوری های موجود در دایرکتوری موردنظر ( بر اساس بایت، کیلوبایت، مگابایت و …)
du –h /home/project/test
نمایش تمام حافظه اختصاصی مربوط به تک تک فایل های موجود در دایرکتوری های مسیر موردنظر
du –a –h /home/project/test
نمایش کل حافظه اختصاصی دایرکتوری های موجود در دایرکتوری موردنظر
du –c –h /home/project/test
12. <command <–help
اگر در مورد نحوه استفاده از یک دستور به راهنمایی نیاز دارید، اضافه کردن –help یا –h اطلاعات لازم در مورد آن دستور را به شما ارائه می دهد.
مثلاً دستور wget –help یا wget -h تمام اطلاعات مربوط به نحوه استفاده و گزینه هایی که می توانید در این زمینه به کار ببرید را به شما نشان می دهد.
13. kill
دستور kill، یک دستور داخلی است که برای پایان دادن به فرآیندها به صورت دستی استفاده می شود. این دستور سیگنال مشخصی را برای خاتمه فرآیند ارسال می کند که اگر این سیگنال توسط کاربر مشخص نشده باشد، به طور پیش فرض برای این کار، سیگنال TERM فرستاده می شود.
Syntax: kill [options]
نمایش تمام سیگنال های مورداستفاده برای دستور kill
kill -l
خاتمه دادن به فرآیندی با شناسه pid
kill pid
جدول فرمان ها
فرمانهای کاربردی
کاربرد | دستور | |
---|---|---|
21 | نمایش فهرست دایرکتوری | ls |
22 | نمایش فهرستی از تمام نامهای تعریفشده | alias |
23 | alias حذف فهرست | unalias |
24 | چاپ دایرکتوری | pwd |
25 | تغییر دایرکتوری | cd |
26 | کپی فایل و دایرکتوری | cp |
27 | حذف فایل و دایرکتوری | rm |
28 | انتقال و تغییر نام دایرکتوری | mv |
29 | ایجاد دایرکتوریها | mkdir |
30 | نمایش صفحه دستورهای دیگر بهطور دستی | man |
31 | ساخت فایل خالی | touch |
32 | تغییر سطح دسترسی | chmod |
33 | اجرای فایلهای اجرایی | ./ |
34 | خروج از محیط شل ترمینال | exit |
35 | اجرای دستورها بهعنوان Superuser | sudo |
36 | خاموشکردن دیوایس | shutdown |
37 | نمایش اطلاعات فرایندها و منابع | htop |
38 | استخراج فایلهای فشرده زیپ | unzip |
39 | مدیریت پکیجها | apt, yum, pacman |
40 | نمایش خطها از متن | echo |
41 | نمایش محتوای فایل | cat |
42 | گزارش وضعیت فرایندهای پوسته | ps |
43 | خاتمه برنامهها | kill |
44 | آزمایش اتصال شبکه | ping |
45 | ویرایش متن کارآمد لینوکسی | vim |
46 | نمایش فهرستی از دستورهای قبلی | history |
47 | تغییر رمزعبور کاربر | passwd |
48 | برگرداندن مسیر باینری کامل برنامه | which |
49 | بازنویسی فایل با هدف پنهانکردن محتویات آن | shred |
50 | بررسی فایلها بهصورت تعاملی | less |
51 | نمایش آخرین خطوط یک فایل | tail |
52 | نمایش اولین خطوط یک فایل | head |
53 | چاپ خطوط مطابق با الگوها | grep |
54 | نمایش نام کاربری | whoami |
55 | نشاندادن توضیحات تکخطی | whatis |
56 | نمایش تعداد کلمات یک فایل متنی | wc |
57 | نمایش مشخصات سیستمعامل و ورژن لینوکس | uname |
58 | نمایش مشخصات سختافزاری و توضیحاتی درخصوص سیستمعامل | neofetch |
59 | جستوجوی فایلهایی که از یک الگو پیروی میکنند | find |
60 | بازیابی فایلها از اینترنت | wget |
فرمانهای سرور
دستور | |
---|---|
نمایش آپتایم سرور | uptime |
نمایش اطلاعات جامع از کاربران متصل به سرور | w |
یک ابزار نظارت بر عملکرد سرور است که اطلاعات جامعی را در مورد فرایندها، منابع و عملکرد کلی سرور | top |
یک ابزار نظارت بر سیستم پیشرفته است که خروجی رنگی و کاربرپسندتری نسبت به top ارائه میدهد. | Htop |
فرمانهای ارتباط
فرمان | ||
---|---|---|
نصب ابزارهای اینترنت | sudo apt install net-tools | |
نصب lamp-server | sudo apt install lamp-server^ -y | |
کاهش محدودیتهای مجوزهای پوشه | sudo chmod 777 /var/www | |
1 | به روز رسانی لیست های مخازن پکیج ها | sudo apt-get update |
2 | به روزرسانی پکیج های موجود و دریافت اطلاعات مربوط به نسخه جدید آنها | sudo apt-get upgrade |
3 | نصب openssh است | sudo apt-get install openssh-server |
4 | افزودن MaxAuthorize 4 | sudo nano /etc/ssh/ssh_config |
5 | وضعیت ssh | sudo service ssh status |
6 | فعالسازی ssh غیرفعالسازی ssh | sudo service ssh start sudo service ssh stop |
7 | مشاهده IP | ifconfig |
8 | ping 192.168.1.6 | |
9 | sudo apt install xubuntu-desktop | |
10 | نصب وب سرور lighttpd | sudo apt-get install lighttpd sudo service lighttpd start |
11 | sudo apt-get install –reinstall nautilus | |
12 | whereis nautilus | |
13 | nautilus | |
14 | dig @resolver1.opendns.com ANY myip.opendns.com +short | |
15 | نصب ngrok | ./ngrok http 80 |
فرمانهای دایرکتوری
فرمان | |
---|---|
این خط فرمان نام یک یا چند دایرکتوری را از آرگومان خود میگیرد. | mkdir [OPTION] [DIRECTORY] |
انتقال نام فهرست | mkdir payadir |
تایید دایرکتوری با خط فرمان Is | Is-I |
ایجاد دایرکتوری در یک مکان دیگر | |
دایرکتوری جدیدی را در /tmp directory ایجاد کنید | mkdir /tmp/payadir |
mkdir /root/payadir | |
برای هر دایرکتوری جدید ساخته شده، پیام ارسال شود. | -v (–verbose) به mkdir |
ایجاد دایرکتوری parent ایجاد دایرکتوری فقط در صورت وجود نداشتن آن | mkdir -p |
دایرکتوری /home/linuxize/Music/Rock/Gothic را ایجاد | mkdir -p / home / linuxize / Music / Rock / Gothic |
دایرکتوری جدید با مجوز | mkdir -m |
دایرکتوری جدید با مجوز 700 | mkdir -m 700 payadir |
ایجاد چندین دایرکتوری | mkdir dir1 dir2 dir3 |
فرمانهای سیناپس
دستور | |
---|---|
نصب آخرین نسخه دبیان و لبونتو | sudo apt install -y lsb-release wget apt-transport-https sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg echo “deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/matrix-org.list sudo apt update sudo apt install matrix-synapse-py3 |
matrix-synapse بسته ای را در مخازن دبیان نگهداری می کند. برای bookworm و sid ، می توان آن را به سادگی با: | sudo apt install matrix-synapse |
بسته های پایین دستی دبیان | |
نصب سیناپس در فدورا | sudo dnf install matrix-synapse |
نصب سیناپس در OpenSUSE | sudo zypper install matrix-synapse |
نصب سیناپس در ArchLinux | sudo pip install –upgrade pip |
نصب سیناپس در ArchLinux در صورت نصب تحت virtualenv | sudo pip uninstall py-bcrypt sudo pip install py-bcrypt |
نصب سیناپس در Alpine Linux | sudo apk add synapse |
نصب سیناپس در لینوکس خالی | xbps-install -Su xbps-install -S synapse |
نصب سیناپس در FreeBSD پورت ها: بسته ها: | cd /usr/ports/net-im/py-matrix-synapse && make install clean pkg install py38-matrix-synapse |
نصب سیناپس در | |
نصب سیناپس در OpenBSD | doas pkg_add synapse |