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

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

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

ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: شخصی سازی ترمینال  (دفعات بازدید: 3107 بار)

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

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

  • Hero Member
  • *
  • ارسال: 951
شخصی سازی ترمینال
« : 15 تیر 1391، 12:04 ق‌ظ »
با سلام

2 سوال برام پیش اومده شاید خنده دار به نظر برسه !

آیا میشه Help ترمینال رو دست کاری کرد ؟‌ مثلاْ‌یک خط توضیحی به Date یا ... اضافه کرد ؟

آیا میشه دیکشنری (به هر زبانی) به ترمینال اضافه کرد ؟ مثلا من میخوام معنی look رو به فارسی بدونم و به قرار دادن علامت سوال به آخره کلمه look معنیشو به من بده ؟ (?look)
به عمل کار برآید     به سخندانی نیست . . .

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : شخصی سازی ترمینال
« پاسخ #1 : 15 تیر 1391، 12:15 ق‌ظ »
با سلام

2 سوال برام پیش اومده شاید خنده دار به نظر برسه !

آیا میشه Help ترمینال رو دست کاری کرد ؟‌ مثلاْ‌یک خط توضیحی به Date یا ... اضافه کرد ؟

آیا میشه دیکشنری (به هر زبانی) به ترمینال اضافه کرد ؟ مثلا من میخوام معنی look رو به فارسی بدونم و به قرار دادن علامت سوال به آخره کلمه look معنیشو به من بده ؟ (?look)

خب دوست گرامی ؛ عمده دستورات ترمینال در این دایرکتوری هستند (یا بهشون لینک شده):

/usr/bin
خب؛ فرض کنیم شما یه دستور نوشتید که همه چیز رو در ترمینال نمایش میده و تعداد خطوطش رو نشون میده:

#!/bin/sh
ls | wc

ساده ترین دستور ممکن هست!

بعد به فایل پرمیشن میدیم (اسمش هم میزاریم line-shomar !!!!).

$sudo chmod +x /usr/bin/line-shomar
حالا با تایپ line-shomar در ترمینال ؛ کار انجام میشه.

در مورد دیکشنری هم که گفتی ؛ کتاب آشنایی با بش رو بخون. همچنین میتونی به زبان C بنویسی و بعد باینریش رو به شکل دستور در بیاری ;)
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

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

  • Hero Member
  • *
  • ارسال: 951
پاسخ : شخصی سازی ترمینال
« پاسخ #2 : 15 تیر 1391، 12:23 ق‌ظ »
قسمت اول جوابتون :

شاید من بد توضیح دادم یا شاید هم متوجه نشدید.

وقتی man date رو میزنم مسلماْ شرح و آپشن های date نمایش داده میشه من می خوام به قسمته آخرش توضیح خودم رو اضافه کنم امکان پذیره ؟


قسمت دوم جوابتون :

با پایتون میشه ؟‌ (تازه شروع به یادگیری کردم)


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

آفلاین identi

  • Sr. Member
  • *
  • ارسال: 417
پاسخ : شخصی سازی ترمینال
« پاسخ #3 : 15 تیر 1391، 01:36 ق‌ظ »
آیا میشه دیکشنری (به هر زبانی) به ترمینال اضافه کرد ؟ مثلا من میخوام معنی look رو به فارسی بدونم و به قرار دادن علامت سوال به آخره کلمه look معنیشو به من بده ؟ (?look)
مثل اینو یکی نوشته بود که توی ترمینال کار میکرد و توی انجمن هم اعلام کرد. سرچ کن.

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : شخصی سازی ترمینال
« پاسخ #4 : 15 تیر 1391، 01:56 ق‌ظ »
قسمت اول جوابتون :

شاید من بد توضیح دادم یا شاید هم متوجه نشدید.

وقتی man date رو میزنم مسلماْ شرح و آپشن های date نمایش داده میشه من می خوام به قسمته آخرش توضیح خودم رو اضافه کنم امکان پذیره ؟


قسمت دوم جوابتون :

با پایتون میشه ؟‌ (تازه شروع به یادگیری کردم)


ممنونم


قسمت اول:

man ها همه در این دایرکتوری هستند:

/usr/share/man/man1
و میتونید ادیتشون کنید. بدون هیچ مشکلی. (البته قبلش باید اکسترکت کنید و آرشیو رو Regenerate کنید).

قسمت دوم:

با هر زبانی میشه. بعضی از زبانها مثل پایتون یا بش خود کد مستقیم اجرا میشه (تفسیری و اسکریپتی هستند) و برخی هم مثل C یاC++ باید باینری بشن و بعد اجرا. مثلا این یک کد ساده پایتون که میتونه ایده جالبی برای کامند ترمینال باشه (سال رو به ثانیه تبدیل میکنه!) :
#!/usr/bin/python
print 'Welcome!'
age = input("Enter Your Age (Years):")
s = p*31536000
print 'Your Age in Seconds is:'
print s

و این رو فقط کافیه بهش پرمیشن اجرایی بدی و بندازیش توی /usr/bin و بعد اسم فایل رو توی ترمینال تایپ کنی!
من خودم اولین کامندی که برای ترمینال ساختم یک دستور ساده بود که فولدر خانگی خودم رو آرشیو میکرد و عملا یک تمرین ساده با Bash بود.

در مورد man هم بسیار ساده هست ساخت یک man جدید یا ادیت کردن قبلی ;)
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین ava

  • High Hero Member
  • *
  • ارسال: 1330
پاسخ : شخصی سازی ترمینال
« پاسخ #5 : 15 تیر 1391، 02:07 ق‌ظ »
من پی یه برنامه هستم که موسیقی رو تحت ترمینال اجرا کنه
مثلا با آدرس دهی به برنامه موسیقی رو پخش کنه
مثلا این شکلی :
terplay /home/user/music/test.ogg
==============------ 2:34/3:23
- -  -
- -- -
---- -
------
این خط ها که گذاشتم با بالا پایین رفتن مثل برنامه های گرافیکی میزان شدت بسامد های مختلف صوت رو میتونه نشون بده
به نظرم نوشتن یه همچین برنامه ای با استفاده از سورس یه نرم افزار پخش موسیقی سبک کار سختی نباشه !
نیاز به امکانات زیادی هم نداره ساده هم باشه فقط قابلیت تنظیم میزان صدا رو داشته باشه فک کنم برای ترمینال خوبه
اگه یه همچین چیزی درست بشه عالی میشه ها  ;D
صدای پلیس : هاپ هاپ

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : شخصی سازی ترمینال
« پاسخ #6 : 15 تیر 1391، 02:21 ق‌ظ »
من پی یه برنامه هستم که موسیقی رو تحت ترمینال اجرا کنه
مثلا با آدرس دهی به برنامه موسیقی رو پخش کنه
مثلا این شکلی :
terplay /home/user/music/test.ogg
==============------ 2:34/3:23
- -  -
- -- -
---- -
------
این خط ها که گذاشتم با بالا پایین رفتن مثل برنامه های گرافیکی میزان شدت بسامد های مختلف صوت رو میتونه نشون بده
به نظرم نوشتن یه همچین برنامه ای با استفاده از سورس یه نرم افزار پخش موسیقی سبک کار سختی نباشه !
نیاز به امکانات زیادی هم نداره ساده هم باشه فقط قابلیت تنظیم میزان صدا رو داشته باشه فک کنم برای ترمینال خوبه
اگه یه همچین چیزی درست بشه عالی میشه ها  ;D

فکر کنم mpd بیس مناسبی باشه (موزیک پلیر تحت خط فرمان هست).
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین nixoeen

  • ناظر انجمن
  • *
  • ارسال: 4865
  • جنسیت : پسر
  • masoft قدیم
پاسخ : شخصی سازی ترمینال
« پاسخ #7 : 15 تیر 1391، 05:47 ق‌ظ »
من پی یه برنامه هستم که موسیقی رو تحت ترمینال اجرا کنه
mplayer

آیا میشه دیکشنری (به هر زبانی) به ترمینال اضافه کرد ؟ مثلا من میخوام معنی look رو به فارسی بدونم و به قرار دادن علامت سوال به آخره کلمه look معنیشو به من بده ؟ (?look)
این لینک رو بخونید:‌ لینک

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

  • Hero Member
  • *
  • ارسال: 951
پاسخ : شخصی سازی ترمینال
« پاسخ #8 : 15 تیر 1391، 10:10 ق‌ظ »
قسمت اول جوابتون :

شاید من بد توضیح دادم یا شاید هم متوجه نشدید.

وقتی man date رو میزنم مسلماْ شرح و آپشن های date نمایش داده میشه من می خوام به قسمته آخرش توضیح خودم رو اضافه کنم امکان پذیره ؟


قسمت دوم جوابتون :

با پایتون میشه ؟‌ (تازه شروع به یادگیری کردم)


ممنونم


قسمت اول:

man ها همه در این دایرکتوری هستند:

/usr/share/man/man1
و میتونید ادیتشون کنید. بدون هیچ مشکلی. (البته قبلش باید اکسترکت کنید و آرشیو رو Regenerate کنید).

قسمت دوم:

با هر زبانی میشه. بعضی از زبانها مثل پایتون یا بش خود کد مستقیم اجرا میشه (تفسیری و اسکریپتی هستند) و برخی هم مثل C یاC++ باید باینری بشن و بعد اجرا. مثلا این یک کد ساده پایتون که میتونه ایده جالبی برای کامند ترمینال باشه (سال رو به ثانیه تبدیل میکنه!) :
#!/usr/bin/python
print 'Welcome!'
age = input("Enter Your Age (Years):")
s = p*31536000
print 'Your Age in Seconds is:'
print s

و این رو فقط کافیه بهش پرمیشن اجرایی بدی و بندازیش توی /usr/bin و بعد اسم فایل رو توی ترمینال تایپ کنی!
من خودم اولین کامندی که برای ترمینال ساختم یک دستور ساده بود که فولدر خانگی خودم رو آرشیو میکرد و عملا یک تمرین ساده با Bash بود.

در مورد man هم بسیار ساده هست ساخت یک man جدید یا ادیت کردن قبلی ;)


1- پیدا کردن یه دستور توی این همه فایل و پوشه چطوریه ؟ اگه درست فهمیده باشم اکسترا می کنم بعد با یه ویرایشگر ویرایشش می کنم بعد به gz. تبدیلش می کنم درسته ؟  ممنون هم میشم اگه یه سایت معرفی کنید.

2-
ممنونم



به عمل کار برآید     به سخندانی نیست . . .

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : شخصی سازی ترمینال
« پاسخ #9 : 15 تیر 1391، 01:22 ب‌ظ »
قسمت اول جوابتون :

شاید من بد توضیح دادم یا شاید هم متوجه نشدید.

وقتی man date رو میزنم مسلماْ شرح و آپشن های date نمایش داده میشه من می خوام به قسمته آخرش توضیح خودم رو اضافه کنم امکان پذیره ؟


قسمت دوم جوابتون :

با پایتون میشه ؟‌ (تازه شروع به یادگیری کردم)


ممنونم


قسمت اول:

man ها همه در این دایرکتوری هستند:

/usr/share/man/man1
و میتونید ادیتشون کنید. بدون هیچ مشکلی. (البته قبلش باید اکسترکت کنید و آرشیو رو Regenerate کنید).

قسمت دوم:

با هر زبانی میشه. بعضی از زبانها مثل پایتون یا بش خود کد مستقیم اجرا میشه (تفسیری و اسکریپتی هستند) و برخی هم مثل C یاC++ باید باینری بشن و بعد اجرا. مثلا این یک کد ساده پایتون که میتونه ایده جالبی برای کامند ترمینال باشه (سال رو به ثانیه تبدیل میکنه!) :
#!/usr/bin/python
print 'Welcome!'
age = input("Enter Your Age (Years):")
s = p*31536000
print 'Your Age in Seconds is:'
print s

و این رو فقط کافیه بهش پرمیشن اجرایی بدی و بندازیش توی /usr/bin و بعد اسم فایل رو توی ترمینال تایپ کنی!
من خودم اولین کامندی که برای ترمینال ساختم یک دستور ساده بود که فولدر خانگی خودم رو آرشیو میکرد و عملا یک تمرین ساده با Bash بود.

در مورد man هم بسیار ساده هست ساخت یک man جدید یا ادیت کردن قبلی ;)


1- پیدا کردن یه دستور توی این همه فایل و پوشه چطوریه ؟ اگه درست فهمیده باشم اکسترا می کنم بعد با یه ویرایشگر ویرایشش می کنم بعد به gz. تبدیلش می کنم درسته ؟  ممنون هم میشم اگه یه سایت معرفی کنید.

2-
ممنونم

۱- برای پیدا کردن یک دستور ؛ باید نتایج ls رو به grep پایپ کنی؛ یعنی فرض کنیم میخوای man مربوط به wget رو پیدا کنی ؛ اول میری توی این پوشه :

/usr/share/man/man1
بعد این کد رو اجرا میکنی:

ls | grep wget
بعد توی نتایج نمایش داده میشه! البته دقت کن پسوند فایلهای man به این شکل هست : .1.gz که عدد 1 رو باید به فایل text اضافه کنی و بعدش هم اینطوری فشرده کنی:

gzip -f <filename>
که بجای filename اسم فایل قرار میگیره ;)
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

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

  • Hero Member
  • *
  • ارسال: 951
پاسخ : شخصی سازی ترمینال
« پاسخ #10 : 15 تیر 1391، 03:07 ب‌ظ »
من wget‌ رو اکسترا کردم و محتویاتش اون چیزی نبود که من فکر می کردم(منظورم همون محتویات man wget هست):
(محتویات زیر رو کمش کردم)
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.
cookies.  Session cookies are normally not saved because they are
meant to be kept in memory and forgotten when you exit the browser.
.IP "\fB\-\-domains=\fR\fIdomain-list\fR" 4
.IX Item "--domains=domain-list"
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
copy of the license is included in the section entitled \*(L"\s-1GNU\s0 Free
Documentation License\*(R".


من دستور grep رو می دونستم مشکلی که دارم اینه که نمی دونم gz. چطوری باز میشه !؟ و چطوری خروجی اون دستور رو به ورودی این دستور (اکسترا) اضافه کنم فکر کنم با '<' بشه  :D
« آخرین ویرایش: 15 تیر 1391، 03:13 ب‌ظ توسط smemamian »
به عمل کار برآید     به سخندانی نیست . . .

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : شخصی سازی ترمینال
« پاسخ #11 : 15 تیر 1391، 03:38 ب‌ظ »
من wget‌ رو اکسترا کردم و محتویاتش اون چیزی نبود که من فکر می کردم(منظورم همون محتویات man wget هست):
(محتویات زیر رو کمش کردم)
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.
cookies.  Session cookies are normally not saved because they are
meant to be kept in memory and forgotten when you exit the browser.
.IP "\fB\-\-domains=\fR\fIdomain-list\fR" 4
.IX Item "--domains=domain-list"
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.  A
copy of the license is included in the section entitled \*(L"\s-1GNU\s0 Free
Documentation License\*(R".


من دستور grep رو می دونستم مشکلی که دارم اینه که نمی دونم gz. چطوری باز میشه !؟ و چطوری خروجی اون دستور رو به ورودی این دستور (اکسترا) اضافه کنم فکر کنم با '<' بشه  :D

خب اول باید توی یه دستور ؛ بیای دستورات دیگر رو تعریف کنی (مثلا همون grep) ؛ که توی شل اسکریپت با read میشه چنین کاری کرد.
بعدش خروجی دستور جدید (یا اسکریپت جدید) رو بندازی توی اون یکی !
اما راه ساده تر اینه که نتیجه دستور رو با دستور زیر از حالت فشرده خارج کنی:
gzip -d wget.1.gz
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

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

  • Hero Member
  • *
  • ارسال: 951
پاسخ : شخصی سازی ترمینال
« پاسخ #12 : 15 تیر 1391، 03:42 ب‌ظ »
محتویاتی که قسمت بالا گذاشتم اصلا شبیه محتویات man wget نیست  ???

الان من بخواهم یه خط به man wget اضافه کنم چی کار باید انجام بدم ؟  ???
به عمل کار برآید     به سخندانی نیست . . .