0

دستورات لینوکس

 
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور blkid (پیدا کردن اطلاعاتی در مورد درایو ها )





دستور 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:/# 

** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:54 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور mount





دستور mount برای بالا اوردن یک درایو استفاده میشه که در فارسی هم همون موینت کردن میگن 
هر درایوی که شما در سیستمتون داشته باشین یک device name بهش تعلق میگیره که در فولدر /dev/میتونین اونا رو پیدا کنین مثلا 


کد:

dev/sda /dev/sda5 
برای بدست اوردن اطلاعاتب در مورد فایل سیستم درایوهاتون و پیدا کردن uuid , lable و device name به 2 اموزش زیر رجوع کنین
راهنمای ترمینال اوبونتو (دانسته‌هایمان را به اشتراک بگذاریم)
راهنمای ترمینال اوبونتو (دانسته‌هایمان را به اشتراک بگذاریم)

شکل کلی دستور 


کد:

mount [-alrsvw] [-t fstype] [-o options] [device] [mountpoint] 
mount کردن یک درایو به ساده ترین شکل
برای این کار احتیاج به device name اون درایو و یک محل برای مونت کردنش احتیاج داریم که به اون mount point میگن 
پس شکل کلی به این شکل میشه


کد:

mount device-name mount-point 
مثلا 
کد:

alieblice@ubuntu:~$ sudo blkid [sudo] password for alieblice: /dev/sda1: UUID="246dcfec-7380-48d3-942b-a5ba4c2e8882" TYPE="ext4" /dev/sda5: UUID="715fa349-8dd1-4104-bd70-9a31a6279749" TYPE="swap" /dev/sdb: UUID="d1a62327-4227-439b-81f9-4ef82027957b" TYPE="ext4" LABEL="New Volume" /dev/sdc1: UUID="5f1bb23f-3857-4e06-8bda-28e0cb6f61d3" TYPE="ext2" /dev/sdc5: UUID="b4637559-61e4-41ff-ae1c-667632393686" SEC_TYPE="ext2" TYPE="ext3" alieblice@ubuntu:~$ mount /dev/sdb /media/sdb mount: only root can do that alieblice@ubuntu:~$ sudo mount /dev/sdb /media/sdb alieblice@ubuntu:~$ 
دستور blkid برای دیدن دایو های موجود روی سیستمتون استفاده میشه که قبلا کامل توضیح داده شده 
همون طور که در بالا میبینین چندین تا دراییو وجود داره که ما درایو dev/sdb رو به /media/sdb موینت کردیم که /dev/sdb درواقع mount point مون بود
نکته : فلدر sdb باید از قبل در فولدر media موجود باشه در غیر این صورت ارور میده 
mountکردنو میتونین بر اساس label و uuid هم انجام بدین که دستور به این صورت میشه 
برای lable از L- استفاده کنین ((ال بزرگ))
label کد:

alieblice@ubuntu:~$ sudo mount -L New Volume mount: no such partition found alieblice@ubuntu:~$ sudo mount -L "New Volume" 
alieblice@ubuntu:~$ 
پیشنهاد میکنم همیشه اسم درایو رو بین "" قرار بدین تا به مشکل بر نخرین
در بالا mount point رو تعیین نکردم به این دلیل که داخل فایل /etc/fstab تنظیماتی رو انجام دادم (( در اخر اموزش در مورد فایل fstab توضیح دادم ))

uuid


کد:

alieblice@ubuntu:~$ sudo mount -U d1a62327-4227-439b-81f9-4ef82027957b /media/sdb 
توضیح بعضی اپشن ها 
a- : استفاده از a- باعث میشه که تمام درایو های لیست شده در فایل /etc/fstab موینت بشن ((دیگه لازم نیست دونه به دونه برای هرکدوم دستور موینت رو بنویسیم ))

r- : استفاده از r- باعث میشه تا درایومون به صورت read-only ((فقط قابل خواندن)) موینت بشه 
w- : با استفاده از w- درایوتون به صورت read and write ((قابل خواندن و نوشتن)) موینت میشود 
v- : اطلاعات بیشتری رو از مراحل موینت شدن درایو به شما میدهد
t- : با استفاده از t- میتونین نوع فایل سیستم مورد نظرتونو انتخاب کنین ((ext4 ,ext3 , .....))
L- و U- که به ترتیب برای موینت کردن بر اساس اسم و uuid هستش که در بالا مثالش زده شد 

o-
یک سری اپشن دیگر هستن که باید در ادامه o- بیان که در زیر تعدادیشون توضیح داده شده 

defaults : با عث میشه تا تنظیمات پیش فرض برای موینت کردن اون درایو استفاده بشه که در درجه اول تنظیمات داخل فایل /etc/fstab رو میخونه و اگر تنظیماتی نبود سراغ تنظیمات خودش میزه 

auto : با این اپشن میتونیم بگیم که در هنگام بوت شدن سیستم , این درایو هم موینت بشود یا در موقعی که از a- استفاده کردیم به عنوان اپشن , این درایو هم موینت بشود 

noauto : عکس کار auto رو انجام میده یعنی در موقع بوت شدن سیستم درایو رو موینت نکند و در موقع استفاده از اپشن a- موینت نشود 

user یا nouser : با استفاده از این 2 میتونیم به کاربران غیر روت اجازه دهیم که یک درایو رو بدون دست رسی به روت موینت کنن که معمولا همون کاربری که موینت کرده درایو رو میتونه unmount بکند .

اپشن بالا بیشتر برای درایو هایی مثل usb فلاپی و غیره استفاده میشه 

users : شبیه user با این تفاوت که هرکسی میتونه درایو رو unmount کند 

remount : بعضی اوقات پیش میاد که لازم میشه بدون این که یک درایوی unmount بشه تغییراتی روی اون درایو ایجاد کنیم مثلا تبدیلش کنیم به read-only در این مواقع میتونیم از این اپشن استفاده کنیم 

loop : فرض کنیم که یک فایل ایمیج داریم که میخایم اونو جوری موینتش کنیم که انگار یک درایو از hard disk مون بوده میتونیم از این اپشن استفاده کنیم مثلا


کد:

mount -t vfat -o loop image.img /mnt/image 
فایل image.img جوری موینت میکنه که انگار یک درایو یا یک هارد بوده 

ro :همون فقط قابل خوندن هستش 
rw :همون قابل خوندن و نوشتن هستش

چند مثال از اپشن های بالا 

کد:

alieblice@ubuntu:~$ sudo blkid /dev/sda1: UUID="246dcfec-7380-48d3-942b-a5ba4c2e8882" TYPE="ext4" /dev/sda5: UUID="715fa349-8dd1-4104-bd70-9a31a6279749" TYPE="swap" /dev/sdb: LABEL="New Volume" UUID="d1a62327-4227-439b-81f9-4ef82027957b" TYPE="ext4" /dev/sdc1: UUID="5f1bb23f-3857-4e06-8bda-28e0cb6f61d3" TYPE="ext2" LABEL="LILI" /dev/sdc5: UUID="b4637559-61e4-41ff-ae1c-667632393686" SEC_TYPE="ext2" TYPE="ext3" alieblice@ubuntu:~$ 
مثال :
در زیر یک درایو با فرمت ext2 و به همراه اپشن فقط قابل خواندن (r-) و همچنین توانایی unmount کردن درایو به وسیله ی هرکاربری(users) که اسم درایو LILI است رو به mount point به این ادرس /media/LILI موینت میکنیم 
کد:

alieblice@ubuntu:~$ sudo mount -v -r -t ext2 -o users -L LILI /media/LILI /dev/sdc1 on /media/LILI type ext2 (ro,noexec,nosuid,nodev) alieblice@ubuntu:~$ 
در مثال زیر همون درایو بالا رو بدون این که unmount کنیم از اپشن فقط قابل خواندن به قابل خواندن و نوشتن و همچنین قابلیت unmount کردنشو به وسیلهی هر کاربری میگیرم 
کد:

alieblice@ubuntu:~$ sudo mount -v -o remount -w -U 5f1bb23f-3857-4e06-8bda-28e0cb6f61d3 /dev/sdc1 on /media/LILI type ext2 (rw,noexec,nosuid,nodev) alieblice@ubuntu:~$ 
نکته ک برای 2 مثال بالا حتما نکته اخر اموزش رو هم بخونین

فایل /etc/fstab

فایل /etc/fstab از 6 قسمت تشکیل شده که شامل موارد زیر هستش 


کد:

#device mount point filesystem options dump fsck 
dump : یک نرم افزار backup گیر هستش که ازش استفاده میکنین میتونین مقدار رو به عدد یک تغییر بدین تا از درایوتون پشتیبان تهیه کند
pass یا fsck : لینوکس در زمان بوت شدن از نرمافزار fsck برای چک کردن فایل سیستم ها استفاده میکنه که اگه مقدارشو به عدد 1 تغییر بدین در هر بار بالا امدن فایل سیستم برای اون درایو رو چک میکنه 

در واقع شما میتونین همون اپشن هایی که در دستور mount مینوشتین رو در این فایل بنویسین تا هر بار نخواد دستورو از نو بنویسین و هم چنین ایجاد اپشن هایی مثل مونت شدن اتوماتیک در موقع بوت سیستم
مثال :
در زیر یک درایو با فرمت ext2 و به همراه اپشن فقط قابل خواندن (r-) و همچنین توانایی unmount کردن درایو به وسیله ی هرکاربری(users) که ادرس درایو /dev/sdc1 است رو به mount point به این ادرس /media/LILI و قابلیت موینت شدن خودکار در زمان بوت و قابلیت موینت کردن به وسیله ی کاربران عادی رو داخل فایل fstab مینویسیم 

# < کد:

file system> <mount point> <type> <options> <dump> <pass> /dev/sdc1 /media/LILI ext2 ro,users,user,auto 0 0 
نکته : در قسمت device میتونیم از lable و یا uuid هم استفاده کنیم که در مثال زیر نوع چگونگی نوشتنش رو میتونین ببینین

نمونه یک فایل fstab پیشرفته 
کد:

#device mount point filesystem options dump fsck /dev/sda1 / ext3 defaults 1 1 UUID=3631a288-673e-40f5-9e96-6539fec468e9 /usr reiserfs defaults 0 0 LABEL=/home /home reiserfs defaults 0 0 /dev/sdb5 /windows vfat uid=500,umask=0 0 0 /dev/cdrom /media/cdrom iso9660 users,noauto 0 0 /dev/sdb1 /media/usb auto users,noauto 0 0 server:/home /other/home nfs users,exec 0 0 //winsrv/shr /other/win cifs users,credentials=/etc/creds 0 0 /dev/sda4 swap swap defaults 0 0 
نکته مهم :

بعضی اوقات در دستوراتی که استفاده میکنیم از اپشنایی مثل : قابلیت موینت شدن به وسیله ی هر کاربری 
یا قابلیت unmount شدن به وسیله ی هر کاربری و ... استفاده میکنیم مثل دستور زیر


کد:

sudo mount -v -r -t ext2 -o users -L LILI /media/LILI 
خوب حالا اگه الان به عنوان یک کاربر معمولی بیاین وبخاین که اونو unmount کنین , نمیتونین اونو unmount کنین و این اررورو میده 
کد:

alieblice@ubuntu:~$ umount /dev/sdc1 umount: /dev/sdc1 is not in the fstab (and you are not root) alieblice@ubuntu:~$ 
برای حل این مشکل حتما باید از فایل fstab استفاده کنین و اپشناتونو در اون بزارین

** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:55 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور fdisk




دستور fdisk برای پارتیشن بندی یک هارد استفاده میشود
نکته : دستور fdisk کار فرمت کردنو انجام نمیده فقط پارتیشن رو میسازه 

در قالب بیسیک کلا سه نوع پارتیشن داریم
primary , extended , logical

حداکثر تعداد پارتیشن ها
primary : چهار
extended : یک
logical : درون پارتیشن extended تا 26 عدد 
عدد 26 رو مطمءن نیستم بعضی جاها به عنوان نا محدود نام بردن 

قیل از هر کاری باید هاردی که میخاین پارتیشن بندیش کنین پیدا کنین که میتونین از این دستورا برای این کار استفاده کنین 

fdisk -l
کد:

alieblice@de-10:~$ sudo fdisk -l Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xe51ba496 Device Boot Start End Blocks Id System /dev/sda1 * 2 119618 960823522 f W95 Ext'd (LBA) /dev/sda2 119619 121552 15526912 83 Linux /dev/sda3 121552 121602 402432 82 Linux swap / Solaris /dev/sda5 2 119618 960823521 7 HPFS/NTFS Disk /dev/sdb: 320.1 GB, 320072933376 bytes 249 heads, 33 sectors/track, 76079 cylinders Units = cylinders of 8217 * 512 = 4207104 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x41894189 Device Boot Start End Blocks Id System /dev/sdb1 * 1 12462 51197952 7 HPFS/NTFS /dev/sdb2 12462 76077 261361485 f W95 Ext'd (LBA) /dev/sdb5 12462 76077 261359616 7 HPFS/NTFS Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x465668a5 Device Boot Start End Blocks Id System /dev/sdc1 1 117794 946176000 7 HPFS/NTFS /dev/sdc2 * 117794 121601 30582784 7 HPFS/NTFS alieblice@de-10:~$ 
یا تو یک سیستم خلوت تر 
کد:

alieblice@ubuntu:/$ sudo fdisk -l Disk /dev/sda: 4294 MB, 4294967296 bytes 255 heads, 63 sectors/track, 522 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0003f696 Device Boot Start End Blocks Id System /dev/sda1 * 1 493 3952640 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 493 523 238593 5 Extended Partition 2 does not end on cylinder boundary. /dev/sda5 493 523 238592 82 Linux swap / Solaris Disk /dev/sdb: 213 MB, 213909504 bytes 64 heads, 32 sectors/track, 204 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdb doesn't contain a valid partition table Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004bbdd Device Boot Start End Blocks Id System /dev/sdc1 1 30 30704 83 Linux /dev/sdc2 31 70 40960 83 Linux /dev/sdc3 71 102 32768 83 Linux alieblice@ubuntu:/$ 
یا برای این که فقط پارتیشن های یک هاردو ببینین ادرس هارد هم بزنین 

کد:

alieblice@ubuntu:~$ sudo fdisk -l /dev/sdc Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004bbdd Device Boot Start End Blocks Id System /dev/sdc1 1 30 30704 83 Linux /dev/sdc2 31 70 40960 83 Linux /dev/sdc3 71 102 32768 83 Linux alieblice@ubuntu:~$ blkid کد: alieblice@de-10:~$ sudo blkid /dev/sda2: UUID="b69e95f0-bcf7-409e-a898-f9e70d78d0f4" TYPE="ext4" /dev/sda3: UUID="69bc2dec-ef4f-487b-bf50-5e7c273596a9" TYPE="swap" /dev/sda5: LABEL="1-TB" UUID="FA402FC0402F828D" TYPE="ntfs" /dev/sdb1: UUID="D410B13310B11E04" TYPE="ntfs" /dev/sdb5: UUID="70E8BF68E8BF2B6C" TYPE="ntfs" /dev/sdc1: LABEL="1-TB-2" UUID="9AA05A1BA059FE67" TYPE="ntfs" /dev/sdc2: UUID="D6308EFC308EE2BB" TYPE="ntfs" alieblice@de-10:~$ 
اموزش blkid قبلا کامل گفته شده 
راهنمای ترمینال اوبونتو (دانسته‌هایمان را به اشتراک بگذاریم)


دستور fdisk دو گروه اپشن داره یک گروه اپشن هایی که به طور معمولی استفاده میشه ویک گروه اپشن هایی که خودش به این اسم نام برده :
کد:

extra functionality (experts only) 
من در اینجا فقط یک سری از اپشن های سری معمولی رو اموزش میدم

d = برای پاک کردن پارتیشن استفاده میشه 
l = هر پارتیشنی برای خودش کدی داره که میتونین با این اپشن کد هارو ببینین در حالت عادی احتیاجی به این کدها پیدا نمیکنین مگر اینکه بخاین پارتیشنایی مثل lvm بسازین
n = برای ساختن یک پارتیشن استفاده میشود
p = پارتیشنایی که هم اکنون روی هاردتون وجود داره رو نشون میدهد
q = خروج بدون ذخیره کردن چیزی
t = برای تغییر کد پارتیشن استفاده میشود
u = برای تغییر واحد ها بین sectors و cylinders استفاده میشود 
w = ذخیره اطلاعات و خروج 


چند مثال
نکته: من در اینجا از درایوهایی که توسط vmware player ایجاد شدن استفاده میکنم که حجمشونم خیلی کم هستش زیر (( مگابایت 300)) برای سریع کردن کار 

مثال 1



This image has been resized. Click this bar to view the full image. The original image is sized 860x217.




در مثال شماره یک فقط 2 درایو از 3 درایو روی هاردمونو پاک میکنیم
روش کار :
1 = هارد مورد نظرتونو توسط دستورایی که بالا نام بردم پیدا کنین
2 = دستور fdisk رو به همراه ادرس اون بنویسید 

کد:

alieblice@de-10:~$ sudo fdisk /dev/sdc 
نکته : وقتی دستور fdisk رو میزنین وارد یک محیط دیگه میشید که فقط اپشن هایی که بالا نام بردم و اپشنای دیگری که با زدن m میتونین ببینین رو میتونین استفاده کنین 
کد:

alieblice@de-10:~$ sudo fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): q alieblice@de-10:~$ 
3 = بعد از این که وارد محیط شدین اگه m رو بزنین اپشن های قابل قبول رو براتون میاره اگه p روبزنین پارتیشن های موجود روی اون هاردرو میاره 

کد:

alieblice@ubuntu:~$ sudo fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): p Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004bbdd Device Boot Start End Blocks Id System /dev/sdc1 1 30 30704 83 Linux /dev/sdc2 31 70 40960 83 Linux /dev/sdc4 71 102 32768 83 Linux Command (m for help): 
همون طور که میبینین در بالا 3 درایو درون هارد وجود دارد

4 = باری پاک کردن یک درایو باید d رو بزنین که بعد از زدن d از شما شماره درایو رو میپرسه که باتوجه به اطلاعاتی که در خروجی اپشن p گرفتین میتونین درایو درست رو بدین
به این صورت که اگه مثلا میخاین dev/sdc2 رو پاک کنین عدد 2 رو بدین و با این کار پارتیشن dev/sdc2 پاک میشود
نکته : هنوز پارتیشنتون به صورت واقعی پاک نشده اگه اشتباه زدین عدد رو میتونین با زدن q ((کیو کوچک)) هیچ چیزی رو ذخیره نکنین و خارج شید 
4-1 = کار بالا دو باره انجام بدین تا درایو بعدی رو هم پاک کنین 
4-2 = حالا p رو بننین تا ببینین که پاک شده 
5 = حرف w ((دبلیو کوچک)) رو بزنین و همه چیز ذخیره میشود 

خروجی کامل مثال یک :
کد:

alieblice@ubuntu:~$ sudo fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): p Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0004bbdd Device Boot Start End Blocks Id System /dev/sdc1 1 30 30704 83 Linux /dev/sdc2 31 70 40960 83 Linux /dev/sdc4 71 102 32768 5 Extended Command (m for help): d Partition number (1-5): 2 Command (m for help): d Partition number (1-5): 4 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. alieblice@ubuntu:~$ 
عکس بعد از پاک کردن پارتیشن ها 


This image has been resized. Click this bar to view the full image. The original image is sized 861x189.






مثال 2
در مثال دوم از همون درایو قبلی به همراه همون پارتیشن بندی که در پایان ایجاد شد ((عکس پایانی مثال اول --عکس بالا )) استفاده میکنیم به این صورت 
که میخاهیم یک درایو از نوع extende بسازیم و درون اون دو درایو از نوه logical
تو این مثال مراحلو به صورت جزع جزع توضیح نمیدم دیگه به غیر از چند قسمتش 
1 = دستور fdisk رو به همراه ادرس هاردمون میزنیم 
سپس p رو میزنیم که درایو های موجود روی هاردو نشون بدهد 
سپس n رو میزنیم تا درایو جدید ایجاد کنیم 
2 = بعد از این که n رو زدیم از ما سوال میپرسه که چه نوع درایوی میخاین اضافه کنین ((extended یا primary )) 
از جایی که قراره یک extended بسازیم خوب من e رو انتخاب میکنم 
p = primary
e = extended
نکته : در اینجا گذینه logical رو نیاورد به این دلیل که پارتیشن logical داخل پارتیشن extende ساخته میشه 
3 = بعد از این که نوع پارتیشن رو تعیین کردین از شما یک شماره میخاد که اون میشه شماره درایوتون من 2 رو میدم 

کد:

alieblice@ubuntu:~$ sudo fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009b8f2 Device Boot Start End Blocks Id System /dev/sdc1 1 20 20464 83 Linux Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder (21-102, default 21): 
4 = بعد از مرحله بالا میرسیم به مرحله تعیین حجم درایو 
به صورت پیش فرض حجم درایو رو به صورت cylinder میاره که به شما میگه میتونید از یک عدد مشخص تا عدد مشخص دیگری انتخاب کنین در این مثال عدد بین ((21 تا 102 )) هستش. از جایی که خیلی کم پیش میاد کسی بخاد بر اساس cylinder پارتیشن بندی کنه من اینجا بر اساس مگابایت یاد میدم
4-1 = چگونه بر اثاث مگابایت پارتیشن یندی کنیم 

همون طور که در خروجی مرحله 1 تا 3 میبینین عدد انتخابی ما بین 21 تا 102 هستش برای شروع بر اثاث مگابایت عدد 21 رو بزنین وقتی عدد 21 رو زدین از شما یک عدد دیگر میخاد که در این قسمت میتونین عدد رو به صورت مگابایت کیلوبایت و گیگابایت بدین 
کد:

+size{K,M,G} 
همیشه از اون عددی که میدین یک مقدار بزرگ ترشو میسازه دلیلشو نتونستم پیدا کنم مثلا برای 170 مگابایت 179 مگابایت ساخت و برای 80 مگابایت حدود 85 تا 
اگه دلیلشو پیدا کردین به منم بگین 
مثلا برای این که 2350 مگابایت بشه سایز درایوتون عدد رو به این شکل بدین 
کد:

+2350M 
به طور مشابه برای کیلوبلیت و گیگا بایت مثلا 10 گیگ --- 1000000کیلو بایت 
کد:

+10G +100000K 
کد:

در زیر 80 مگابایت تعیین کردم Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder (21-102, default 21): 21 Last cylinder, +cylinders or +size{K,M,G} (21-102, default 102): +80M Command (m for help): 
5 = تا این جا دو درایو داریم یکی از قبل با نوع primary و یکی هم که الان ساختیم با نوع extended 
حالا 2 درایو داخل پارتیشن extended رو میسازیم که از نوع logical میشن 
6 = مثل مرحله قبل n رو میزنیم بعد نوع درایو که در اینجا میشه l ((ال کوچیک )) رو میزنیم و بعد مثل مرحله قبل حجمشو میدیم 
نکته : در اینجا گذینه extended نیامد چون یکی ازش میشه ساخت 
7 = دوباره همون کار مرحله 6 رو انجام میدیم تا دومی رو هم اضافه کنیم 
و بارای ذخیره کردن w رو میزنیم 
و همه چی ذخیره میشه 

خروجی کامل مثال دوم 

کد:

alieblice@ubuntu:~$ sudo fdisk /dev/sdc WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009b8f2 Device Boot Start End Blocks Id System /dev/sdc1 1 20 20464 83 Linux Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 2 First cylinder (21-102, default 21): 21 Last cylinder, +cylinders or +size{K,M,G} (21-102, default 102): +80M Command (m for help): p Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009b8f2 Device Boot Start End Blocks Id System /dev/sdc1 1 20 20464 83 Linux /dev/sdc2 21 101 82944 5 Extended Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (21-101, default 21): 21 Last cylinder, +cylinders or +size{K,M,G} (21-101, default 101): +50M Command (m for help): p Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009b8f2 Device Boot Start End Blocks Id System /dev/sdc1 1 20 20464 83 Linux /dev/sdc2 21 101 82944 5 Extended /dev/sdc5 21 71 52208 83 Linux Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (72-101, default 72): 72 Last cylinder, +cylinders or +size{K,M,G} (72-101, default 101): 101 Command (m for help): p Disk /dev/sdc: 106 MB, 106954752 bytes 64 heads, 32 sectors/track, 102 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0009b8f2 Device Boot Start End Blocks Id System /dev/sdc1 1 20 20464 83 Linux /dev/sdc2 21 101 82944 5 Extended /dev/sdc5 21 71 52208 83 Linux /dev/sdc6 72 101 30704 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. alieblice@ubuntu:~$ 
عکس نهایی مثال 2دوم 


This image has been resized. Click this bar to view the full image. The original image is sized 860x217.


** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:56 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور chmod





دسترسی به هر فایل یا دایرکتوری توسط ۹بیت اطلاعات اضافه‌ای که به فایل یا دایرکتوری چسبانده می‌شود برای ۳ کلاس ۳ بیتی کاربر, گروه کاربر و سایر کاربران , تعیین می‌شود که به ترتیب با کدهای u(کاربر) , g(گروه) و o(سایرین) مشخص می‌شوند. 0 یا 1 بودن بیت اول تعیین کننده دسترسی خواندن (Read)برای صاحب فایل ( کاربر), بیت دوم امکان نوشتن (Write) و ایجاد تغییر در فایل یا دایرکتوری مورد نظر و بالاخره بیت سوم امکان اجرای(eXecute) فایل‌های اجرایی را مشخص می‌کند. سه بیت دوم این دسترسی‌ها را برای کلاس گروه کاربر و سه بیت آخر دسترسی‌ها را برای سایر کاربران مشخص می‌کند. در صورتی که یک مجوز به کاربری داده نشده باشد به جای مجوز مورد نظر(یکی از حروف R,W یاX ) هنگام نمایش مجوزها، علامت دش (-) دیده می‌شود. آنچه در زیر دیده می‌شود مجوز دسترسی کامل به یک فایل است. یعنی همه کاربران امکان خواندن، نوشتن و اجرای فایل را دارند :
کد:

rwxrwxrwx 
یا در حالتی که صاحب فایل دسترسی کامل، گروهش امکان خواندن و اجرا و سایرین هیچگونه دسترسی به فایل مورد نظر نداشته باشند این مجوزها به صورت زیر خواهد بود:

کد:

rwxr-x--- 
نمونه‌ای از این مجوزها را می‌توانید با اجرای فرمان ls -l مشاهده نمایید. توجه کنید که علاوه بر ۹بیت ذکر شده، یک کاراکتر اضافه نیز در ابتدای این رشته وجود دارد که تعیین کننده نوع فایل است که برای فایل‌های عادی بصورت دش (-) و برای دایرکتوری ها بصورت d دیده می‌شود:
کد:

drwxr-xr-x 
کد:

-rwxr-xr-x 
نکته:

مجوز پیش فرض برای فایل‌های جدید بصورت زیر است:



کد:

rw-r- - r-- 
و در صورتی که فایلی توسط یکی از کامپایلرهای موجود اجرایی شده باشد x (یا امکان اجرا کردن) به دسترسی‌ها اضافه می‌گردد. مجوز پیش فرض دسترسی به یک دایرکتوری جدید نیز مشابه همین حالت است:

کد:

rwxr-xr-x 
در صورتی که بخواهید مجوزهای پیش فرض را برای نشست جاری خود تغییر دهید می‌توانید از دستور umask استفاده کنید.

برای تغییر مجوزهای یک فایل یا دایرکتوری کاربری که این اختیار را دارد (کاربر ریشه یا صاحب فایل یا دایرکتوری) می‌تواند با دستور chmod این کار رابوسیله یکی از دو روش زیر انجام دهد.

-در روش نخست پس از دستور chmod می‌توان با علامت های "+" یا "–" یک یا چند مجوز را به کلاس ها افزود و یا از آنها گرفت. در این حالت کلاس ها با کدهایی که در بالا ذکر شد تعیین می شوند.مثلا:



کد:

#chmod go-rx anything 
این دستور تعیین می کند که مجوز خواندن و اجرای فایلی به نام anything از کلاس گروه کاربر(u) و سایرین(o) گرفته شود و برعکس آن به صورت زیر است:



کد:

#chmod go+rx anything 
-در روش دوم مجموع سه سطح دسترسی(خواندن,نوشتن و اجرا) به صورت یک عدد بین صفر تا هفت برای 3 کلاس کاربر, گروهش و سایرین به صورت زیر تعیین می شود و پس از دستور chmod می آید. برای خواندن عدد چهار, برای نوشتن عدد دو و برای اجرا عدد یک منظور می شود. یعنی هفت(1+2+4) نشان دهنده دسترسی کامل است در نتیجه مثلا 777 نشان دهنده اعطای دسترسی کامل به همه کاربران است.مثلا:



کد:

#chmod 750 anything 
این دستور نیز تعیین می کند که مجوزها بصورت زیر تغییر کنند:



کد:

rwxr-x---

** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:56 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور du شماره 2




دستور du شماره 2
برای به دست آوردن سایز یه دایرکتوری
du
این دستور همه دایرکتوری های داخل دایرکتوری جاری رو سایزشون رو بهتون میگه. خط آخر هم سایز دایرکتوری جاری رو میگه. توجه بشه که سایز ها در حالت عادی به صورت Kb نشان داده میشوند.
کد:

du /home/david 
این فرمان size دایرکتوری /home/david رو میده
کد:

du -h 
این فرمان یه خروجی قابل فهم تری رو نشون میده. در این حالت اگر فایل‌ها به کیلوبایت باشه با K، اگه به مگابایت باشه با M و …
کد:

du -ah 
این دستور نه تنها دایرکتوری ها بلکه تمام فایل‌های داخل دایرکتوری جاری رو نشون میده
du -c
اندازه دایرکتوری جاری را به شکل زیر نشان میدهد:
30M.
30M total
من خودم درست متوجه نشدم که این دقیقاً به چه دردی میخوره اما این Total
میتونه جایی که میخوایم با دستور grep فقط اندازه نهایی دایرکتوری جاری رو پیدا کنیم مفید باشه.

کد:

du -ch | grep total 
این دستور فقط خط آخر را در خروجی خواهد داشت که اندازه دایرکتوری جاری را نشان میدهد.
کد:

du -s 
بهترین راه و ساده‌ترین راه برای فهمیدن اندازه دایرکتوری جاری.(بسیار خلاصه و فقط اندازه دایرکتوری جاری رو نشون میده)که البته بهتره که یه h هم بهش اضافه کنید تا خوانا تر بشه.
کد:

du –exculde=mp3 
خوب این دستور میاد اندازه دایرکتوری جاری و زیر دایرکتوری ها رو اعلام میکنه، به جز اون فایل‌هایی رو که تو نامشون mp3 وجود داره. بنابر این اگه فایل‌های Mp3 در دایرکتوری جاری داشته باشیم، اندازه اونا اعلام نمیشه.
دستور df
برای به دست آوردن مقدار فضای خالی دیسک/اندازه استفاده شده

df
با زدن این دستور خروجی نمایش داده شده شامل ۶ ستون است که کاملاً قابل فهم هستند. توجه شود که اندازه ها بر اساس کیلوبایت هستند
کد:

df -h 
همونطور که قبلاً هم گفته شد، option -h برای قابل فهم تر شدن خروجی به کار میره
اکثر کاربر ها از option دیگه ای چندان استفاده نمیکنن. بنابر این df رو در همین حد توضیح میدیم.

** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:56 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور at





دستور at برای زمان بندی کارها , مثلا اجرا شدن یک دستور در زمان خاصی یا اجرا شدن یک اسکریپت در زمان خاصی استفاده میشود 
دستور مشابه دیگه ای مثل دستور at هستش که اسمش cron هستش 
اموزش cron :
CronHowto - Iranian Ubuntu Team Wiki
یکی از فرق های مهم cron و at در این هست که cron قابلیت تکرار شدن رو داره (( مثلا هر روز در زمان خاصی کار خاصی انجام بشه)) اما at کاری که بهش دادیم رو یک بار انجام میدهد


شکل کلی دستور 
کد:

at [-V] [-q queue] [-f file] [-mldv] timespec... at [-V] [-q queue] [-f file] [-mkdv] [-t time] 
یا به شکل ساده تر 

کد:

at time date 
تعیین زمان در at 

تنها قسمت مهم دستور at تعیین زمان اجرا شدن دستور هستش
در دستور at وقتی که دستور به همراه زمان معیین شده زدین یک صفه باز میشه که به صورت زیر هستش در اون صفه میتونین دستور مورد نظر خودتونو بنویسین و سپس کلید ترکیبیCtrl+D رو بزنین تا اجرا بشه 

کد:

alieblice@ubuntu:~$ at 12:00 tomorrow + 3 min warning: commands will be executed using /bin/sh at> ls > ~/Desktop/ls.txt at> حالا کنترل= دی رو بزنین <EOT> job 73 at Fri Jul 10 12:03:00 2009 alieblice@ubuntu:~$ 
جزع به جزع دستور بالا در پایین تر توضیح داده شده 

معنی کلمات در تعیین زمان 

اگه فرض کنیم ساعت وتاریخ هم اکنون 

کد:

10:00 AM Tuesday, September 18, 2001 
باشد ,, هر کدوم از زمان یندی های زیر معنیشونو جلوشون نوشته 

کد:

at noon = 12:00 PM September 18, 2001 at midnight = 12:00 AM September 19, 2001 at teatime = 4:00 PM September 18, 2001 at tomorrow = 10:00 AM September 19, 2001 at noon tomorrow = 12:00 PM September 19, 2001 at next week = 10:00 AM September 25, 2001 
همون طور که در بالا میبینین بعضی کلمات معنی خاصی دارن مثلا noon یعنی ساعت 12:00 pm و کلمات به صورت ترکیبی هم میتونن استفاده بشن مثلا 

کد:

at noon tomorrow 
یعنی فردا ((روز بعد از امروز )) ساعت 12:00 pm


کد:

at next week 
اگه امروز سه شنبه ساعت 10 صبح باشه دستور بالا میگه هفته ی دیگهسه شنبه ساعت 10 صبح کار انجام بشه 


مشخص کردن روز های هفته 

برای هر روز از هفته یک کلمه داریم که میتونین تمام حروفشون رو به صورت بزرگ یا کوچک بنویسین فرقی نداره البته اسم کوچکش هم با حروف کوچک یا بزرگ میتونین بنویسین فرقی نداره 

کد:

day_of_week : SUN | MON | TUE | WED | THU | FRI | SAT 
از چپ به راست به ترتیب بالا یعنی

کد:

Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | 
چند مثال : 

کد:

at next monday = 10:00 AM September 24, 2001 
اگه الان ساعت 10 صبح باشه یک شنبه بعدی همین ساعت دستور اجرا میشه 


کد:

at 04:46 am fri 
روز جمعه ساعت 4:46 دقیقه صبح کارو انجام میده 



نام گذاری ماه ها 

ماه ها هم مثل روز های هفته برای خودشون اختصار دارن که به شکل زیر هستش
کد:

month_name : JAN | FEB | MAR | APR | MAY | JUN | JUL | AUG | SEP | OCT | NOV | DEC 
چند مثال

کد:

at 2:30 PM Sept 21 
ساعت 2:5 ظهر در تاریخ 21 سپتامر


کد:

at noon jul 24 
چند مثال اضافه از تمام قسمتایی که تا الان گفتیم
اگه فرض کنیم هم اکنون ساعت و تاریخ 

کد:

10:00 AM Tuesday, September 18, 2001 
کد:

at 9:00 AM = 9:00 AM September 19, 2001 at 2:30 PM = 2:30 PM September 18, 2001 at 1430 = 2:30 PM September 18, 2001 at 2:30 PM tomorrow = 2:30 PM September 19, 2001 at 2:30 PM next month = 2:30 PM October 18, 2001 at 2:30 PM Fri = 2:30 PM September 21, 2001 at 2:30 PM Sept 21 = 2:30 PM September 21, 2001 at 2:30 PM 9/21/2010 = 2:30 PM September 21, 2010 at 5 pm Friday = خودتون حدث بزنین 
نکته : بعد از next مقادیری که بر اثاث واحد های زیر باشه میتونه بیاد 
کد:

* minute[s] * hour[s] * day[s] * week[s] * month[s] * year[s] 

نکته : 
در 

کد:

at 1430 = 2:30 PM September 18, 2001 
از am و pm نمیتونین استفاده کنین باید زمان رو به صورت 24 ساعته بزنین یعنی مثلا به جای 2 ظهر بزنین 14 



زمان معکوس ((Countdown))

شاید بخاین کاری رو در مثلا 5 دقیقه اینده انجام بدین یا مثلا در فردا پنج دقیقه بعد از ساعت 12 ظهر خوب این 5 دقیقه ها رو باید به صورت زیر بنویسین 
نکته : مقاکد:
مفادیری که بعد از بعلاوه می ایند بر اثاث یکی از این واحد های زیر میتونه باشه 
کد:

* minute[s] * hour[s] * day[s] * week[s] * month[s] * year[s] 
مثلا برای این که کاری رو در 25 دقیقه اینده از هم اکنون انجام بدین دستورو این جوری بنویسین 

کد:

at now +15 min 
به جای min میتونین minutes یا minute هم بزارین 


برای این که کاری رو فردا 3 ساعت بعد از ساعت 12 انجام بدین دستورو این شکلی بنویسین 
کد:

at noon tomorrow +3 hours یا at 12:00 pm tomorrow +3 hours 
جند مثال از این قسمت 
اگه فرض کنیم زمان و تاریخ هم اکنون 

کد:

10:00 AM Tuesday, September 18, 2001 
معنی هر مثال جلوش نوشته شده 
کد:

at now + 30 minutes = 10:30 AM September 18, 2001 at now + 1 hour = 11:00 AM September 18, 2001 at now + 2 days = 10:00 AM September 20, 2001 at 4 PM + 2 days = 4:00 PM September 20, 2001 at now + 3 weeks = 10:00 AM October 9, 2001 at now + 4 months = 10:00 AM January 18, 2002 at now + 5 years = 10:00 AM September 18, 2007 
چند مثال واقعی به همراه کار 

روش کار به این صورت هستش که شما اول دستور at رو به همراه زمان اجرا شدنش مینویسین و سپس برای شما یک صفه باز میشه که در اون جا میتونین دستور مورد نظرتونو بنویسین و برای این که کار خود را ذخیره کنین کلید ترکیبی Ctrl+D رو بزنین 

در دستور زیر کاری رو فردا 3 دقیقه بعد از ساعت 12 انجام میدهد 
کد:

alieblice@ubuntu:~$ at 12:00 tomorrow + 3 min warning: commands will be executed using /bin/sh at> ls > ~/Desktop/ls.txt at> <EOT> job 73 at Fri Jul 10 12:03:00 2009 alieblice@ubuntu:~$ 
دستور بالا رو میتونین به صورت زیر هم بنویسین که فکر کنم راحت تر باشه 
کد:

alieblice@ubuntu:~$ echo ls > ~/Desktop/ls.txt | at 12:00 tomorrow + 3 min warning: commands will be executed using /bin/sh job 74 at Fri Jul 10 12:03:00 2009 alieblice@ubuntu:~$ 

اپشن v- (( وی کوچک ))

اپشن v- برای نشون دادن زمان اجرا شدن دستور در همان اول کار یعنی قبل از امدنه صفحه ای که شما توش دستورو مینویسین 
کد:

alieblice@ubuntu:~$ at -v noon jul 24 + 10 min Fri Jul 24 1200 2009 warning: commands will be executed using /bin/sh at> cp -r /home/alielbice /var/backup/alieblice-bkp at> <EOT> job 77 at Fri Jul 24 1200 2009 alieblice@ubuntu:~$ 


اپشن f- 

اپشن f- برای دادن لیستی از کار هایی که میخایم انجام بدیم از طریق یک فایل متنی هستش 
کد:

alieblice@ubuntu:~$ cat myjobs.txt /home/sathiya/calculate-space.sh /path/to/a/shell-script /path/to/any/command/or/script 
کد:

alieblice@ubuntu:~$ at -f /home/alieblice/jobs.txt now +1 hour warning: commands will be executed using /bin/sh job 79 at Thu Jul 9 08:07:00 2009 alieblice@ubuntu:~$ 


اپشن l- 
نکته : به جای l- میتونین از atq هم استفاده کنین 
این اپشن و atq برای لیست کردن کار هایی که هنوز انجام نشده اند و در انتظار رسیدن زمان تعیین شده هستن استفاده میشه 
کد:

alieblice@ubuntu:~$ at -l 79 Thu Jul 9 08:07:00 2009 a alieblice 77 Fri Jul 24 1200 2009 a alieblice 73 Fri Jul 10 12:03:00 2009 a alieblice 74 Fri Jul 10 12:03:00 2009 a alieblice alieblice@ubuntu:~$ 
همون طور که میبینین هر کار برای خودش عددی دارد که از اون برای پاک کردن و دیدن محتویات اون استفاده میشه 

پاک کردن یک کار 

از اپشن d- یا atrm میتونین استفاده کنین 
برای این کار نیاز به شماره اون کار دارین که میتونین با لیست کردنشون شمارشونو یدست بیارین 
مثلا در زیر کار به شماره 77 رو پاک میکنیم 
کد:

alieblice@ubuntu:~$ atq 79 Thu Jul 9 08:07:00 2009 a alieblice 77 Fri Jul 24 1200 2009 a alieblice 73 Fri Jul 10 12:03:00 2009 a alieblice 74 Fri Jul 10 12:03:00 2009 a alieblice alieblice@ubuntu:~$ alieblice@ubuntu:~$ at -d 77 alieblice@ubuntu:~$ alieblice@ubuntu:~$ at -l 79 Thu Jul 9 08:07:00 2009 a alieblice 73 Fri Jul 10 12:03:00 2009 a alieblice 74 Fri Jul 10 12:03:00 2009 a alieblice alieblice@ubuntu:~$ 

دیدن اطلاعات یک کار 
برای این کار از اپشن c- ((سی کوچک )) استفاده کنین 

خروجیش زیاد بود برای همین فقط خود دستور رو میزارم 
کد:

alieblice@ubuntu:~$ at -l 73 Fri Jul 10 12:03:00 2009 a alieblice 74 Fri Jul 10 12:03:00 2009 a alieblice alieblice@ubuntu:~$ alieblice@ubuntu:~$ at -c 73 #!/bin/sh # atrun uid=1000 gid=1000 # mail alieblice 0 umask 22 خروجی کامل نیست 
محدود کردن دسترسی به at 

برای این که دسترسی کاربران رو به دستور at ببندین یا دسترسی رو برای یک سری کار بر خاص باز بگذارین میتونین از 2 فایل زیر استفاده کنین 
سیستم اول فلدر at.allow رو چک میکنه اگه وجود نداشت میره سراغ at.deny 
/etc/at.allow
/etc/at.deny
مثلا اگه کاربر tia رو به فایل at.deny اضافه کنین موقعی که کاربر tia بخاد از at استفاده کنه این اررور رو میگیره 
کد:

tia@ubuntu:~$ at 12:00 pm You do not have permission to use at. tia@ubuntu:~$ 
اگرم بخاین که at رو برای فقط کاربرای مشخصی باز بگذارین از فلدر at.allow استفده کنین 
ممکنه این فلدر وجود نداشته باشه میتونین بسازینش 

** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:56 AM
تشکرات از این پست
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور scp





دستور scp برگرفته از secure copy برای کپی کردن اطلاعات از یک کامپیوتر به یک کامپیوتر دیگر استفاده میشود 
درواقع تمام امکانات دستور cp را دارد با این تفاوت که قابلیت انتقال داده بین ۲ کامپیوتر نیز وجود دارد (( یعنی فقط به صورت لوکال کار نمیکنه به صورت رموت هم کار میکنه ))
یکی از مزیت هایی که این دستور دارد امن بودن اون به واسته استفاده از تونل ssh هستش ((همه چیز encrypt میشه))

شکل کلی دستور 
کد:

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file] [-l limit] [-o ssh_option] [-P port] [-S program] [[user@]host1:]file1 ... [[user@]host2:]file2 
شکل قابل فهم تر 

کد:

$ scp REMOT-SYSTEM:ADRESS LOCAL-SYSTEM-ADRESS 
در دستور زیر یک فایل رو از سیستم رموت به سیتم لوکال انتقال میدهیم 
کد:

alieblice@de-10:~$ scp root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi /home/alieblice/ root@172.16.49.21's password: ShaunTheSheep_Part_07.avi 100% 49MB 24.6MB/s 00:02 alieblice@de-10:~$ 
root@172.16.49.21 = یوزرنیم به همراه ادرس سیستم رموت 
/var/www/ShaunTheSheep_Part_07.avi = اسم و ادرس فایلی که میخایم کپیش دیم به سیستم لوکال
/home/alieblice/ = محل ذخیره شدن فایل در سیستم لوکال 


کپی کردن فایل و تغییر اسم ان 
برای این کار مثل مثال بالا عمل میکنیم با این تفاوت که وقتی محل ذخیره شدن اونو در سیستم لوکال انتخاب میکنیم اسمش را هم انتخاب میکنیم
کد:

alieblice@de-10:~$ scp root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi /home/alieblice/Videos/scp/cartoon-07.avi root@172.16.49.21's password: ShaunTheSheep_Part_07.avi 100% 49MB 49.1MB/s 00:01 alieblice@de-10:~$ 
حالا اگه ls محل ذخیره شدنو بگیریم میبینین که اسم فایل تغییر کرده 
کد:

alieblice@de-10:~$ ls /home/alieblice/Videos/scp/ cartoon-07.avi alieblice@de-10:~$ 
کپی کردن فایل ها 
برای این کار مثل دستور cp از r- استفاده کنین 
در دستور زیر دایرکتوری DNSvideo رو از سیستم رموت به لوکال کپی میکنیم
کد:

alieblice@de-10:~$ scp -r root@172.16.49.21:/var/www/DNSvideo /home/alieblice/Documents/ root@172.16.49.21's password: YouTube - ‪Setting Up and Configuring a DNS 100% 20MB 20.1MB/s 00:01 YouTube - Setup DNS Server Quick & Simple.flv 100% 9288KB 9.1MB/s 00:00 YouTube - ‪Setting Up and Configuring a DNS 100% 20MB 19.6MB/s 00:00 YouTube - ‪Instala y configura Bind 9 en Ub 100% 10MB 10.2MB/s 00:01 YouTube - ‪Setting Up and Configuring a DNS 100% 15MB 15.1MB/s 00:00 YouTube - install dan konfigurasi bind9 (DNS) 100% 6742KB 6.6MB/s 00:00 YouTube - Setting Up and Configuring a DNS Se 100% 17MB 17.5MB/s 00:00 alieblice@de-10:~$ 
اگر از -r استفده نکنین این اررور رو میده 
a کد:

lieblice@de-10:~$ scp root@172.16.49.21:/var/www/DNSvideo /home/alieblice/Documents/ root@172.16.49.21's password: scp: /var/www/DNSvideo: not a regular file 
Local Copy

برای این کار دقیقه مثل دستور cp عمل میکنیم 
کد:

alieblice@de-10:~$ scp -r /home/alieblice/Documents/DNSvideo ~/ 
انتقال فایل از لوکال به رموت 

برای این کار اول ادرس فایل در لوکال رو بدین و سپس ادرس و محل ذخیره شدن در رموت را بدهید 
کد:

alieblice@de-10:~$ scp /home/alieblice/Videos/ShaunTheSheep_Part_18.avi root@172.16.49.21: root@172.16.49.21's password: Permission denied, please try again. root@172.16.49.21's password: ShaunTheSheep_Part_18.avi 100% 49MB 49.3MB/s 00:01 alieblice@de-10:~$ 
نکته : اگر برای ذخیره شدن فایل یا برای کپی شدن فایل در سیستم رموت ادرسی رو انتخاب نکنیم مثل بالا به طور پیش فرض home دایرکتوری استفاده میشه 


توضیح بعضی از اپشن ها 

-B
برگرفته از batch mode بیشتر در اسکریپت ها استفاده میشه و باعث میشه که از interactive authentication methods
نتونین استفاده کنین وباید از روش هایی مثل key authenticationباید استفاده کنین 

-C
(سی بزرگ) برای فشرده سازی استفاده میشود که در سرعت های پایین باعث بالا رفتم سرعت میشه ولی در سرعت های بالا فقط باعث کندی سرعت میشه 

-l 
برای محدود کردن سرعت کپی کردن فایل استفاده میشود بر اثاث Kbit/s

در زیر سرعت 1000 کلو بیت بر ثانیه استفاده شده که برای تبدیل ان به کیلو بایت بر ثانیه باید ان را تقسیم بر 8 کنین 1000/8=125
در مثال زیر اگه توجه کنین بعد از مدت کوتاهی سرعت به 125 رسیده 

مثال :
کد:

alieblice@de-10:~$ scp -l 1000 root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/ root@172.16.49.21's password: ShaunTheSheep_Part_07.avi 0% 400KB 141.0KB/s 05:53 ETA ShaunTheSheep_Part_07.avi 1% 528KB 139.7KB/s 05:56 ETA ShaunTheSheep_Part_07.avi 7% 3520KB 125.8KB/s 06:11 ETA^ 
-P
برای مشخص کردن پرت ارتباطی استفاده میشود 
نکته : این جا از پی بزرگ استفاده شده بر عکس ssh که از پی کوچک استفاده میشود دلیلش اینه که در rcp از پی کوچک برای کار دیگری استفاده میشده 

-p

برای شما quiet mode رو فعال میکنه به تفاوتش در مثال زیر توجه کنین 
کد:

alieblice@de-10:~$ scp -q root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/ root@172.16.49.21's password: alieblice@de-10:~$ 
درصد و سرعت انتقال رو نشون نمیده 

-v

از وی برای گرفتن اطلاعات اضافی تری در باره ی نوع اتصال و چیز های دیگه میتونین استفاده کنین 
از وی تا 3 بار میتونین استفاده کنین که سومین وی خیلی اطلاعات دقیقی میده

مثال برای یک وی 
کد:

alieblice@de-10:~$ scp -v root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/ Executing: program /usr/bin/ssh host 172.16.49.21, user root, command scp -v -f /var/www/ShaunTheSheep_Part_07.avi OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 Mar 2009 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to 172.16.49.21 [172.16.49.21] port 22. debug1: Connection established. debug1: identity file /home/alieblice/.ssh/identity type -1 debug1: identity file /home/alieblice/.ssh/id_rsa type 1 debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-4096 debug1: Checking blacklist file /etc/ssh/blacklist.RSA-4096 debug1: identity file /home/alieblice/.ssh/id_dsa type -1 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.5p1 Debian-6 debug1: match: OpenSSH_5.5p1 Debian-6 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu6 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host '172.16.49.21' is known and matches the RSA host key. debug1: Found key in /home/alieblice/.ssh/known_hosts:1 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,password debug1: Next authentication method: publickey debug1: Offering public key: /home/alieblice/.ssh/id_rsa debug1: Authentications that can continue: publickey,password debug1: Trying private key: /home/alieblice/.ssh/identity debug1: Trying private key: /home/alieblice/.ssh/id_dsa debug1: Next authentication method: password root@172.16.49.21's password: debug1: Authentication succeeded (password). debug1: channel 0: new [client-session] debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LANG = en_US.utf8 debug1: Sending command: scp -v -f /var/www/ShaunTheSheep_Part_07.avi Sending file modes: C0755 51482624 ShaunTheSheep_Part_07.avi Sink: C0755 51482624 ShaunTheSheep_Part_07.avi ShaunTheSheep_Part_07.avi 100% 49MB 49.1MB/s 00:01 debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug1: channel 0: free: client-session, nchannels 1 debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK Transferred: sent 14816, received 51535384 bytes, in 1.3 seconds Bytes per second: sent 11794.2, received 41024565.4 debug1: Exit status 0 alieblice@de-10:~$ 
مثال برای 2 وی 

کد:

alieblice@de-10:~$ scp -vv root@172.16.49.21:/var/www/ShaunTheSheep_Part_07.avi ~/ 
خروجیش رو نمیزارم چون خیلی زیاد بود 


دستور مشابه دیگری به اسم rsync با امکانات خیلی بیشتری وجود دارد که قبلا اموزشش گذاشته شده 

** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:57 AM
تشکرات از این پست
javafa
amindadaadad
amindadaadad
کاربر طلایی3
تاریخ عضویت : دی 1389 
تعداد پست ها : 3567
محل سکونت : سیستان و بلوچستان

پاسخ به:دستورات لینوکس

دستور grep


نکته : 
خروجی هر دستور به صورت عکس هم قرار گرفته برای درک بهتر 
اگه عکس ها دیده نمیشن از ادرس زیر میتونین عکس هارو ببینین (( شماره هر عکس رو بالاش با رنگ ابی قرار دادم ))
Index of /image/grep-pic
یا از این ادرس دانلود کنین 
http://ubuntuone.com/p/15nL/

 

دستور grep برای پیدا کردن یک نوشته در بین تعداد زیادی نوشته استفاده میشه که خروجیش میتونه به صورت های مختلف باشه مثلا :
خط هایی که اون نوشته مورد نظر رو دارا هستن رو نشون بده
تعداد خط هایی که نوشته در انها منطبق شده نشون بدهد 
....
..
.

شکل کلی دستور 

کد:

grep [OPTION]... PATTERN [FILE]... 
یا
کد:

grep "literal_string" filename 
[size=13pt]نکته : [/size]

در طی اموزش از 3 فایل به نام های demo و demo2 و demo3 استفاده میشه که متن داخلشون به ترتیب به صورت زیر هست 

demo 
کد:

alieblice@de-10:~$ cat demo 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. Two lines above this line is empty. And this is the last line 
.

demo2
کد:

alieblice@de-10:~$ cat demo2 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. Two lines above this line is empty. And this is the last line. 
demo3
کد:

alieblice@de-10:~$ cat demo3 4. Vim Word Navigation You may want to do several navigation in relation to the words, such as: * e - go to the end of the current word. * E - go to the end of the current WORD. * b - go to the previous (before) word. * B - go to the previous (before) WORD. * w - go to the next word. * W - go to the next WORD. WORD - WORD consists of a sequence of non-blank characters, separated with white space. word - word consists of a sequence of letters, digits and underscores. Example to show the difference between WORD and word * 192.168.1.1 - single WORD * 192.168.1.1 - seven words. 
جستوجو برای یک کلمه در متن 
این دستور ساده ترین نوع دستور grep هستش که به صورت زیر عمل میکنیم 
کد:

grep "literal_string" filename 
مثال
قبل از زدن دستور زیر فایل demo رو با محتویاتی که اول اموزش گذاشتم بسازید 

در مثال زیر به دنبال کلمه this میگردیم 

[code]alieblice@de-10:~$ grep "this" demo
this line is the 1st lower case line in this file.
Two lines above this line is empty.
And this is the last line.
alieblice@de-10:~$ 
1





جستوجو برای یک کلمه در چندین فایل
برای این کار فقط لازم اسم فایلارو پشت سر هم با یک فاصله بنویسین 

مثال 
قبل از زدن دستور زیر فایل demo2 رو بسازین 

[code]alieblice@de-10:~$ grep "this" demo demo2
demo:this line is the 1st lower case line in this file.
demo:Two lines above this line is empty.
demo:And this is the last line.
demo2:this line is the 1st lower case line in this file.
demo2:Two lines above this line is empty.
demo2:And this is the last line.
2





همون طور که در بالا میبینین اول هر خط نوشته که هر خط ماله چه فایلی هست 

دستور بالا رو میتونین به این صورت هم بنویسین 
کد:

alieblice@de-10:~$ grep "this" demo* 
حساس نبودن به حروف بزرگ و کوچک بوسیله i- 
در حالت عادی grep حساس به حروف بزرگ و کوچک هستش اگه با i- برای the جستوجو کنیم تمام کلمات THE و The و the رو شامل میشه 
کد:

alieblice@de-10:~$ grep -i "the" demo 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. And this is the last line. alieblice@de-10:~$ 
[size=12pt]4[/size]


This image has been resized. Click this bar to view the full image. The original image is sized 784x111.




استفاده از regular expression در grep 
grep به خوبی از regular expression پشتیبانی میکند که روش استفادشم مثل مثال اول هستش 
اطلاعات بیشتر در مورد regular expression رو از ادرسهای زیر میتونین بخونبن 
Regular Expressions in Grep Command with 10 Examples – Part I
Advanced Regular Expressions in Grep Command with 10 Examples – Part II
کد:

http://www.grymoire.com/Unix/Regular.html 
مثال 
alieblice@de-10:~$ grep "lines.*empty" demo
Two lines above this line is empty.
alieblice@de-10:~$

5



This image has been resized. Click this bar to view the full image. The original image is sized 783x67.




در بالا grep برای هر چیزی که با lines شروع بشه و با empty به پایان برسه که در بینشون هر چیزی میتونه باشه جستو جو میکنه 

جستوجو فقط برای کلمه خاصته شده 
اگه با grep کلمه is رو جستوجو کنیم کلمات زیر رو هم جزو خروجی میاره 
“is”, “his”, “this”
حالا اگه بخایم که فقط دنبال is بگرده از w- میتونیم استفاده کنیم 

عکس grep با اپشن i-
6

عکس grep با اپشن w- 
کد:

alieblice@de-10:~$ grep -iw "is" demo THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE. this line is the 1st lower case line in this file. Two lines above this line is empty. And this is the last line. alieblice@de-10:~$ 
7]



نشون دادن چند خط قبل یا بعد یا دوروبر نوشته پیدا شده -A, -B and -C 
برای این قسمت فایل demo3 رو بسازین

نشون دادن N خط بعد نوشته تطبیق شده با استفاده از A-
کد:

alieblice@de-10:~$ grep -A 3 -i "example" demo3 Example to show the difference between WORD and word * 192.168.1.1 - single WORD * 192.168.1.1 - seven words. alieblice@de-10:~$ 
8]


نشون دادن N خط قبل از نوشته تطبیق شده با استفاده از B-

کد:

alieblice@de-10:~$ grep -B 2 "single WORD" demo3 Example to show the difference between WORD and word * 192.168.1.1 - single WORD alieblice@de-10:~$ 
9



نشون دادن چند خط دورو بر نوشته تطبیق شده با استفاده از C- ((سی بزرگ))
کد:

alieblice@de-10:~$ grep -C 2 "Example" demo3 word - word consists of a sequence of letters, digits and underscores. Example to show the difference between WORD and word * 192.168.1.1 - single WORD alieblice@de-10:~$ 
10]


This image has been resized. Click this bar to view the full image. The original image is sized 666x126.



جستوجو در داخل تمام فایل ها و ساب دایرکتوری ها با استفاده از r-
کد:

grep -r "ramesh" * 
بر عکس کردن جستوجو با استفاده از v- 

با این کار تمام خط هایی که با کلمه تطبیق نیافته اند نشون داده میشن 

کد:

alieblice@de-10:~$ grep -v "go" demo3 4. Vim Word Navigation You may want to do several navigation in relation to the words, such as: WORD - WORD consists of a sequence of non-blank characters, separated with white space. word - word consists of a sequence of letters, digits and underscores. Example to show the difference between WORD and word * 192.168.1.1 - single WORD * 192.168.1.1 - seven words. alieblice@de-10:~$ 
11


This image has been resized. Click this bar to view the full image. The original image is sized 667x262.



همون طور که میبینین در عکس خروجی رنگی وجود ندارد


جستو جو هم زمان برایه چند نوشته به وسیله e-
برای این کار دستورو به این شکل مینویسیم 
کد:

grep -v -e "pattern" -e "pattern" 
مثال :
کد:

alieblice@de-10:~$ grep -e "is" -e "line" demo this line is the 1st lower case line in this file. This Line Has All Its First Character Of The Word With Upper Case. Two lines above this line is empty. And this is the last line. alieblice@de-10:~$ 
12]



This image has been resized. Click this bar to view the full image. The original image is sized 664x101.



میتونین خط هایی که هیچکدان از نوشته های مورد نظر رو ندارن هم پیدا کنین که به این شکل میشه 
کد:

alieblice@de-10:~$ grep -ve "is" -e "line" demo THIS LINE IS THE 1ST UPPER CASE LINE IN THIS FILE. 
13]



This image has been resized. Click this bar to view the full image. The original image is sized 650x106.




شمردن خط هایی که نوشته تطبیق شده رو داراست به وسیله c- 
کد:

alieblice@de-10:~$ grep -c "go" demo3 6 alieblice@de-10:~$ 
یا

کد:

alieblice@de-10:~$ grep -c this demo 3 alieblice@de-10:~$ 
نشون دادن فایل هایی که نوشته مورد نظر درون انها تطبیق شده بوسیله l-

کد:

alieblice@de-10:~$ grep -l this * demo demo2 
یا
کد:

alieblice@de-10:~$ grep -l this demo* demo demo2 
نشون دادن خطی که در ** نوشته تطبق شده بوسیله n-
کد:

alieblice@de-10:~$ grep -n "go" demo3 5: * e - go to the end of the current word. 6: * E - go to the end of the current WORD. 7: * b - go to the previous (before) word. 8: * B - go to the previous (before) WORD. 9: * w - go to the next word. 10: * W - go to the next WORD. alieblice@de-10:~$ 
16


همون طور که میبینین شماره خط رو اول هر خط نوشته 

رنگی کردن 

به طور پیش فرض grep از رنگ قرمز برای مشخص کردن متن های تطبیق یافته استفاده میکند که در عکس های بالا دیده میشه 
حالا اگه بخاین رنگش رو تغییر بدین راحت ترین روش اینه که یک خط مثل خط پایین رپ به فایل 
کد:

.bashrc 
که در home دایرکتوری تون هست قرار بدین (( نکته : اول فایل یک نقطه داره که باعث مخفی شدنش میشه ))
نمونه خط :
کد:

export GREP_OPTIONS='--color=auto' GREP_COLOR='COLOR' 
در خط بالا به جای COLOR کد رنگ مورد نظرتونو بزارین 

چند نمونه رنگ 
کد:

export GREP_OPTIONS='--color=auto' GREP_COLOR='100;8' 
17


کد:

export GREP_OPTIONS='--color=auto' GREP_COLOR='1;37;41' 
18


This image has been resized. Click this bar to view the full image. The original image is sized 656x42.



کد:

export GREP_OPTIONS='--color=auto' GREP_COLOR='1;32' 
19



کد:

export GREP_OPTIONS='--color=auto' GREP_COLOR='7'

** دارالولایه **

درباره امضاء

چهارشنبه 8 شهریور 1391  1:58 AM
تشکرات از این پست
دسترسی سریع به انجمن ها