اموزش دستورات لینوکس به فارسی
اما چند نکته:
1. بهتر است که این صفحه را محلی برای سوال و جواب و رفع اشکالاتمان قرار ندهیم؟! برای طرح سوال میتوانید یک تاپیک جدید ایجاد کنید و یا شاید تاپیک گسترش نیافته ی زیر را بتوان به این کار اختصاص داد:
http://www.webhostingtalk.ir/f10/14520/
2. حتیالمقدور یک دستور را جامع و کامل (و مطمئن از صحت) شرح دهیم، آنگونه که برای تازه کارها و حتی آنها که جز محیطهای گرافیکی تجربهی دیگری ندارند، قابل استفاده باشد.
3. لطفاْ از تاپیکهایی مثل "آره، فکر خوبیه - چه عالی، موافقم - نه، بینتیجه است و ..." جداْ خودداری کنید و فقط آن چه را که از ترمینال می دانید، با نگاه آموزشی، برای این صفحه ارسال کنید. تشکر و یا هر نظر دیگری را با پیغام خصوصی برای آن کاربری که مطلب را منتشر کرده، ارسال کنید.
4. نام دستوری که قصد شرح آن را دارید، عنوان مطلب ارسالی انتخاب کنید. و تا آن جا که ممکن است از زبان رسمی در نوشتههایتان استفاده کنید.
5. اگر مطلب ارسالی دارای منبعی است و یا ترجمه شده است، آن منبع ذکر شود.
6. چنان چه در مطالب ارسال شده، ایرادی را مشاهده میکنید، اصلاحیه یا پیشنهاد خود را به صورت پیغام خصوصی برای کاربر ارسال کنندهی مطلب مورد نظر بفرستید تا ایشان به تصحیح و یا گسترش آن بپردازند. هم چنین اگر به نظرتان مطلبی میتواند کاملتر باشد، بهتر است به جای ارسال جدید باز همین روش را اتخاذ کنید که به این ترتیب از عنوانهای مشابه جلوگیری میشود. اما اگر مایل بودید که خودتان ارسالی مرتبط داشته باشید، برای ارسال خود یکی از این دو مورد را مد نظر قرار دهید: یا در متن ارسالی خود به وجود ارسال مشابه دیگری با ارجاع به شمارهی پاسخ و شمارهی صفحهی آن اشاره کنید و یا عنوان همان ارسال را برای ارسال خود برگزینید و به انتهای آن شماره ترتیبی اضافه کنید که رعایت هر دو با هم جالبتر است.7
8. BashCommands - Iranian Ubuntu Team Wiki
منبع : راهنمای ترمینال اوبونتو (دانستههایمان را به اشتراک بگذاریم)
---------- Post added at 01:20 PM ---------- Previous post was at 01:08 PM ----------
فراخواندن ترمینال
محیط متنی لینوکس که همان محیط سنتی یونیکس(Unix) است، یک رابط خط فرمان(Command Line Interface, CLI) است که در آن با تایپ دستور به کامپیوتر می گویید که چه انجام دهد. برای دسترسی به این محیط متنی که اصطلاحاً Shell نامیده می شود، کافی است یک ترمینال جدید باز کنید. برای باز کردن ترمینال مسیر زیر را ـ که در توزیع های مختلف محل آن اندکی فرق می کند ـ دنبال کنید یا از کلیدهای ترکیبی Ctrl + Alt + T برای فراخواندن آن بهره بگیرید.
در محیط گنوم و یونیتی (مانند اوبونتو)
Applications menu > Accessories > Terminal
در محیط Xfce (مانند زوبونتو)
Applications menu > System > Terminal
در محیط KDE (مانند کوبونتو)
KMenu > System > Terminal Program (Konsole)
در محیط LXDE (مانند لوبونتو)
Menu > Accessories > LXTerminal
http://www.up.vatandownload.com/imag...zhshztgob3.png
---------- Post added at 01:40 PM ---------- Previous post was at 01:20 PM ----------
دستورهایی که به پیکربندی سیستم مربوط می شوند یا سطح دسترسی بالا(مدیر سیستم) را نیاز دارند، بایستی با sudo شروع شوند. این دستور، هم چنین مجوز دسترسی به مسیرها و فایل هایی را که شما با یک اکانت ممکن است نداشته باشید، را به طور موقت تا سطح اجرایی کاربر ریشه(root user) بالا می برد. وقتی دستور sudo را به کار می برید، بی درنگ از شما پسورد ریشه ی سیستم یا همان پسورد اکانت مدیر سیستم پرسیده می شود. پسورد را تایپ کنید که عموماً در صفحه ی ترمینال چیزی تایپ نمی شود. اما شما پسورد را به درستی تایپ کرده و اینتر کنید. تنها کاربران با سطح دسترسی root می نوانند از این دستور استفاده کنند.
توضیح بیشتر:
دراوبونتو اکانت ریشه یامدیر سیستم به دلایل امنیتی به طورپیش فرض قفل است. شمابرای نصب نرم افزار واساساْ هردستور پیکربندی بایدکاربرریشه باشید.دستور sudo برای شناسایی شمابه عنوان کاربرصاحب اکانت دراوبونتو استفاده میشود. توجه داشته باشیدکه sudo، پسورداکانت شمارا می طلبد نه root را، مگراینکه شما تنهاکاربری باشیدکه همان مدیر سیستم هستید وهردو پسوردتان یکی است و تغییراتی راهم دراین زمینه اعمال نکرده اید. دستور سودو، ناپایداراست وارتقامدیریت سیستم رافقط تاحد زمانی مشخصی که تعریف شده(20دقیقه، بیشتر یا کم تر)نگه خواهد داشت و پس از این زمان و یا با بستن ترمینال انقضا خواهد شد. با ویرایش فایل etc/sudoers/ می توانید این مقدار و نیز موارد دیگری را تغییردهید. اما توصیه اکید می شود که مقادیر را دستی تغییرندهید. به جای آن از visudo editor با اجرای دستور زیر استفاده کنید:
دستور زیر را برای راهنمایی بیش تر به کار گیرید:
راهنمای مناسبی در این مورد را میتوانید در آدرس زیر بیابید:
sudoers file 1
سودو دارای یک فرم گرافیکی هم می باشد که با اجرای دستور gksu یا gksudo در ترمینال محیط گنوم و kdesu در محیط KDE، باکس دیالوگ آن به نمایش در می آید.
می توانید با دستور sudo -i خود را کاربر ریشه نگه دارید. دستور sudo -i را اجرا کنید و پسورد کاربری خود را پس از این که در خواست کرد بدهید. خواهید دید که شناسه ی شما تغییر می کند.:
quark@HADRON:~$ => root@HADRON
باقی ماندن به عنوان کاربر root:
عبارت sudo su -l ویا sudo su راتایپ واجراکنید. همچنین دستورهای sudo -s و sudo -i معادل آن هستند. البته از لحاظ امنیتی توصیه نمی شود.
منبع: راهنمای ترمینال اوبونتو (دانستههایمان را به اشتراک بگذاریم)
دستور rsync ((گرفتن :پشتیبان backup ))
http://www.thegeekstuff.com/wp-conte...nc-command.png
دستور rsync برای بکاپ گیری در لینوکس استفاده میشه همچنین قابلیت synchronize دو فایل رو هم داره که این 2 فایل میتونن در یک کامپیوتر یا یکیشون در یک کامپیوتر رموت باشه
چند نکته خوب درمورد rsync
سرعت بالا : به دلیل این که اول 2 تا فایلو باهم مقایسه میکنه بعد فقط قسمت های تغییر کرده رو بروز یا تغییراتی درشون اءمال میکنه
امنیت : چون rsync از ssh برای برقراری ارتباط استفاده میکنه از امنیت بالایی برخورداره
مصرف پهنای باند کم : چون از فشرده سازی به صورت block by block استفاده میکند همیشه پهنای باند مصرفی از مقدار فایل تبادل شده کمتر است
در اخر هم پیشنیاز خاصی برای نصبش نیاز نیست
نصب :
برای نصب دستورات زیر رو بزنین
کد:
apt-get update
apt-get install rsync
شکل کلی دستور
کد:
$ rsync options source destination
Synchronize دو فلدر در یک کامپیوتر
کد:
$ rsync -zvr /var/opt/installation/inventory/ /root/temp
building file list ... done
sva.xml
svB.xml
.
sent 26385 bytes received 1098 bytes 54966.00 bytes/sec
total size is 44867 speedup is 1.63
$
-z بزای فشرده سازی
v- برای نشون دادن مراحل کار
r- indicates recursive
حالا اگه ls -l هردو فایلو بگیرین میبینین که پرمیشن ها ثابت مانده اند ولی زمان ساخته شدن فایلا تغییر کردن
کد:
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r--r--r-- 1 bin bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r--r--r-- 1 root bin 949 Sep 2 2009 /root/temp/sva.xml
برای این که زمان ساخته شدن فایلا تغییر نکند از a- استفاده کنین
کد:
$ rsync -azv /var/opt/installation/inventory/ /root/temp/
building file list ... done
./
sva.xml
svB.xml
.
sent 26499 bytes received 1104 bytes 55206.00 bytes/sec
total size is 44867 speedup is 1.63
$
حالا اگه خروجی ls -l رو نگاه کنین میبینین که زمان ساخته شدن فایلها بعد از بکاپ گیری یکی هستش
کد:
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml
-r--r--r-- 1 root bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml
-r--r--r-- 1 root bin 949 Jun 18 2009 /root/temp/sva.xml
Synchronize فقط یک فایل که عمل کپی کردن یک فایل به فلدر دیگر رو انجام میده
کد:
$ rsync -v /var/lib/rpm/Pubkeys /root/temp/
Pubkeys
sent 42 bytes received 12380 bytes 3549.14 bytes/sec
total size is 12288 speedup is 0.99
Synchronize کردن فایل از کامپیوتر local به کامپیوتر remote
local : کامپیوتری که شما الان باهاش کار میکنین ((کامپیوتر محلی))
remote : کامپیوتری که در دور دست هستش
کد:
$ rsync -avz /root/temp/ thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/
Password:
building file list ... done
./
rpm/
rpm/Basenames
rpm/Conflictname
sent 15810261 bytes received 412 bytes 2432411.23 bytes/sec
total size is 45305958 speedup is 2.87
برای انجام این کار احتیاج به username وIP address سیستم رموت و همچنین ادرس فایل در سیستم رموت که شکل کلی به این شکل میشه
کد:
username@machinename:path
path : ادرس دایرکتوری در سیستم رموت
که در دستور بالا به این شکل بود : thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/
/root/temp/ : ادرس فایل های ارسالی از لوکال به سرور
Synchronize سیستم رموت به سیستم خانگی
کد:
alieblice@alieblice-desktop:~$ sudo rsync -avz root@172.16.49.128:/var/www/Videos /home/reza
[sudo] password for alieblice:
root@172.16.49.128's password:
receiving incremental file list
created directory /home/reza
Videos/
Videos/.htaccess
Videos/Oggy.001.avi
Videos/Oggy.002.avi
Videos/Oggy.003.avi
Videos/Oggy.004.avi
Videos/Oggy.005.avi
sent 129 bytes received 347205008 bytes 10063917.01 bytes/sec
total size is 350419831 speedup is 1.01
alieblice@alieblice-desktop:~$
root@172.16.49.128:/var/www/Videos : ادرس سیستم رموت
/home/reza : ادرسی که میخایم فایلا از رموت تو کامپیوتر لوکال شخصی ذخیره شود
دیدن اطلاعاتی در مورد انتقال هر فایل
برای این کار از progress-- استفاده کنین
کد:
alieblice@alieblice-desktop:~$ sudo rsync --progress -avz root@172.16.49.128:/var/www/Videos /home/reza
root@172.16.49.128's password:
receiving incremental file list
Videos/
Videos/Oggy.001.avi
70811648 100% 17.25MB/s 0:00:03 (xfer#1, to-check=4/7)
Videos/Oggy.002.avi
70343454 100% 11.02MB/s 0:00:06 (xfer#2, to-check=3/7)
Videos/Oggy.003.avi
70598656 100% 13.04MB/s 0:00:05 (xfer#3, to-check=2/7)
Videos/Oggy.004.avi
69273600 100% 14.00MB/s 0:00:04 (xfer#4, to-check=1/7)
Videos/Oggy.005.avi
69392384 100% 12.04MB/s 0:00:05 (xfer#5, to-check=0/7)
sent 110 bytes received 350537798 bytes 12746833.02 bytes/sec
total size is 350419831 speedup is 1.00
alieblice@alieblice-desktop:~$
ممکنه وقتی که 2 فایلو باهم دارین synce میکنین یکسری فایل در فلدر ی که دارین بکاپ هارو توش ذخیره میکنین ((target )) وجود داشته باشه که در فلدر اصلی ((source)) که ازش بکاپ میگیرین نباشه حالا اگه بخاین که فایلای اضافی که در target بودنو پاک کنین از delet-- استفاده کنین
ls فولدر source
کد:
root@debian:/var/www/Videos# ls
Oggy.003.avi Oggy.004.avi Oggy.005.avi
ls فلدر target
کد:
alieblice@alieblice-desktop:~$ ls /home/reza/Videos
Oggy.001.avi Oggy.002.avi Oggy.003.avi Oggy.004.avi Oggy.005.avi
alieblice@alieblice-desktop:~$
کد:
alieblice@alieblice-desktop:~$ sudo rsync --progress --delete -avz root@172.16.49.128:/var/www/Videos /home/reza
root@172.16.49.128's password:
receiving incremental file list
deleting Videos/Oggy.002.avi
deleting Videos/Oggy.001.avi
Videos/
Videos/Oggy.005.avi
69392384 100% 16.48MB/s 0:00:04 (xfer#1, to-check=0/5)
sent 34 bytes received 69415891 bytes 9255456.67 bytes/sec
total size is 209264729 speedup is 3.01
alieblice@alieblice-desktop:~$
ممکنه فقط بخاین فایلایی که با کلمه خاصی شروع میشن رو بکاپ بگیرین
که برای این کار از include-- و exclude-- استفاده کنین
--include 'P*' : فایلایی که با P شروع میشن رو بکاپ بگیر
--exclude '*' : تمام فایلای دیگر رو در نظر نگیر
کد:
$ rsync -avz --include 'P*' --exclude '*' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ... done
./
Packages
Providename
Provideversion
Pubkeys
sent 129 bytes received 10286798 bytes 2285983.78 bytes/sec
total size is 32768000 speedup is 3.19
محدودیت حجمی
برای ایجاد محدودیت حجمی میتونین از
کد:
--min-size=SIZE :فقط فایلایی که حجمشون از مقدار در نظر گرفته شده بیشتر است رو انتقال بده
--min-size=SIZE : فقط فایلایی که حجمشون از مقدار در نظر گرفته شده کمتر است رو انتقال بده
دستور زیر فایلای زیر 100 کیلوبایت رو انتقال میده
M for megabytes and G for gigabytes K for kilobyte
کد:
$ rsync -avz --max-size='100K' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ... done
./
Conflictname
Group
Installtid
Name
Sha1header
Sigmd5
Triggername
sent 252 bytes received 123081 bytes 18974.31 bytes/sec
total size is 45305958 speedup is 367.35
rsync خیلی گسترده هستش و پایه اساس خیلی از نرم افزارای بکاپ گیری لینوکس و ویندوز هستش
برای دیدن کامل کارایی که rsync میتونه انجام بدهد به man یا helpش مراجعه کنین
نسخه گرافیکی مختلفی برای لینوکس و ویندوز داره که از ادرس زیر میتونین ببینین
کد:
http://en.wikipedia.org/wiki/Rsync
منبع : How to Backup Linux? 15 rsync Command Examples
چند مثال دیگه تو منبع هست که نگفتم
دستور wget ((دانلود منیجر تحت ترمینال))
http://www.thegeekstuff.com/wp-conte...es-300x257.png
wget یک دانلود منیجر تحت ترمینال هستش که که اپشن های زیادی هم داره که به واسطه همونا در موقعیت های مختلف دانلود کردن میشه ازش استفاده کرد
برای پیدا کردن اطلاعات کاملی در مورد دانلود منیجر های لینوکسی به این ادرس برید
کد:
دانلود منیجرهای دنیای لینوکس
http://linuxreview.ir/1390/01/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%D9%85%D9%86%DB%8C%D8%AC%D8%B1%D9%87%D8%A7%DB%8C-%D8%AF%D9%86%DB%8C%D8%A7%DB%8C-%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3/
شکل کلی دستور
کد:
wget [OPTION]... [URL]...
دانلود کردن یک فایل
برای دانلود کردن یک فایل دستور wget رو بنویسین و در ادامش url ((ادرس فایل مورد نظر )) تونو بنویسین مثلا :
کد:
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
نکته : دستور wget رو در هر دایرکتوری که بزنین فایل در همون دایرکتوری ذخیره میشه
توضیح دستور بالا :
٪ مقدار درصد فایل که دانلود شده در زیر 31% فایل دانلود شده
مقدار بایت فایل دانلو شده که در ادامه فلش میاد که در زیر 1,213,592 است
سرعت دانلود کردن که در زیر 68.2K/s است
مقدار زمان باقی مانده تا اتمام دانلود فایل که در زیر 34s است
درحال دانلود شدن
کد:
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Saving to: `strx25-0.9.2.1.tar.bz2.1'
31% [=================> 1,213,592 68.2K/s eta 34s
اتمام دانلود
کد:
$ wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Saving to: `strx25-0.9.2.1.tar.bz2'
100%[======================>] 3,852,374 76.8K/s in 55s
2009-09-25 11:15:30 (68.7 KB/s) - `strx25-0.9.2.1.tar.bz2' saved [3852374/3852374]
دانلود کردن چندین فایل به وسیله ی لیست ادرس ها
برای این کار لیست ادرس های خود را داخل یک فایل متنی ذخیره کنید و دستور wget رو به همراه اپشن i- استفاده کنین
کد:
$ wget -i download-file-list.txt
نکته : ادرس هاتون باید یه شکل زیر باشه یعنی در هر خط یک url قرار بدین و url بعدی زیر خط بالایی
کد:
$ cat > download-file-list.txt
URL1
URL2
URL3
URL4
دانلود کردن وذخیره کردن با اسمی متفاوت
به طور پیش فرض wget اسم فایلو از اخرین کلمه بعد از اسلش (( / )) بر میداره
برای این کار از اپشن O- (( اوو بزرگ))
کد:
wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
دربالا اگه از اپشن O- استفاده نکنین فایل با اسم download_script.php?src_id=7701 ذخیره می شود و اگر استفاده کنین با اسم taglist.zip ذخیره میشود
محدودیت سرعت در دانلود
برای این کار از اپشن limit-rate=NUMBER-- استفاده کنین مثلا در زیر محدودیت 200 کیلپبایت میزاریم
کد:
$ wget --limit-rate=200k http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
ادامه دادن دانلود فایل ناقص دانلود شده
برای این کار از c- استفاده کنین
کد:
$ wget -c http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
نکته مهم : دستور بالا رو باید در همون دایرکتوری که فایلتونو بار اول زدین و ناقص دانلود کردین بزنین تا فایلتون که به صورت ناقص هست به وسیله wget پیدا بشه در غیر این صورت از اول شروع به دانلود میکند
اگر فایلی رو خاستین دانلود کنین که یک فایل دیگه هم اسمش وجود داره به اخر فایلی که شما دانلود میکنین یک 1- اضافه میکنه اگه همون اسم با 1- وجود داشت 2- اضافه میکند
دانلود کردن در پشت صحنه :
برای این کار از b- استفاده کنین
نکته : در این حالت با دستور fg نمیتونین wget رو به روی صفحه بیارین اگر دستور jobs هم بزنین میبینین که خبری از wget نیست
کد:
$ wget -b http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
Continuing in background, pid 1984.
Output will be written to `wget-log'.
در این حالت wget اطلاعات رو در یک فایل ذخیره میکند که همون طور که در بالا میبینین اسم اون فایل wget-log است
برای دیدن فایل به صورت on time از دستور tail استفاده کنین
کد:
$ tail -f wget-log
Saving to: `strx25-0.9.2.1.tar.bz2.4'
0K .......... .......... .......... .......... .......... 1% 65.5K 57s
50K .......... .......... .......... .......... .......... 2% 85.9K 49s
100K .......... .......... .......... .......... .......... 3% 83.3K 47s
150K .......... .......... .......... .......... .......... 5% 86.6K 45s
200K .......... .......... .......... .......... .......... 6% 33.9K 56s
250K .......... .......... .......... .......... .......... 7% 182M 46s
300K .......... .......... .......... .......... .......... 9% 57.9K 47s
دانلود کردن یک سایت به صورت کامل
از دستور زیر به همراه اپشناش استفاده کنین
شکل کلی :
کد:
$ wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
مثال :
کد:
wget --mirror -p --convert-links -P /tmp http://forum.ubuntu.ir/index.php/topic,17561.0.html
ادرس http://forum.ubuntu.ir/index.php/topic,17561.0.html دانلود میکنپ ودر فایل tmp/ ذخیره میکند
توضیح دستور بالا : ((ترجمش با خودتون ))
کد:
–mirror : turn on options suitable for mirroring.
-p : download all files that are necessary to properly display a given HTML page.
–convert-links : after the download, convert the links in document for local viewing.
-P ./LOCAL-DIR : save all the files and directories to the specified directory.
چند مثال مفید دیگه هم در منبع بود که من نگفتم
منبع : The Ultimate Wget Download Guide With 15 Awesome Examples
ساختن کاربر ((user)) و پاک کردن و ایجاد بعضی محدودیت ها
http://alieblice.persiangig.com/imag...er-actions.jpg
برای ساختن user چندین تا دستور وجود داره که این جا برای ساختن user دستور
useradd
adduser
داریم و برای پاک کردن user
deluser
userdel
داریم
حالا اگه بخایم که برای یک کاربر محدودیت زمانی و بعضی محدودیتای دیگه بزاریم از دستور
usermod
استفاده میکنیم
useradd
برای ساختن یک کاربر
با این دستور کاربر tia ساخته میشه
برای ساختن یک کاربر به همراه home دایرکتوریش
حالا اگه خروجی home دایرکتوریرو بگیرین میبینین که فلدر tia ساخته شده
ساختن کاربر و اضافه کردن اون به لیست کاربرای یک گروه
با این دستور کاربر tia ساخته میشه و به گروه student اضافه میشه
کد:
useradd -g student tia
ساختن کاربر و مشخص کردن ادرس home دایرکتوری
با این دستور کاربر tia ساخته میشه و home دایرکتوریش هم میشه ادرسه /var/www/LILI
کد:
useradd tia -d /var/www/LILI
adduser
برای ساختن کاربر و دادن هم زمان بعضی اطلاعات مثل شماره تلفن و غیره
کد:
root@debian:/# adduser tia
Adding user `tia' ...
Adding new group `tia' (1009) ...
Adding new user `tia' (1008) with group `tia' ...
The home directory `/home/tia' already exists. Not copying from `/etc/skel'.
adduser: Warning: The home directory `/home/tia' does not belong to the user you are currently creating.
Enter new UNIX password:
Retype new UNIX password:
Sorry, passwords do not match
passwd: Authentication token manipulation error
passwd: password unchanged
Try again? [y/N] y
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for tia
Enter the new value, or press ENTER for the default
Full Name []: tia dada
Room Number []: 1122
Work Phone []: 1212121212
Home Phone []: 121212121
Other []: blablanla
Is the information correct? [Y/n] y
root@debian:/#
اضافه کردن کاربر tia به گروه student
کد:
root@debian:/# adduser tia student
Adding user `tia' to group `student' ...
Adding user tia to group student
Done.
deluser
دستور deluser برای پاک کردن کاربرا هستش
پاک کردن کاربر tia
کد:
root@debian:/# deluser
Enter a user name to remove: tia
Removing user `tia' ...
Warning: group `tia' has no more members.
Done.
root@debian:/#
بعضی اپشن ها
برای پاک کردن home دایرکتوری
برای پاک کردن تمام فایلایی که کاربر مورد نظر صاحبشونه
برای پشتیبان گیری از فایلای اون کاربر قبل از پاک کردن
userdel
برای پاک کردن کاربر به همراه دایرکتوری خانه
usermod
دستور usemod برای گذاشن محدودیت برای یک کاربر هسنش
برای قفل کردن کاربر
برای باز کردن قفل کاربر
-d
برای تعیین تاریخ برای از کار افتادن کاربر
-s
برای تعیین شل کاربر
کلا تنضیماتش خیلی نیست با --help میتونین تنضیماتشو ببینین اکثرشم احتیاج به توضیح نداره
chage
این دستور هم برای گذاشتن یک سری دیگه از محدودیت ها استفاده میشه
برای گذاشتن محدودیت های دیگه ای مثل تعداد پروسس با حد اکثر تعداد login ها و غیره میتونین از فلدر
/etc/security
استفاده کنین
برای دیدن کاربرای online هم میتونین از دستور
who
یا
w
کنین
گرفتن image iso در ترمینا
گرفتن ایمیج :
کد:
sudo dd if=/dev/cdrom of=cd.iso
کد:
sudo dd if=/dev/dvd of=dvd.iso
مونت کردن Mounting an image
کد:
mkdir -p /mnt/isoimage
کد:
mount -o loop -t iso9660 cd.iso /mnt/isoimage
Unmount
کد:
umount -lf /mnt/isoimage
پی نوشت: اگه دو تا سیدی رام یا دیوی دی رام دارین
/dev/cdrom می شه اولی /dev cdrom1 می شه دومی یا /dev/dvd و /dev/dvd1
منبع : راهنمای ترمینال اوبونتو (دانستههایمان را به اشتراک بگذاریم)
دستور blkid (پیدا کردن اطلاعاتی در مورد درایو ها )
http://alieblice.persiangig.com/imag...-GParted-2.png
دستور blkid بارای پیدا کردن اطلاعاتی در مورد درایو ها از جمله اسم , نوع فایل سیستم , UUID , و ... استفاده میشود
شکل کلی دستور
کد:
blkid [ -hlv ] [ [ -c cachefile ] -w writecachefile ] [ -o format ] [ -s tag ] [ -t NAME=value ] [ device ... ]
برای این که ببینین چه درایو هایی روی سیستمتون وجود داره دستورو به تنهایی بزنین
دستورو به همراه sudo بزنین
کد:
root@172.16.49.20:/# blkid
/dev/sda1: UUID="eb51f2cf-636e-49a0-8ed5-31daee03f0f9" TYPE="ext3" LABEL="LILI"
/dev/sda5: UUID="ccc497b8-da19-4965-b96f-2c0d44332025" TYPE="swap"
همون طور که در بالا میبینین 2 درایو وجود دارد که ادرساشون :
/dev/sda1
/dev/sda5
هستش که sd اولشون نشان دهنده این هست که از نوع هارد های sata هستن
LABEL="LILI" : اسم درایو رو میگه
TYPE="ext3" و TYPE="swap" نوع فرمت درایو رو میگه
اپشن o-
به وسیله ی این اپشن می تونین خروجی دستورو بر اساس فرمت های مختلف ببینین که به صورت پیش فرض full هستش
value, device, list, udev or full))
list
کد:
root@172.16.49.20:/# blkid -o list
device fs_type label mount point UUID
----------------------------------------------------------------------------------------------------------------
/dev/sda1 ext3 LILI / eb51f2cf-636e-49a0-8ed5-31daee03f0f9
/dev/sda5 swap <swap> ccc497b8-da19-4965-b96f-2c0d44332025
udev
کد:
root@172.16.49.20:/# blkid -o udev
ID_FS_UUID=eb51f2cf-636e-49a0-8ed5-31daee03f0f9
ID_FS_UUID_ENC=eb51f2cf-636e-49a0-8ed5-31daee03f0f9
ID_FS_TYPE=ext3
ID_FS_LABEL=LILI
ID_FS_LABEL_ENC=LILI
ID_FS_UUID=ccc497b8-da19-4965-b96f-2c0d44332025
ID_FS_UUID_ENC=ccc497b8-da19-4965-b96f-2c0d44332025
ID_FS_TYPE=swap
value
کد:
root@172.16.49.20:/# blkid -o value
eb51f2cf-636e-49a0-8ed5-31daee03f0f9
ext3
LILI
ccc497b8-da19-4965-b96f-2c0d44332025
swap
به وسیله ی دستور blkid میتونین lable یا UUID یک درایو رو به device name تبدیل کنین
کد:
root@172.16.49.20:/# blkid -L LILI
/dev/sda1
root@172.16.49.20:/# blkid -U eb51f2cf-636e-49a0-8ed5-31daee03f0f9
/dev/sda1
root@172.16.49.20:/#
موضوعات مرتبط :
۵ روش برای شناسایی فایل سیستم
راهنمای ترمینال اوبونتو (دانستههایمان را به اشتراک بگذاریم)
فشرده سازی در لینوکس (قسمت اول 1) -* دستور zip *-
http://up.iranblog.com/images/76qkhuvxf44ome7arltt.jpg
تقریبا اطمینان دارم که همه میدونن zip چی هستش پس خیلی توضیح نمیدم
zip یک فرمت فشرده سازی هستش که با اون مبشه یک یا چند فایل و یا دایرکتوری را zip فشرده کرد که باعش کم شدن حجم میشود
فایلی که با zip فشرده بشود در اخر اسم ان کلمه zip قرار میگیرد که نشانه فرمت اون هست
اطلاعات بیشتر که zip چی هست : ZIP (file format) - Wikipedia, the free encyclopedia
بزای فشرده کردن یک فایل که اسم اون مشخص هستش دستور به شکل زیر میشود
کد:
tia@alieblice-desktop:~/com$ zip 1.zip 1.jpeg
adding: 1.jpeg (deflated 0%
)
1-در بالا فایل 1.jpeg رو به فرمت zip دز میاریم و با اسم 1.zip ذخیره میکنیم (( اول اسمی که میخایم فایل ذخیره بشه و بعد ادرس فایل مورد نظر ))
2- در بالا در هر دایرکتوری که باشیم فایل فشرده در همون جا ذخیره میشه . اگه دوست داشتین میتونین ادرس بدین به هش
مثلا در زیر فایل رو در /home/tia ذخیره میکنیم
کد:
zip /home/tia/1.zip /var/www/1.jpeg
هم زمان میتونین چندین تا فایل هم بدین که دستور به این شکل میشه
کد:
zip archivefile1 doc1 doc2 doc3
اگه خاستین تمام فایل های داخل دایرکتوری فشرده بشن از * استفاده کنین
نکته : در بالا دایرکتوری های داخل دایرکتوری ها فشرده نمیشن برای این کار از r- استفاده کنین(( This copies the current directory, including all subdirectories into the archive file)).
کد:
zip error: Nothing to do! (/home/tia/1.zip)
tia@alieblice-desktop:~/com$ zip -r ggg.zip *
adding: 1.jpeg (deflated 0%)
adding: 1.zip (stored 0%)
adding: 2.flv (deflated 3%)
adding: limit-3 (deflated 76%)
adding: untitled folder/ (stored 0%)
adding: untitled folder/limit-3 (deflated 76%)
adding: untitled folder/untitled folder/ (stored 0%)
نکته : در بالا فایل هایی که اولشون با نقطه شروع میشه ((فایل های مخفی)) فشرده نمیشوند برای این که اون ها هم فشرده شوند دستور به این شکل میشه
کد:
zip archivefile1 .* *
سطح فشرده سازی
در zip ر 9 سطح فشرده سازی دارسم (-0, -1, -2, -3, -4, -5, -6, -7, -8, -9) داریم که 9 بالا ترین و صفر اصلا فشرده نمیکنه و به طور پیش فرض روی 6 هستش
کد:
zip -r -9 /home/tia/padmins3.zip *
گذاشتن رمز
گذاشتن رمز به 2 صورت انجام میشه یک با اپشن e- و دیگری با اپشن P- ((پی بزرگ )) که فرق این 2 تا اینه که در p- باید رمز رو در دستور بنویسین ولی با e- رمزو خودش میپرسه
کد:
tia@alieblice-desktop:~/com$ zip -r -9 -P @LiebL1C3 /home/tia/padmins3.zip 1.jpeg
updating: 1.jpeg (deflated 0%)
tia@alieblice-desktop:~/com$
tia@alieblice-desktop:~/com$ zip -r -9 -e /home/tia/padmins3.zip 1.jpeg Enter password:
Verify password:
updating: 1.jpeg (deflated 0%)
tia@alieblice-desktop:~/com$
اپدیت کردن فایل zip
اگه یک فایل دارین از یک دایرکتوری و به اون دایرکتوری چیزی اضافه شده و میخاین که اونا رو هم به اون فایل zip اضافه کنین از u- میتونین استفاده کنین که عمل اپدیت کردنو انجام میده ((فقط فایلایی که اضافه شدن رو به فایل zip اضافه میکنه و فایلی که کم شده باشه از فایل zip پاک نمیکنه))
کد:
tia@alieblice-desktop:~/com$ zip test.zip *
adding: 1.jpeg (deflated 0%)
adding: 1.zip (stored 0%)
adding: 2.flv (deflated 3%)
adding: ggg.zip (stored 0%)
adding: limit-3 (deflated 76%)
adding: untitled folder/ (stored 0%)
tia@alieblice-desktop:~/com$ zip -u test.zip *
adding: oo-presenting-kubuntu-fa.pdf (deflated 11%)
tia@alieblice-desktop:~/com$
unzip
برای از فشرده دراوردن فایل های zip از دستور unzip استفاده کنین
مثلا برای از فشرده دراوردن فایل letter
در این حالت فایل ها در همون دایرکتوری که هستین از فشره در میاد
اگه هم اسم فایل وجود داشته باشه از شما سوال میپرسه که چه کاری انجام بده
کد:
ali@172.16.15.133:~$ unzip -j syslog.save.zip
Archive: syslog.save.zip
replace syslog.save? [y]es, [n]o, [A]ll, [N]one, [r]ename: ^Cali@172.16.15.133:~$
ali@172.16.15.133:~$
ali@95-168-161-82:~$ unzip syslog.save.zip
Archive: syslog.save.zip
replace syslog.save? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: syslog-01
extracting: syslog-01
ali@172.16.15.133
:~$
برای از فشرده دراوردن تمام فایل های zip داخل دایرکتوری از این دستور استفاده کنین
باز کردن فایل zip از حالت فشرده در محل دیگری :
برای این کار از d- استفاده کنین
کد:
PersianAdmins:~# unzip padmins.zip -d /padmins/
Archive: padmins.zip
[padmins.zip] ali/ password:
creating: /padmins/ali/
creating: /padmins/ali/navid/
extracting: /padmins/ali/navid/reza
extracting: /padmins/file1.txt
inflating: /padmins/file2.txt
PersianAdmins:~#
اطمینان از سالم بودن فایل zip
روش اول
کد:
ali@172.16.15.133:~$ unzip -tq syslog.save.zip
No errors detected in compressed data of syslog.save.zip
.
روش دوم
کد:
ali@172.16.15.133:~$ unzip -t test.zip
Archive: test.zip
testing: wtmp OK
testing: syslog.save OK
No errors detected in compressed data of test.zip.
از فشرده در اوردن یک فایل خاص از داخل فایل zip
کد:
ali@172.16.15.133:~$ zip test.zip wtmp syslog.save
adding: wtmp (deflated 96%)
adding: syslog.save (stored 0%)
ali@172.16.15.133:~$
ali@172.16.15.133:~$ unzip test.zip wtmp -d /home/ali/
Archive: test.zip
replace /home/ali/wtmp? [y]es, [n]o, [A]ll, [N]one, [r]ename: r
new name: wtmp-2
inflating: /home/ali/wtmp-2
بدست آوردن اطلاعاتی در مورد فایل ها و دایرکتوری های موجود در فایل zip :
کد:
ali@172.16.15.133:~$ unzip -v test.zip
Archive: test.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
427392 Defl:N 16218 96% 2011-03-27 12:23 8be4c72a wtmp
1 Stored 1 0% 2011-03-26 10:44 32d70693 syslog.save
-------- ------- --- -------
427393 16219 96% 2 files
منابع : Example uses of the Linux Command unzip
http://persianadmins.ir/v2/articles/...-on-linux.html
روش ها ی خاموش کردن لینوکس
برای خاموش کردن لینوکس 4 روش وجود داره که هرکدوم مقداری تفاوت با هم دارن مثلا یکی زود تر خاموش میکنه یا یکی به صورت اصولی خاموش میکنه یا یکی همین جوری یک دفعه ای سیستمو میبره پایین .
کد:
1- shutdown
2- init 0 یا telinit 0
3- halt
4- poweroff
1- shutdown
شکل کلی دستور به این شکل هست
کد:
shutdown [-akrhPHfFnc] [-t sec] time [warning message]
چند مثال
خاموش کردن کامپیوتر قبل از نصفه شب
خاموش کردن در همین لحظه
خاموش کردن در 25 دقیقه اینده
در دستورای بالا به جای -h که همون دستور halt رو صدا میزنه اگه از -r استفاده کنین کار ریستارت کردنو میکنه
init 0
دستور init یا telinit مربوط به تغییر runlevel ها میشه که 0 برای خاموش کردن و 6 برای ریستازت کردن هستش
برای خاموش کردن
یا
برای ریستارت کردن عدد صفر در دستورای بالا رو به عدد 6 نغییر بدین
halt
دستور halt اسم دیگه runlevel 0 هستش که همون کار خاموش کردنو میکنه
برای خاموش کردن سیستم فقط لازم دستور halt رو بزنین
خطر
اگه دستور halt رو با -f و -p بزنین مثل کشیدن کابل برق عمل میکنه ! خطر
دستور بالا تو سیستم های مجازی مثل freez کردن عمل میکنه سیستمو خاموش نمیکنه تو vmware player که این جوری بود .
poweroff
اگه خروجی help-- دو دستور halt و poweroff رو بگیرین می بینین که هردوشون مثل همن
برای خاموش کردن سیستم
دستور
خطر
بالا هم برای poweroff صدق میکنه
منبع : راهنمای ترمینال اوبونتو (دانستههایمان را به اشتراک بگذاریم)
کرنل و سی پی یو 32 bit یا 64 bit !!
http://static.macgeneration.com/img/...525-230946.jpg
کرنل 32 یا 64 ::
استفاده از دستور uname -a برای فهمیدن 32 بیت یا 64 بیت بودن
اگه در خروجی دستورتون کلمه ی x86_64 بود یعنی کرنل سیستم شما 64 بیت است
اگه در خروجی دستورتون یکی از کلمات i386/i486/i586/i686 بود یعنی کرنل شما 32 بیت است
دستور زیر یک نمونه کرنل 64 بیت رو نشون میده
کد:
$ uname -a
Linux ora100 2.6.5-7.252-smp #1 SMP Tue Feb 14 11:11:04 UTC 2006 x86_64 x86_64 x86_64 GNU/Linux
cpu 32 یا 64 ::
استفاده از /proc/cpuinfo
این دستورو داخل ترمینال بزنین تا اطلاعات cpu شما رو نشون بده که از داخل اون اطلاعات 32 یا 64 بیت بودن cpuتونو می تونین بفهمین
این دستورو در ترمینال بزنین که اگر در خروجیش کلمه ی lm بود شما cpu 64 بیت دارین
کد:
$ grep flags /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
دستور lscpu هم هست که اطلاعات کاملی از cpu در اختیارتون قرار میده ((تجزیه تحلیل دستورش با خودتون ))
کد:
ali@172.16.15.149:~$ lscpu
Architecture: i686
CPU op-mode(s): 64-bit
CPU(s): 1
Thread(s) per core: 1
Core(s) per socket: 1
CPU socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 44
Stepping: 2
CPU MHz: 2127.777
Hypervisor vendor: Microsoft
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 12288K
منبع : HowTo: Is My Linux Kernel (and CPU) 32-Bit or 64-Bit?
۵ روش برای شناسایی فایل سیستم
روش برای شناسایی فایل سیستم
df -T
کد:
rf@Aref-Ubuntu:~$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 28868732 818088 26584176 3% /
none devtmpfs 505400 688 504712 1% /dev
none tmpfs 512008 356 511652 1% /dev/shm
none tmpfs 512008 224 511784 1% /var/run
none tmpfs 512008 0 512008 0% /var/lock
/dev/sda5 ext4 68246080 30481724 34297656 48% /home
/dev/sda6 ext4 16339372 3596348 11913024 24% /usr
/dev/sdb1 vfat 1003584 937464 66120 94% /media/Receiver Fl
-T در فرمان df نوع فایل سیستم را مشخص میکند.
Mount command
از دستور mount به شکل زیر استفاده کنید:
کد:
rf@Aref-Ubuntu:~$ mount | grep "^/dev"
/dev/sda1 on / type ext4 (rw,errors=remount-ro,commit=0)
/dev/sda5 on /home type ext4 (rw,commit=0)
/dev/sda6 on /usr type ext4 (rw,commit=0)
/dev/sdb1 on /media/Receiver Fl type vfat (rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush)
file command
با استفاده از دسترسی root از فرمان file به شکل زیر استفاده کنید. توجه شود که نام device مورد نظر باید به دستور داده شود.
کد:
rf@Aref-Ubuntu:~$ sudo file -sL /dev/sda1
[sudo] password for rf:
/dev/sda1: Linux rev 1.0 ext4 filesystem data, UUID=83c2ae51-5ab2-4380-bbc8-910f8148a288 (needs journal recovery) (extents) (large files) (huge files)
مشاهده فایل /etc/fstab
اگر یک mountpoin مشخص، طوری تنظیم شده باشد که هنگام بالا آمدن سیستم بخواهد mount شود، میتونیم نوع فایل سیستم اون رو تو fstab ببینیم.
استفاده از فرمان fsck
کد:
rf@Aref-Ubuntu:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 during installation
UUID=83c2ae51-5ab2-4380-bbc8-910f8148a288 / ext4 errors=remount-ro 0 1
/dev/sda5 /home ext4 defaults 0 2
/dev/sda6 /usr ext4 defaults 0 2
/dev/sda7 none swap sw 0 0
توجه شود که در این روش باید device مورد نظر مشخص شود:
کد:
rf@Aref-Ubuntu:~$ fsck -N /dev/sda1
fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/sda1
و در آخر اینکه اگر شما دسترسی root را ندارید، اما میخواهید که فایل سیستمتان را شناسایی کنید، از:
کد:
/sbin/fsck -N
استفاده کنید.
ممنون از همه دوستان عزیز
موفق باشید
منبع : راهنمای ترمینال اوبونتو (دانستههایمان را به اشتراک بگذاریم)
پاسخ : اموزش دستورات لینوکس به فارسی
http://alieblice.persiangig.com/image/cat-comman.png
دستور cat برایه خواندن و خروجی گرفتن استاندارد فایل ها ی متنی استفاده میشود ک ولی برایه هرنوع فایلی میتونین ازش استفاده کنین حتی برایه عکس ولی خروجیش نا مفهوم میشه
شکل کلی دستور
کد:
cat [OPTION]... [FILE]...
در مثال هایه زیر از یک فایل متنی به اسم sisi و با محتویات زیر استفاده شده است
کد:
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
Tree lines above this line is empty.
One lines above this line is empty.
And this is the last line.
اگه دستور cat رو به تنهایی بزنین خروجی مثل متن بالا رو نشون میده نه کم نه زیاد
کد:
alieblice@~/Desktop$ cat sisi.txt
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
Tree lines above this line is empty.
One lines above this line is empty.
And this is the last line.
alieblice@~/Desktop$
شماره گذاری خط ها
خط هارو به دو صورت میشه نام گذاری کرد
1- تمام خط ها یعنی هم خط هایه پر و هم خط هایه خالی بوسیله n-
خط هایه خالی یعنی خط هایه 4 ,5,6,8
مثال
کد:
alieblice@~/Desktop$ cat -n sisi.txt
1 THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
2 this line is the 1st lower case line in this file.
3 This Line Has All Its First Character Of The Word With Upper Case.
4
5
6
7 Tree lines above this line is empty.
8
9 One lines above this line is empty.
10 And this is the last line.
alieblice@~/Desktop$
2- فقط خط هایه پر رو شماره گذاری مکند یعنی خط هایه خالی رو شماره گذاری نمیکنه بوسیله b-
مثال:
کد:
alieblice@~/Desktop$ cat -b sisi.txt
1 THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
2 this line is the 1st lower case line in this file.
3 This Line Has All Its First Character Of The Word With Upper Case.
4 Tree lines above this line is empty.
5 One lines above this line is empty.
6 And this is the last line.
alieblice@~/Desktop$
نشانه گذاری پایان خط ها به وسیله E-
بوسیله این اپشن میتونین پایان هر خط رو با علامت ﷼ مشخص کنین
کد:
alieblice@~/Desktop$ cat -E sisi.txt
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.$
this line is the 1st lower case line in this file.$
This Line Has All Its First Character Of The Word With Upper Case.$
$
$
$
Tree lines above this line is empty.$
$
One lines above this line is empty.$
And this is the last line.$
alieblice@~/Desktop$
پاک کردن خط هایه خالی پشت سر هم بوسیله s- (( اس کوچک ))
اگه به متنی که اول اموزش گذاشته شده توجه کنید وسط متن 3 خط خالی پشت سر هم وجود داره که اگه بخاین اونارو حذف کنین و یک خطو نگه دارین از s- استفاده کنین
مثال :
کد:
alieblice@~/Desktop$ cat -s sisi.txt
THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE.
this line is the 1st lower case line in this file.
This Line Has All Its First Character Of The Word With Upper Case.
Tree lines above this line is empty.
One lines above this line is empty.
And this is the last line.
alieblice@~/Desktop$
همون طور که میبینین 3 خط به یک خط تبدیل شد
نکته :
اگه اسم چند فایلو پشت سر هم تو cat بیاریم همشونو پشت سر هم نشون میده
کد:
cat file1 file2 file3
چند دستور ترکیبی cat
اگه خروجی cat اونقدر زیاده که تو صفحه ترمینالتون جا نمیشه میتونین از این اپشن استفاده کنینی
با دستور زیر میتونین اطلاعات FILENAME رو به فایل جدید NEWFILENAME انتقال بدین
کد:
cat FILENAME > NEWFILENAME
نکته : اگه در دستور بالا فایل NEWFILENAME وجود داشته باشه پاک میشه و فایل جدیدی جاش ایجاد میشه اگه میخاین که این طور نشه و به ادامه اون فایل اضافه بشه از << استفاده کنین
کد:
cat FILENAME >> NEWFILENAME
ذخیره خروجی چندین تا فایل در یک فایل
کد:
cat file1 file2 file3 > file4
منابع :
pSeries and AIX Information Center
The cat Command
پاسخ : اموزش دستورات لینوکس به فارسی
دستور 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 هم قرار گرفت از ادرس بالا در دست رس است
پیشاپیش ممنون