ازونجا که من خیلی ترمینال رو دوست دارم، میخوام کم کم یه سری دستور ترمینال رو یاد بدم.
#terminal
#terminal
#terminal
به عنوان دستور اول، برخلاف آموزشهای سنتی ترمینال که ls و cd رو میگن، میخوام دستور shutdown رو بگم.
اسم دستور که خب shutdown هست و مشخصه که سیستم رو خاموش میکنه.
اگه همینطوری بزنید shutdown میاد و ۶۰ ثانیه بعد
حاموش میکنه سیستم رو یعنی پیشفرض یه تاخیر ۱ دقیقهای داره.
دستور shutdown : خاموش کردن سیستم بعد از ۱ دقیقه
اما ما اصولا عجله داریم و می خوایم همون موقع خاموش بشه، میتونیم تاخیر پیشفرض رو تغییر بدیم. به این صورت که اگر یه عدد کنارش بنویسیم میتونیم اون تاخیر رو عوض کنیم. بنابراین
shutdown 0
میاد و همون لحظه خاموش می کنه.
یا مثلا میتونیم کارهای هیجان انگیزتری کنیم مثلا بگیم ۱۰ ساعت دیگه خاموش کن سیستم رو. اینطوری باید ۶۰۰ دقیقه تاخیر بدیم یعنی بنویسیم
shutdown 600
باز اگر خواستیم همون لحظه خاموش کنیم میایم shutdown now رو مینویسیم که مثل همون shutdown 0 همون لحظه خاموش میکنه.
قسمت اصلی رو دیدیم یه مقدار هم سوییچهای کاربردی ببینیم.
اگر یه دستور shutdown زده بودیم و توی زمان تاخیرش بودیم بعد پشیمون شدیم،دستور
shutdown -c
رو میزنیم و میاد کنسل میکنه.
اگر خواستیم سیستم رو ریبوت کنیم میتونیم
shutdown -r
بزنیم که ریبوت میکنه. البته دستور reboot هم همینکارو میکنه.
به عنوان دستور اول، برخلاف آموزشهای سنتی ترمینال که ls و cd رو میگن، میخوام دستور shutdown رو بگم.
اسم دستور که خب shutdown هست و مشخصه که سیستم رو خاموش میکنه.
اگه همینطوری بزنید shutdown میاد و ۶۰ ثانیه بعد
حاموش میکنه سیستم رو یعنی پیشفرض یه تاخیر ۱ دقیقهای داره.
دستور shutdown : خاموش کردن سیستم بعد از ۱ دقیقه
اما ما اصولا عجله داریم و می خوایم همون موقع خاموش بشه، میتونیم تاخیر پیشفرض رو تغییر بدیم. به این صورت که اگر یه عدد کنارش بنویسیم میتونیم اون تاخیر رو عوض کنیم. بنابراین
shutdown 0
میاد و همون لحظه خاموش می کنه.
یا مثلا میتونیم کارهای هیجان انگیزتری کنیم مثلا بگیم ۱۰ ساعت دیگه خاموش کن سیستم رو. اینطوری باید ۶۰۰ دقیقه تاخیر بدیم یعنی بنویسیم
shutdown 600
باز اگر خواستیم همون لحظه خاموش کنیم میایم shutdown now رو مینویسیم که مثل همون shutdown 0 همون لحظه خاموش میکنه.
قسمت اصلی رو دیدیم یه مقدار هم سوییچهای کاربردی ببینیم.
اگر یه دستور shutdown زده بودیم و توی زمان تاخیرش بودیم بعد پشیمون شدیم،دستور
shutdown -c
رو میزنیم و میاد کنسل میکنه.
اگر خواستیم سیستم رو ریبوت کنیم میتونیم
shutdown -r
بزنیم که ریبوت میکنه. البته دستور reboot هم همینکارو میکنه.
نوشتههای ترمینالی
#terminal به عنوان دستور اول، برخلاف آموزشهای سنتی ترمینال که ls و cd رو میگن، میخوام دستور shutdown رو بگم. اسم دستور که خب shutdown هست و مشخصه که سیستم رو خاموش میکنه. اگه همینطوری بزنید shutdown میاد و ۶۰ ثانیه بعد حاموش میکنه سیستم رو یعنی پیشفرض…
#terminal
خب امشب دستور cal رو بررسی میکنیم. این دستور همونطور که از اسمش مشخصه کار تقویم رو برامون انجام میده. توی استفاده ازش میتونه خیلی انعطاف نشون بده (بخونید گزینههای زیاد داشته باشه) ولی میتونیم در حد کاری که با ویجت های موبایلمون میکردیم رو ازش بخوایم.
به راحتی کافیه که دستور cal رو بزنیم و تقویم ماه جاری رو بهمون نشون بده. (البته ماه میلادی، در مورد شمسی هم آخرش صخبت می کنم.)
اگر بخوایم به جای تقویم فعلی یه ماه/سال دیگه رو نشون بده میتونیم این کارو کنیم:
برای سال:
cal 2020
کل سال ۲۰۲۰ رو نشون میده. یعنی ۱۲ ماه که توی ۴ سطر (۴خط) از هم جدا شدن و واقعا خوانا و خوبه.
اگر یه ماه دیگه رو خواستید باید ماه و سال رو (به همین ترتیب، اول ماه بعد سال) بزنید. یعنی مثلا برای ماه ۴ از سال ۲۰۲۰ میزنیم:
cal 4 2020
و اون ماه رو میاره برامون.
میتونیم به همین روند روز رو هم اضافه کنیم. مثلا اگر بگیم
cal 2 2 2019
میاد اون روز خاص رو هایلایت میکنه تا با یه نگاه بفهمیم کدوم روزه، مثلا برای اینکه ببینیم قلان تاریخ چند شنبهس میتونه خوب باشه.
خب امشب دستور cal رو بررسی میکنیم. این دستور همونطور که از اسمش مشخصه کار تقویم رو برامون انجام میده. توی استفاده ازش میتونه خیلی انعطاف نشون بده (بخونید گزینههای زیاد داشته باشه) ولی میتونیم در حد کاری که با ویجت های موبایلمون میکردیم رو ازش بخوایم.
به راحتی کافیه که دستور cal رو بزنیم و تقویم ماه جاری رو بهمون نشون بده. (البته ماه میلادی، در مورد شمسی هم آخرش صخبت می کنم.)
اگر بخوایم به جای تقویم فعلی یه ماه/سال دیگه رو نشون بده میتونیم این کارو کنیم:
برای سال:
cal 2020
کل سال ۲۰۲۰ رو نشون میده. یعنی ۱۲ ماه که توی ۴ سطر (۴خط) از هم جدا شدن و واقعا خوانا و خوبه.
اگر یه ماه دیگه رو خواستید باید ماه و سال رو (به همین ترتیب، اول ماه بعد سال) بزنید. یعنی مثلا برای ماه ۴ از سال ۲۰۲۰ میزنیم:
cal 4 2020
و اون ماه رو میاره برامون.
میتونیم به همین روند روز رو هم اضافه کنیم. مثلا اگر بگیم
cal 2 2 2019
میاد اون روز خاص رو هایلایت میکنه تا با یه نگاه بفهمیم کدوم روزه، مثلا برای اینکه ببینیم قلان تاریخ چند شنبهس میتونه خوب باشه.
#terminal
خب دستور امروز date هست. به رابطه تنگاتنگی با cal داره.
اگر ساده بخوام بگم اینه که زمان فعلی + تاریخ سیستم رو نشون میده.
ولی خب توی اسکریپت ها خیلی به کار میاد. میتونه با فرمتهای خیلی گوناگون و کاستومی نشون بده. میتونه هم از روی string یا فایل یه تاریخ رو بسازه (یعنی به تاریخ فعلی محدود نیست)
مثالهاش:
نمایش تاری فعلی:
date
زمان گرینویچ رو نشون میده
date -u
حفت دستورها، ساخت date از روی یه استرینگ که مثلا اینچا ۲ feb ۲۰۱۰ رو نشون میده.
date --date="2/02/2010"
date --date="Feb 2 2010"
تبدیل epoch به تاریخ: (اون عدد بزرگه ثانیههای گذشته از 1/1/1970 هست.
date --date='@2147483647'
یا حتی تبدیل های خفن تر مثل next year و tomorrow و اینا رو میفهمه!
برای فرمت کردنش هم توی man page ش بخونید اگه براتون جالب بود.
اینجا هم جالبه
https://www.geeksforgeeks.org/date-command-linux-examples/
خب دستور امروز date هست. به رابطه تنگاتنگی با cal داره.
اگر ساده بخوام بگم اینه که زمان فعلی + تاریخ سیستم رو نشون میده.
ولی خب توی اسکریپت ها خیلی به کار میاد. میتونه با فرمتهای خیلی گوناگون و کاستومی نشون بده. میتونه هم از روی string یا فایل یه تاریخ رو بسازه (یعنی به تاریخ فعلی محدود نیست)
مثالهاش:
نمایش تاری فعلی:
date
زمان گرینویچ رو نشون میده
date -u
حفت دستورها، ساخت date از روی یه استرینگ که مثلا اینچا ۲ feb ۲۰۱۰ رو نشون میده.
date --date="2/02/2010"
date --date="Feb 2 2010"
تبدیل epoch به تاریخ: (اون عدد بزرگه ثانیههای گذشته از 1/1/1970 هست.
date --date='@2147483647'
یا حتی تبدیل های خفن تر مثل next year و tomorrow و اینا رو میفهمه!
برای فرمت کردنش هم توی man page ش بخونید اگه براتون جالب بود.
اینجا هم جالبه
https://www.geeksforgeeks.org/date-command-linux-examples/
GeeksforGeeks
How to Display and Set Date and Time in Linux | date Command - GeeksforGeeks
Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.
#terminal
امروز دستور سادهٔ free رو بررسی میکنیم.
این دستور مقدار کل رم، مقدارِ رمِ مصرفی و رمِ خالیِ سیستم رو نشون میده. راه منطقیایه که ببینید حال سیستم چطوره بدون اینکه یه تسک منیجر سنگین باز کنید، فقط اون اطلاعاتی که میخواید رو به دست بیارید.
دستور:
free
اگرم خواستید (که ترجیحا بخواید) به جای اینکه با واحد بایت نشون بده، یه جور "آدموار" با واجد مگابایت و گیگابایت نشون بده کافیه -h رو بهش بدید یعنی:
free -h
امروز دستور سادهٔ free رو بررسی میکنیم.
این دستور مقدار کل رم، مقدارِ رمِ مصرفی و رمِ خالیِ سیستم رو نشون میده. راه منطقیایه که ببینید حال سیستم چطوره بدون اینکه یه تسک منیجر سنگین باز کنید، فقط اون اطلاعاتی که میخواید رو به دست بیارید.
دستور:
free
اگرم خواستید (که ترجیحا بخواید) به جای اینکه با واحد بایت نشون بده، یه جور "آدموار" با واجد مگابایت و گیگابایت نشون بده کافیه -h رو بهش بدید یعنی:
free -h
#terminal
امروزم یه دستور بدیهی رو میخوایم یاد بگیریم.
دستور clear
همونطور که از اسمش مشخصه، میاد صفحه ترمینال رو پاک میکنه.
حالا ۲ مدل پاک کردن صفحه داریم.
یکی اینکه میاد اینقدر اینتر میزنه که نوشته ها همشون برن بالای صفحه و صفحه کاملا خالی بشه
این میشه clear -x
مدل دیگه اینکه که میاد واقعا صفجه رو تمیز میکنه و اینتر نمیزنه.
فرقشون؟
توی حالت اول (-x) اگر اسکرول کنی بالا باز هم نوشته های قدیمی رو می بینی ولی توی حالت دوم نمیبینی.
خیلیامون هم میایم به جای دستور clear از ctrl-l استفاده میکنیم. این معادل حالت دوم یعنی clear -x هست و همچنان نوشتههای قدیمی رو نگه میداره.
روش کار clear هم اساسا با ansi escape code ها هست که لینکش رو گذاشتم میتونید ببینید.
امروزم یه دستور بدیهی رو میخوایم یاد بگیریم.
دستور clear
همونطور که از اسمش مشخصه، میاد صفحه ترمینال رو پاک میکنه.
حالا ۲ مدل پاک کردن صفحه داریم.
یکی اینکه میاد اینقدر اینتر میزنه که نوشته ها همشون برن بالای صفحه و صفحه کاملا خالی بشه
این میشه clear -x
مدل دیگه اینکه که میاد واقعا صفجه رو تمیز میکنه و اینتر نمیزنه.
فرقشون؟
توی حالت اول (-x) اگر اسکرول کنی بالا باز هم نوشته های قدیمی رو می بینی ولی توی حالت دوم نمیبینی.
خیلیامون هم میایم به جای دستور clear از ctrl-l استفاده میکنیم. این معادل حالت دوم یعنی clear -x هست و همچنان نوشتههای قدیمی رو نگه میداره.
روش کار clear هم اساسا با ansi escape code ها هست که لینکش رو گذاشتم میتونید ببینید.
#terminal
#wh
دستورات wh
توی shell یه سری دستور داریم که با wh شروع میشن و از قضا ماهیت سوالی دارن و سوالمون رو قراره جواب بده. من ندیدم کسی اینطوری طبقهبندیشون کنه که اینا wh commands هستند ولی خب امیدوارم من بتونم خوب این کارو انجام بدم.
این دستورات چیا هستن؟
whatis (Display one-line manual page descriptions)
whereis (Locate the binary, source, and manual page files for a...)
which (Shows the full path of (shell) commands.)
who (Show who is logged on)
whoami (Print effective userid)
همونطور که میبینید هر کدومشون داره یه سوالی رو جواب میده، عمدتا آرگومان خاصی ندارند و مستقیم سوالتون رو میپرسید و جواب میدن.
#wh
دستورات wh
توی shell یه سری دستور داریم که با wh شروع میشن و از قضا ماهیت سوالی دارن و سوالمون رو قراره جواب بده. من ندیدم کسی اینطوری طبقهبندیشون کنه که اینا wh commands هستند ولی خب امیدوارم من بتونم خوب این کارو انجام بدم.
این دستورات چیا هستن؟
whatis (Display one-line manual page descriptions)
whereis (Locate the binary, source, and manual page files for a...)
which (Shows the full path of (shell) commands.)
who (Show who is logged on)
whoami (Print effective userid)
همونطور که میبینید هر کدومشون داره یه سوالی رو جواب میده، عمدتا آرگومان خاصی ندارند و مستقیم سوالتون رو میپرسید و جواب میدن.
#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
Forwarded from Geeky Career (Mohammad Moallemi)
#linux #terminal #bash
How to get process PIDs?
The
https://linuxize.com/post/pgrep-command-in-linux/
How to get process PIDs?
pgrep <process_name>
e.g.pgrep python
pgrep
is a command-line utility that allows you to find the process IDs of a running program based on given criteria. It can be a full or partial process name, a user running the process, or other attributes.The
pgrep
command is a part of the procps
(or procps-ng
) package, which is pre-installed on nearly all Linux distributions.https://linuxize.com/post/pgrep-command-in-linux/
Forwarded from Programming Resources via @like
A collection of modern/faster/saner alternatives to common unix commands.
مجموعهای از ابزارهای بهتر و سریعتر که میشه از اونها به عنوان جایگزین خیلی از دستورات پیشفرض لینوکس استفاده کرد.
#terminal #tools #modern #unix #linux #cli #shell #command_line #command
@pythony
https://github.com/ibraheemdev/modern-unix
مجموعهای از ابزارهای بهتر و سریعتر که میشه از اونها به عنوان جایگزین خیلی از دستورات پیشفرض لینوکس استفاده کرد.
#terminal #tools #modern #unix #linux #cli #shell #command_line #command
@pythony
https://github.com/ibraheemdev/modern-unix
Forwarded from Programming Resources via @like
Test your shell knowledge with this awesome challenge.
مهارتهای shell خود را با این بازی آنلاین محک بزنید.
#shell #bash #command #line #challenge #practice #terminal #linux #game #gamification #fun
@pythony
cmdchallenge.com
مهارتهای shell خود را با این بازی آنلاین محک بزنید.
#shell #bash #command #line #challenge #practice #terminal #linux #game #gamification #fun
@pythony
cmdchallenge.com
Forwarded from Programming Resources via @like
Static web publishing for Front-End Developers. Simple, single-command web publishing. Publish HTML, CSS, and JS for free, without leaving the command line.
با این برنامه که به سادگی توی ترمینال نصب میشه میتونید با یه کامند ساده پروژهتون که static عه و شامل html و css و js میشه رو به راحتی روی یه دامنه که به surge.sh ختم میشه بیارین بالا.
#static #web #deploy #publish #frontend #front #end #front-end #command #cli #terminal
@pythony
https://surge.sh
با این برنامه که به سادگی توی ترمینال نصب میشه میتونید با یه کامند ساده پروژهتون که static عه و شامل html و css و js میشه رو به راحتی روی یه دامنه که به surge.sh ختم میشه بیارین بالا.
#static #web #deploy #publish #frontend #front #end #front-end #command #cli #terminal
@pythony
https://surge.sh
👍2
نوشتههای ترمینالی
ازونجا که من خیلی ترمینال رو دوست دارم، میخوام کم کم یه سری دستور ترمینال رو یاد بدم. #terminal
بچه ها این #terminal چنل رو هم اگه دوست داشتید یه نگاهی بکنید.
یه سری دستور ترمینالی کوچک و جالب گفتم.
یه سری دستور ترمینالی کوچک و جالب گفتم.
👍6