صفحه 1 از 3 123 آخرآخر
نمایش نتایج 1 تا 40 از 107

نام تاپیک: چیزهای تازه ای که هر روز یاد میگیرم.

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    چیزهای تازه ای که هر روز یاد میگیرم.

    سلام

    نمی دانم این عنوان مناسب بود یا نه اما می خواهم هر چیزی که تازه یاد گرفتم و به نظرم جالب آمد در اینجا بنویسم.

    اما امروز:

    errorlevel چیست؟
    برنامه ها هنگام خروج می توانند یک کد خروجی به سیستم عامل تحویل دهند. اگر این کد صفر باشد یعنی خروج عادی اما اگر عددی دیگر باشد (صفر تا ۲۵۵) یعنی خطا.

    در داس خیلی وقت پیش این نکته را می دانستم و با آن کار میکردم اما در لینوکس (bash) نمی دانستم.

    تا اینکه امروز دستور for را یکبار دیگر نگاه می کردم و این را یاد گرفتم. بهتر است با یک مثال پیش برویم:

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


    root@srv1:/# ls a
    ls: a: No such file or directory
    root@srv1:/# echo $?
    1
    root@srv1:/#


    توجه کنید دستور بعدی که اجرا شود errorlevel از بین می رود.

    تذکر: نمی دانم واژه درست در لینوکس errorlevel است یا نه من واژه ویندوزی (داس) را نوشتم. exit status در متن خودش نوشته است.

    در ویندوز دستور از راهنمای ویندوز if را ببینید مثال:

    if %errorlevel% geq 1 echo error
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  2. #2
    سلام استاد ! راستش تاپیک خیلی باحالی زدین . من هم می خوام مشارکت کنم باهاتون. اجازه میدین ؟

  3. #3
    سلام خواهش می کنم.

    اما امروز:

    اگر می خواهید لیست کل فایلهای شما در یک متغیر ذخیره شود با دستور:

    LISTFILES="`ls -1`"


    اینکار را انجام دهید. نام فایلها با فاصله در این متغیر قرار می گیرد.

    کلا برای قرار دادن نتیجه یک دستور در متغیر از این راه می توانید استفاده کنید. مثلا ارسال محتویات یک فایل به متغیر با دستور زیر:

    ls -1 > __LS__1


    LISTFILE2="`cat __LS__1`"

    دستور اول مد نظر من نیست فقط خواستم لیست فایلها در یک فایل قرار گیرد.
    به دستور دوم نگاه کنید که چگونه محتویات یک فایل را به داخل متغیر می ریزد.


    مبحث دوم:
    دستور for
    در داس خیلی از این دستور خوشم می آمد نحوه کار آن در ویندوز و داس:

    for %f in (*.*) do echo %f

    که %f متغیر است و عبارت داخل پرانتز لیست فایلهایی است که کاری می خواهید با دستور بعد از do روی آنها انجام دهید.


    اما در لینوکس:
    [code]
    for INDEX in `ls -1` ; do echo $INDEX ; done
    [code]
    و روش دوم:

    for (( I=0 ; I < 10 ; I++)); do echo $I ; done


    می بینید که مانند بسیاری از زبانهای برنامه نویسی foreach و for شبیه C دارد.

    البته می توانید هر چقدر می خواهید دستور بین do و done قرار دهید و با ; از هم جدا کنید.




    راستی اسم کاراکتر ` چیست؟ (کاراکتر زیر ESC در صفحه کلید که با shift کاراکتر ~ تایپ می شود.) (فکر کنم کوتیشن شروع باشد و ' کوتیشن انتهایی یعنی در یک نقل قول اول می آید.)
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  4. #4
    آقای توکل به مورد جالبی اشاره کردن .
    چند هفته پیش درگیر موضوع نمایش تمام فایلهای مخفی روی هارد دیسکم بودم . به موارد جالب بر خورد کردم که شدیدا بهم کمک کرد .
    به عنوان مثال دستور زیر تمام هارد دیسک رو میگرده البته به غیر از پارتیشن های ویندوز که مانت شده :

    ls -aR / | grep '^\.'
    برای اینکه فقط داخل یک شاخه رو بگردید از این دستور استفاده کنین

    ls -aR | grep '^\.'
    این دستور شاخه رو مانند درخت تا انتها طی می کنه و می گرده .
    تو این دستورات کاراکتر a که همون all هستش و R هم به صورت بازگشتی عمل می کنه که اگه شاخه ای داخل شاخه باشه اون رو هم بگرده که معادل recursive هستش .
    ممکنه بپرسید که grep اینجا چیکار میکنه . اون هم واسه این هستش که وقتی دستور ls رو شما اجرا می کنین یه خروجی میده همون که آقای توکل اول تاپیک فرمودن . اون رو مقایسه می کنه و اگه موردی که پیدا شد با داخل کوتیشن برابر بود نمایش میده

  5. #5
    من انگلیسیم تو مکالمه و املایی یه خورده ضعیفه برای همین به مورد جالب استثنایی برخورد کردم که تو سایتهای ایرانی هم بحث شده بود . شما مثلا می تونین با ربات یاهو مسنجر چت کنین ولی خوب تو لینوکس حال نمیده . برای همین به صورت اتفاقی تو یکی از سایتهای انگلیسی که داشتم می گشتم به مورد جالبی بر خورد کردم که بتونم باهاش چت کنم یه خورده مکالمم و نوشتاریم بره بالا.
    برای اینکه با یه ربات چت کنین این دستور رو تو خط فرمان اجرا کنین .

    telnet the-funk.net 7000

    البته باید به اینترنت وصل باشین . ببینین که چقدر حال میده با یه ربات چت کنین .

  6. #6
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    راستی اسم کاراکتر ` چیست؟ (کاراکتر زیر ESC در صفحه کلید که با shift کاراکتر ~ تایپ می شود.) (فکر کنم کوتیشن شروع باشد و ' کوتیشن انتهایی یعنی در یک نقل قول اول می آید.)
    بکتیک یا backtick یا احیانا grave accent.
    تو کتاب های کامپیوتری backtick بیان میشه.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  7. #7
    دستور wget واقعا شیرین ترین دستوری هستش که وقتی کانکت میشم بهم حال میده.
    چند ماه پیش داشتم برای دانلود کامل سایت هزاردستان اینترنت رو می گشم . اون سایت مقاله های جالبی داره می خواستم کلا دانلود کنم بشینم بخونم .
    نرم افزارهای جالبی رو دیدم ولی هیچ کودوم مثل دستور زیر منو حیرت زده نکرده بود . چقدر لذت می برم از اینکه با لینوکس کار میکنم .

    wget WEBSITE -k -c -r -p

    دستور wget خیلی قدرتمنده و واقعا سرعتش هم بالاست . تمام دانلود هام رو باهاش انجام میدم . فایل رو عالی دانلود میکنه و فایل دانلود شده صحیح و سالم تحویل داده میشه .
    با اون دستور یک سایت رو کامل می تونین دانلود و لذت ببرید .

  8. #8
    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    دستور wget واقعا شیرین ترین دستوری هستش که وقتی کانکت میشم بهم حال میده.
    چند ماه پیش داشتم برای دانلود کامل سایت هزاردستان اینترنت رو می گشم . اون سایت مقاله های جالبی داره می خواستم کلا دانلود کنم بشینم بخونم .
    نرم افزارهای جالبی رو دیدم ولی هیچ کودوم مثل دستور زیر منو حیرت زده نکرده بود . چقدر لذت می برم از اینکه با لینوکس کار میکنم .

    wget WEBSITE -k -c -r -p
    دستور wget خیلی قدرتمنده و واقعا سرعتش هم بالاست . تمام دانلود هام رو باهاش انجام میدم . فایل رو عالی دانلود میکنه و فایل دانلود شده صحیح و سالم تحویل داده میشه .
    با اون دستور یک سایت رو کامل می تونین دانلود و لذت ببرید .

    یه سوال: چجوری با این دستور مکان ذخیره شدن فایل ای دانلودی رو تعیین کنم ؟

  9. #9

    Question نقل قول: چیزهای تازه ای که هر روز یاد میگیرم.

    نقل قول نوشته شده توسط tux-world مشاهده تاپیک
    دستور wget واقعا شیرین ترین دستوری هستش که وقتی کانکت میشم بهم حال میده.
    چند ماه پیش داشتم برای دانلود کامل سایت هزاردستان اینترنت رو می گشم . اون سایت مقاله های جالبی داره می خواستم کلا دانلود کنم بشینم بخونم .
    با سلام
    دو تا سوال
    ۱) محل ذخیره سایتو نگفتی؟۲) چرا روی بعضی از سایتا جواب نمیده؟

  10. #10
    کاربر دائمی آواتار FastCode
    تاریخ عضویت
    تیر 1388
    محل زندگی
    /dev/null
    پست
    3,486

    نقل قول: چیزهای تازه ای که هر روز یاد میگیرم.

    نقل قول نوشته شده توسط zxmr71 مشاهده تاپیک
    با سلام
    دو تا سوال
    ۱) محل ذخیره سایتو نگفتی؟۲) چرا روی بعضی از سایتا جواب نمیده؟
    توی دایرکتوری جاری کل مسیر سایت رو میسازه.
    خیلی از سایت ها نیاز به گزینه های اضافه مثل --referer دارند.

  11. #11
    من اصول آدم بسیار مشکل داری هستم . یه سیدی صوتی mp3 بهم داده بودن که کپی نمیشد و سی دی مشکل داشت .
    تو ویندوز که عمرا نشد حتی با نرم افزاری مخصوصش . اومدم لینوکس ببینم چیزی برای اینکار سراغ داره یا نه . البته نه که نمیشد حتما وجود داشت .
    آخرش پیداش کردم .

    ddrescue

    این بسته نرم افزاری رو نصب و از خط فرمان اجرا کنین . داکیومنت خوبی داره میتونین مطالعه کنین و بلاخره تونستم چندین فایل صوتی رو باهاش نجات بدم . واقعا عالی کار کرد . باور ندارین؟ امتحان کنین

  12. #12
    یک اسکریپت برای تبدیل 3gp به avi:

    #!/bin/bash
    ffmpeg -i $1 -f avi -vcodec xvid -acodec mp3 -ar 22050 $1.avi
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  13. #13

    parse کردن اطلاعات صفحه html

    من یه اسکریپت دارم که به صورت cronjob هرچند روز یکبار تعدادی از صفحات یه وبسایت رو میگیره و اطلاعات خاصی رو از اون استخراج میکنه.یک نمونه از نمایش صفحات این سایت روی مرورگر :

    Last update IP address Port Country Speed Connection time Type Anonymity
    31 secs 54.251.150.200 80 flag United States HTTP Low
    2 minutes 173.213.113.111 3128 flag United States HTTPS High +KA
    2 minutes 94.209.12.29 80 flag Netherlands HTTP High +KA
    3 minutes 89.32.230.98 8080 flag Moldova, Republic of HTTPS High +KA
    4 minutes 118.96.127.10 3128 flag Indonesia HTTP Low
    4 minutes 125.39.68.130 80 flag China HTTPS High +KA
    5 minutes 115.127.29.178 3128 flag Bangladesh HTTPS High +KA
    5 minutes 218.29.154.54 8000 flag China HTTPS High +KA

    اسکریپت ۴ فیلد رو استخراج و پردازش میکنه.فیلد ip مربوط اولین رکورد(54.251.150.200) در فایل html
    به صورت زیر است :

    .xn4v{display:none}
    .CHZv{display:inline}
    .WJIS{display:none}
    .R1oQ{display:inline}
    .Qp8o{display:none}
    .KEYK{display:inline}
    .R_Ad{display:none}
    .XUdT{display:inline}
    </style><span class="XUdT">54</span><span style="display:none">61</span><div style="display:none">61</div><div style="display:none">131</div><span style="display:none">177</span><span class="R_Ad">177</span><span></span><div style="display:none">214</div><span></span><span class="XUdT">.</span><span class="R_Ad">18</span><div style="display:none">18</div><span class="xn4v">125</span><span class="R_Ad">136</span><div style="display:none">136</div><span style="display:none">180</span><div style="display:none">180</div><span style="display:none">209</span><span class="xn4v">209</span><div style="display:none">209</div><span style="display:none">218</span><span class="WJIS">218</span><div style="display:none">218</div><span style="display: inline">251</span><span class="27">.</span><span class="Qp8o">6</span><span style="display:none">25</span><span style="display:none">40</span><span class="WJIS">40</span><span class="Qp8o">54</span><div style="display:none">54</div><span class="Qp8o">57</span><span style="display:none">71</span><span class="WJIS">71</span><div style="display:none">71</div><span style="display:none">80</span><span style="display:none">114</span><span class="WJIS">114</span><div style="display:none">114</div><span style="display:none">130</span><div style="display:none">130</div><div style="display:none">134</div><span class="143">150</span><div style="display:none">175</div><span style="display:none">188</span><div style="display:none">188</div><span></span><span></span><span class="122">.</span><span class="WJIS">3</span><span></span><div style="display:none">9</div><span class="Qp8o">152</span><div style="display:none">152</div><span class="30">200</span></span></td>


    البته سایر فیلدهای ip دارای الگوهای متغیر دیگری هستند و این کار را کمی مشکل میکند ولی وقتی مرورگر میتواند به راحتی صفحه را رندر کند پس من هم میتوانم.یک تابع کوچک ۴ فیلد مورد نظر من را استخراج میکند(ip-port-country-type) :

    function parse_ip_port()
    {
    maingrepstr="((span|div|style|class=\"[0-9]+\"|display:[ ]?inline\")>\.?[0-9]+\.?[0-9]*<)"
    grepstr="$maingrepstr"
    unset temparray
    temparray=(`grep -En '^\..*' $rand_file_name | cut -d ':' -f 1`)
    for i in `seq 0 $((${#temparray[@]}-2))`;
    do
    unset tempstr
    linenum="${temparray[$i]}"
    tempstr="`sed -n "${linenum}p" "$rand_file_name" | grep '{display:inline}' | grep -Eo '^\.[^{]+' | cut -c 2- | tr -d '\n'`"
    if [ -n "$tempstr" ];then
    grepstr="$grepstr|(class=\"$tempstr\">\.?[0-9]+\.?[0-9]*<)"
    fi
    if [ "${linenum}" -eq "$((${temparray[$i+1]}-1))" ];then
    continue
    else
    offset=$((${temparray[$i+1]}-1))
    echo "`sed -n "${linenum},${offset}p" "$rand_file_name" | grep -Eo "$grepstr"| grep -Eo '(^\.?[0-9]+\.?[0-9]*)|(>[\.]?[0-9]+[\.]?[0-9]*<)' | grep -Eo '[0-9]+' | tr '\n' '.' | sed 's/\.$//'`:`sed -n "${linenum},${offset}p" "$rand_file_name" | grep -Eo '^[0-9]+' | head -n 1`:`sed -n "${linenum},${offset}p" "$rand_file_name" | grep -Eo '>.*</span>' | grep -Eo '> .*<' | grep -Eo '[^>].*[^<]' | cut -c 2-`:`sed -n "${linenum},${offset}p" "$rand_file_name" |grep -Eio '<td>(HTTP|HTTPS|socks.*)</td>' | grep -Eo '>[^<]+' | cut -c 2-`" >>$rand_file_pages
    grepstr="$maingrepstr"
    fi
    done
    lastindex="$((${#temparray[@]}-1))"
    tempstr="`sed -n "${temparray[$lastindex]}p" "$rand_file_name" | grep '{display:inline}' | grep -Eo '^\.[^{]+' | cut -c 2- | tr -d '\n'`"
    if [ -n "$tempstr" ];then
    grepstr="$grepstr|(class=\"$tempstr\">\.?[0-9]+\.?[0-9]*<)"
    fi
    echo "`sed -n "${temparray[$lastindex]},$((${temparray[$lastindex]}+25))p" "$rand_file_name" | grep -Eo "$grepstr"| grep -Eo '(^\.?[0-9]+\.?[0-9]*)|(>[\.]?[0-9]+[\.]?[0-9]*<)' | grep -Eo '[0-9]+' | tr '\n' '.' | sed 's/\.$//'`:`sed -n "${temparray[$lastindex]},$((${temparray[$lastindex]}+25))p" "$rand_file_name" | grep -Eo '^[0-9]+' | head -n 1`:`sed -n "${temparray[$lastindex]},$((${temparray[$lastindex]}+25))p" "$rand_file_name" | grep -Eo '>.*</span>' | grep -Eo '> .*<' | grep -Eo '[^>].*[^<]' | cut -c 2-`:`sed -n "${temparray[$lastindex]},$((${temparray[$lastindex]}+25))p" "$rand_file_name" | grep -Eio '<td>(HTTP|HTTPS|socks.*)</td>' | grep -Eo '>[^<]+' | cut -c 2-`" >>$rand_file_pages
    return
    }

    متغیر $rand_file_name فایل html دانلود شده است که باید پردازش شود.نتایج حاصل از پردازش در $rand_file_pages قرار میگیرند.برای امتحان صفحه http://www.hidemyass.com/proxy-list/1 را از طریق قند شکن دانلود کنید و با انتساب ۲ فایل ورودی و خروجی به ۲ متغیر ذکر شده این تابع را آزمایش کنید.
    آشنایی با sed,grep و سینتکس regex و چندین خاصیت مهم bash میتواند حاصل این تمرین باشد.میتوانید از awk به جای sed و grep استفاده کنید.در برخی دیگر از صفحات web متغیرهای جاوا اسکریپت جایگزین تعریف استایلهای نظیر
    .xn4v{display:none}

    میشوند اما پردازش آن نیز ساده است.
    میدانم که کد بالا یک کد اسپاگتی است.اما بسیار کوتاه است و معنی و مفهوم آن برای کسی که از regex سر در بیاورد راحت است.
    کد هر سایتی به مرور زمان ممکن است تغیییر کند که ممکن است نیاز به تغییراتی در تابع باشد.

  14. #14

    چه کاربری لاگین کرده

    من اسکریپتی دارم به صورت یه cronjob با مجوز ریشه اجرا میشه اما لاگین من به صورت یه کاربر معمولیه.میخوام این اسکریپت log فایل خودشو در دسکتاپ کاربر لاگین کرده قرار بده و نه کاربر ریشه.طبیعتا نمیتونم از مقدار متغیرهایی نظیر USER یا USERNAME یا LOGNAME استفاده کنم.راه حل استفاده از دستور who هست.نمیدونم سینتکس دستور درسته یا نه ولی در همه حالاتی که در دو لینوکس فدورا و دبیان 7 امتحان کردم چه با لاگین کاربر عادی یا ریشه درست جواب داده.

    current_logged_user="`who | grep -v root | head -n 1 | cut -d " " -f1 | tr -d '\n'`" #${MAIL##*/}
    [[ -z "${current_logged_user}" ]] && current_logged_user="$USER"


    به جای grep -v root میشه از
    grep ' :0 '

    استفاده کرد به شرط آنکه کاربر فقط از طریق دسکتاپ لاگین کنه و از محیط ترمینال برای اجرای اسکریپت استفاده نکنه.تمام تلاش من اینه که هر اسکریپتی مینویسم تا حد امکان پرتابل باشه.به خاطر اینه که گاهی به نظر میرسه لقمه رو دور سر میچرخونم.
    اگر کسی سینتکس بهتر یا دستور دیگه ای سراغ داره لطفا راهنمایی کنه.

  15. #15

    دانلود منیجر

    دنیای نرم افزارهای آزاد تا حالا نتونسته دانلود منیجری به قدرتمندی IDM ویندوز بوجود بیاره.
    در محیط گرافیکی flareget رقیبی نداره.jdownloader با وجود قدیمی بودنش خیلی خوبه.
    در محیط متنی wget بابابزرگ حساب میشه و curl یه دانلود منیجر بسیار حرفه ای تر به شمار میاد اما سریعترین دانلود منیجر بی شک axel هست.
    اما تمام این دانلود منیجرها باید بزنن بغل وقتی aria2 میاد وسط.aria2 سریعترین نیست ولی منعطفترین و قدرتمندترین دانلود منیجر تحت خط فرمان هست.از پروتوکولهای مرسوم دانلود پشتیبانی میکنه و چند بندیه و ...
    فقط ۲ تا مشکل هست.خیلی از سایتهای دانلودی(http)از مکانیزم کوکی یا ارجاع استفاده میکنند و اگر دانلودری نتونه این دو مکانیزم رو ساپورت کنه نمیتونه از یه سری سایتها دانلود کنه.
    برای اولی aria2 آپشن load-cookies رو داره که به صورت عمومی اعمال میشه.برای دومی هم آپشن referer رو داره که البته باید با آپشن parameterized-uri توامان باشه.
    من از یه لیست دانلودی استفاده میکنم که کلیه URL ها به همراه آپشن ارجاع و در صورت وجود سایر URI های اون لینک دانلود در اون قرار داره با دستور زیر :
    /usr/local/bin/aria2c --input-file=/home/ahmad/Desktop/downlist.txt --log=/home/ahmad/Desktop/aria2.log --log-level=notice --retry-wait=1 --max-tries=0 --max-concurrent-downloads=2 --split=4 --max-connection-per-server=1 --connect-timeout=600 --enable-dht --stop=$((28500-((`date +"%H"`*60*60)+(`date +"%M"`*60)))) --file-allocation=prealloc --parameterized-uri=true --check-certificate=false --check-integrity=true --dir=/big-download --load-cookies=`{ \cp -f $(find "$HOME" -name "cookies.sqlite" 2> /dev/null | grep "mozilla") /tmp;echo /tmp/cookies.sqlite; }`

    نکات مربوط به دستور بالا:
    آپشن ارجاع در فایل downlist.txt مربوط به هر لینک دانلود قرار داره و آپشن عمومی نیست.
    همزمان ۲ فایل دانلود میشن اما در زمان واحد صرفا یک کانکشن به یک سرور خاص مجازه و کانکشنها حداکثر از ۴ بند استفاده میکنند.
    من معمولا از یه cronjob برای دانلود استفاده میکنم که در ساعت 1:02 بامداد شروع میشه.زمان پایان دانلود رو خود دانلود منیجر تعیین میکنه.(در آپشن stop).قبلا مقدار این آپشن به صورت ثابت بود اما حالا اون رو متغیر کردم.چون گاهی دانلود به صورت cronjob اجرا نمیشه و با تاخیر به صورت فرمان مستقیم اجرا میشه.در هر حال در ساعت 7:55 باید دانلود قطع بشه.
    --stop=$((28500-((`date +"%H"`*60*60)+(`date +"%M"`*60))))

    دستور بالا تعداد ثانیه های باقیمانده تا 7:55 دقیقه رو به آپشن stop میفرسته.
    من از مرورگر Mozilla FireFox استفاده میکنم.دستور
    --load-cookies=`{ \cp -f $(find "$HOME" -name "cookies.sqlite" 2> /dev/null | grep "mozilla") /tmp;echo /tmp/cookies.sqlite; }`

    فایل دیتابیس کوکیهای فایرفاکس رو به پوشه /tmp کپی و مسیر فایل رو به آپشن load-cookies میفرسته.
    حالا چرا کپی کنیم و از خود فایل استفاده نکنیم؟چون اگر فایرفاکس در حال اجرا باشه فایلهای دیتابیسش رو قفل میکنه

  16. #16

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

    من دو لینوکس پس از ویندوز روی سیستم حقیقی نصب کردم.ابتدا فدورا که سیستم عامل اصلی کامپیوتر من است و سپس دبیان ۷.به محض بوت ویندوز با مشکل به هم ریختن ساعت سیستم مواجه میشدم و در سوییچ کردنهای بعدی بین لینوکس و ویندوز تکرار میشد.راه حل عمومی آن به صورت زیر است‌:
    با دستور tzselect ناحیه زمانی مناسب را انتخاب کنید(در صورتیکه قبلا انتخاب نکرده باشید)
    ابتدا با اتصال به سرور ntp ساعت سیستم را تنظیم کنید.از دستور ntpdate استفاده کنید.
    دستور زیر را اجرا کنید :
    hwclock --systohc

    در فایل etc/adjtime/ عبارت UTC را به LOCAL تغییر دهید.

  17. #17
    برای استخراج صدا از flv.(یا YouTube) که فایل تصویری محصول Macromedia است از دستور زیر استفاده کنید :

    mencoder -of avi -nosound -ovc copy in.flv -o out_just_vid.avi
    برای تبدیل فایل flv که دانلود کردین به 3gp نیز از دستور زیر استفاده کنین

    mencoder Filename.flv -nosound -ovc lavc -lavcopts vcodec=mpeg4 -vop expand=176:144,scale=176:-2 -o temp.avi -ofps 15

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

    mplayer -dumpaudio in.flv
    این تاپیک داره رقابتی میشه ...

  18. #18
    یه مدت پیش دوستی ازم سوال کردم چطوری می تونم دستگاههایی که به USB وصل هستن رو ببینم . از استاد گوگل رخست گرفتمو و ایشون فرمودند :

    lsusb

  19. #19
    این هم دیکشنری آنلاین . دیگه چی می خوایین ؟ هی بیایین بگین لینوکس نرم افزارهاش خیلی کمه :D

    curl dict://dict.org/d:word

    به جای word کلمه مورد نظرتون رو بنویسید (البته بعد از اتصال به اینترنت)

  20. #20
    برای دانلود فایل ویدویی YouTube از خط فرمان می تونین از دستور زیر استفاده کنین .
    این بسته رو باید از مخازن توزیع خود نصب و یا دانلود و نصب کنین :

    #youtube-dl

    usage: youtube-dl [options] video_url

    options:
    -h, --help print this help text and exit
    -v, --version print program version and exit
    -u USERNAME, --username=USERNAME
    account username
    -p PASSWORD, --password=PASSWORD
    account password
    -o FILE, --output=FILE
    output video file name
    -q, --quiet activates quiet mode
    -s, --simulate do not download video

  21. #21
    فکر کنم اسم این تاپیک رو میگذاشتید

    یاد گرفته هایم در شل اسکریپت بهتر بود

  22. #22
    خوب این تاپیک فقط که دستورات ترمینال ( نه شل اسکریپت) نخواهد بود چون ترمینال خیلی زیاد حال میده بیشتر راجع بهش بحث میشه .

  23. #23
    WebHTTrack Website Copier
    امروز اتفاقی به مورد جالبی برخورد کردم . وقتی داشتم منوهای کی دی ئی رو تمیز و خوش دستشون می کردم با این آدرس لینک تو فایرفاکس آشنا شدم :
    از این آدرس استفاده کنید : http://root:8080/server/index.html

  24. #24
    وقتی داشتم راهنمای pppconfig رو می خوندم متوجه شدم اون هم رابط گرافیکی داره .

    pppconfig --gdialog

  25. #25
    با دستور hostname میشه نام سرور را مشاهده و تغییر داد.

    البته /etc/hostname محل ذخیره این اسم است.

    اما موضوع این است که با تغییر نام سرور دیگر هیچ برنامه گرافیکی کار نخواهد کرد (برنامه جدیدی که گرافیکی باشد باز نخواهد شد.)
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  26. #26
    میشه بیشتر توضیح بدین که چرا اجرا نخواهد شد ؟ یعنی تمام بسته های گرافیکی به نام هاست وابسته هستن ؟

  27. #27
    نه بسته های گرافیکی؛ خود xserver روی دامنه اجرا میشه و وقتی نام برنامه ای که از محیط گرافیکی استفاده می کنید در ترمینال تایپ می کنید با استفاده از نام میزبان به سرور x متصل می شود.


    یه نکته جالب هم من در جریان یه کاری یاد گرفتم.

    اگر یک فایل متنی با نام nologin در مسیر /etc/ بسازید هیچ کس جز root توانایی دسترسی از طریق خط فرمان را به کامپیوتر نخواهد داشت. اگر شخص دیگری سعی در ورود کند متن داخل فایل به وی نمایش داده خواهد شد. از این روی برای کامپیوتر هایی که به صورت remote به آن وصل می شوند (برای مثال سرور ها) استفاده می شود تا جلوی خطرات احتمالی نسبت به ساخت کاربر جدید توسط افراد متخاصم گرفته بشه.

  28. #28
    نقل قول نوشته شده توسط BlackDal مشاهده تاپیک
    اگر یک فایل متنی با نام nologin در مسیر /etc/ بسازید هیچ کس جز root توانایی دسترسی از طریق خط فرمان را به کامپیوتر نخواهد داشت. اگر شخص دیگری سعی در ورود کند متن داخل فایل به وی نمایش داده خواهد شد. از این روی برای کامپیوتر هایی که به صورت remote به آن وصل می شوند (برای مثال سرور ها) استفاده می شود تا جلوی خطرات احتمالی نسبت به ساخت کاربر جدید توسط افراد متخاصم گرفته بشه.
    جالب اینجاست که دیگه نمیشه با یوزری که ساخته شده لاگین شد . حداقل برای من که با دبیان کار میکنم اینطوریه

  29. #29
    میشه دلیل اون رو هم بگید؟

  30. #30

  31. #31
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    هنر استفاده از راهنما ها در لینوکس:
    http://polishlinux.org/console/the-a...using-manuals/
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  32. #32
    امروز درگیر این قالب گنوم تو kde بودم وقتی برنامه های گنوم رو توش اجرا میکردم با قالب خشک اجرا می شدن . آخرش فهمیدم مشکل از کجاست . شما می تونین خود قالب kde رو ، رو برنامه های گنوم که اجرا می کنین سوار کنین و یا از قالبهایی که تو گنوم نصب کردین استفاده کنین ممکنه خیلی هاتون بدونین ولی برای من که طی این چند سال تازه با kde آشنا شدم و کار می کنم خیلی به درد خورد به هر حال :
    appearance & Theme رو از کنترل سنتر باز کنین و از GTK Styles می تونین تنظیم کنین که از کودوم استفاده کنه .

  33. #33
    فقط در توزیعهای مبتنی بر دبیان:

    فرض کنیم که شما ubuntu 5 داشته اید و امروز قصد دارید که ubuntu 7.1 نصب کنید. اما پکیجهای زیادی هم نصب کرده اید. که یادآوری آنها و نصب آنها بسیار مشکل است. و شما همه پکیجها را در روی هارد خود یا جایی که نیاز به تعویض سی دی نداشته باشد و نیاز به دانلود نداشته باشد داشته اید.

    خب ایتدا یک لیست از کل پکیجهای نگارش قبل بر روی یک فایل می گیریم و این فایل را به نگارش جدید کپی می کنیم. فرض کنید نام فایل PACKAGELISTS باشد. طریقه تهیه آن:

    dpkg -l | awk '{print $2}' > PACKAGELISTS

    حال تمام پکیجها روی این فایل است.

    با چند خط دستور در لینوکس جدید تمام پکیجها نصب خواهند شد:

    LISTS=`cat LISTPACKGES`
    for i in ${LISTS} ; do sudo apt-get install $i ; done


    البته کاری که من می کنم این است که کل سی دی ها را روی هارد می ریزم و از نصب محلی استفاده میکنم.



    یعنی تغییر فایل /etc/apt/sources.list مثل این:

    deb file:/home/reza/Debs/binary-amd64/ ./
    deb file:/home/reza/Debs/binary-i386/main/ ./


    که البته قبل از آن Package ها را با dpkg-scanpacke ساخته ام.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  34. #34

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

    (فقط برای توزیعهای مبتنی بر دبیان)

    حالا یک فرض دیگر:

    من knoppix داشتم و از کل پکیجهای آن راضی بودم. اما نمی توانستم پکیجهای آنرا روی ubuntu استفاده کنم! البته با chroot هر دو محیط را بالا می آوردم هم gnome داشتم هم kde.

    برخی از پکیجهای kubuntu یا بهتر بگویم kde در gnome نظیر خوبی ندارند اما من هم ubuntu دارم هم kubutu با این اینترنت هم نمیشه واقعا تمام کتابخانه و فایلهای یک توزیع را درست گرفت.


    یا یه مسئله دیگر: یک سی دی زنده دارم مثل knoppix یک پکیج را اشتباهی پاک کردم جه کنم؟


    خیلی ساده است. dpkg-repack چاره کار است.


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

    (آیا در ویندوز چنین چیزی داریم؟ در توزیعهای مبتنی بر rpm چطور؟)



    این را هم بدانید که قدرت deb بسیار بیشتر از rpm است دلیلش هم این است که deb تنظیمات از پیش تعریف شده برای کاربران تازه کار دارد. و خب با alien اگر یک بسته rpm به deb تبدیل شود زمانی مفید است که چیزی مانند سرویس و نیاز به تنظیم نداشته باشد.



    برویم سر حل:

    ابتدا از توزیعی که می خواهید پکیجهای آن را بردارید لیست پکیج می گیریم:


    LI=`dpkg -l | awk '{print $2}'`


    حالا متغیر من حاوی کل نام پکیجهاست.

    خب یک حلقه ساده راهکار ساخت کل پکیجهاست:

    for _I_ in ${LI} ; do dpkg-repack $_I_ ; done
    در همان مسیری که هستید بسته ها ساخته خواهند شد و بسته deb دارید.

    حال اینها را هر جا خواستید ببرید.

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



    در قسمت آینده ساخت منبع بسته بر روی هارد را توضیح خواهم داد.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  35. #35
    ممنون آقای توکل میشه همون chroot رو هم توضیح بدین عالی میشه.

  36. #36

    ساختن منابع محلی از پکیجها

    فقط برای دیستروهای دبیان:
    شاید داشتن ۱۴ عدد سی دی دبیان (sarge) خیلی حوصله آدم را سر ببرد و هی مجبوری سی دی عوض کنی.

    کلی فایل از اینترنت دانلود کردی که همه توی /var/cache/apt/archives همه هستند و دوست داری توزیع جدید نصب کنی.

    و مواردی از این دست.

    برای اینکار در یک دایرکتوری می توانیم کل فایلهای deb را بریزیم و یا حتی دارای subdir هم باشد. سپس فایل Package را می سازیم. و این را به لیست اضافه میکنیم.


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

    mkdir /debs
    این شاخه هر جایی می تواند باشد مثلامن از هارد دومم استفاده میکنم /media/sdb1 و یا هر جایی جه خودتان صلاح دانستید.

    خب حالا کل فایلها deb را اینجا کپی میکنم.

    توجه توجه: اگر یک فایل جدیدتری باشد آن در نظر گرفته میشود و از قدیمی صرف نظر می شود. پس اگر چندین نمونه از یک پکیج دارید باید جاهای مختلف باشند. مثلا من اصلیها را در شاخه فرعی main قرار می دهم و تکراریهای قدیمی را در repeated همچنین دو باید برای هر شاخه اینجنین باید Package ساخت.

    خب حالا ساختن فایل Packages :

    اگر این فایل بر روی هارد شما باشد فرق ندارد zip باشد یا نه اما بر روی شبکه و اینترنت باید حتما زیپ شده باشد. پس من روش زیپ شده را خواهم گفت.
    فرق ندارد شما در کدام شاخه باشید (دایرکتوری) فقط این مهم است که آن شاخه یا دایرکتوری که پکیجها در آن است نسبت به این شاخه سنجیده می شوند و مسیرها نسبی است.

    اما من در همان شاخه ای که فایلهاست می روم.
    همچنین اگر زیر شاخه دارید باید شاخه پدری را معرفی کنید.

    dpkg-scanpackages . /dev/null | gzip > Packages.gz
    خب اسم دستور که مشخص است اما پارامتر اولی نشاندهنده مسیر فایلهای deb است که چون من در شاخه بودم همان را ذکر کردم. پارامتر دومی هم فایلی که باید رونویسی شود در اینجا چیزی نیست. و بعد با دستور gzip داده ها زیپ می شود و در فایل Packages.gz قرار می گیرد. مهم است که نام فایل همین باشد. یعنی P بزرگ باشد و بقیه حروف کوچک.

    با این دستور تمام پکیجهای شما لیست شده در فایل قرار می گیرند. اگر هم خطایی باشد به شما نمایش داده خواهد شد.


    اما اضافه کردن این فایلها به لیست /etc/apt/sorces.list به این صورت است که فایل را با ویرایشگر محبوبتان باز کنید و این خط را به آن اضافه کنید:

    deb file:/debs ./
    اگر چندین شاخه مجزا و فایل Packages.gz دارید هم کار همین است
    سپس باید لیست بسته ها به روز شوند یعنی فرمان :

    sudo apt-get update
    حالا دیگر بسته های شما هم در لیست قرار دارند. با synaptic یا هر چیزی راحتید نصب بسته ها را انجام دهید.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  37. #37
    اجرای gnome و kde با هم!
    من فرض می کنم که شما دو توزیع مختلف بر روی دو پارتیشن مجزا از هاردتان دارید. مثلا فرض کنید که ubuntu و kubuntu یکی در /dev/hda5 و دیگری در /dev/hda6
    با یکی بوت شوید. فرق نمیکند. فرض کنیم hda5

    بعد پارتیشن دومی را به صورت خواندنی و نوشتنی حتما بوت کرده باشید. فرض کنیم در /media/hda6

    سپس با فرمان

    sudo chroot /media/hda6

    دومی را بارگذاری میکنیم.

    حال با فرمان

    mount -t proc proc /proc

    پروسه ها را بار گذاری میکنیم.

    در آخر هم با
     startx
    محیط گرافیکی را بالا می آوریم. حال با alt+ctrl+F7 محیط اولی و alt+ctrl+F8 دومی (ممکن است F9 باشد.) هم گنوم دارید هم kde

    با اینکار اگر مشکلی در یکی باشد با دومی در محیط گرافیکیش رفع می شود.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  38. #38
    فایلهای جامانده و مشکلات


    در synaptic یا مانند آن:
    اگر پکیج منیجر شما در حال نصب بسته شود مثلا shutdown کنید یک فایل در / var/cache/apt/archives/lock ساخته می شود که اگر آن پاک نشود هیچ برنامه دیگری درست کار نخواهد کرد.


    هرگاه xorg یا xfree86 اجرا شود یک فایل با نام .X0-lock در شاخه /tmp ساخته می شود
    که اگر به عللی مثل برق رفتن یا ... این فایل باقی بماند دفعه بعد Xserver شما بالا نخواهد آمد.



    هر گاه kppp اجر شود یک /.kde/share/apps/kppp/kppp.pid~ ساخته می شود (بسته به نام شاخه خانگی مسیر متغیر است ~ معنی شاخه خانگی کاربر را میدهد.) که در هر بار اجرا این فایل تست میشود. و اگر وجود داشته باشد به شما اخطار می دهد.




    اگر از xfardic استفاده کنید در شاخه خانگی شما یک چنین فایلی ساخته می شود که
    xFarDic نام دارد. وجود این فایل باعث می شود که آن نیز اجرا نشود.


    و...


    نتیجه:
    فایلهای به جامانده برخی اوقات درد سر ایجاد میکنند که بهتر است به آنها توجه کنید.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  39. #39
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  40. #40
    VIP آواتار mnajafi
    تاریخ عضویت
    آبان 1383
    محل زندگی
    مشترک مورد نظر در دسترس نیست!!!!
    پست
    492
    فایلهای جامانده و مشکلات
    من مشکل مذکور رو با این دستور حل کردم
    dpkg --configure -a
    محمد نجفی
    اولین گام دانش و آگاهی جستجوی آن است.
    www.motafaker.com

صفحه 1 از 3 123 آخرآخر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •