نوشته‌های ترمینالی
2.62K subscribers
424 photos
12 videos
32 files
2.25K links
Download Telegram
نمونه jdate
#terminal
امروز دستور سادهٔ free رو بررسی می‌کنیم.
این دستور مقدار کل رم، مقدارِ رمِ مصرفی و رمِ خالیِ سیستم رو نشون می‌ده. راه منطقی‌ایه که ببینید حال سیستم چطوره بدون اینکه یه تسک منیجر سنگین باز کنید، فقط اون اطلاعاتی که می‌خواید رو به دست بیارید.

دستور:
free
اگرم خواستید (که ترجیحا بخواید) به جای اینکه با واحد بایت نشون بده، یه جور "آدم‌وار" با واجد مگابایت و گیگابایت نشون بده کافیه -h رو بهش بدید یعنی:
free -h
نوشته‌های ترمینالی
#terminal امروز دستور سادهٔ free رو بررسی می‌کنیم. این دستور مقدار کل رم، مقدارِ رمِ مصرفی و رمِ خالیِ سیستم رو نشون می‌ده. راه منطقی‌ایه که ببینید حال سیستم چطوره بدون اینکه یه تسک منیجر سنگین باز کنید، فقط اون اطلاعاتی که می‌خواید رو به دست بیارید. دستور:…
خروجی این دستور چند تا قسمت داره که بذارید توضیح بدم، برای خودم جالب بودن:
وقتی اجرا می‌کنید یه همچین چیزی می‌بینید.
total used free shared buff/cache available
Mem: 15Gi 2.0Gi 10Gi 201Mi 3.1Gi 13Gi
Swap: 0B 0B 0B

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


بخش دوم: used
اون مقداری که توسط برنامه‌ها استفاده شده و همه‌جای دنیا هم به ram usage شناخته می‌شه و چیز حاصی نیست. مثلا اگر من کلی برنامه باز کنم این عددش از ۲ گیگ (الانم کلی برنامه باز دارم البته) می‌رسه به ۴ گیگ یا مثلا اگر اندروید استودیو یا یه ide دیگه باز کنم تا ۱۰ گیگ می‌رسه مثلا.


بخش ششم: available
چرا از بخش دو رفتم شش؟ می بینیم.
این در واقع برعکس used هست. چیزی که استفاده نشده در دسترسه دیگه؟ منطقیه؟ در دسترس یعنی اینکه اونقدر فضا هست برای اینکه اگه برنامه باز کنید در اختیارتون قرار بده. جمع available+used میشه total


بخش سوم: free
این مقدار رمی هست که در حال حاظر خالیه، یعنی چیزی روش نوشته نشده.
می‌پرسین اقا فرق available و used چیه؟ فرقش توی buff/cache هست.

بخش پنجم: buff/cache
این واقعا از ۲ قسمت مختلف buffer و cache تشکیل شده و اگر -w بزنید می‌تونید ببینیدش ولی مهم نیست. مهم اینه که بدونید این قسمت اگرچه توی رم نوشته شده و یه سری اطلاعاته ولی مال خود سیستم‌عامله و برای سریع‌تر کار کردن ازشون استفاده می‌کنه. همچنین آماده‌ست که اگر لازمش داشتید خودکار خالیش کنه و به برنامه‌های شما تخصیصش بده.
جمع buf/cache + used میشه کل رمی که نوشته نشده، یعنی مکملِ free.
یا به عبارتی buff/cache+ used + free میشه total

سوال: اقا ما که ۲ گیگ رم استفاده کردیم× چرا ۳ گیگ دیگه خودش گرفته؟ مسخره اونیم مگه؟ اگه می‌تونه استفاده نکنه خب نکنه.
جواب: شما خودت شخصا از رم چه استفاده‌ای داری که می‌خوای خالی باشه؟ خب کل سیستم از جمله رم رو سپردی دست سیستم‌عامل، بذار استفاده کنه دیگه. اگه قراره از رمت برای سریع‌تر کار کردن استفاده بشه چه اشکالی داره؟



بخش آخر: swap
اینکه swap چیه داستان مفصلیه ولی یه قسمت روی "هارد دیسک" هست که به جای رم استفاده میشه و طبیعتا کندتره و اولویت اینه که استفاده نشه. باید موقع نصب سیستم‌عامل بگید چند گیگ برای اینکار اختصاص داده بشه و من اصلا اختصاص ندادم پس عددش صفره.
اقای مخابرات به نظرم سرعت دانلود باید 8 برابر اپلود باشه.
Channel name was changed to «نوشته های ترمینالی»
#terminal
امروزم یه دستور بدیهی رو می‌خوایم یاد بگیریم.
دستور clear
همونطور که از اسمش مشخصه، میاد صفحه ترمینال رو پاک می‌کنه.

حالا ۲ مدل پاک کردن صفحه داریم.
یکی اینکه میاد اینقدر اینتر میزنه که نوشته ها همشون برن بالای صفحه و صفحه کاملا خالی بشه
این میشه clear -x

مدل دیگه اینکه که میاد واقعا صفجه رو تمیز می‌کنه و اینتر نمی‌زنه.
فرقشون؟
توی حالت اول (-x) اگر اسکرول کنی بالا باز هم نوشته های قدیمی رو می بینی ولی توی حالت دوم نمی‌بینی.

خیلیامون هم میایم به جای دستور clear از ctrl-l استفاده می‌کنیم. این معادل حالت دوم یعنی clear -x هست و همچنان نوشته‌های قدیمی رو نگه می‌داره.


روش کار clear هم اساسا با ansi escape code ها هست که لینکش رو گذاشتم می‌تونید ببینید.
یه سری کار جالب هم میشه کرد.
اگر خروجی clear رو توی یه فایل بریزیم یا پایپ کنیم به یه ادیتور، همچین چیزی می بینیم.
یا مثلا اگه خروجیش رو بریزیم توی یه فایل مثلا
clear > /tmp/c1

بعد هر موقع اون فایله رو cat کنیم، صفحه برامون پاک میشه :)‌
تجربه: توی سیستم‌عامل آرچ‌لینوکس، وقتی که سیستم رو آپگرید می‌کنید (مثلا با pacman -Syu) اگر این اپدیت شامل کرنل هم باشه،‌ بعد از آپدیت، اگر دستگاه USB جدید (مثل فلش مموری) به سیستم وصل کنید، نمی‌شناسه. باید حتما یه بار ریستارت کنید تا همه چیز درست کار کنه دوباره.

سوال: مگه ویندوزه که بعد آپدیت ریستارت کنیم؟
آپدیت کردن کرنل بدون ریبوت اصولا کار سختیه و توزیع‌های مختلف مدلهای مختلفی هندلش می‌کنن و آرچ اینطوری هندلش می‌کنه که کل ماژول‌های کرنل قبلی رو پاک می‌کنه (و ماژول‌های کرنل جدید رو هم تا ریبوت نکنید نمی‌ریزه) به همین خاطر تا وقتی که ریبوت نکنید اگر دستگاه جدیدی متصل کنید اون رو نمی‌شناسه ولی خب دستگاه‌های فعلی بدون مشکل کار می‌کنن.

https://www.reddit.com/r/archlinux/comments/442g8g/rebooting_after_kernel_update_to_make_the_usb_work/
چند روز پیش داشتم یه چیزی رو ارائه می‌دادم، بعد نیاز داشتم که یه چیزی رو بکشم و ازونجا که نوشتن روی تخته میسر نبود، با کاراکترهای |و - و <- شکلم رو کشیدم که لازم نیست بگم خیلی کار سختی بود.
امروز یه ابزار پیدا کردم با نام tdraw که همین کار رو خیلی مینیمال و دم دستی براتون انجام می‌ده.
https://github.com/aca/tdraw

چند تا mode مختلف داره:
۱− برای کشیدن خط/جعبه
۲− برای رسم فلش
۳− برای نوشتن متن
۴− برای پاک کردن

متاسفانه undo نداره و وارد و خارج شدن به مود نوشتن متن یکم تریکیه که سر جای خودش بنویسید ولی به نظرم کاملا قابل استفاده‌س.
نمونه چیزی که باهاش ساختم.
https://asciiflow.com/
اینم هم سایت قوی‌ای بود در زمینه ASCII art .
https://explainshell.com/
کافیه دستورات ترمینال عجیب (یا جدید)ی که می‌بینید رو توی این سایت بزنید تا بهتون توضیحش بده.
هم UI خوبی داره هم توضیحات خوبی می‌ده.
حداقل اینه که وقتی می‌خواید یه دستور sudo دار رو کپی پیست کنید که نمی‌دونید چیکار می‌کنه، توی این سایته چکش کنید.
https://github.com/kaelzhang/shell-safe-rm
یه wrapper برای rm اصلی سیستم که میاد و از یه سری اتفاقات ناگوار جلوگیری می‌کنه.
مثلا اگه rm رو با این safe-rm، جایگزین کرده باشید (مثلا alias) دیگه اجازه rm -rf /* رو نمی‌ده بهتون یا دایرکتوری های حساس رو گیر میده بهتون تا مطمئن شه اشتباهی پاکشون نمی‌کنید.

خوندن سورس کدش هم توصیه می‌شه.


راستی به صورت پیش‌فرض هم فایل‌های حذف شده رو می‌بره توی همون trash. مثل حالت گرافیکی.
👍2