کدهای لینوکس

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

آنچه در این مطلب میخوانید:

ارتباط با سرور لینوکس

ارتباط با سرور از طریق کامپیوترهای دیگر در شبکه

برای ارتباط با سرور لینوکس، چندین راه وجود دارد. از 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

با نوشتن این دستور در ترمینال پیامی مبنی بر موفقیت آمیز بودن بایندینگ نمایش داده میشود و یک آدرس رندم هم برای سایت شما تولید میشود که همان آدرسی است که قرار است به دیگران بدهید!

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

#فرمانتمرین
9xubuntu-desktopsudo 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
اجرای دستورها به‌عنوان Superusersudo
خاموش‌کردن دیوایس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
خواندن 4r–
خواندن و اجرا5r-x
خواندن و نوشتن6rw-
خواندن و نوشتن و اجرا7rwx

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

نمادکلاسشرح
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

در کل این دستورات به ۹ دسته تقسیم شده اند:

  1. برنامه های قابل اجرا یا دستورات shell
  2. فراخوانی های سیستمی
  3. فراخوانی های کتابخانه ای
  4. بازی ها
  5. فایل های خاص
  6. فرمت فایل ها
  7. دستورات متفرقه
  8. دستورات مدیریتی سیستم
  9. روتین های مربوط به کرنل

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
23alias حذف فهرستunalias
24چاپ دایرکتوریpwd
25تغییر دایرکتوریcd
26کپی فایل و دایرکتوریcp
27حذف فایل و دایرکتوریrm
28انتقال و تغییر نام دایرکتوریmv
29ایجاد دایرکتوری‌هاmkdir
30نمایش صفحه دستورهای دیگر به‌طور دستیman
31ساخت فایل خالیtouch
32تغییر سطح دسترسیchmod
33اجرای فایل‌های اجرایی./
34خروج از محیط شل ترمینالexit
35اجرای دستورها به‌عنوان Superusersudo
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مشاهده IPifconfig
8ping 192.168.1.6
9sudo apt install xubuntu-desktop
10نصب وب سرور lighttpdsudo apt-get install lighttpd
sudo service lighttpd start
11 sudo apt-get install –reinstall nautilus
12whereis nautilus
13nautilus
14dig @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
دایرکتوری جدید با مجوز 700mkdir -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
نصب سیناپس در ArchLinuxsudo pip install –upgrade pip
نصب سیناپس در ArchLinux در صورت نصب تحت virtualenvsudo pip uninstall py-bcrypt
sudo pip install py-bcrypt
نصب سیناپس در Alpine Linuxsudo 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
نصب سیناپس در
نصب سیناپس در OpenBSDdoas pkg_add synapse