چند ترفند جالب و ارزشمند دستورات خط فرمان لینوکس

چند ترفند جالب و ارزشمند دستورات خط فرمان لینوکس

  • چطوری یک فایل یا دایرکتوری را از چشم کاربر پنهان کنیم

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

اگر شما مالک یا فایل یا دایرکتوری باشید میتوانید با تغییر اجازه های دسترسی آن را بلاک کنید

بنحویکه دیگر کاربران و گروه های دیگر قادر به دسترسی به آن نباشند . بدین منظور از دستور

$chmod    700   linuxmahz.info

یا

$ chmod   go-rwx    linuxmahz.info

میتوانید استفاده نمایید

به منظور پنهان سازی یک فایل یا دایرکتوری با استفاده از فرمان زیر به نام آن حرف

“.” اضافه میکنیم:

$ mv    linuxmahz      .linuxmahz

  •  تبدیل اجازه دسترسی از حالت rwx یا حرفی به Octal

میدانیم زمانیکه با فرمان “ls  -l” لیست فایلها و دایرکتوری های خود را در لینوکس نمایش میدهیم

اجازه های دسترسی بصورت “rwx” نمایش داده میشود .

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

$ stat  -c    ‘%n%a’*

که دستور stat مخفف status یا وضعیت فایل یا دایرکتوری میباشد و –c  یعنی میخواهم

خروجی را با فرمتی که میخواهم نمایش دهی

و گزینه %n یا نام فایل را نمایش بده

و گزینه %a یعنی اجازه دسترسی را به فرمت octal نمایش بده

که مثلا فایل ما را بصورت زیر نمایش میدهد :

  •  چگونه از ‘su’ بجای ‘sudo’  در زمانیکه ‘sudo’ قابل اجرا نیست استفاده نماییم

میدانیم که با استفاده از sudo   command میتوانیم با استفاده از قدرت root یا superuser

سیستم دستوراتی را انجام دهیم . اما زمانهایی پیش می آید که با اجرای فرمان sudo

برای اجرای یک فرمان خاص دچار خطا شده و سیستم این اجازه را به ما نمیدهد .

بطور مثال فرض کنید که میخواهیم  محتوای یک فایل بزرگ را خالی کنیم ونام این فایل

uptime.log باشد بدین منظور و با استفاده از فرمان sudo بشکل زیر عمل مکنیم

$ sudo cat/dev/null >/var/log/uptime.log

اما می بینیم که سیستم به ما خطا میدهد و میگوید کهاجازه این کار را نداریم در این زمان

میتوانیم با su  کردن و root  شدن فرمان را اجرا کنیم

$su

#sudo cat/dev/null > /var/log/uptime.log

 به منظور مطالعه بیشتر روی دستورات su , sudo از دستور man su , man sudo استفاده نمایید

  • کشتن یک پردازش در حال اجرا در لینوکس

بعضی زمانها اتفاق می افتد که میخواهیم اجرای یک فرمان را متوقف نماییم در این حالت با استفاده از فرمانهایی مثل

Kill , killall, pkill میتوانیم این برنامه در حال اجرا را متوقف کنیم. اما زمانهایی پیش می آید که با

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

سیگنال –KILL اجرای آنرا متوقف میکنیم .

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

توقف کثیف می گویند زیرا ممکن است برنامه هایی متصل به این برنامه در حافظه بصورت

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

–KILL براحتی و بدون مشکل اجرای برنامه متوقف خواهد شد .

بمنظور متوقف کردن اجرای یک برنامه ابتدا باید pid این پردازش را بیابم که با استفاده از دستور

pidof و بعد نام برنامه مثلا اگر میخواهم برنامه پخش فیلم با ابزار vlc را متوقف کنم ابتدا با دستور

 

$ pidof    vlc

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

$ sudo    kill     -KILL    34567

آنرا متوقف می کنیم در این جا عدد 34567 شماره pid برنامه vlc میباشد .

  • حذف دائمی یک فایل

میدانیم که با استفاده از دستور “rm    filename”  قادریم که یک  فایل را حذف نماییم .

اما در بعضی از نسخه های لینوکس این فایل با دستور “rm” حذف کامل نشده و بصورت پنهان

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

بمنظور جلوگیری از این حالت و حذف یک فایل بصورت کاملا پایدار و دائمی از دستور

“shred filename” استفاده میکنیم مثلا فرض کنید میخواهیم فایل myusers.txt را حذف کنیم

با این دستور میتوانیم فایل myusers.txt را بصورت دائمی حذف نماییم.

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

  • -z   یک مقدار صفر (0000) روی فایل پنهان شده مینویسد

  • -u  باعث میشود که فایلی که را با مقدار (0000) قبلا پر کرده بودیم بتوانیم  truncate و حذف کنیم .

  • -v  مراحل کار را نمایش میدهد

برای مطالعه بیشتر از دستور “man shred” استفاده نمایید

  1. تغییر نام چندین فایل در لینوکس

میدانیم که با فرمان “mv” میتوانیم برای تغییر نام فایل استفاده نماییم . اما زمانیکه بخواهیم

چندین فایل را باهم تغییر نام دهیم چه کنیم . مثلا میخواهیم هر چی فایل داریم که انتهای آن

“.pdf” است را به “.doc” تغییر نام دهیم بدین منظور از دستور زیر استفاده میکنیم :

$ rename    .pdf.doc        *.pdf

 

  • چگونه متوجه شویم که هجی یک لغت در لینوکس درست است یا نه ؟

در لینوکس با استفاده از فرمان look میتوانیم به  هجی کلمه مورد نظر یا لغاتی که مترادف آن کلمه هستند پی ببریم

مثلا ”   look   linu” یعنی هر چی کلمه مترادف کلمه “linu”  مانند “linux”  یا “linus”  یا “linum”

را برای ما نماش میدهد

  • جستجوی یک دستور بر اساس یک کلمه و شرح آن دستور

میدانیم با استفاده از دستور“man   command” میتوانیم توضیحاتی در مورد command یا دستور

مورد نظر بیابیم . اما دستور man دارای گزینه ای است بنام   “-k” می باشد .

این گزینه زماینکه با دستور man همراه شود باعث میشود مثلا وقتی میزنیم ” man  -k  apache”

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

شود

 

 

  • مشاهده لاگ فایلها در حال اجرا یا realtime

برای مشاهده لاگ فایلها میتوانیم از دستور watch استفاده نماییم

$ watch     tail           /var/log/messages

اما چنانچه بخواهیم در حال اجرا لاگ فایلها را مشاهده کنیم از دستور

$ tail  -f   /var/log/messages

 استفاده میکنیم

  • مشاهده تمامی دستورات محیط shell  

برای مشاهده کلیه دستورات محیط shell از دستور

$ help

به تنهایی استفاده میکنیم که لیست کلیه دستورات در محیط shell را با توضیحاتی نمایش میدهد

 

 

8 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *