انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: نکته های خط فرمان  (دفعات بازدید: 24915 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین sudotux

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 2269
نکته های خط فرمان
« : 03 بهمن 1386، 12:36 ب‌ظ »
با سلام

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

( صفحه ویکی )

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


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


$ shred -n 100 -z -u filename

-------------------------------------------------------------------------------------------------------------

۲-
برای لیست کردن پروسه‌های باز از سمت شبکه و اینترنت بر روی سیستم از دستور زیر استفاده کنید:


$ lsof -i -U

-------------------------------------------------------------------------------------------------------------

۳-
در صورتی که مایل هستید یک فایل را با استفاده از الگوریتم GPG رمز کرده و کلمه عبور بر روی آن قرار دهید، می‌توانید از دستور gpg به همراه گزینه c- استفاده نمایید. مانند:

$ gpg -c mydoc
بعد از اجرای این دستور در مسیری که فایل مورد نظر وجود دارد یک فایل با پسوند gpg ساخته می شود و بنابراین شما میتوانید فایل اصلی را پاک کنید.

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

$ gpg -do  NewFileName mydoc.gpg
به جای NewFileName اسم جدیدی برای فایل انتخاب کنید!


-------------------------------------------------------------------------------------------------------------

۴-
برای دیدن مسیر کامل یک فرمان، می‌توانید از which به همراه آن فرمان استفاده نمایید. مانند:
کد:

$ which ls

-------------------------------------------------------------------------------------------------------------

۵-
برای ایجاد یک فایل ISO9660 از یک دایرکتوری از دستور mkisofs به شکل زیر استفاده نمایید:
کد:

$ mkisofs -r 'dir' > '/YourPath/dir.iso'


به جای dir مسیر دایرکتوری مورد نظر را قرار دهید!
-------------------------------------------------------------------------------------------------------------

۶-
برای دیدن تمامی سرویس‌ها و اتصالات شبکه‌ای در حال اجرا بر روی یک سیستم از دستور زیر استفاده کنید:
کد:

$ netstat -atup

-------------------------------------------------------------------------------------------------------------

۷-
در صورتی که مایل هستید بدانید انجام یک دستور خاص چقدر طول می‌کشد، کافی است که جلوی فرمان مورد نظر دستور time را اضافه نمایید. مانند :
کد:

$ time ls -l /home

-------------------------------------------------------------------------------------------------------------

۸-
برای جستجوی فایل‌ها در خط فرمان می‌توانید از دستور find به شکل زیر استفاده نمایید:
کد:

$ find /home/myhome | grep filename

بجای filename می‌توانید نام فایل یا پسوند فایل مورد جستجو را وارد کنید.

-------------------------------------------------------------------------------------------------------------

۹-
برای دیدن لیستی از محتویات یک دایرکتوری مرتب شده به اندازه فایل‌ها، از دستور ls به شکل زیر استفاده نمایید:


$ ls -lSrh YOURPATH

-------------------------------------------------------------------------------------------------------------

۱۰-
برای نمایش یک تقویم سه ماهه در خط فرمان از دستور cal به شکل زیر استفاده نمایید:

$ cal -3

-------------------------------------------------------------------------------------------------------------

۱۱-
برای ایجاد یک فایل فشرده شده از یک دایرکتوری خاص می‌توانید از دستور زیر استفاده نمایید:

$ tar -czf myarchive.tar.gz dirname

-------------------------------------------------------------------------------------------------------------

۱۲-
برای جایگزین کردن یک رشته متنی با یک رشته دیگر در یک فایل، از دستور sed به شکل زیر استفاده نمایید:

$ sed 's/string1/string2/g' < file1> file2
به جای file1 مسیر فایل متنی اول و به جای file2 مسیر فایل متنی دوم را قرار دهید.
به جای string1 عبارت مورد نظر در فایل اول و به جای string2 عبارت مورد نظر در فایل دوم را قرار دهید.

به عنوان مثال عبارت i love you very much در فایل Text1.txt جایگزین عبارت i love ubuntu در فایل Text2.txt می شود.

$ sed "s/'i love you very much'/'i love ubuntu'/g" < /media/sda7/Text1.txt>/media/sda7/Text2.txt

-------------------------------------------------------------------------------------------------------------

۱۳-
با استفاده از دستور rpl می‌توانید یک رشته متنی را با یک رشته متنی دیگر در تعداد زیادی فایل جایگزین کنید:

$ rpl oldstring newstring file1 file2 ...
به جای file1 , file2 , ... مسیر آنها را قرار دهید.
« آخرین ویرایش: 10 دی 1387، 10:38 ب‌ظ توسط Hosein-Mec »

آفلاین ali.t

  • Full Member
  • *
  • ارسال: 199
پاسخ به: نکته های خط فرمان
« پاسخ #1 : 03 بهمن 1386، 12:54 ب‌ظ »
مرسی خیلی خوبه!!!

آفلاین sudotux

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 2269
پاسخ به: نکته های خط فرمان
« پاسخ #2 : 03 بهمن 1386، 01:16 ب‌ظ »
۱۴- برای مشاهده میزان فضای خالی دیسک سخت خود، از دستور df استفاده نمایید. مانند:

$ df -h
-------------------------------------------------------------------------------------------------------------

۱۵-
برای مشاهده میزان فضای استفاده شده توسط یک دایرکتوری یا فایل از دستور du به شکل زیر استفاده نمایید:

$ du -sh file dir
-------------------------------------------------------------------------------------------------------------

۱۶- برای مقایسه MD5 فایل دانلود شده با MD5 اصلی از دستور زیر استفاده کنید:

$ md5sum -c myimage.iso.md5sum
فایل های myimage.iso و myimage.iso.md5sum باید در مسیر مورد نظر موجود باشند.

-------------------------------------------------------------------------------------------------------------

۱۷- برای مشاهده ورژن کرنل و معماری ( Microarchitecture ) سیستم از دستورات زیر استفاده کنید:
$ uname -a

$ uname -r

$ uname -m

-------------------------------------------------------------------------------------------------------------

۱۸-
برای پشتیبان گیری از یک فایل می توانید از دستور cp استفاده کنید. به عنوان مثال:

$ sudo cp /etc/X11/xorg.conf /etc/X11/xorgold.conf
و برای برگرداندن آن از دستور زیر استفاده کنید:

$ sudo cp -p /etc/X11/xorgold.conf /etc/X11/xorg.conf
-------------------------------------------------------------------------------------------------------------

۱۹-
برای mount کردن یک درایو ntfs می توانید از دستور زیر استفاده کنید:

$ sudo mount -t ntfs-3g /dev/sda* /media/sda* -o force
-------------------------------------------------------------------------------------------------------------

۲۰-
برای mount کردن یک فایل iso از دستور زیر استفاده کنید:

$ sudo mount -t iso9660 'image.iso' 'destination' -o loop
و برای unmount کردن از دستور زیر استفاده کنید:

$ sudo umount 'destination'
به جای image.iso مسیر فایل iso را قرار دهید و به جای destination مسیر دلخواه خود را قرار دهید.

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: نکته های خط فرمان
« پاسخ #3 : 03 بهمن 1386، 04:56 ب‌ظ »
با سلام
فکر می کنم وجود چنین بخشی برای جمع آوری نکات لازم در خط فرمان و استفاده همگی لازم باشه. بنابراین از دوستان خواهش می کنم اگر نکته یا دستور مفیدی را می دانند آن را در این تاپیک بیان کنند.
خوب برای شروع کار یک سری از نکات خط فرمان برگرفته از سایت TechnoTux.org را قرار میدم:
فکر کنم اگه مطالب جدیدتری بذارید و یا از مانوال خود لینوکس استفاده و نکات جدید بذارید عالی میشه

آفلاین sudotux

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 2269
پاسخ به: نکته های خط فرمان
« پاسخ #4 : 03 بهمن 1386، 05:09 ب‌ظ »
حق با شماست ! البته این مورد رو در نظر بگیرید که به جز شما و خیلی از کاربران حرفه ای لینوکس که این دستورات رو بلد هستید , خیلی از کاربران تازه با لینوکس آشنا شدند و این دستورات رو بلد نیستند. ولی چشم سعی می کنم نکات جدیدتر و به روزتری هم بذارم. در ضمن قرار نیست که فقط من در این تاپیک فعالیت کنم. من هم میتونم از اطلاعات شما و کاربران دیگه استفاده کنم.

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: نکته های خط فرمان
« پاسخ #5 : 03 بهمن 1386، 05:21 ب‌ظ »
باشه . من هم بهت کمک می کنم

آفلاین sudotux

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 2269
پاسخ به: نکته های خط فرمان
« پاسخ #6 : 04 بهمن 1386، 02:37 ق‌ظ »
۲۱- برای خواندن خطوطی در فایل‌های متنی که حاوی کلمه خاصی می‌باشد از دستور grep استفاده نمایید. با اضافه کردن گزینه color-- کلمه مورد نظر بصورت رنگی علامت‌گذاری خواهد شد. مانند:

$ grep --color word /data/myfile
-------------------------------------------------------------------------------------------------------------

۲۲- در صورتی که مایل هستید تا وارد یک دایرکتوری خاص شده و دستوری را اجرا کرده و بطور خودکار به دایرکتوری قبلی باز گردید، به صورت زیر عمل نمایید:

$ (cd dir && command)
-------------------------------------------------------------------------------------------------------------

۲۳- برای لیست کردن تمامی فایل‌های باز مورد استفاده پروسه ‌ها می‌توانید از دستور lsof استفاده کنید.

آفلاین hamedv90

  • Jr. Member
  • *
  • ارسال: 86
  • جنسیت : پسر
    • استار وب
پاسخ به: نکته های خط فرمان
« پاسخ #7 : 04 بهمن 1386، 04:34 ق‌ظ »
 ;D خیلی عالیه ! اگه روزی یک نکته هم بیان شه ! عالیه!  \\:D/
خسته نباشید Ùˆ نشید!  ;)

آفلاین z.k

  • Full Member
  • *
  • ارسال: 217
پاسخ به: نکته های خط فرمان
« پاسخ #8 : 04 بهمن 1386، 10:05 ق‌ظ »
سلام
کار جالبی ، خسته نباشید  =D>

فکر کنم نکات زیر هم تقریبا کامل باشه
http://www.pixelbeat.org/cmdline.html

آفلاین مهدی پیشگوی

  • High Hero Member
  • *
  • ارسال: 3100
  • جنسیت : پسر
  • لينوكس يعني آزادي ، امنيت
پاسخ به: نکته های خط فرمان
« پاسخ #9 : 04 بهمن 1386، 11:11 ق‌ظ »
حق با شماست ! البته این مورد رو در نظر بگیرید که به جز شما و خیلی از کاربران حرفه ای لینوکس که این دستورات رو بلد هستید , خیلی از کاربران تازه با لینوکس آشنا شدند و این دستورات رو بلد نیستند. ولی چشم سعی می کنم نکات جدیدتر و به روزتری هم بذارم. در ضمن قرار نیست که فقط من در این تاپیک فعالیت کنم. من هم میتونم از اطلاعات شما و کاربران دیگه استفاده کنم.
هر لینوکس کاری تسط کافی بر دستورات خط فرمان داشته باشه جزو حرفه ای ها محسوب میشه . کار با محیط گرافیکی آسونه و و نمی تونه قدرت یه کاربر رو به نمایش دربیاره وی خط فرمان نه . من هم هنوز دارم یاد میگیرم  ;D

شاید جالب باشه براتون آموزش بدم چطوری می تونین مستنداتی که توسط دستور man رو می خونین به pdf تبدیل کنید .
من خودم هم این مستندات رو به کتاب الکترونیکی تبدیل میکنم و قشنگ مطالعه می کنم . این برام خیلی راحته ویا برای به اشتراک گذاری ازش استفاده می کنم.
به هر حال . دستور زیر رو ببینید :

man -t man | ps2pdf - > /home/mahdi/man.pdf
این دستور مستندات آموزشی خود man رو با استفاده از ps2pdf تبدیل و خروجی رو به فایل man.pdf هدایت می کنه .

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

which COMMAND
به جای عبارت COMMAND دستور خود را که مایلید بنویسید.

برگشت سریع به دایرکتوری در خط فرمان یکی از جالبترین کارهاست . برای مثال فرض کنید که کلی شاخه تو درتو دارید و دارید توش فعالیت می کنید . یه دستور cd ساده کافیست کار شما به باد داده و مجبور باشید که تمام اون مسیر رو دوباره طی کنید. خوب چیکار کنیم ؟
ساده هستش اول وقتی که تو اون دایرکتوری هستید دستور زیر رو بزنید :

pushd
بعدش هر جا دلتون خواست برید و بگردید و برای بازگشت به همون مسیر از دستور زیر استفاده نمایید :

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

tar -c DIRECTORY/ | bzip2 > FILE_NAME.tar.bz2
به جای عبارت DIRECTORY نام شاخه و به جای FILE_NAME نام فایل رو بنویسید. حالا برای این که این شاخه رو که فشرده کردیم چیکار کنیم ؟

bzip2 -dc FILE_NAME.tar.bz2 | tar -x
تو وب سایتهایی دیدم که عکسهای جالبی داره وقتی به مسیرشون نگاه کردم دیدم که بلی همشون تو یه مسیر هستن . حالا من می خوام کل اون عکسها با فرمتی که دلم می خواد رو دانلود کنم چیکار کنم ؟ نمی دونم چرا خیلی ها این قدرت wget رو نادیده میگیرند .برای این کار از دستوری مثل زیر استفاده می کنیم :

wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/dir/
شما با دستور wget حتی قادرید از ftp هم فایل دانلود کنید :

wget ftp://remote/file[1-9].iso/
در صورتی که مایل هستید که از وضعیت کارت شبکه خودتون آکاهی داشته باشید و اون رو چک کنید از دستورزیر استفاده نمایید :

ethtool eth0
حال اگه دلتون بخواد حتی می تونین سرعت انتقال پاکتها رو روی کارت شبکه تنظیم کنید که اکثرا ۱۰۰ bps هستش . برای این کار عدد ۱۰۰ رو تو دستور زیر می تونین تغییر بدید :

ethtool --change eth0 autoneg off speed 100 duplex full
برای وایرلس اگه دارید از دستور زیر استفاده نمایید :

iwconfig eth1
و همچنین برای تنظیم سرعتش از دستور زیر :

iwconfig eth1 rate 1Mb/s fixed
و برای چک کردن لیست وایرلس ها از دستور زیر :

iwlist scan
فعلا اینا رو داشته باشید تا بعد خلاصه نوشتم اگه مایل بودید خودتون این قسمت و تپیک رو ویکی کنید و ادیتش کنین  ;)
« آخرین ویرایش: 12 بهمن 1386، 01:00 ب‌ظ توسط مهدی پیشگوی »

آفلاین mohi

  • گروه راهبران
  • *
  • ارسال: 1430
  • جنسیت : پسر
  • as in freedom
پاسخ به: نکته های خط فرمان
« پاسخ #10 : 04 بهمن 1386، 01:12 ب‌ظ »
حسین جان خیلی خوبه با کمک دوستان دیگه و کمی مشورت با ناظرین سایت، اینها رو توی ویکی ببری و صفحه‌بندی و دسته بندی کنی. من قول میدم توی چند ماه آینده یکی از بهترین راهنماهای ترمینال به فارسی دربیاد.
الان خیلی از این راهنماها هست ولی متاسفانه همه پخش هستند و دسته بندی خوبی ندارن. :)
امضای کوچکتر - انجمن زیباتر P-:

آفلاین sudotux

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 2269
پاسخ به: نکته های خط فرمان
« پاسخ #11 : 08 بهمن 1386، 08:13 ب‌ظ »
۲۴- بسیاری از ویرایشگرهای متنی و حتی واژه پردازها بـــه صـــورت پیـــش فرض پــس از هـر باز ذخیره فایل نسخه‌ای پشتیبان از آنرا با پسوند ~ ذخیره می‌کنند. با اینکه این ویژگی مفید است، ولی پس از مدتی می‌تـــواند مقدار زیادی از فضای دیسک سخت شما را اشغال کند. با استفاده از دستور زیر می‌توانید به سادگی این فایل‌ها را پاک کنید:

# cd / && find . -name '*~' -exec rm -fv {} \;

-------------------------------------------------------------------------------------------------------------


۲۵- پارتیشن swap در شرایطی که سیستم زیر بـــار است و برنامه‌های کـاربردی زیادی همزمان با هم باز هستند، می‌تواند نقش عمده‌ای در بهبود سرعت و عملکرد سیستم داشته باشد. ممــکن اســت هنـــگام نصـب فراموش کرده باشید این پارتیشن مهم را ایجاد کنید. مهم نیست. بسادگی می‌توانید آنرا پس از نصب نیز ایجاد کنید. کــافـــی است با استفاده از ابزارهایی مانند parted و cfdisk یک پارتیشن با حجم دو برابر RAM سیستم خود ایجاد کرده و سپس دستـــورات زیـــر را اجرا کنید:

# mkswap /dev/sdxx && swapon

کافی است بجای xx شماره دیسک سخت و پارتیشـــن مـــربـوطه را وارد کنید. مثلا sda6. سپس باید آنرا در فایل fstab خود نیز اضافه کنید. مانند خط زیر:
/dev/sdxx       none            swap    sw              0       0

نکته : علامت # به معنی اجازه از کاربر ریشه می باشد.

آفلاین سید مهدی

  • High Hero Member
  • *
  • ارسال: 2013
  • جنسیت : پسر
  • یک تازه کار !
پاسخ به: نکته های خط فرمان
« پاسخ #12 : 10 بهمن 1386، 12:12 ق‌ظ »
حسین جان دستت درد نکنه. آموزش خیلی خوبی رو شروع کردی.  مرسی  :)
مردی نبود فتاده را پای زدن
گر دست فتاده ای بگیری مردی !

آفلاین سعید رسولی

  • ilius, saeedgnu
  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1543
  • جنسیت : پسر
پاسخ به: نکته های خط فرمان
« پاسخ #13 : 12 بهمن 1386، 05:19 ق‌ظ »
از آقای Hosein-Mec و آقای پیشگوی تشکر می‌کنم.

یکی هم از بنده بخونید.

اگر P مسیر یک فایل یا دایرکتوری باشد:

این دستور اسم آن فایل یا دایرکتوری را چاپ می‌کند:
echo "${P##*/}"
و دایرکتوری والد آن (که با دستور dirname هم به دست می‌آید):
echo "${P%/*}"
و پسوند(اکستنشن) آن:
echo "${P##*.}"
و اسم آن بدون پسوند در دو مرحله چاپ می‌شود:
N="${P##*/}" ; echo "${N%.*}"


حالا کمی تعمیمش میدهیم:
اگر P یک رشته(string) باشد:

${P##*/}قسمتی از رشتهٔ P است که بعد از آخرین / قرار دارد.


${P#*/}قسمتی از رشتهٔ P است که بعد از اولین / قرار دارد.


${P%%/*}قسمتی از رشتهٔ P است که قبل از اولین / قرار دارد.


${P%/*}قسمتی از رشتهٔ P است که قبل از آخرین / قرار دارد.
 
در موارد بالا بجای کاراکتر اسلش(/) هر کاراکتر دیگری میتوان گذاشت.



حالا بیشتر تعمیمش میدهیم:
${P##REGEXP}همان رشتهٔ P که بلندتربن مصداق REGEXP از ابتدای آن حذف شده.

${P#REGEXP}همان رشتهٔ P که کوتاه‌تربن مصداق REGEXP از ابتدای آن حذف شده.

${P%%REGEXP}همان رشتهٔ P که بلندتربن مصداق REGEXP از انتهای آن حذف شده.

${P%REGEXP}همان رشتهٔ P که کوتاه‌تربن مصداق REGEXP از انتهای آن حذف شده.

که بجای کلمهٔ REGEXP هم یک ساختار یا عبارت منظم (regular expression) قرار می‌گیره. برای اطلاعات بیشتر:
man regexp


قسمت اول(که برای اسم فایل یا دایرکتوری بود) یه موردش رو یه جایی دیدم. فکر کنم توی تکنوتاکس. بعد چون برام جالب بود پرورشش دادم و به این نتایج رسیدم.
« آخرین ویرایش: 12 بهمن 1386، 06:35 ق‌ظ توسط ilius »

آفلاین سجاد

  • Sr. Member
  • *
  • ارسال: 319
  • جنسیت : پسر
  • نیست ‌بر لوح‌ دلم‌ جز الف‌ قامت ‌یار
    • http://sjb.ir
پاسخ به: نکته های خط فرمان
« پاسخ #14 : 12 بهمن 1386، 12:26 ب‌ظ »
آقا خیلی کار توپی راه انداختین من که کلی چیز یاد گرفتم

ساخت کانکشن ADSL یا همون PPPOE
#pppoeconfبه سوالات جواب مناسب بدهید. جواب سوالاتی را که نمی دانید با پیش فرض باقی بگذارید. کلمه عبور و رمز عبور را وارد کنید.
اتصال به اینترنت با دستور زیر وصل و
#pon dsl-providerبا دستور زیر قطع می‌شود:
#poff dsl-provider