چ‌چ‌چ‌ (۱۰): دستور Uptime سرور برای پیدا کردن اینکه سیستم چه مدت در حال اجرا بوده

دستور uptime در یونیکس/لینوکس

یک ترمینال باز کنید‌، و سپس دستور زیر را وارد کنید‌:

$ uptime

نمونه‌ای از خروجی به صورت روبرو خواهد بود‌:

۱۲: ۱۶: ۰۱ up ۵۷ min، ۳ users، load average: ۰. ۰۲، ۰. ۱۳، ۰. ۲۲

این دستور اطلاعات زیر را در یک خط به شما نمایش می‌دهد‌:

  • زمان فعلی (۱۲: ۱۶: ۰۱)
  • چه مدت سیستم در حال اجرا بوده (۵۷ دقیقه)
  • در حال حاضر چه تعداد کاربر به سیستم متصلند (۳ کاربر)
  • میانگین لود سیستم در ۱‌، ۵ و ۱۵ دقیقه گذشته (۰. ۰۲، ۰. ۱۳، ۰. ۲۲)

این تقریبا‌‌ همان اطلاعاتی است که در سرخط اطلاعات نمایش داده شده توسط دستورات w و top می‌توانید مشاهده کنید‌:

w

نمونه‌ای از خروجی به این شکل خواهد بود‌:

12:20:34 up 1:02, 3 users, load average: 0.01, 0.07, 0.17

USER TTY FROM [email protected] IDLE JCPU PCPU WHAT

master tty1 - 11:19 18:17 0.16s 0.00s /bin/sh /usr/bin/startx

master pts/0 :0 12:02 0.00s 0.07s 0.00s w

master pts/1 :0 12:02 18:01 0.00s 0.94s kdeinit4: kded4 [kdeinit]
$ top

نمونه‌ای از خروجی‌:

منبع

حل مشکل USB Stick‌هایی که به صورت Unsafe از سیستم جدا شده‌اند

Error opening file '/media/Shahin_LG/1.jpg': Permission denied

معمولا این اشکال در ازای جدا کردنش از سیستم در حین کار اتفاق می‌افتد‌. حال ممکن است که روی یک سیستم واقعی بوده باشد‌، یا یک فکش پلیر‌! به شخصه در اولین بر خورد با چنین مشکلی‌، آسیب دیدن فایل سیستم را دلیل دانستم‌، ولی پس از چک کردن فایل سیستم متوجه شدم که چنین نیست‌. راه حل این بار سوار کردن (Mount) دستی فلش درایو به صورت زیر است‌:

```bash

sudo mount -t ntfs-3g /dev/sdb1 /media/LG -o force

توجه داشته باشید که برای جواب گرفتن از این دستور باید بسته‌های ntfs-config و ntfs-3g را نصب داشته باشید و همچنین پوشه‌ای برای سوار کردن فلش درایو (در این‌جا ‎/media/LG) ایجاد کرده باشید‌.

منبع حل مشکل

چ‌چ‌چ (۹): چطور به صورت فله‌ای لینک‌های یوتیوب را از وب‌سایتی استخراج و دانلود کنیم‌!

کار عادی‌اش به این صورت است که بنشینیم و با حوصله تک تک لینک‌ها را کپی پیست کرده و جایی ذخیره کنیم‌. ولی با وجود دویست صفحه و لینک‌، کمی (‌خیلی‌) خسته کننده (‌خریت‌ به معنای واقعی کلمه‌، البته ببخشید ;-)) است. خوب جواب مساله را خودم هم نمی‌دانستم‌، ولی مطمئن بودم‌، با ابزار‌های گنو‌/‌لینوکسی‌، نتیجه‌ی خیلی خوبی خواهم گرفت‌. اولین کاری که به فکرم رسید‌، دانلود صفحه‌ی اصلی و صفحه‌های پیوند شده به هر لینک بود که با wget خیلی خوب بلد بودم! به این صورت‌:

wget -rl1 http://thenewboston.org/list.php?cat=11

خوب نتیجه‌ مجموعه‌ای از فایل‌ها بود که با اسم‌هایی شبیه به آدرس‌شان در پوشه‌ی جاری ذخیره شده بود. با استفاده از آرگومان‌های rl1 به wget فهماندم که صفحه‌ی حاضر را به عمق یک صفحه رو به جلو دانلود کند‌. حالا مساله‌ی سخت این‌جا بود که چطور به grep بفهمانیم که چه چیزی را (‌در این‌جا لینک ویدیو در یوتیوب‌) برایمان جدا کند‌. دستوری که با دفعات زیادی آزمون و خطا نتیجه داد‌، به این صورت بود‌: (‌برای دیدن دستور کامل‌تر به آخر مطلب رجوع کنید‌، ویرایش۱)

grep -ohE "http://www.youtube.com/watch\?v=[[:alnum:]-]{11}" * > list

کار این دستور این است که یک لیست از الگوی داده شده را ایجاد و در فایل list ذخیره کند‌. آرگومان‌های ohE به طور خلاصه به grep می‌فهمانند‌ که فقط عبارت داخل پرانتز را در فایل‌ها پیدا کند و در خروجی نمایش دهد‌. قسمت جالب قضیه که بیشتر از همه وقتم را گرفت بخش زیر بود‌:

[[:alnum:]-]{11}

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

برای دانلود لینک‌ها هم می‌توانید همان فایل خروجی را به صورت زیر به youtube-dl بدهید‌:

youtube-dl -ta list

البته سرعت دانلود youtube-dl واقعا پایین است‌. روی سروری با دانلود عادی ده مگ‌، سرعت به زور می‌توانست به چهل کیلوبایت برسد‌. پیشنهاد من به شما‌، نصب یک نسخه از RapidLeech است‌. سرعت و کاربرد بسیار بهتری دارد ;-)

ویرایش ۱: بعد از مدتی استفاده از این دستور‌، فهمیدم که از اونجایی که توی آدرس‌های Youtube امکان وجود آندرلاین هم هست‌، تعدادی از لینک‌ها رو با دستور بالا از دست می‌دیم‌. به همین دلیل دنبال یه راه دیگه گشتم‌، و سر‌انجام به دستور زیر رسیدم که نتیجه‌ی خیلی قابل قبول‌تری می‌ده‌:

grep -ohE "http://www.youtube.com/watch\?v=[[:alnum:](-|_)]{11}" * | uniq > list2

همچنین توی این دستور با استفاده از uniq از تکرار لینک‌ها در صفحه خروجی جلوگیری می‌شه ;-)

چ‌چ‌چ‌ (۸)‌: رنگی کردن خروجی فرمان ls در BASH

برای رنگ کردن نتیجه‌ی خروجی خود دستور ls یه آرگومانی به این صورت داره ‎-‎‎-color که خروجی رو رنگی می‌کنه‌. یعنی هر بار که می‌خواین خروجی رنگی بگیرین باید یه همچین دستوری رو بزنین‌:

ls --color

که خوب این یه کم ممکنه خسته کننده باشه‌. برای رفع مشکلش هم که طبیعیه می‌تونین از alias استفاده کنین‌، و برای ماندگار شدنش یه همچین خطی رو به فایل ‎.bashrc تون اضافه کنین:

alias ls="ls --color=always"

این دقیقا کاریه که خیلی از توزیع‌ها به صورت پیش‌فرض انجامش می‌دن‌. ولی خوب همونطور که گفتم دوست عزیزم پیروزان یه چیز جالب‌تر هم معرفی کرده بود‌. ماجرا از این قراره که این آرگومان ‎-‎‎-color که بحثش رو کردیم‌، بر می‌گرده از یه فایلی به اسم DIR_COLORS توی شاخه‌ی etc الگوی رنگ‌بندیش رو بر می‌داره‌ (‌که البته با توجه به توزیع‌های مختلف ممکنه جای این فایل فرق کنه‌). حالا یه آدم باحال نشسته و رنگ‌بندی متنوعی برای سیصد نوع فایل مختلف آماده کرده و توی این کانال git منتشر کرده‌. برای استفاده از این فایل اول اون رو دانلود کنین و برای مثال توی شاخه‌ی خانگی لینوکستون ذخیره کنین‌. حالا با اضافه کردن خط زیر توی فایل ‎.bashrc از رنگ‌بندی جدید لذت ببرین‌:

eval $(dircolors -b LS_COLORS)

نمونه‌ای از خروجی این فایل به صورت زیره‌:

نمونه‌ای از خروجی فایل LS_COLOR

چ‌چ‌چ (۷)‌: بستن یک حساب کاربری در گنو‌/‌لینوکس

نحو‌:

passwd -l (username)

حساب را قفل می‌کند‌. در واقع آپشن‌* ‏‎-l با تغییر رمز عبور یک حساب به یک مقدار رمز شده‌، حساب را از دسترسی خارج می‌کند‌.

مثال‌:

قفل کردن حسابی به اسم shahin‌. با کاربر ریشه وارد می‌شویم و دستور زیر را وارد می‌کنیم‌:

# passwd -l shahin

قفل‌گشایی یک حساب گنو‌/‌لینوکس:

نحو‌:

passwd -u (username)

حساب را قفل‌گشایی می‌کند‌. این آپشن ‎-u رمز حساب رو به مقدار قبلی‌اش باز می‌گرداند و آن را دوباره فعال می‌کند‌.

مثال‌:

برای باز‌گشایی یک حساب کاربری به اسم shahin‌، اول با کاربر ریشه وارد می‌شویم‌، و دستور زیر را وارد می‌کنیم‌:

# passwd -u shahin

*‌: هر چه سعی کردم کلمه جایگزینی برای آپشن (‌انتخاب‌) به ذهنم نرسید که جمله‌بندی را خراب نکند‌. به بزرگی خودتان ببخشید‌!

منبع