راستش منبع استاندارد یا خاصی مد نظر نیست،اما شروع کار رو از
این تاپیک آوردم و از این به بعد دستورهای دیگه رو از هرکجا که آوردم منبعش رو هم میزارم.البته مثال ها 99 درصد از روی کامپیوتر خودمه.
=======================
قسمت سوم در مورد Symlink هست که میشه به عنوان عملیات حرفه ای تر با فایلها ازش اسم برد.
=======================
این دفعه آموزش ما در مورد symlink هست.symlink یا لینک سمبلیک،یا پیوند نمادین یه امکان در سیستم فایل لینوکس برای دسترسی به یک پوشه از راهی غیر از آدرس دهی مستقیم هست.همیشه مثال و کد همه چیو بهتر نشون میده.من یه پوشه دارم به اسم home/amir/Pictures/ که عکسهام رو توش میریزم،بیاین یه نگاه به محتواش بندازیم :
کد:
amir@amir-laptop:~$ cd Pictures/
amir@amir-laptop:~/Pictures$ ls
1547035_460s.jpg 2695260_460s.jpg
1551819_460s.jpg 2700239_460s.jpg
1790767_460s.jpg 2706117_460s.jpg
1792288_460s.jpg 2715449_460s.jpg
1817464_460s.jpg 2797261_460s.jpg
1829189_460s_v1.jpg 2799227_460s_v1.jpg
1836348_460s.jpg 2831677_460s.jpg
1839558_460s.jpg 2863168_460s_v1.jpg
1843046_460s.jpg 2875691_460s.jpg
1849895_460s_v4.jpg 2899638_460s_v1.jpg
1854390_460s.jpg 2908085_460s.jpg
1874302_460s.jpg 2911821037_3816a8716e.jpg
1898646_460s.jpg 2940583_460s.jpg
1933358_460s.jpg 2989941_460s.jpg
2002498_460s.jpg 3074746_460s.jpg
2053402_460s.jpg 3164970_460s.jpg
2149904_460s.jpg 3175576_460s.jpg
2188204_460s.jpg 3199524_460s.jpg
2205371_460s.jpg 3253527_460s.jpg
2207202_460s_v1.jpg 3323256_460s_v5.jpg
2218793_460s.jpg 3364699_460s.jpg
2230728_460s.jpg 3379738_460s.jpg
2256480_460s.jpg 3538959843_7e0f661dee_o.jpg
2288386_460s.jpg a2aabc65859dafbdbcd7a9784e501425[1].jpg
2288507_460s.jpg CAPTAIN CAVEMAN COLOR 2 CROP.jpg
2304408_460s.jpg golshifteh-farahani-portfolio-espoirs cesars-2012-6.jpg
2459488_460s.jpg IMG_0178.JPG
2472263_460s.jpg Photos
2518684_460s.jpg sad-music-violin-girl-crying.jpg
2572126_460s.jpg shit-brix-girl-5-fingers.jpg
2660550_460s.jpg Webcam
2692126_460s.jpg
حالا میخوام وقتی توی درایو ویندوزم هستم،بازم بتونم بهشون دسترسی داشته باشم (یعنی سریع تر) بنابراین یه لینک سمبلیک درست کردم،نگاه کنید :
کد:
amir@amir-laptop:~/Pictures$ cd /media/windows/Images/Pictures
amir@amir-laptop:/media/windows/Images/Pictures$ ls
1547035_460s.jpg 2695260_460s.jpg
1551819_460s.jpg 2700239_460s.jpg
1790767_460s.jpg 2706117_460s.jpg
1792288_460s.jpg 2715449_460s.jpg
1817464_460s.jpg 2797261_460s.jpg
1829189_460s_v1.jpg 2799227_460s_v1.jpg
1836348_460s.jpg 2831677_460s.jpg
1839558_460s.jpg 2863168_460s_v1.jpg
1843046_460s.jpg 2875691_460s.jpg
1849895_460s_v4.jpg 2899638_460s_v1.jpg
1854390_460s.jpg 2908085_460s.jpg
1874302_460s.jpg 2911821037_3816a8716e.jpg
1898646_460s.jpg 2940583_460s.jpg
1933358_460s.jpg 2989941_460s.jpg
2002498_460s.jpg 3074746_460s.jpg
2053402_460s.jpg 3164970_460s.jpg
2149904_460s.jpg 3175576_460s.jpg
2188204_460s.jpg 3199524_460s.jpg
2205371_460s.jpg 3253527_460s.jpg
2207202_460s_v1.jpg 3323256_460s_v5.jpg
2218793_460s.jpg 3364699_460s.jpg
2230728_460s.jpg 3379738_460s.jpg
2256480_460s.jpg 3538959843_7e0f661dee_o.jpg
2288386_460s.jpg a2aabc65859dafbdbcd7a9784e501425[1].jpg
2288507_460s.jpg CAPTAIN CAVEMAN COLOR 2 CROP.jpg
2304408_460s.jpg golshifteh-farahani-portfolio-espoirs cesars-2012-6.jpg
2459488_460s.jpg IMG_0178.JPG
2472263_460s.jpg Photos
2518684_460s.jpg sad-music-violin-girl-crying.jpg
2572126_460s.jpg shit-brix-girl-5-fingers.jpg
2660550_460s.jpg Webcam
2692126_460s.jpg
همون محتوایی که اونجا دیدیم،اینجا هم میبینیم،درسته؟ اما آیا اینجا همونجاس؟خیر! یکیش توی home/amir/Pictures/ هست و یکیش توی media/windows/Images/Pictures/ هست.
آیا این محتوا رو کپی پیست کردم؟ خیر! آیا دوبار فضا اشغال شده؟ خیر!
بیاین توی media/windows/Images/ یه ls بگیریم،اما این بار از یه سری آپشن استفاده میکنیم :
کد:
amir@amir-laptop:/media/windows/Images/Pictures$ cd ..
amir@amir-laptop:/media/windows/Images$ ls -lah
total 21K
drwx------ 1 amir amir 0 2012-03-18 11:33 .
drwx------ 1 amir amir 20K 2012-03-18 11:23 ..
lrwxrwxrwx 1 amir amir 48 2012-03-18 11:33 Pictures -> /home/amir/Pictures/
میبینید کنار Pictures چی زده؟ علامت <- نشون میده که این یه لینک سمبلیکه!
دقت کنید که لینک سمبلیک فقط مثل یه Shortcut میمونه،یعنی اون محتوا فقط یه بار روی هارد ذخیره شده.اما hard link یا لینک سخت دقیقا همون محتوا رو کپی میکنه،روش هاردلینک الان تقریبا منسوخ شده،اما هنوز پیش فرض دستور ساخت لینک هست.
حالا اگه پوشه Pictures که توی درایو ویندوز هست پاک کنیم چی میشه؟ یادمونه که این پوشه یه لینک سمبلیک به home/amir/Pictures هست :
کد:
amir@amir-laptop:/media/windows/Images$ rm -rv Pictures
removed `Pictures'
amir@amir-laptop:/media/windows/Images$ ls
(کسی میتونه توضیح بده چرا توی دستور حذف (با rm) از آپشن های v و r استفاده کردم؟ اگه میدونید حتما بنویسید)
همونطور که میبینید ls هیچ پاسخی نمیده،یعنی دایرکتوری پاک شده،یعنی عکسها پاک شد....واقعا عکسها از دست رفت؟ بریم ببینیم از دست رفت یا نه :
کد:
amir@amir-laptop:/media/windows/Images$ cd ~/Pictures
amir@amir-laptop:~/Pictures$ ls
1547035_460s.jpg 2695260_460s.jpg
1551819_460s.jpg 2700239_460s.jpg
1790767_460s.jpg 2706117_460s.jpg
1792288_460s.jpg 2715449_460s.jpg
1817464_460s.jpg 2797261_460s.jpg
1829189_460s_v1.jpg 2799227_460s_v1.jpg
1836348_460s.jpg 2831677_460s.jpg
1839558_460s.jpg 2863168_460s_v1.jpg
1843046_460s.jpg 2875691_460s.jpg
1849895_460s_v4.jpg 2899638_460s_v1.jpg
1854390_460s.jpg 2908085_460s.jpg
1874302_460s.jpg 2911821037_3816a8716e.jpg
1898646_460s.jpg 2940583_460s.jpg
1933358_460s.jpg 2989941_460s.jpg
2002498_460s.jpg 3074746_460s.jpg
2053402_460s.jpg 3164970_460s.jpg
2149904_460s.jpg 3175576_460s.jpg
2188204_460s.jpg 3199524_460s.jpg
2205371_460s.jpg 3253527_460s.jpg
2207202_460s_v1.jpg 3323256_460s_v5.jpg
2218793_460s.jpg 3364699_460s.jpg
2230728_460s.jpg 3379738_460s.jpg
2256480_460s.jpg 3538959843_7e0f661dee_o.jpg
2288386_460s.jpg a2aabc65859dafbdbcd7a9784e501425[1].jpg
2288507_460s.jpg CAPTAIN CAVEMAN COLOR 2 CROP.jpg
2304408_460s.jpg golshifteh-farahani-portfolio-espoirs cesars-2012-6.jpg
2459488_460s.jpg IMG_0178.JPG
2472263_460s.jpg Photos
2518684_460s.jpg sad-music-violin-girl-crying.jpg
2572126_460s.jpg shit-brix-girl-5-fingers.jpg
2660550_460s.jpg Webcam
2692126_460s.jpg
نه خیر! همه عکسها سرجاشونه،فقط اون لینک از بین رفت.
سعی کنید وقتی یه چیزی رو خراب کنید که بدونید میتونید درستش کنید! حالا که ما اون سیم لینک رو از بین بردیم باید بتونیم یکی درست کنیم براش.دستور درست کردن لینک ln هست.اما همونطور که گفتیم ln هارد لینک درست میکنه،پس باید با آپشن ها بهش بگیم که سیم لینک میخوایم.دستور ln رو چهار نوع میشه نوشته که من از آخریه استفاده میکنم :
کد:
ln [OPTION]... [-T] TARGET LINK_NAMEln [OPTION]... TARGET
ln [OPTION]... TARGET... DIRECTORY
ln [OPTION]... -t DIRECTORY TARGET...
من این دستور رو توی ترمینالم زدم :
کد:
amir@amir-laptop:~/Pictures$ ln --symbolic -t /media/windows/Images /home/amir/Pictures
موافقید بریم ببینیم نتیجه چی شده؟ اصلا الان کجاییم؟ یه pwd بگیریم :
کد:
amir@amir-laptop:~/Pictures$ pwd
/home/amir/Pictures
پس جامون معلوم شد،محل اولیه عکسها.الان عکسها سرجاشون هستن؟ یه ls بگیریم :
کد:
amir@amir-laptop:~/Pictures$ ls
1547035_460s.jpg 2695260_460s.jpg
1551819_460s.jpg 2700239_460s.jpg
1790767_460s.jpg 2706117_460s.jpg
1792288_460s.jpg 2715449_460s.jpg
1817464_460s.jpg 2797261_460s.jpg
1829189_460s_v1.jpg 2799227_460s_v1.jpg
1836348_460s.jpg 2831677_460s.jpg
1839558_460s.jpg 2863168_460s_v1.jpg
1843046_460s.jpg 2875691_460s.jpg
1849895_460s_v4.jpg 2899638_460s_v1.jpg
1854390_460s.jpg 2908085_460s.jpg
1874302_460s.jpg 2911821037_3816a8716e.jpg
1898646_460s.jpg 2940583_460s.jpg
1933358_460s.jpg 2989941_460s.jpg
2002498_460s.jpg 3074746_460s.jpg
2053402_460s.jpg 3164970_460s.jpg
2149904_460s.jpg 3175576_460s.jpg
2188204_460s.jpg 3199524_460s.jpg
2205371_460s.jpg 3253527_460s.jpg
2207202_460s_v1.jpg 3323256_460s_v5.jpg
2218793_460s.jpg 3364699_460s.jpg
2230728_460s.jpg 3379738_460s.jpg
2256480_460s.jpg 3538959843_7e0f661dee_o.jpg
2288386_460s.jpg a2aabc65859dafbdbcd7a9784e501425[1].jpg
2288507_460s.jpg CAPTAIN CAVEMAN COLOR 2 CROP.jpg
2304408_460s.jpg golshifteh-farahani-portfolio-espoirs cesars-2012-6.jpg
2459488_460s.jpg IMG_0178.JPG
2472263_460s.jpg Photos
2518684_460s.jpg sad-music-violin-girl-crying.jpg
2572126_460s.jpg shit-brix-girl-5-fingers.jpg
2660550_460s.jpg Webcam
2692126_460s.jpg
آره سرجاشون هستن.حالا بریم لینکی که ساختیم چک کنیم :
کد:
amir@amir-laptop:/media/windows/Images$ ls
Pictures
amir@amir-laptop:/media/windows/Images$ ls -lah
total 21K
drwx------ 1 amir amir 152 2012-03-23 14:02 .
drwx------ 1 amir amir 20K 2012-03-18 11:23 ..
lrwxrwxrwx 1 amir amir 46 2012-03-23 14:02 Pictures -> /home/amir/Pictures
دستور ls رو بار دوم با آپشن زدم که باز هم ببینید سیم لینک چطور نمایش داده میشه.الان اگه به پوشه Pictures بریم میبینیم که عکسها قابل مشاهده هستن.
این از بحث لینک سمبلیک که بعدا میفهمین چقدر به درد میخوره.
---------------------------------
اما دیدین که از آپشن ها زیاد استفاده میکنیم و خیلی چیزهای به دردبخوری هستن،حتی گاهی وجودشون الزامیه!(مثل لینک سمبلیک) اما آپشن هارو باید از کجا پیدا کنیم؟ یه اصلا از کجا بدونیم که چطوری باید دستور رو وارد کنیم؟ مثلا توی دستور کپی از کجا بدونیم اول باید پوشه مبدا باشه یا پوشه مقصد؟ جواب تمام این سوالا توی man هست.man مخفف manual هست به معنی راهنما.99 درصد دستوراتی که توی ترمینال میتونید تایپ کنید حتما man دارن.روش کار هم اینجوریه که توی ترمینال مینویسید :
که خب طبیعیه به جای <command> دستور مورد نظرتونو تایپ میکنید.مثلا از چیزایی که تاحالا گفتیم بیایم تست کنیم(خودتون هم همین الان توی ترمینال بزنید)،مثل دستور کپی :
قسمت اول میگه که اسم دستور چیه و چه کار انجام میده.
کد:
NAME
cp - copy files and directories
قسمت دوم میگه که طرز نوشتن دستور چطوریه :
کد:
SYNOPSIS cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
که میبینید دستور کپی رو میشه به ۳ روش نوشت.
قسمت بعدی یه توضیحه :
کد:
DESCRIPTION
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
یعنی دستوراتی که بالا نوشتیم Source رو توی DEST کپی میکنن.یعنی به جای SOURCE آدرس مبدا و به جای DEST آدرس مقصد رو بزارید.یا اینکه چندتا فایل رو توی یه دایرکتوری میتونه کپی کنه که به جای DIRECTORY آدرس دایرکتوری مقصد رو میزاریم.
قسمت بعدی تمام آپشن های ممکن رو توضیح میده،اینجا چند تاشو میزارم و بقیه رو خودتون بخونید :
کد:
-a, --archive same as -dR --preserve=all
--backup[=CONTROL]
make a backup of each existing destination file
-b like --backup but does not accept an argument
--copy-contents
copy contents of special files when recursive
-d same as --no-dereference --preserve=links
-f, --force
if an existing destination file cannot be opened, remove it and
try again (redundant if the -n option is used)
-i, --interactive
prompt before overwrite (overrides a previous -n option)
که مثلا ما f- و i- رو قبلا توضیح دادیم.توضیحات معمولا به زبان خیلی ساده داده شده و مشکلی پیش نمیاد.
بعدش یه سری توضیح در مورد بعضی آپشن های خاص داده،بعد از اون هم عموما معرفی خالق برنامه،مسائل کپی رایت،آدرس ایمیل و/یا سایت واسه گزارش bug و در آخر هم منابع دیگه ای واسه فهمیدن بهتر دستور مینویسه.
اما یه موضوع خیلی مهمی که هست و فکر کنم کسایی که توی خطوط بالا بهشون گفتیم man رو اجرا کنید همین الان باهاش برخورد کردن هم اینه که چطور از man بیایم بیرون؟! راستش من خودم اول صفحه ترمینال رو می بستم!! بعدها از ctrl+z استفاده میکردم که اون هم کار کاملا اشتباهیه.روش درستش اینه که خیلی ریلکس دکمه q رو بزنید!!!
ترکیب crtl + c برای متوقف کردن برنامه در حال اجرا هست و ترکیب ctrl + z برای خاتمه دادن ناگهانی (کشتن یا kill) فرآیند استفاده میشه.
===========
از هرنوع سوالی که پیش اومده استقبال میشه.سوالات مربوط به ترمینال و آموزش رو اینجا بپرسید و سوالات عمومی مربوط به لینوکس رو توی تاپیک لینوکس بپرسید.