ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

   همکاری با نشریه
در صورتی که مایل به همکاری با نشریه هستید، می‌توانید در لیست پستی نشریه عضو شده و در جریان امور قرار گیرید. برای اطلاعات بیشتر، اینجا کلیک کنید.

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:2
مجموع:مجموع:2
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

آشنایی با چند ابزار مفید متنی در گنو/لینوکس

(2842 مجموع کلمات موجود در متن)
(7125 بار مطالعه شده است)  نسخه چاپی

آشنایی با چند ابزار مفید متنی در گنو/لینوکس

در کنار استفاده از یک ویرایشگر متنی، به عنوان یک مدیر سیستم و یا حتی یک کاربر عادی، برخی ابزارها و برنامه‌های کاربردی وجود دارند که می‌توانید از آنها برای انجام امور روزمره و مدیریتی خود بهره فراوانی ببرید.

دستور alias

یکی از دشواری‌های کاربران تازه‌کار گنو/لینوکس در استفاده از دستورات پیچیده‌ای است که ممکن است به یاد داشتن آن برای آنها کار چندان آسانی نباشد. دستور alias به شما این امکان را می‌دهد تا بتوانید این دستورات پیچیده را به دستوراتی مستعار تبدیل نمایید که به یاد آوردن آنها برایتان آسانتر باشد. همچنین می‌توانید دستورات طولانی را که به طور روزمره از آنها استفاده می‌کنید، با استفاده از alias به دستوراتی کوتاه و سهل الاستفاده تبدیل کنید. استفاده از دستور alias به شکل زیر می‌باشد:

# alias [-p] name='command'

بجای command باید دستور اصلی را وارد نمایید. دستور alias در بسیاری از پوسته‌های فرمان قابل استفاده می‌باشد. گزینه p- لیستی از دستورات مستعار تعریف شده بر روی سیستم را برایتان چاپ خواهد کرد. برای مثال می‌توانید دستور ls -l را به عنوان دستور longlist تعریف کنید:

# alias longlist='ls -l'

هنگامی که دستور longlist را وارد می‌کنید، پوسته فرمان در حقیقت دستور ls -l را برای شما اجرا می‌کند، ولی شما نیاز ندارید تا آنرا به خاطر داشته باشید.

دستور grep

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

# grep [option] pattern [file] ...

تنها آرگومان لازم برای دستور grep واژه‌ای است که مایل هستید تا به دنبال آن جستجو نمایید. در صورتی که واژه را به دستور grep ندهید، چیزی برای شما پیدا نخواهد کرد! این امکان وجود دارد تا خروجی یک فرمان دیگر را به سمت دستور grep هدایت کنید. مثالی از استفاده از دستور grep می‌تواند جستجو به دنبال خطاهایی باشد که در فایل syslog ثبت شده‌اند.

# grep -i error /var/log/syslog

Oct 22 07:56:35 localhost kernel: hdc: media error (bad sector): error=0x30

Oct 22 07:56:35 localhost kernel: end_request: I/O error, dev hdc, sector 15600

گزینه i- جستجو را بصورت case sensitive انجام خواهد داد. جدول۱ گزینه‌های قابل استفاده به همراه این دستور را نمایش می‌دهد.

گزینه

شرح

c- یا count--

تعداد خطوط پیدا شده را بجای خروجی عادی روی صفحه چاپ می‌کند

E- یا extended-regext--

کلمه الگوی تعیین شده را به عنوان یک regular expression تفسیر خواهد کرد

e pattern- یا regexp=pattern--

pattern را به عنوان الگو در نظر خواهد گرفت. این گزینه زمانی مفید است که مایل به بکارگیری الگوهایی هستید که با – شروع می‌شوند

f file- یا file=file--

جستجو را در میان فایل تعیین شده انجام خواهد داد

F- یا fixed-strings--

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

help--

کمک برنامه را چاپ خواهد کرد

r- یا recursive--

تمامی فایل‌های داخل یک داریرکتوری را بصورت بازگشتی جستجو خواهد کرد

جدول۱ گزینه‌های دستور grep

دو دستور دیگر وجود دارند که به grep مربوط می‌باشند. این دو دستور عبارتند از egrep و fgrep. دستور egrep همانند زمانی عمل می‌کند که شما grep را به همراه گزینه E- استفاده کنید. همچنین fgrep نیز مانند زمانی عمل می‌کند که دستور grep را به همراه گزینه F- بکار ببندید.

ابزار grep مخصوصا برای برنامه‌نویسان و کسانی که با کد نویسی سر و کار دارند، بسیار مفید است. برای مثال برای لیست کردن تمامی خطوطی که در یک فایل حاوی کلمه error هستند، می‌توانید از دستور زیر استفاده کنید:

# grep error /var/log/auth.log

Aug 28 22:20:57 localhost sshd[2886]: error: PAM: Authentication failure for linet from localhost

Nov 6 20:20:10 localhost sshd[4133]: error: PAM: Authentication failure for alan from localhost

grep این فایل را جستجو کرده و تمامی خطوطی را که حاوی کلمه error باشند را نمایش می‌دهد. تمام خطوط دیگر فایل نیز نادیده گرفته خواهند شد. همانطو که گفته شد، شما به راحتی می‌توانید خروجی فرمان grep را بجای صفحه نمایش به یک فایل یا دستور ثالث هدایت نمایید. مثلا:

# grep error /var/log/syslog > system_errors

خطوط حاوی کلمه error را از فایل syslog خوانده و درون یک فایل متنی به نام system_errors ذخیره می‌کند. از دستور grep به طور گسترده‌ای برای خواندن خروجی‌های دستورات دیگر نیز استفاده می‌شود. برای مثال دستور زیر عملی مشابه با دستور مثال بالا انجام خواهد داد:

# cat /var/log/syslog |grep error > system_errors

دستور find

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

# find [path] [expression]

جدول ۲ گزینه‌های قابل استفاده به همراه این دستور را نمایش می‌دهد. عملکرد دستور find به قدری جالب است که ممکن است از آن شگفت زده شوید. در زیر چند مثال عملی از کاربرد این دستور نمایش داده شده‌است.

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

$ find Documents/Debian-Book/ -newer /data2/Debian-Book/

Documents/Debian-Book/backup/Chapter-5.sxw

Documents/Debian-Book/backup/Chapter-6.sxw

Documents/Debian-Book/Chapter-5.sxw

Documents/Debian-Book/Chapter-6.sxw

Documents/Debian-Book/Chapter-7.sxw

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

$ find /home/alan -name 'alan*'

/home/alan

/home/alan/My Pictures/alan.png

/home/alan/My Pictures/alan.xcf

/home/alan/My Pictures/alan-avatar.png

برای پیدا کردن فایل‌های متعلق به کاربری خاص مانند زیر عمل کنید:

$ find /home/alan/ -user root

/home/alan/error

/home/alan/dcheck

/home/alan/system_errors

گزینه

شرح

empty-

فایل خالی است و یک فایل یا دایرکتوری معمولی می‌باشد

help- یا help--

کمک دستور را چاپ می‌کند.

user name-

به دنبال فایل‌هایی خواهد گشت که مالک آنها name است

group groupname-

به دنبال فایل‌های متعلق به گروه groupname خواهد گشت

fstype type-

فایل بر روی فایل سیستمی از نوع type قرار دارد

name pattern-

به دنبال فایلی خواهد گشت که با الگوی pattern مطابقت دارد

newer file-

به دنبال فایل‌هایی خواهد گشت که جدیدتر از file باشند

i name pattern-

همانند name ولی جستجو بصورت case sensitive انجام خواهد شد

version- یا version--

نسخه برنامه را چاپ کرده و خارج می‌شود

mount- یا xdev-

جستجو را بر روی دایرکتوری‌های سایر فایل سیستم‌های متصل انجام نخواهد داد

جدول۲ گزینه‌های دستور find

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

دستور locate

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

$ locate [-d path] pattern...

اطلاعاتی که برنامه locate از آنها برای جستجو استفاده می‌کند، در حقیقت در یک بانک اطلاعاتی ذخیره شده‌است. در صورتی که هنگام استفاده از این ابزار با خطایی مانند پیدا نشدن بانک اطلاعاتی locatedb مواجه شدید، می‌توانید این بانک را با استفاده از دستور updatedb ایجاد کنید.

گزینه d path- به شما این امکان را می‌دهد تا برای جستجو از یک بانک اطلاعاتی ثالث استفاده نمایید. البته این ممکن است به ندرت لازم باشد. الگوی مورد جستجو را می‌توانید با کارکترهای ویژه نیز بکار ببرید. در زیر مثالی از نحوه استفاده از locate نمایش داده شده‌است:

$ locate *.sxw

/home/alan/PGLFAQ.sxw

/home/alan/WebDir.sxw

/home/alan/answer.sxw

/home/alan/faqlf.sxw

دستور cat

با استفاده از دستور cat می‌توانید محتویات یک فایل را بر روی صفحه نمایش چاپ کنید و یا چند فایل را باهم ترکیب نمایید. cat ابزار کوچکی است که موارد استفاده زیادی دارد. نحوه استفاده از آن به شکل زیر می‌باشد:

$ cat [options] files...

جدول ۳ گزینه‌های قابل استفاده به همراه اید دستور را نمایش می‌دهد.

گزینه

شرح

A- یا show-all--

تمامی کاراکتر‌ها، حتی کاراکتر‌های غیر قابل چاپ را در خروجی نمایش خواهد داد

b- یا number-nonblank--

در جلوی هر خط غیر خالی، یک شماره چاپ خواهد کرد

e-

کاراکتر‌های غیر قابل چاپ و tabها را نمایش خواهد داد، ولی کاراکتر‌های پایان خطوط را نمایش نخواهد داد

E- یا show-ends--

کاراکتر‌های پایان خط را نمایش خواهد داد

n- یا number--

برای تمامی خطهای خروجی، یک شماره نمایش خواهد داد

s- یا squeez-blank--

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

t-

tabها و سایر کاراکتر‌های غیر قابل چاپ را نمایش خواهد داد. مشابه با گزینه‌های vT- است

T- یا show-tabs--

کاراکتر‌های tab را بصورت I^ چاپ خواهد کرد

v- یا show-nonprinting--

از نشانه گذاری ^ و -M برای کاراکتر‌های غیر قابل چاپ به غیر از tabها و کاراکتر‌های پایان خطوط استفاده خواهد کرد

جدول۳ گزینه‌های دستور cat


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

$ cat file1 file2 file3 ... > newfile

دستور more

همانطور که مشاهده کردید، با استفاده از cat می‌توانید محتویات فایل‌ها را نمایش دهید. در گنو/لینوکس تعدادی ابزار وجود دارند که به شما امکان می‌دهند تا محتویات فایل‌ها را با روش مناسب‌تری مشاهده کنید. یکی از این ابزارها برنامه more است. استفاده از more این امکان را فراهم می‌سازد تا محتویات یک فایل متنی را بصورت صفحه به صفحه مشاهده کنید. جدول ۴ دستورات قابل استفاده با more را تشریح کرده‌است. بسیاری از این دستورات مشابه با محیط ویرایشگر vi هستند. در صورتی که vi را بلد باشید، استفاده از آن برایتان بسیار آسان خواهد بود.

دستور

شرح

h یا ?

خلاصه دستورات را نمایش خواهد داد

SPACE

صفحه بعدی متن را نمایش خواهد داد

ENTER

خط بعدی متن را نمایش خواهد داد و این خط نقطه آغاز صفحه بعدی خواهد بود

q یا Q

خروج از more

pattern /

در فایل به دنبال pattern جستجو خواهد کرد.

CTRL+L

نمایش مجدد صفحه جاری

. (نقطه)

تکرار دستور قبلی

جدول ۴ دستورات قابل استفاده در more

شما می‌توانید از more برای دیدن یک یا چندین فایل بطور همزمان استفاده کنید. کافی است فایل‌ها را به دنبال یکدیگر در دستور more قرار دهید. برای مثال:

$ more text1 text2 text3...

هنگامی که نمایش text1 به پایان رسید، فایل text2 نمایش داده خواهد شد و به همین ترتیب. خروجی دستوری مانند cat را نیز می‌توانید به سمت more هدایت کنید.

دستور less

ابزار دیگر نمایش متن یعنی less به شما قابلیت کنترل بیشتری را هنگام نمایش یک فایل اهدا می‌کند. در حالی که more تنها به شما امکان اسکرول متن در یک جهت را می‌دهد، در less می‌توانید متن را در هر دو جهت اسکرول نمایید. جدول ۵ تعدادی از گزینه‌های قابل استفاده در این دستور را نمایش می‌دهد. برای مشاهده لیست کاملی از دستورات می‌توانید از گزینه help-- و یا راهنمای man این دستور استفاده کنید. دستورات شرح داده شده در جدول ۵ برای شروع کافی هستند.

نحوه عمل less بسیار شبیه به more است. کافی است پس از دستور، نام فایل مورد نظرتان را به عنوان آرگومان دستور وارد نمایید:

$ less /usr/share/doc/README

مطمئنا پس از استفاده از less خواهید دید که اسکرول دو جهته چقدر لازم و قابل استفاده است.

دستور

شرح

SPACE یا f

اسکرول یک صفحه به سمت جلو

ENTER یا e یا j

یک خط به سمت جلو

b یا ESC+v

اسکرول یک صفحه به سمت عقب

y یا k

یک خط به سمت عقب

u یا CTRL+U

اسکرول نصف صفحه به سمت عقب

CTRL+L

نمایش مجدد صفحه جاری

. (نقطه)

تکرار دستور قبلی

جدول ۵ دستورات قابل استفاده در less

همانطور که قبلا نیز اشاره شد، هنگامی که از دستوراتی استفاده می‌کنید که ممکن است خروجی آنها بیش از یک صفحه باشد، می‌توانید با استفاده از کاراکتر لوله‌بندی یا | خروجی را به سمت دستورات more یا less هدایت کنید. برای مثال:

$ ls -l /home | less


آلن باغومیان alan@technotux.com

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.