نحوه استفاده از دستور bd

 دستور bd

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

یعنی بجای استفاده از دستور “cd ../../..”

میدانیم برای تغییر مسیر از یک دایرکتوری به دایرکتوری دیگر در لینوکس از دستور

cd یا change directory استفاده میکنیم .
زمانیکه میخواهیم به دو مسیر بالاتر برگردیم از دستور “cd ../..” استفاده میکنیم .
همچنین اگر بخواهیم سه مسیر به عقب برگردیم از “cd ../../..” استفاده میکنیم.

خیلی وقتها استفاده از دستور cd برای تغییر مسیر به مسیرهای بالاسر ، مخصوصا زمانیکه

به تناوب میخواهیم این کار را انجام دهیم؛ خسته کننده و زمانبر است .

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

براحتی در مسیر های مورد نظر خود رفت و آمد کنید بدون اینکه بخواهید مدام از دستور

cd برای پیمایش به این مسیرها استفاده نمایید .

این ابزار نامش bd می باشد .

ابزار bd براحتی برای ما امکان پیمایش روی مسیرهای فایل سیستم را فراهم می سازد .
این دستور ما را قادر می سازد که بجای استفاده از دستور cd ../../.. که به معنی  رفتن به

 سه مسیر به عقب می باشد , بتوانیم با فرمان bd این عمل را متناوبا انجام دهیم .

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

برای نصب bd ابتدا با دستور wget آن را دانلود کرده و سپس آن را اجرا نموده و بعد از آن
یک alias در فایل ~/.bashrc به آن انتصاب میکنیم .
بدین منظور دستورات زیر را اجرا میکنیم :

$ wget –no-check-certificate -O /usr/bin/bd https://raw.github.com/vigneshwaranr/bd/master/bd

از آنجا برای دسترسی به این ابزار نیاز به اتصال به سایت github.com را دارید

لذا باید از فیلترشکن جهت استفاده از این مسیر استفاده نمایید .

جهت تنظیم proxy در wget  فایل  /etc/wgetrc/ را ویرایش گرده و مشخصات پروکسی خود را در آن وارد نمایید .

در غیر اینصورت با خطای اتصال مواجه خواهید شد .

در این مقاله از روش مستقیم دانلود برنامه از سایت github.com استفاده کرده ام . یعنی این برنامه را ابتدا دانلود کردم

و سپس به سیستم عامل لینوکس منتقل کردم .

به این منظور ابتدا به سایت github.com وصل شده و به دنبال کلمه bd بگردید

تا شما را به مسیر مورد نظر هدایت کند .

/

   همانطور که در شکل بالا مشاهده می کنید کلمه bd را در قسمت جستجو وارد کرده ام وبعد صفحه زیر ظاهر میشود

حالا گزینه vigneshwaranr/bd را انتخاب کرده که صفحه زیر ظاهر میشود

پس از انتخاب کلمه wineshwaranr/bd  صفحه زیر ظاهر میشود

 

کل ابزار را با انتخاب گزینه Download ZIP دانلود نمایید و بعد با ابزارهایی نظیر winscp یا sftp

یا هر ابزار دیگری آنرا به ماشین لینوکس خود منتقل نمایید .

مثلا من فایل bd-master.ZIP را به دایرکتوری /tmp انتقال دادم و سپس دستور زیر را صادر کردم :

# cd /tmp
# unzip bd-master.ZIP
# cd bd-master
# ls -l
drwxr-xr-x 2 root root 15 Nov 3 23:55 bash_completion.d
-rwxr-xr-x 1 root root 1014 Nov 3 23:55 bd
-rw-r–r– 1 root root 1090 Nov 3 23:55 LICENSE
-rw-r–r– 1 root root 2800 Nov 3 23:55 README.md
-rwxr-xr-x 1 root root 2205 Nov 3 23:55 run-tests.sh
drwxr-xr-x 2 root root 19 Nov 3 23:55 screenshot
[root@server1 bd-master]#

حالا دستور bd که در دایرکتوری bd-master قرار دارد را در دایرکتوری /usr/bin کپی کرده

# cp /tmp/bd-master/bd /usr/bin

و به آن اجازه اجرایی میدهیم

#chmod +x /usr/bin/bd

حالا به مسیر

# cd /etc/bd-master/ bash_completion.d

رفته و دستور زیر را اجرا میکنیم:

[root@server1 bash_completion.d]# cp bd /etc/bash_completion.d/

و برای اینکه فرمان bd برای کلیه کاربران قابل استفاده باشد فرمان زیر را اجرا میکنیم :

source /etc/bash_completion.d/bd

و بعد میتوانیم از این فرمان استفاده کنیم .

چنانچه بخواهیم این فرمان فقط برای یک کاربر خاص قابل اجرا باشد باید برای هر کاربر در فایل

.bashrc مورد نظر در Home directory او دستور زیر را اجرا نماییم:

$ echo ‘alias bd=”. Bd –si” >> ~/.bashrc
$ source ~/.bashrc

دو دستور بالا باعث میشوند که فرمان bd در .bashrc کاربر مورد نظر بصورت alias name تعریف شده

و قابل استفاده باشد .

توجه : به جهت اینکه بتوانیم نام دایرکتوری ها را بر اساس حروف و بزرگ تمایز قائل شویم

یا به اصطلاح از حالت case-sensitive استفاده کنیم از گزینه –s بجای –si در alias ایجاد شده استفاده میکنیم .

یعنی زمانیکه میخواهیم به دایرکتوریهای مورد نظر برویم بین اسم BOOK و book تفاوت قائل شود .

گزینه “-I” به این معنی میباشد که بین حروف بزرگ و کوچک تفاوتی قائل نشو و

زمانیکه این گزینه را با “-s” ترکیب نکنیم یعنی بین حروف بزرگ و کوچک تمایز قائل شو .

خب حالا ببینیم چطوری از فرمان یا ابزار bd استفاده کنیم :
ابتدا فرض کنید یک مسیری به شکل زیر دارید :

/home/aerospike/Data/Documents/Books/Linux/Hadoop/Books/server

و شما در مسر server یعنی در انتها قرار دارید و حالا میخواهید به دایرکتوری Documents بروید

بدین منظور کافی است دستور زیر را وارد نمایید

$ bd Documents

حالا چنانچه بعد از رفتن به دایرکتوری Documents بخواهید به مسیر Data بروید کافی است دستور زیر را اجرا نمایید

$ bd Data

قابلیت دیگر دستور bd این است که لازم نیست تمام نام دایرکتوری را بطور کامل تایپ کنید بلکه اکر قسمتی از نام آنرا نیز تایپ نمایید

این دستور قادر است نزدیکترین کلمه به حروف وارد شده که در مسیر وجود دارد را جایگزین نموده و به آن مسیر برود .

یعنی دستور

$ bd Doc

بدنبال اولین کلمه که با حروف Doc شروع شده باشد گشته و به آن مسیر میرود یعنی مسیر Data
و دستور

$ bd Da

بدنبال اولین کلمه ای که با حروف Da شروع شده باشد و در مسیر مورد نظر قرار گرفته باشد میرود یعنی Data

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

/home/aerospike/Data/Documents/Books/Linux/Hadoop/Books/server

در مسیر بالا دو بار کلمه Books آمده است و فرض کنید که میخواهیم به مسیر

/home/aerospike/Data/Documents/Books/Linux/Hadoop/Books

برویم و دستور

$ bd Books

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

/home/aerospike/Data/Documents/Books/

میرویم که مسیر مورد نظر ما نمی باشد . یعنی فرمان bd ما را به اولین رخداد معادل

با کلمه ای که وارد کرده ایم هدایت میکند .

در واقع چون در مسیر ما دو تا Books وجود دارد با دستور bd Books ما به اولین مسیری

که کلمه Books دیده میشود هدایت میشویم .

اگر بخواهیم فقط مسیر مورد نظر را نمایش دهیم اما نخواهیم به آن تغییر مسیر دهیم کافی است

دستور را بصورت زیر اجرا کنیم

$ `bd my-path`

کلمه my-path یک سمبل است که بجای نام دایرکتوری دلخواه قرار داده ام و شما بجای

آن هر نامی که مورد نظرتان باشد را قرار دهید .

بطور مثال فرض کنید در مسیر /u01/app/oracle/product/11.2.0/ قرار داریم و میخواهم مسیر مطلق مربوط به

مسیر /u01/app/oracle را روی صفحه نمایش اما قصد ندارم به آن مسیر بروم بنابراین دستور زیر را صادر میکنم

$ echo `bd ora`

یا مثلا میخواهم لیست فایلهای داخل این مسیر را نمایش دهم کافی است دستور زیر را صادر کنم

$ ls -l `bd ora`

یا چنانچه بخواهیم سایز دایرکتوری oracle را در مسیر /u01/app/oracle بیابیم کافی است فرمان زیر را صادر نماییم

$ du -cs `bd ora`

چنانچه نیاز به مطالعه بیشتر در مورد فرمان bd دارید میتوانید به لینک

https://github.com/vigneshwaranr/bd

مراجعه نمایید .

 

1 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *