View Full Version : كمك براي تهيه راهنما براي دستورات و خط فرمان لينوكس
pswin.pooya
یک شنبه 08 بهمن 1391, 23:53 عصر
دوستان يه مدت پيش رفتم كتابخونه و چند تا كتاب لينوكس كه بعضي از اونها از انتشاراتهاي معروف بود رو تهيه كردم. متاسفانه در كمال تعجب وقتي شروع كردم خوندن اونها ديدم كه بعضي از اونها پر از اشتباهات بزرگ ( چه از دستورها گرفته يا مفاهيم و تعاريف) هستند.
نكته جالبتر اينه كه كتابها براي انتشارات معروف بودن و از همه بدتر تكرار اشتباهات بود. اين مساله باعث شد هر دستوري رو كه مي خوندم يك بار داخل man رو هم نگاه كنم تا مطمئن بشم كه خود من اشتباه نمي كنم :افسرده:
قسمتي از اشباهات از برنامه نويس بودن نويسنده ها نشات ميگرفت ( برعكس ويندوز، قسمت عمده اي از لينوكس به برنامه نويسها اختصاص داره) اما مشكل دوم توي تكرار شدن اشتباهات از مراجع اشتباه بود كه برخي از اونها حتي از سايتهاي مشهور نت هستند.
لازمه كه جلوي بعضي از اشتباهات گرفته بشه كه حداقل اونها تكرار نشن. من در حال حاضر يكي دو تا كتاب رو دارم ميخونم و اشتباهات رو به نويسنده ميل ميكنم اما اين فايده نداره. فكر كنم اگر يه رفرنس درست و حسابي براي دستورات فراهم كنيم بهتر باشه. به همين دليل از تمامي دوستان دعوت مي كنم كه توي فراهم كردن همچين تاپيكي كمك كنند تا حداقل يه مقدار هم كه شده باشه بتونيم جلوي اشتباهات رو بگيريم و شايد يك كار درست حسابي انجام بديم
دوستاني كه تمايل به كمك دارن :
در مرحله اول فكر مي كنم كه يه فصل بندي انجام بديم . لطفا فصل بندي كه به نظر شما مناسبه رو ارائه بكنيد
alieblice
دوشنبه 23 بهمن 1391, 23:31 عصر
این سایت حدود 2 ماه هست که راه افتاده هنوز دستورایه توش خیلی محدوده ولی به نظر خودم سرعت پیش رفتش خوب بوده چون 2 نفر بیشتر هنوز توش دستور ننوشتن.
http://30li.ir/
البته از رویه ترتیب خاصی پیش نمیریم هرکی هر دستوری که میخاد رو مینویسه.
pswin.pooya
سه شنبه 24 بهمن 1391, 23:50 عصر
البته از رویه ترتیب خاصی پیش نمیریم هرکی هر دستوری که میخاد رو مینویسه.
امیدوارم موفق باشید و همین متوال پیش برید. اما کلا هدف من از ایجاد این تاپیک متفاوته
مثلا توی یکی از کتابها که برای یک انتشارات معروف بود نوشته بود که دستور touch برای ایجاد فایل خالی به کار میره. خب میشه از این دستور برای اینکار هم استفاده کرد. اما این دستور کلا هدف متفاوتی که تغییر تاریخ فایل هست رو دنبال میکنه یکی از کاربرد های این کار به روز کردن تاریخ یک دسترسی یک فایل بدون دستکاری اون هست. حالا باید چرا تاریخ رو عوض کنیم. خب بعضی از برنامه ها مثل make تنها فایلهایی رو کامپایل می کنند که تاریخ اونها از فایل آبجکت جدیدتر باشه. بعضی وقتها تغییراتی ایجاد می کنیم که باید فایلهای خاصی دوباره کامپایل بشن. یک راه اون حذف فایلهای آبجت است که چندان پیشنهاد نمی شه. ( اونم یکسری دلایل داره) راه دیگه استفاده از این دستور هست. حالا اگر این دستور بدون هیچ پارامتری به کار ببری یک فایل جدید براتون ایجاد میکنه.
و توی یه کتاب دیگه که یه نویسنده معروف هم داشت وقتی دستور ps رو توضیح می داد از گزینه -aux استفاده کرده بود. خب گزینه برای سیستم های BSD هست و یک گزینه استاندارد نیست. بهتره که ps بشکل استاندارد به کمک گزینه -ef استفاده بشه.
یا توی یه کتاب دیگه با دستور finger رو معرفی کرده بود. خب این دستور برای گرفتن اطلاعات کاربرها استفاده میشه. اما این دستور میتونه باعث به وجود اومدن حفره های امنیتی بشه . (شاید هم من دارم اشتباه میکنم) جالبتر این بود که عنوان او کتاب سرویس های شبکه و امنیت لینوکس بود.
یه نکته جالبترُ یه روز یه تبلیغ کلاس لینوکس دیدم کنجکاو شدم و رفتم جلو از شانس مدرس لینوکس آموزشکده هم اونجا بود.وقتی با مدرس صحبت کردم متوجه شدم برنامه نویسی لینوکس بلد نیست. تعجب کردم. بهم گفت برای لینوکس که برنامه نویسی لازم نیست. فکر کنید که یکنفر لینوکس تدریس کنی و برنامه نویسی لینوکس بلد نباشه و از همه بدتر، برنامه نویسی لینوکس رو اصلا لازم نمدونه. توی تمامی علوم کامپیوتری اگر برنامه نویس نباشی. چیزی جزء یک یوزر ساده نیستی. شما حتی توی کانفیگ شبکه و مواردی که به نظر میرسه ربطی به برنامه نویسی ندارند باز هم با برنامه نویسی مواجه خواهید شد. (مثل برنامه نویسی روترها ). لینوکس بهشت برنامه نویسهاست اما دوزخ کاربران هم هست. لینوکس قدرت بی همنایی رو به برنامه نویسهاش میده. اما به همون اندازه هم برای غیر برنامه نویسها پیچیده و غیر قابل درک هم هست. نمونه های اون همون دستور touch هست. چون نویسنده برنامه نویس نبوده کاربرد دستور رو اشتباه متوجه شده.
متاسفانه اشتباهات داخل کتابهای ترجمه شده و درسی کامپیوتری زیاد شده و دلیل اون هم مسئولین نپذیر بودن نویسنده ها و ناشرهاست. مثل یکی مثل انتشارت ویلی همچین اشتباهی کنه تا فرداش کل اعتبارش زیر سوال میره اما توی ایران ناشر حتی به روی خودش هم نمیاره و در نتیجه نویسنده هم برای یه یه مقدار پول ناچیز سریعا یه کتاب می نویسه. مواردی این چنینی مخصوصا توی کتابهای برنامه نویسی ببشتر هستند.
هدف من اینه که یکی یکی دستورها در ایجا مطرح بشن. دوستان در موردشون نظر بدن ومسائل این چنینی حل بشه. برخی از کاربران سایت واقعا حرفه ای هستند. من تعجب می کنم که چرا توی این بحث شرکت نمی کنند. الان درگیر هستم ولی تا یه هفته آینده خودم کم کم شروع میکنم به پیشبرد این تاپیک
eshpilen
چهارشنبه 25 بهمن 1391, 08:32 صبح
دیگه کسی که میخواد لینوکس کار کنه خودش باید اینقدر انگلیسی بلد باشه منوال اصلی یا منابع خوب دیگری رو که هست بخونه.
فکر کردید بدون زبان انگلیسی، طرف حالا یک منوال فارسی هم بخونه، خیلی وارد میشه و بعد میتونه واقعا مسلط و حرفه ای بشه در لینوکس و هرکاری که لازم میشه رو انجام بده و هر مشکلی که پیش میاد رو برطرف کنه؟
توی همین ویندوزش هم همین قضیه کم و بیش هست، چه برسه به لینوکس، چه برسه به خط فرمان.
آیا یک کاربر عادی توی ویندوز، خط فرمان بلده؟ آیا به فرض بودن رفرنس فارسی براش، میره یاد میگیره؟
این کارها کاربر عادی نیست. کار برنامه نویس و خوره و هکر و اینهاست. و اینا هم معمولا زبان بقدر کافی بلدن یا میرن یاد میگیرن (بهرحال هم که باید یاد بگیرن).
لینوکس اصلا کاربر عادی نداره.
اون ساختار و خط فرمانش هم که تازه از مال ویندوز خیلی هکری تره.
الان این همه مقاله دادن خیلی ها درمورد پرمیشن ها در لینوکس. هنوزم که هنوزه اونی که حرفه ای نباشه میبینی نمیتونه از این منابع استفادهء چندانی بکنه. سردرنمیاره. نمیدونه کجا چرا چه پرمیشنی ست کنه. اصول و ساختار کلی رو درک نمیکنه و مکانیزم عمل رو.
توی لینوکس آدم زیاد گیر میکنه، و زیاد باید توی اینترنت سرچ کنه، زیاد منبع و تاپیک بخونه و حتی کمک بخواد و سوال کنه. و اینا همش بدون زبان انگلیسی نمیشه.
یک منوال فارسی برای لینوکس به چه دردی میخوره واقعا، چقدر کاربرد داره، چه تعدادی آدم ازش چه استفاده ای میکنن، چه بازدهی ای داره که ارزش صرف این وقت و انرژی رو داشته باشه؟
حالا داس رو بگی یه زمانی چون مجبور بودن و محیط و نرم افزارهای اداری زیادی داس بوده، واسش کتاب فارسی و کلاس و آموزشگاه درست شد و روی بورس افتاد.
راستی الان مدتیه دارم رفرنس دوره های LPI رو میخونم. کتاب خیلی خوبیه. منوال های خود لینوکس به نسبت خیلی حجیمتر و تخصصی تر هستن که خوندن و درک و بخاطرسپردن اونا رو مشکل میکنه.
prpe26
چهارشنبه 25 بهمن 1391, 17:13 عصر
لینوکس اصلا کاربر عادی نداره.
فقط جهت اطلاع! الان ۲۰ میلیون کاربر از اوبونتو استفاده میکنند (آمار و اطلاعات رسمی کنونیکال ۲۰۱۲) یعنی همشون هکر و گیک و ادمین سرور هستند؟
pswin.pooya
چهارشنبه 25 بهمن 1391, 22:34 عصر
لینوکس اصلا کاربر عادی نداره.
فقط جهت اطلاع! الان ۲۰ میلیون کاربر از اوبونتو استفاده میکنند (آمار و اطلاعات رسمی کنونیکال ۲۰۱۲) یعنی همشون هکر و گیک و ادمین سرور هستند؟
البته اگر توزیع های دیگه مثل مینت و اندروید و فودرا رو در نظر نگیریم.
دوستان. بالاخره تصمیم چیه؟ کسی واقعا پایه هست کار رو شروع کنیم. یا بازهم نتهایی.
من میدونم که رفرنس انگلیسی و man و ... خوبه. اما هیچ چیزی مثل آموزش نیست. یعنی توی مرحله اول لازمه که بدونید چه دستوری برای چه کاری وجود داره. بعد اگر لازم شد برید سراغ راهنما و ... . سایتهای انگلیسی خوبی هم برای این موضوع وجود داره. اما بازهم دلیل نمیشه که اینکار رو شروع نکرد. از کجا معلوم ماهم یه رفرنس خوب نشیم.
prpe26
پنج شنبه 26 بهمن 1391, 00:30 صبح
پویا جان اگر میخوای و مصمم هستی تیمی که اینجا جمع میشه رو ببر تو سایت 30li.ir که منسجم تر باشه منابع :)
shahmohammadi
یک شنبه 29 بهمن 1391, 12:40 عصر
با سلام.
در مرحله اول فكر مي كنم كه يه فصل بندي انجام بديم . لطفا فصل بندي كه به نظر شما مناسبه رو ارائه بكنيد
من هم سه چهار ماهي هست كه لينوكس رو شروع كردم. و به نظرم اين فهرستي كه در زير ميگذارم خوب باشه. البته فهرست بايد بيشتر از اينها هم بشه.
به نظرتون اين فصلبندي چه طور هست؟ بعضي از دانشجوها ازشون خواسته ميشه كه با محيط خاصي برنامه نويسي كنند. بعد از تحقيق ميبينند كه اون محيط فقط براي محيط هاي POSIX هست. بنابر اين چون توي اين محيط نابلدند صددرصد به فهرست زير نياز پيدا ميكنند.
-سيستم فايل و نحوهي پارتيشن بندي قبل از نصب لينوكس (چون دستورات خط فرمان توي اين بخش نيست مي تونيد ازش صرف نظر كنيد)
-نصب سيستم عامل
-نحوهي رفتن به شاخههاي مختلف
-نصب برنامهها
- نصب GCC
-نصب Gnome يا KDE يا ...
-نصب كامپايلر و رانتايم جاوا
-مثالهايي از كامپايل سورس كد برنامههاي معروف و بعد نصبشون
-و...
در هر كدوم از بخشها، دستورات مربوط به اون اعمال توضيح داده ميشند. به نظرم اين بهتر از رفرنسي هست كه دستورات در اون بر اساس الفبا مرتب ميشند.
pswin.pooya
دوشنبه 30 بهمن 1391, 22:44 عصر
من هم سه چهار ماهي هست كه لينوكس رو شروع كردم. و به نظرم اين فهرستي كه در زير ميگذارم خوب باشه. البته فهرست بايد بيشتر از اينها هم بشه.
به نظرتون اين فصلبندي چه طور هست؟ بعضي از دانشجوها ازشون خواسته ميشه كه با محيط خاصي برنامه نويسي كنند. بعد از تحقيق ميبينند كه اون محيط فقط براي محيط هاي POSIX هست. بنابر اين چون توي اين محيط نابلدند صددرصد به فهرست زير نياز پيدا ميكنند.
سرفصلی که اراپه کردید برای برنامه نویسی مناسب به نظر میرسه اما توی مرحله اول هدف اصلی ما پوشش خود لینوکس هست. عنی توی مرحله اول هدف خاصی رو برای برنامه نویسی نداریم. هرچند که مفاهیم واقعی لینوکس خودشون رو در قالب برنامه نویسی نشون میدن.
از مشارکتتون داخل بحث کمال تشکر رو دارم.
FastCode
دوشنبه 30 بهمن 1391, 23:27 عصر
به نظر من هم باید ترجمه بشه.
بلاخره l10n و i18n یکی از اهداف gnu هست و من مطمئنم اونها از ما بیشتر فکر کردن که این تصمیم رو گرفتن.
http://translationproject.org/html/welcome.html
من احتمالاً تا عید وقت خالی زیادی ندارم ولی میتونم هر هفته سه یا چهار تا man page در حد man date رو ترجمه کنم.
حداقل از سوالاتی که راجع به DataGridView توی بخش C# جواب میدم جذابتر هستن.
@pswin.pooya:
من راجع به روش ساخت manpage هیچ اطلاعی ندارم.چون هنوز یکی هم درست نکردم.
احتمالا خیلی از دوستان هم همین مشکل رو دارن.به نظرم بهتره اول راهنماهای مربوط به همین قسمت رو ترجمه کنیم.
؟
چطوری باید مطمئن بشیم که شخص دیگه ای یک man رو ترجمه نکرده؟
مثلا من الان میخوام man و groff و troff رو ترجمه کنم ولی مطمئن نیستم که قبلا ترجمه شدن یا نه.
باید با کجا هماهنگ بشیم؟
pswin.pooya
سه شنبه 01 اسفند 1391, 00:35 صبح
حداقل از سوالاتی که راجع به DataGridView توی بخش C# جواب میدم جذابتر هستن.
فکر کنم واجتر از لینوکس نوشتن یه man برای دیتاگرید و امثال اونها برای سی شارپ باشه
من احتمالاً تا عید وقت خالی زیادی ندارم ولی میتونم هر هفته سه یا چهار تا man page در حد man date رو ترجمه کنم.
متاسفانه منم درگیر کنکور دکتری هستم.
من راجع به روش ساخت manpage هیچ اطلاعی ندارم.چون هنوز یکی هم درست نکردم.
احتمالا خیلی از دوستان هم همین مشکل رو دارن.به نظرم بهتره اول راهنماهای مربوط به همین قسمت رو ترجمه کنیم.
منم همینطور ولی مهمتر از ترجمه کردن به روز نگه داشتن هست. و بازهم مهمتر از اون نحوه انتقال درست اطلاعات. ما امکان داره راهنما ها رو درست و کامل ترجمه کنیم (که اونم باز بعید هست. چون واقعا خیلی از مفاهیم پایه علوم کامپیوتر رو درست متوجه نشدیم). اما این موضوع تا چه حد میتونه کمک کنه (سوال اینه)
من بشدت با آموزشهای تحت نت (tutorial) ها حال می کنم. چون مفاهیم رو به صورت قدم به قدم انتقال میدن و بهتر از همه با مثال. مثلا ممکنه شما ساعتها گزینه های مختلف سرور آپاچی رو توضیح بدید و بگید فلال فیلد برای فلان کاره اما بازهم طرف نتونه باهاش کار کنه. اما همون سرور رو بصورت مقدمانی آموزش بدید و بعدش طرف خودش بره سراغ مفاهیم پیچیده تر.
یه مشکل دیگه که وجود داره اینه که اگر انرژی خودمون فقط صرفا بذاریم روی پایه از مفاهیم و کارهای اساسی تر به دور می مونیم. یه راه حل خوب اینه که یکسری پروژه های کوچیک تعریف بشه و مرتبا سعی کنیم اونها رو کاملتر کنیم. فکر کنم باتوجه به ذات برنامه نویس بودن خیلی از کاربرهای سایت این موضوع خیلی خوشایندتر باشه.
دوستان فصل بندی پیشنهادی من:
۱. مفاهیم و مقدمه و چرا اصلا به عنوان یک برنامه نویس و یا کاربر باید از لینوکس استفاده کنیم:
واقعا از نظر برنامه نویسی چه کارهایی میشه انجام داد که داخل سیستم عاملهای دیگه امکانش وجود نداره. بحث در مورد اینکه این آزاده و این طبق اصول صلح بشری هست و ... به نظر من بیخوده. من خودم شخصا میخوام بدونم چه کارهایی میتونم با کامپیوترها بکنم و چرا
۲. سیستم فایل لینوکس:
کلا بیس سیستم عاملهای تولیدی بل ( یا اکثریت اونها ) سیستم فایل هست. سعی شده همه چی در قالب فایلها بیان بشه. پس برای شروع کار سیستم فایل و نحوه کار با اون میتونه مفید باشه.
۳. سیستم مدیریت لینوکس:
مدیریت کاربرها و گروها و تنظیمات عمومی و ....
۴. راه اندازه اولیه شبکه و مفاهیم اون داخل لینوکس:
مسلما خیلی ها لینوکس رو برای شبکه و سرورهای اون لازم دارن تا کارهای عادی روزمره دیگه
۵. ...
فعلا آخره شبه ذهنیت خوبی ندارم. دوستان لطفا کمک کنید تا به کمک هم این سرفصلها رو کامل کنیم.
FastCode
سه شنبه 01 اسفند 1391, 00:53 صبح
فکر کنم واجتر از لینوکس نوشتن یه man برای دیتاگرید و امثال اونها برای سی شارپ باشهاین جماعت اگر مطالعه میکردن که سوال نمیپرسیدن :)
من بشدت با آموزشهای تحت نت (tutorial) ها حال می کنم. چون مفاهیم رو به صورت قدم به قدم انتقال میدن و بهتر از همه با مثال. مثلا ممکنه شما ساعتها گزینه های مختلف سرور آپاچی رو توضیح بدید و بگید فلال فیلد برای فلان کاره اما بازهم طرف نتونه باهاش کار کنه. اما همون سرور رو بصورت مقدمانی آموزش بدید و بعدش طرف خودش بره سراغ مفاهیم پیچیده تر.
حتی l2tpns؟
من واقعا با بعضیهاشون مشکل دارم.
یعنی میخواهید از قالب man خارج بشید؟
من مخالف نیستم ولی اون بخش ها رو قبلاً خیلی ها پوشش دادن.
مثل کتاب پارسیکس که فکر میکنم لایسنسش Creative Commons باشه
Edit:
5
package manager
6
kernel
7
سیستم مدیریت پروسه ها و حافظه
مطالبی مثل
Shared Memory
fork
zombie process
و همه چیز هایی که با ویندوز فرق داره
8
استاندارد POSIX
9
bash
10
بقیه shell ها
11
رابط گرافیکی و X
12
ssh و بقیه روش های remoting مثل vnc
13
مجازی سازی با KVM OpenVZ Xen VBox VMWare ESX و بقیه hypervisor ها
14
علت وجود توزیع های مختلف
Appendix A:
cast & crew :)
معرفی برنامه نویسهای کرنل و پایه گزاران مثل لینوس و ریچارد
eshpilen
شنبه 05 اسفند 1391, 08:32 صبح
واقعا از نظر برنامه نویسی چه کارهایی میشه انجام داد که داخل سیستم عاملهای دیگه امکانش وجود نداره. بحث در مورد اینکه این آزاده و این طبق اصول صلح بشری هست و ... به نظر من بیخوده. من خودم شخصا میخوام بدونم چه کارهایی میتونم با کامپیوترها بکنم و چرا
چرا بیخوده عزیزم؟
اینکه اینا آزاده و رایگان، باعث شده که در دنیای امروز هر فرد یا گروه/شرکت کوچکی هم به شرط داشتن دانش و همت لازم بتونه تقریبا هرکاری که بخواد انجام بده.
وگرنه مثلا پلتفرمهای آزاد اگر نبودن شما میخواستی کلاستر و ابررایانه و خیلی مسائل تحقیقاتی/علمی/تجاری و حتی شخصی رو راه اندازی کنی، یا باید کلی پول میداشتی که تمام لایسنس های مربوط به تمام اجزای انحصاری رو تهیه کنی یا خودت میخواستی همهء نرم افزارهای لازم رو بنویسی (که اینم عملا غیرممکنه) و تازه بازم با انبوه Patent های نرم افزاری در هر زمینه ای رودررو میشدی.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.