日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

FreeBSD shell設(shè)置( 二 )


注意,不能輕易更改root用戶的shell,因?yàn)檫@可能會造成root無法正常登錄,而使得無法正常執(zhí)行系統(tǒng)維護(hù) 。即使是將root的shell更改為其他更新、更強(qiáng)功能的標(biāo)準(zhǔn)shell,例如bash或tcsh,也是不應(yīng)該 。雖然這些shell也是非常成熟的shell程序,仍然不應(yīng)該使用它們作為root的shell 。主要原因是這些 shell一般沒有被安裝到根分區(qū)中,那么當(dāng)系統(tǒng)進(jìn)入單用戶狀態(tài)時(shí)就會發(fā)生問題 。另外這些shell可能會由于進(jìn)行版本升級等原因,而偶然形成故障,造成root無法正確登錄 。此外,由于這些非標(biāo)準(zhǔn)shell不一定來自于系統(tǒng)的安裝盤,因此也存在對shell來源的安全信任問題,必須保證這些shell不是經(jīng)攻擊者更改過的版本 。如果要使用它們 shell提供的方便特性,可以在系統(tǒng)登錄之后再使用全路徑執(zhí)行它們 。
配置用戶shell 事實(shí)上sh與csh,并不是普通用戶的最佳選擇,因?yàn)檫@兩個(gè)shell在易用性方面做的不夠好,例如命令行編輯功能不強(qiáng)、不能利用熱鍵重復(fù)執(zhí)行命令等 。較新的shell,如bash和tcsh都具有這些方便用戶使用的功能,但必須安裝了這些shell程序之后,才能更改普通用戶的shell設(shè)置以使用這些shell程序 。更改用戶的shell 可以使用pw、vipw或chsh 。
這兩個(gè)shell分別遵照sh和csh的風(fēng)格,因此喜好csh風(fēng)格的可以選擇tcsh,而喜歡sh風(fēng)格的選擇 bash 。除了這兩種shell之外,還有ksh、zsh等shell可供選擇 。如果對兩種shell沒有偏好,可以選擇bash,它是一個(gè)GNU軟件,比標(biāo)準(zhǔn)sh功能強(qiáng)大的多 。
使用了這兩些增強(qiáng)型shell之后,用戶就可以使用shell提供的命令行編輯功能 。按照習(xí)慣的不同,可以選擇vi風(fēng)格的編輯方式或eMacs風(fēng)格的方式,缺省為emacs方式,這種方式使用方向鍵來回溯執(zhí)行過的命令,并進(jìn)行修改,而vi風(fēng)格使用字母命令作編輯鍵,例如使用h、j、k、l四個(gè)鍵來移動光標(biāo),vi風(fēng)格的好處是不使用基本鍵盤之外的控制鍵,因而可以適用于任何終端設(shè)備,并且進(jìn)行編輯時(shí)手不需離開基本鍵盤,熟練操作之后最為快捷 。emacs風(fēng)格比起vi風(fēng)格更適合從個(gè)人計(jì)算機(jī)轉(zhuǎn)向Unix的使用者的習(xí)慣 。bash, ksh ,zsh下使用下面的命令在emacs 風(fēng)格和vi風(fēng)格切換:
bash$ set -o emacs
bash$ set -o vi
tcsh中使用不同的命令:
% bind emacs
% bind vi
還可以為常用的命令設(shè)置別名,簡化用戶輸入,例如:
bash$ alias ec=echo This is a alias
bash$ ec
This is a alias
shell用于方便用戶操作的另一項(xiàng)能力是自動補(bǔ)全命令或文件名的功能,因?yàn)镕reeBSD下的文件名可能很長,將它們?nèi)枯斎氡容^麻煩 。事實(shí)上可以輸入部分名字,然后按Tab鍵(在vi風(fēng)格下是連續(xù)兩次按Esc鍵),shell 將自動補(bǔ)全文件名的剩余部分 。如果已經(jīng)輸入的這部分名字不能確定具體的命令或文件,那么shell只將能確定的部分補(bǔ)上,然后響鈴?fù)ㄖ褂谜呃^續(xù)輸入以明確具體的文件 。
事實(shí)上即使在基本的sh或csh下,也可以使用 “* 等特殊字符,用模式匹配的方式來簡化輸入 。
bash$ cd /usr/loca*
bash$ pwd
/usr/local
Unix中的多數(shù)程序都具備模式匹配的處理能力,而shell的模式匹配功能最為常用 。shell可以使用這些特殊模式來配置多個(gè)文件,達(dá)到簡化操作的目的 。如果要熟練掌握Unix,必須掌握模式匹配 。
當(dāng)試圖在bash下輸入漢字的時(shí)候,除了必須設(shè)置終端屬性能接受8位字符之外(執(zhí)行stty pass8命令),還需要設(shè)置bash的輸入輸出轉(zhuǎn)換,可以在登錄腳本.profile文件中包括以下設(shè)置:
bind 'set convert-meta off'
bind 'set meta-flag on'
bind 'set output-meta on'

推薦閱讀