Friday, March 13, 2009

Linux管理小技巧: CDPATH

預設上, RHEL5.x與CentOS5.x的bind有chroot的機制, 所以當系統管理者要去更改named.conf或是相關的DNS zonefile時就必需要輸入/var/named/chroot/etc/ or /var/named/chroot/var/named/ 恩... 有點長, tab要按好幾次, 於是乎帽客想到了一個好用的偷懶方法, CDPATH.

透過CDPATH可以設定parent directory然後透過cd指令切入到subdirectories, 看起來有點抽象? 實際看看例子吧:


上面的例子是設定CDPATH為DNS Server chroot的路徑(/var/named/chroot), 並將它變成環境變數, 之後只要輸入cd etc就會切入到/var/named/chroot/etc, 而cd var/named就會切入到/var/named/chroot/var/named.

看起來方便多了吧!

update:
讓CDPATH重開機時就生效吧:
echo "CDPATH=/var/named/chroot" >> /root/.bash_profile

2009.3.16 update:
今天發現到bash內建的command,pushd與popd也有著類似的功能:
先將/var/named/chroot 透過pushd新增至stack中,並用dirs確定目前stack的內容(第一筆永遠是current directory),之後透過cd就可以切換到subdirectories。

2 comments:

Ivan Z. G. Xiao said...

推薦一個叫cdargs的東西,很好用

瘋狂帽客 said...

Thanks,我會研究看看你所說的cdargs。
另外,今天我另外也發現到了shell builtin的command: pushd&popd也挺好用的.