Best practices for cron
https://www.endpoint.com/blog/2008/12/08/best-practices-for-cron
https://www.endpoint.com/blog/2008/12/08/best-practices-for-cron
#terminal
دستور df یا disk free
این دستور تقریبا مشابه free هست قراره بگه چقدر فضای خالی داریم. با این تفاوت که free میاد ram (و swap) رو بررسی میکنه ولی df فضای دیسکها رو بررسی میکنه.
اگر به تنهایی استفاده کنید خیلی اطلاعات معنیداری نشون نمیده ولی مثل همیشه اگر بخوایم به صورت "آدموار" خروجی بده کافیه با سوییچ -h استفاده کنیم که از واحد گیگابایت و مگابایت و .. استفاده کنه و بهتر معنی بده.
پس تا اینجا:
df
پارتیشنهای mount شدهی سیستم به همراه اطلاعاتِ مقدار فضای استفاده شده و فضای پر و درصد پر بودن.
df -h
مثل df ولی به صورت "آدموار"
اما این دستور (مخصوصا اگر از snap استفاده کنید) یه سری پارتیشن اضافی میبینید که براتون خیلی معنی دار نیست.
اولین دلیلش اینه که خود لینوکس (یا احتمالا هر سیستمعامل دیگهای که دارید) یه سری پارتیشن اضافی هم mount میکنه مثلا یکی از نوع tmpfs یعنی این مدلی که با خاموش شدن سیستم محتویاتش پاک شه. واضحه که این پارتیشن عادی نیست و پر شدن و مدیریتش هم برامون خیلی اهمیتی نداره. یا مثلا snap میاد برای ایزوله کردن هر برنامه اون رو توی یه پارتیشن مجزا قرار میده و اگر پکیجهای اسنپی زیادی نصب داشته باشید کلی پارتیشن برای برنامههای مختلفتون میبینید.
راه حل چیه؟
من خودم به شخصه برام فقط مهمه پارتیشنهای روی دیسکهای واقعیم مثل
/dev/sda1
/dev/sdb1
/dev/sdb2
چقدرشون پره و باقیش مهم نیست. برای همین از grep استفاده میکنم.
که دستور نهایی به این شکل در میاد:
df -h | grep /dev/sd
دستور df یا disk free
این دستور تقریبا مشابه free هست قراره بگه چقدر فضای خالی داریم. با این تفاوت که free میاد ram (و swap) رو بررسی میکنه ولی df فضای دیسکها رو بررسی میکنه.
اگر به تنهایی استفاده کنید خیلی اطلاعات معنیداری نشون نمیده ولی مثل همیشه اگر بخوایم به صورت "آدموار" خروجی بده کافیه با سوییچ -h استفاده کنیم که از واحد گیگابایت و مگابایت و .. استفاده کنه و بهتر معنی بده.
پس تا اینجا:
df
پارتیشنهای mount شدهی سیستم به همراه اطلاعاتِ مقدار فضای استفاده شده و فضای پر و درصد پر بودن.
df -h
مثل df ولی به صورت "آدموار"
اما این دستور (مخصوصا اگر از snap استفاده کنید) یه سری پارتیشن اضافی میبینید که براتون خیلی معنی دار نیست.
اولین دلیلش اینه که خود لینوکس (یا احتمالا هر سیستمعامل دیگهای که دارید) یه سری پارتیشن اضافی هم mount میکنه مثلا یکی از نوع tmpfs یعنی این مدلی که با خاموش شدن سیستم محتویاتش پاک شه. واضحه که این پارتیشن عادی نیست و پر شدن و مدیریتش هم برامون خیلی اهمیتی نداره. یا مثلا snap میاد برای ایزوله کردن هر برنامه اون رو توی یه پارتیشن مجزا قرار میده و اگر پکیجهای اسنپی زیادی نصب داشته باشید کلی پارتیشن برای برنامههای مختلفتون میبینید.
راه حل چیه؟
من خودم به شخصه برام فقط مهمه پارتیشنهای روی دیسکهای واقعیم مثل
/dev/sda1
/dev/sdb1
/dev/sdb2
چقدرشون پره و باقیش مهم نیست. برای همین از grep استفاده میکنم.
که دستور نهایی به این شکل در میاد:
df -h | grep /dev/sd
https://itsfoss.com/aur-arch-linux/
این aur جزو چیز های دوست داشتنیِ آرچه، ولی نمیشه پیشنهادش داد به کسی چون با ریسک خودتونه همه چی.
به هر حال من دوستش دارم و زیاد ازش استفاده میکنم.
این aur جزو چیز های دوست داشتنیِ آرچه، ولی نمیشه پیشنهادش داد به کسی چون با ریسک خودتونه همه چی.
به هر حال من دوستش دارم و زیاد ازش استفاده میکنم.
It's FOSS
What is Arch User Repository (AUR)? How to Use AUR on Arch and Manjaro Linux?
What is AUR in Arch Linux? How do I use AUR? Is it safe to use? This article explains it all.
شاید شنیده باشید که توی لینوکس همه چی فایله، میخوام یه مقدار بازش کنم و به یه سری سوالامون جواب داده بشه.
توی لینوکس همهچیز فایله یا به صورت دقیقتر همهچیز رابطی به شکل فایل دارد. این همهچیز یعنی چی دقیقا؟ منظور دیسوایسهای متصل به سیستم مثل موس و کیبورد، تنظیمات انجام شده روی سیستم و ...
چه فایده یا اهمیتی داره؟ فایدهش اینه که اگر بخوایم با یک دیوایس کار کنیم با همون دستورات کار با فایل و خوندن و نوشتن فایلی که بلدیم میتونیم کار کنیم و لازم نیست کار متفاوت و عجیبی کنیم. مثال معروفش اینه که برای اینکه اطلاعات پردازنده رو دربیاریم، یه فایل برای اینکار داریم به نام
/proc/cpuinfo
و اگر محتویاتش رو بخونیم، اطلاعات پردازنده رو درمیآریم.
همچنین برای مموری، به
/proc/meminfo
دسترسی داریم.
این فایلها توی چند تا پوشه هستند مثلا دیوایسها توی پوشه dev/ هستند، اطلاعات کرنل و داستانهای زمان اجرا مثلا پروسسهای باز توی proc و sys هستند.
آیا هاردها هم خودشون فایل هستن؟
بله! توی پوشه dev یه سری فایل مربوط به دیسکها و پارتیشن ها داریم که مثلا
/dev/sda
میشه هارد اول
و مثلا
/dev/sda1
میشه اولین پارتیشن روی هارد اول
آیا فایلها روی سیستم جا گرفتن؟
فایل های معمولی که روی سیستم جا گرفتن مثلا فایل های پوشه هوم کاربر و فایل های binary اجرایی و غیره ولی فایل های خاص مثل پوشه /dev و /proc و /sys اصولا روی هارد نیستن و زمانی که به محتواشون نیاز باشه کرنل اون رو هندل میکنه. (البته در مورد dev یه چیزایی هم گویا روی هارد نوشته میشه ولی ایده اصلی همونه که گفتم)
آیا کار با این فایلها سربار IO داره؟
بیایید برای جواب دقیقتر به این سوال روند کار رو ببینیم، فرض کنیم یه برنامه سی داریم که میخواد از پوشه proc، فایل cpuinfo رو بخونه. برای این خوندن باید به کرنل درخواست بده، تا اینجا مشابه خوندن فایل از روی دیسک هست. اما کرنل میبینه که فایلی که خواستیم یه پارتیشن mount شده از روی دیسک نیست، بلکه یه فایل از نوع proc هست، پس میاد اطلاعاتی که لازم داره رو میسازه و به عنوان محتویات فایل نشون میده. پس سربار از نظر صدا کردن توابع کرنل داره ولی سربار خوندن دیسک رو نداره.
در این بین یه سری دیوایس خاص هم وجود دارند که این دیوایسها وجود خارجی ندارند.
مثلا dev/zero/ یه فایله که هرمقدار ازش بخونید بهتون 0 بر میگردونه. لازم به ذکره که نمیتونید همهی فایل رو بخونید چون تموم نمیشه فقط میتونید بر اساس نیاز با یه ابزاری (مثلا head) خط های اولش رو (به اون اندازه که نیاز دارید) بخونید.
۲ تا فایل هم برای تولید random داریم که dev/random/ و dev/urandom/ هستند که فرقشون اینه که اگر عدد رندومی وجود نداشته باشه random همچنان عدد شبه رندوم می ده ولی urandom به صورت blocking صبر میکنه تا عدد رندوم تولید بشه. (در مورد تولید عدد رندوم و آنتروپی میتونید بخونید.)
اما فایل محبوبم:
/dev/null
این فایل چیزی خروجی نمیده در عوض شما میتونید چیزهایی که لازم ندارید رو داخل این فایل بریزید مثلا میتونید خروجی دستوری که رو که نمیخواید نمایش داده بشه با دستور
ls > /dev/null
بریزید دور.
(برای اینکه stderr هم بریزید دستور
ls > /dev/null 2>&1
رو بزنید)
منابع:
https://unix.stackexchange.com/questions/119648/redirecting-to-dev-null
https://unix.stackexchange.com/questions/324209/when-to-use-dev-random-vs-dev-urandom
https://unix.stackexchange.com/questions/188886/what-is-in-dev-proc-and-sys
https://en.wikipedia.org/wiki/Everything_is_a_file
توی لینوکس همهچیز فایله یا به صورت دقیقتر همهچیز رابطی به شکل فایل دارد. این همهچیز یعنی چی دقیقا؟ منظور دیسوایسهای متصل به سیستم مثل موس و کیبورد، تنظیمات انجام شده روی سیستم و ...
چه فایده یا اهمیتی داره؟ فایدهش اینه که اگر بخوایم با یک دیوایس کار کنیم با همون دستورات کار با فایل و خوندن و نوشتن فایلی که بلدیم میتونیم کار کنیم و لازم نیست کار متفاوت و عجیبی کنیم. مثال معروفش اینه که برای اینکه اطلاعات پردازنده رو دربیاریم، یه فایل برای اینکار داریم به نام
/proc/cpuinfo
و اگر محتویاتش رو بخونیم، اطلاعات پردازنده رو درمیآریم.
همچنین برای مموری، به
/proc/meminfo
دسترسی داریم.
این فایلها توی چند تا پوشه هستند مثلا دیوایسها توی پوشه dev/ هستند، اطلاعات کرنل و داستانهای زمان اجرا مثلا پروسسهای باز توی proc و sys هستند.
آیا هاردها هم خودشون فایل هستن؟
بله! توی پوشه dev یه سری فایل مربوط به دیسکها و پارتیشن ها داریم که مثلا
/dev/sda
میشه هارد اول
و مثلا
/dev/sda1
میشه اولین پارتیشن روی هارد اول
آیا فایلها روی سیستم جا گرفتن؟
فایل های معمولی که روی سیستم جا گرفتن مثلا فایل های پوشه هوم کاربر و فایل های binary اجرایی و غیره ولی فایل های خاص مثل پوشه /dev و /proc و /sys اصولا روی هارد نیستن و زمانی که به محتواشون نیاز باشه کرنل اون رو هندل میکنه. (البته در مورد dev یه چیزایی هم گویا روی هارد نوشته میشه ولی ایده اصلی همونه که گفتم)
آیا کار با این فایلها سربار IO داره؟
بیایید برای جواب دقیقتر به این سوال روند کار رو ببینیم، فرض کنیم یه برنامه سی داریم که میخواد از پوشه proc، فایل cpuinfo رو بخونه. برای این خوندن باید به کرنل درخواست بده، تا اینجا مشابه خوندن فایل از روی دیسک هست. اما کرنل میبینه که فایلی که خواستیم یه پارتیشن mount شده از روی دیسک نیست، بلکه یه فایل از نوع proc هست، پس میاد اطلاعاتی که لازم داره رو میسازه و به عنوان محتویات فایل نشون میده. پس سربار از نظر صدا کردن توابع کرنل داره ولی سربار خوندن دیسک رو نداره.
در این بین یه سری دیوایس خاص هم وجود دارند که این دیوایسها وجود خارجی ندارند.
مثلا dev/zero/ یه فایله که هرمقدار ازش بخونید بهتون 0 بر میگردونه. لازم به ذکره که نمیتونید همهی فایل رو بخونید چون تموم نمیشه فقط میتونید بر اساس نیاز با یه ابزاری (مثلا head) خط های اولش رو (به اون اندازه که نیاز دارید) بخونید.
۲ تا فایل هم برای تولید random داریم که dev/random/ و dev/urandom/ هستند که فرقشون اینه که اگر عدد رندومی وجود نداشته باشه random همچنان عدد شبه رندوم می ده ولی urandom به صورت blocking صبر میکنه تا عدد رندوم تولید بشه. (در مورد تولید عدد رندوم و آنتروپی میتونید بخونید.)
اما فایل محبوبم:
/dev/null
این فایل چیزی خروجی نمیده در عوض شما میتونید چیزهایی که لازم ندارید رو داخل این فایل بریزید مثلا میتونید خروجی دستوری که رو که نمیخواید نمایش داده بشه با دستور
ls > /dev/null
بریزید دور.
(برای اینکه stderr هم بریزید دستور
ls > /dev/null 2>&1
رو بزنید)
منابع:
https://unix.stackexchange.com/questions/119648/redirecting-to-dev-null
https://unix.stackexchange.com/questions/324209/when-to-use-dev-random-vs-dev-urandom
https://unix.stackexchange.com/questions/188886/what-is-in-dev-proc-and-sys
https://en.wikipedia.org/wiki/Everything_is_a_file
Unix & Linux Stack Exchange
redirecting to /dev/null
I'm reading an example bash shell script:
#!/bin/bash
# This script makes a backup of my home directory.
cd /home
# This creates the archive
tar cf /var/tmp/home_franky.tar franky > /dev/null...
#!/bin/bash
# This script makes a backup of my home directory.
cd /home
# This creates the archive
tar cf /var/tmp/home_franky.tar franky > /dev/null...
👍1
یه مطلب مفصل برای مقدمات برنامهنویسی با رابط متنی و آشنایی عمیق با stdin و stdout و دوستشون، stderr
https://vrgl.ir/1uezx
https://vrgl.ir/1uezx
ویرگول
ورودی استاندارد، خروجی استاندارد؟
در این مطلب درمورد انواع برنامهها، برنامههای cli و طرز کارشون و stdin و stdout و نهایتا هم stderr میخونیم
https://medium.com/better-programming/cure-impostor-syndrome-with-functional-programming-f9c489986c76
خاطرات یه برنامه نویس سینیورِ oop از مهاجرت به فانکشنال
خاطرات یه برنامه نویس سینیورِ oop از مهاجرت به فانکشنال
Medium
Cure Impostor Syndrome with Functional Programming
Journey of a senior developer switching to functional programming
https://vrgl.ir/4HuZ4
مراقب آرایههات باش و اندیسشون رو دست کاربر نده!
مراقب آرایههات باش و اندیسشون رو دست کاربر نده!
ویرگول
اندیس آرایه رو دست کاربر نده
چرا نباید ورودی کاربر رو اندیس آرایه کنیم و چی ممکنه پیش بیاد؟
Either write something worth reading or do something worth writing.
- Benjamin Franklin
- Benjamin Franklin
یه سایته که خیلی منطقی در مورد این مشکل اعداد ممیز شناور توضیح داده :))
https://0.30000000000000004.com/
https://0.30000000000000004.com/
https://opensource.com/article/19/7/parse-arguments-python
argument parse in python
argument parse in python
Opensource.com
Parse arguments with Python
If you're using Python for any amount of development, you have probably issued a command in a terminal, even if only to launch a Python script or install a Python module with pip. Commands may be simple and singular: $ ls Commands also might take an argument:…
زبان C خوبیهای مختلفی داره، ولی به نظر من کار با رشتهٔ آسان جزوشان نیست!
اگر بخواهیم رشته در C ورودی بگیریم چه راههایی وجود دارد و کدام توصیه میشود؟
https://vrgl.ir/ejdUl
اگر بخواهیم رشته در C ورودی بگیریم چه راههایی وجود دارد و کدام توصیه میشود؟
https://vrgl.ir/ejdUl
ویرگول
از مصائب ورودی گرفتنِ رشته در C
اگر بخواهیم رشته در C ورودی بگیریم چه راههایی وجود دارد و کدام توصیه میشود؟ از scanf استفاده کنیم یا gets؟
نوشتههای ترمینالی
شاید شنیده باشید که توی لینوکس همه چی فایله، میخوام یه مقدار بازش کنم و به یه سری سوالامون جواب داده بشه. توی لینوکس همهچیز فایله یا به صورت دقیقتر همهچیز رابطی به شکل فایل دارد. این همهچیز یعنی چی دقیقا؟ منظور دیسوایسهای متصل به سیستم مثل موس و کیبورد،…
این مطلب رو بلاگش کردم.
https://vrgl.ir/xGtYv
https://vrgl.ir/xGtYv
ویرگول
در لینوکس همهچیز فایله یعنی چی؟
شاید شنیده باشید که توی لینوکس همه چی فایله، میخوام یه مقدار در موردش بیشتر بدونیم و به یه سری از سوالامون جواب بدیمتوی لینوکس همهچیز ف…
یه سایت برای اینکه فریم ورک js تون رو پیدا کنید :))
https://todomvc.com/
https://todomvc.com/
Todomvc
Helping you select an MV* framework - Todo apps for Backbone.js, Ember.js, AngularJS and many more
معرفی مختصر مفید elm
https://guide.elm-lang.org/
منم اضافه کنم که باهاش فرانت میزنن و به js کامپایل میشه و فانکشناله و زیباست.
https://guide.elm-lang.org/
منم اضافه کنم که باهاش فرانت میزنن و به js کامپایل میشه و فانکشناله و زیباست.
guide.elm-lang.org
Introduction · An Introduction to Elm