بهترین دستورات لینوکس برای کاربران تازه کار
بهترین دستورات لینوکس برای کاربران تازه کار
چند سالی از عرضه نسخه های پیشرفته سیستم عامل لینوکس میگذرد. اما با وجود سلطنت ویندوز به ویژه در کشور ما ، کاربران زیادی از این سیستم عامل بهره نمیبرند. اما کاربرانی هم هستند که تا حدودی با لینوکس آشنایی دارند و چند باری با آن کار کرده اند و به نوعی تازه کار محسوب میشوند. در این ترفند قصد داریم 10 نوع از بهترین و کاربردی ترین دستورهای موجود در لینوکس را برای این کاربران تازه کار مطرح سازیم. چرا که با استفاده از همین گونه دستورات است که به مرور در این سیستم عامل نیز حرفه ای خواهید شد.کافی است در داخل Shell دستورات زیر را وارد نمایید:
1- lsاین دستور را میتوان کاربردی ترین و اساسی ترین دستور پایه نام برد. ls به منظور نمایش فایلهای موجود در دایرکتوری که در آن هستید به کار میرود.
2- whoاز این دستور برای نمایش افرادی که هم اکنون داخل سیستم Login کرده اند استفاده میشود.
3- cdدستور cd شما را به مسیر اصلی دایرکتوری که هم اکنون در آن هستید هدایت میکند.
4- ifconfigاین دستور امکان مشاهده کلیه قسمتهای مربوط به شبکه همانند آدرس IP شما ، Netword Device های فعال و ... را به شما میدهد.
5- manاین دستور خود یک دستور راهنماست ، به این شکل که در صورتی که از دستوری اطلاع نداشتند با تایپ man و سپس دستور مورد نظر ، کاربرد دستور فوق را در یک فایل متنی مشاهده خواهید کرد.
6- tarدستور tar به منظور خارج کردن فایل ها و دایرکتوری ها از حالت فشرده به کار میرود. به فرض مثال شما ممکن است یک فایل tar. را دانلود کرده باشید. با استفاده از این دستور میتوانید این فایل ها را به فایل ها و فولدرهای معمولی تبدیل کنید.
7- gzipبا استفاده از دستور gzip شما ابزاری مناسب برای فشرده سازی و خارج سازی فایلهای فشرده خواهید داشت.
8- echoاین دستور جالب باعث میشود (ترفندستان) هر دستوری که پس از echo تایپ نمایید در یک خط جدید از Command Prompt نمایش پیدا کند. این دستور همچنین برای گرفتن خروجی از اسکریپتهای Shell بسیار مورد استفاده است.
9- df -hاین دستور مقدار فضای خالی شما در داخل درایو مورد نظر را برای شما نمایش میدهد.
10- apt-get, yum, emerge, etcاین دستورات هر کدام بر روی یکی از توزیع های لینوکس قابل اجراست. apt-get در ubuntu یا emerge برای gentoo. با این دستورات شما امکان فراخوانی هر یک بسته های مدیریتی از اینترنت و دانلود آنها برای کار بهتر در لینوکس را خواهید داشت.
روش ها ی خاموش کردن لینوکس
((( اگه روش هایی به غیر از روش های زیر دوستان میدونستین به صورت پیقام خصوصی یا زیر همین پست بگین تا اموزشو کامل کنم - ممنون )))
برای خاموش کردن لینوکس 4 روش وجود داره که هرکدوم مقداری تفاوت با هم دارن مثلا یکی زود تر خاموش میکنه یا یکی به صورت اصولی خاموش میکنه یا یکی همین جوری یک دفعه ای سیستمو میبره پایین .
کد:
1- shutdown
2- init 0 یا telinit 0
3- halt
4- poweroff
1- shutdown
شکل کلی دستور به این شکل هست
کد:
shutdown [-akrhPHfFnc] [-t sec] time [warning message
]
[/s]
چند مثال
خاموش کردن کامپیوتر قبل از نصفه شب
خاموش کردن در همین لحظه
خاموش کردن در 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 صدق میکنه
منبع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
۵ روش برای شناسایی فایل سیستم
روش برای شناسایی فایل سیستم
کد:
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 به شکل زیر استفاده کنید:
کد:
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)
با استفاده از دسترسی 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)
اگر یک 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
استفاده کنید.
ممنون از همه دوستان عزیز
موفق باشید
منبع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کرنل و سی پی یو 32 bit یا 64 bit !!
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
کرنل 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
منبع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستور wget ((دانلود منیجر تحت ترمینال))
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
wget یک دانلود منیجر تحت ترمینال هستش که که اپشن های زیادی هم داره که به واسطه همونا در موقعیت های مختلف دانلود کردن میشه ازش استفاده کرد
برای پیدا کردن اطلاعات کاملی در مورد دانلود منیجر های لینوکسی به این ادرس برید
کد:
دانلود منیجرهای دنیای لینوکس
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
شکل کلی دستور
کد:
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
ادرس
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دانلود میکنپ ودر فایل 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.
چند مثال مفید دیگه هم در منبع بود که من نگفتم
منبع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ساختن کاربر ((user)) و پاک کردن و ایجاد بعضی محدودیت ها
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
برای ساختن 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
برای پاک کردن کاربر به همراه دایرکتوری خانه
کد:
userdel tia -r
usermod
دستور usemod برای گذاشن محدودیت برای یک کاربر هسنش
برای قفل کردن کاربر
برای باز کردن قفل کاربر
-d
برای تعیین تاریخ برای از کار افتادن کاربر
-s
برای تعیین شل کاربر
کلا تنضیماتش خیلی نیست با --help میتونین تنضیماتشو ببینین اکثرشم احتیاج به توضیح نداره
chage
این دستور هم برای گذاشتن یک سری دیگه از محدودیت ها استفاده میشه
برای گذاشتن محدودیت های دیگه ای مثل تعداد پروسس با حد اکثر تعداد login ها و غیره میتونین از فلدر
/etc/security
استفاده کنین
برای دیدن کاربرای online هم میتونین از دستور
who
یا
w
کنین
دستور rsync ((گرفتن :پشتیبان backup ))
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستور 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:~$
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
.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
منبع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
چند مثال دیگه تو منبع هست که نگفتم
فشرده سازی در لینوکس (قسمت اول 1) -* دستور zip *-
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
تقریبا اطمینان دارم که همه میدونن zip چی هستش پس خیلی توضیح نمیدم
zip یک فرمت فشرده سازی هستش که با اون مبشه یک یا چند فایل و یا دایرکتوری را zip فشرده کرد که باعش کم شدن حجم میشود
فایلی که با zip فشرده بشود در اخر اسم ان کلمه zip قرار میگیرد که نشانه فرمت اون هست
اطلاعات بیشتر که zip چی هست :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
بزای فشرده کردن یک فایل که اسم اون مشخص هستش دستور به شکل زیر میشود
کد:
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
منابع :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستور 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:/#
موضوعات مرتبط :
۵ روش برای شناسایی فایل سیستم
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]