پاسخ : اموزش دستورات لینوکس به فارسی
دستور free
http://alieblice.persiangig.com/imag...mmand.jpeg.jpg
دستور free برایه دیدن مقدار رم خالی استفاده میشود
کلا تعداد زیادی اپشن نداره ولی تشریح قسمت هایه مختلف دستورش مهمه
شکل کلی دستور
با زدن خود دستور free به تنهایی خروجی شبیه زیر رو دریافت میکنین که بر اساس کیلوبایت است
کد:
alieblice@ali:~$ free
total used free shared buffers cached
Mem: 4037504 723244 3314260 0 44752 198608
-/+ buffers/cache: 479884 3557620
Swap: 2096124 0 2096124
alieblice@ali:~$
Mem = مقدار رم مصرفی شما رو با احتصاب disk caching نشون میده ((disk caching در اخر توضیح داده شده ))
-/+ buffers/cache = مقدار رم مصرف شده برایه disk caching و مقدار رم خالی شما بدون احتصاب disk caching رو نشون میدهد
Swap = مقدار فضایه مصرف شده از رم Swap رو نشون میده
توضیح اپشن ها :
= -b برایه نشون دادن بر اساس بایت است
= -k برایه نشون دادن بر اساس کیلوبایت است
= -m برایه نشون دادن بر اساس مگابایت است
کد:
alieblice@ali:~$ free -m
total used free shared buffers cached
Mem: 3942 706 3236 0 43 193
-/+ buffers/cache: 468 3473
Swap: 2046 0 2046
alieblice@ali:~$
= -g برایه نشون دادن بر اساس گیگابایت است
نکته : همون طور که در مثال اپشن –m میبینین مقدار رم 3942 مگابایت است ولی در حالت –g مقدار 3 رو نشون میده پس کلی نشون میده
کد:
alieblice@ali:~$ free -g
total used free shared buffers cached
Mem: 3 0 3 0 0 0
-/+ buffers/cache: 0 3
Swap: 1 0 1
alieblice@ali:~$
= -s برایه خروجی گرفتن به صورت ادامه دار هستش با تعیین مدت رمان (( پشت سر هم اپدیت میشه ))
در زیر هر 3 ثانیه خروجیمون بروز میشه
کد:
alieblice@ali:~$ free -s 3
total used free shared buffers cached
Mem: 4037504 726784 3310720 0 44848 200992
-/+ buffers/cache: 480944 3556560
Swap: 2096124 0 2096124
total used free shared buffers cached
Mem: 4037504 726908 3310596 0 44848 200992
-/+ buffers/cache: 481068 3556436
Swap: 2096124 0 2096124
^C
alieblice@ali:~$
= -c برایه تعیین تعداد مرتبه خروجی است که حتما باید با –s بیاد
مثال:
در زیر 4 بار خروجی میگریم با فاصله زمانی 3 ثانیه
کد:
alieblice@ali:~$ free -ms 3 -c 4
total used free shared buffers cached
Mem: 3942 711 3231 0 43 196
-/+ buffers/cache: 471 3471
Swap: 2046 0 2046
total used free shared buffers cached
Mem: 3942 711 3231 0 43 196
-/+ buffers/cache: 471 3471
Swap: 2046 0 2046
total used free shared buffers cached
Mem: 3942 711 3231 0 43 196
-/+ buffers/cache: 471 3471
Swap: 2046 0 2046
total used free shared buffers cached
Mem: 3942 711 3231 0 43 196
-/+ buffers/cache: 471 3471
Swap: 2046 0 2046
alieblice@ali:~$
= -o به صورت شکل قدیم نشون میده
فرقش اینه که خط -/+ buffers/cache (( buffer adjusted )) رو نشون نمیده
کد:
alieblice@ali:~$ free -o -m
total used free shared buffers cached
Mem: 3942 711 3231 0 43 196
Swap: 2046 0 2046
alieblice@ali:~$
= -t مجموع مقداررم swap و ram سخت افزاری رو نشون میده
نکته : اعداد خط -/+ buffers/cache رو تو جمع حساب نمیکنه
کد:
alieblice@ali:~$ free -tm
total used free shared buffers cached
Mem: 3942 712 3230 0 43 196
-/+ buffers/cache: 471 3470
Swap: 2046 0 2046
Total: 5989 712 5277
alieblice@ali:~$
مقدار واقعی مصرف رم شما
در لینوگس 2 نوع مصرف رم داریم
1= رمی که شما مصرف میکنین
2= رمی که شما مصرف میکنین به همراه disk caching
disk caching چیست ؟
disk caching در این جا به عملی می گویند که سیستم میاد مقدار رم خالی شما (( مثلا 2.5 گیگ از 4 گیگ )) که استفاده نمیشه مقداریش رو برایه کش کردن استفاده میکنه اما به محض این که شما اون مقدار فضا (( مثلا 500 مگابایت )) یا به مقداری از اون فضا احتیاج پیدا کردین سیستم بلافاصله فضا رو برایه شما خالی میکنه . پس اختلالی در انجام کار ها پیش نمیاره و حتی باعث سریع شدن کار ها بالا رفتن سرعت لود نرم افزارها میشه .
اگه هنوز متوجه نشدین داستان زیر رو بخونین
و برایه دیدن تاثیرش هم ادرس زیر رو نگاه کنین
پس برایه این که بدونین چه مقدار رم خالی دارین باید عددی که در خط -/+ buffers/cache است رو بخونین
که در مثال زیر 3470 مگابایت است
کد:
alieblice@ali:~$ free -tm
total used free shared buffers cached
Mem: 3942 712 3230 0 43 196
-/+ buffers/cache: 471 3470
Swap: 2046 0 2046
Total: 5989 712 5277
alieblice@ali:~$
نکته :
در دستور top مقدار رم مصرفی با احتصاب disk caching نشون داده میشه
در دستور htop مقدار رم مصرفی بدون احتصاب disk caching محاصبه میشود
غیر فعال کردن disk caching
حقیقتش نمیدونم که با این کار به طور کامل از کش شدن جلو گیری میکنیم یا تا حدی جلوشو میگیریم ولی در اعداد تغییر چشم گیری ایجاد میشه
دستور زیر رو برایه جلوگیری کردن بزنین
کد:
Sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
حالا اگه دوباره دستور free رو بزنین میبینین که اعداد زیر ستون هایه
shared buffers cached
نغییر کرده است
در ادرس زیر هم ((جلوگیری از cache شدن ram در لینوکس بطور اتوماتیک))
جلوگیری از cache شدن ram در لینوکس بطور اتوماتیک ! - PersianAdmins
فایل هایه مربوطه
کد:
/proc/meminfo
/proc/sys/vm/drop_caches
منابع:
جلوگیری از cache شدن ram در لینوکس بطور اتوماتیک ! - PersianAdmins
Help! Linux ate my RAM!
پاسخ : اموزش دستورات لینوکس به فارسی
دستور uptime
دستور uptime برایه دیدن مقدار مدت زمان روشن بودن سیستم استفاده میشود که در کنار اون ساعت ; تعداد کاربر و مقدار لود سیستم رو نشون میدهد
دستور uptime اپشنی ندارد و خروجیش به شکل زیر هستش
کد:
13:17:57 up 214 days, 2:52, 4 users, load average: 0.09, 0.03, 0.01
یا برایه سیستم من
کد:
alieblice@ali:~$ uptime
22:00:58 up 13 min, 2 users, load average: 0.00, 0.06, 0.10
13:17:57 = ساعت سیتم
214 days, 2:52 = مدت زمان روشن بودن سیستم که اگر بیشتر از 24 ساعت شود تبدیل به روز و ساعت میشود
load average: 0.09, 0.03, 0.01 = مقدار لود سیستم رو نشون میده که در اینجا 0.09است که از چپ به راست برایه 1, 5 و 15 دقیقه است
load average در لینوکس بر اساس تعداد پروسس هایی که در نوبت اجرا (( run queue )) هستن محاصبه میشود که این پروسس ها میتونه مربوط به cpu ; disk I/O یا حتی network باشن
متن زیر کامل ترشو گقته
Load average on a Linux system is defined as the number of blocking processes in the run queue
averaged over a certain time period. A blocking process is a process that is waiting on a resource
to continue, usually the CPU, disk I/O, or network. Many processes waiting in the run queue
will drive up the load average of your system. It’s not uncommon to see a load average over 1;
that just means for the designated time interval (1, 5 or 15 minutes) there was an average of at
least one process waiting on resources in the run queue. This is usually indicative of a busy
system and might not necessarily mean anything is amiss. However, high load averages will
negatively affect system performance, so it’s always a good idea to be aware of what is causing
them. Here is the uptime output of a relatively busy web server:
$ uptime
1:20pm up 3 days 15:49, 1 user, load average: 1.47, 1.10, 0.83
پیدا کردن uptime به روش هایه دیگر
مدت زمان روشن بودن سیستم در فایل زیر نیز وجود دارد
cat /proc/uptime
کد:
ali@95:~$ cat /proc/uptime
91554.73 89629.48
ali@95:~$
91554.73 = زمان روشن بودن سیستم بر اثاث ثانیه
89629.48 =
The second number is how much of that time the machine has spent idle, in seconds.[10] On multi core systems (and some linux versions) the second number is the sum of the idle time accumulated by each CPU.
با دستور زیر هم میشه مدت زمان رو دید
کد:
sudo ps -p 1 -o etime=
کد:
ali@95:~$ sudo ps -p 1 -o etime=
1-01:34:53
ali@95:~$
ali@95:~$ uptime
17:17:08 up 1 day, 1:35, 2 users, load average: 0.00, 0.00, 0.00
ali@95:~$
با دستور top و htop هم میشه دید
منابع:
Uptime - Wikipedia, the free encyclopedia
UNIX / Linux: 7 Practical PS Command Examples for Process Monitoring
shell job controls (دستور fg bg jobs nohup)
shell job controls (دستور fg bg jobs nohup)
منظور از shell job از کاv انداختن و راه اندازی مجدد یک پروسس یا ازبین بردن و یا به پشت صحنه بردن یک پروسس در ترمینال است
jobs = برایه دیدن کار هایه پشت صحنه
fg = برایه رویه صحنه اوردن کاری که در پشت صحنه است
bg = برایه رستارت کردن کاری که در پشت صحنه است
nohup = برایه ازبین نرفتن کاری به هنگام بستن ترمینال
منظور از فرستادن یک کار (( پروسس )) به پشت صحنه
فرض کنین تو ترمینال دستور firefox رو میزنین یا مثلا دستور nautilus وقتی که یکی از این دو دستور رو میزنین نرم افزار مربوطه رو صفحه ظاهر میشود و یک سری اطلاعاتی رو تو ترمینال مینویسد و عملا ترمینال رو برایه زدن دستورات دیگر غیر قابل مصرف میکند . حالا برایه این که ترمینالتون در این مواقع قابل استفاده باشد اون نرم افزار یا پروسس رو به پشت صحنه میفرستیم
مثال:
مراحل کار :
اول nautilus رو اجرا میکنیم
دوم به وسیله کلید ترکیبی Ctrl+z از کار میندازیمش و
سوم به وسیله ی دستور bg رستارتش میکنیم تا شروع به کار کند
کد:
alieblice@/$ sudo nautilus
Initializing nautilus-open-terminal extension
Initializing nautilus-gdu extension
Initializing nautilus-image-converter extension
^Z
[1]+ Stopped sudo nautilus
alieblice@/$
اگر الان دستور jobs رو بزنین خروجی شبیه زیر رو میبینین
کد:
alieblice@/$ jobs
[1]+ Stopped sudo nautilus
alieblice@/$
همون طور که میبینین کلمه Stopped رو نوشته که نشون از ازکار افتادن این پروسس ((در اینجا به وسیله Ctrl+z )) هست که برایه راه اندازیش از دستور bg به همراه شماره کار (پروسس) که در این جا [1] میباشد استفاده میکنیم
کد:
alieblice@/$ bg 1
[1]+ sudo nautilus &
alieblice@/$
حالا اگر دستور jobs رو بزنین میبینین که از کلمه Runnig استفاده شده است
کد:
alieblice@/$ jobs
[1]+ Running sudo nautilus &
alieblice@/$
اگر خاستین nautilus رو دوباره به رویه صحنه بیارین از fg استفاده کنین به همراه شمارش
کد:
alieblice@/$ fg 1
sudo nautilus
alieblice@/$
اجرا کردن یک پروسس که به طور خود کار به پشت صحنه برود
برایه این کار در پایان دستورتون از حرف & استفاده کنین
مثال:
بعد از زدن دستور به همراه & یک بار دکمه enter رو بزنین
کد:
alieblice@/$ sudo nautilus&
[1] 7661
alieblice@/$ Initializing nautilus-open-terminal extension
Initializing nautilus-gdu extension
Initializing nautilus-image-converter extension
alieblice@/$
دستور jobs
در مورد jobs این جا کامل توضیح داده ولی چون بیشتر چیزایی که گفته بود کار نمیکرد من فقط دو تا از اپشناشو میگم
Help -
همون طور که در بالا دیدین دستور jobs برایه دیدن کارهایه پشت صحنه هستش
مثال:
کد:
alieblice@/$ jobs
[1]+ Running sudo nautilus &
alieblice@/$
توضیح چند تا از اپشن ها
از l- برایه دیدن job number, current job, process group ID
از p- برایه دیدن pid
دستور nohup
از این دستور برایه زمانی که یک پروسس رو در ترمینال ایجاد کردیم و میخایم که بابسته شدن ترمینال پروسسمون از بین نره استفاده میکنیم
در nohup
خروجی ها در $HOME/nohup.out
اررور ها در خود ترمینال
و ورودی ها :
If standard input is a terminal, redirect it from /dev/null
نکته : همیشه با بسته شدن ترمینال پروسس هامون از بین نمیره مثلا در مثال هایه nautilus بالا اگه nautilus پشت صحنه باشه از بین نمیره
مثال :
کد:
alieblice@~$ sudo nohup firefox
nohup: ignoring input and appending output to `nohup.out'
alieblice@~$
نکته :
پروسس هایی که با nohup اجرا میشن در لیست کار هایه دستور jobs نمیاد
منابع :
LPIC-1_In_Nutshell_Oreilly_Edition3
http://ubuntuone.com/p/15HZ/
Help -
نسخه pdf اموزش دستورات لینوکس
سلام دوستان
تصمیم گرفتم اموزش دستورات رو با فرمت PDF هم درست کنم که اولین نسخشو درست کردم
اموزش دستور LS ((نسخه PDF ))
از ادرس زیر در دست رس است
آموزش دستورات لینوکس به فارسی
دستور cd هم قرار گرفت از ادرس بالا در دست رس است
پیشاپیش ممنون