日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)UNIX教程:UNIX環(huán)境

UNIX 環(huán)境

UNIX 中一個(gè)重要的概念是環(huán)境,它是由環(huán)境變量所定義。一些環(huán)境變量是由系統(tǒng)設(shè)置,有一些是由用戶設(shè)置的,還有一些是被 Shell,或任何會(huì)加載另一個(gè)程序的程序所設(shè)置。

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的松陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一個(gè)變量是由一個(gè)字符組成的串,并且我們會(huì)給它賦值。給變量賦的值可以是一個(gè)數(shù)字,文本,文件名,設(shè)備或任何其他類型的數(shù)據(jù)。

例如,首先,我們?cè)O(shè)置一個(gè)名稱為 TEST 的變量,然后我們使用 echo 命令查看它的值:

$TEST="Unix Programming"
$echo $TEST
Unix Programming

注意,設(shè)置環(huán)境變量不使用 $ 符號(hào),但在訪問(wèn)他們的時(shí)候,我們使用 $ 符號(hào)作為前綴。這些變量保存它們的值,直到我們退出 shell。

當(dāng)你登錄到系統(tǒng),shell 經(jīng)過(guò)初始化階段,在該階段會(huì)設(shè)置各種環(huán)境變量。這通常會(huì)涉及到兩步的處理過(guò)程,shell 會(huì)讀取以下文件:

  • /etc/profile
  • profile

處理流程如下:

  1. shell 程序檢查 /etc/profile 文件是否存在。
  2. 如果該文件存在,shell 程序會(huì)讀取該文件。否則,就會(huì)跳過(guò)該文件。同時(shí)也不會(huì)顯示任何錯(cuò)誤信息。
  3. shell 程序檢查 .profile 文件是否在你的根目錄下面存在。您的根目錄就是你在登錄之后進(jìn)入的目錄。
  4. 如果該文件存在,shell 程序就會(huì)讀取它。否則,shell 程序跳過(guò)它,不會(huì)顯示任何錯(cuò)誤信息。

一旦這兩個(gè)文件讀取完成,shell 顯示一個(gè)等待輸入命令:

    $

這是提示,在它后面你可以輸入命令來(lái)執(zhí)行。

注意:Shell 初始化的詳細(xì)過(guò)程通常利用的是 Bourne Shell,但是其他的一些文件處理是利用 bashksh shell 程序。

.profile 文件

/etc/profile 文件是由 UNIX 的系統(tǒng)管理員維護(hù)的,并且該文件中包含了 Shell 初始化的信息,這個(gè)信息可以被任何系統(tǒng)中的任何用戶查看。

如果你有對(duì) .profile 文件操作的權(quán)限,那么你就可以在這個(gè)文件中添加你想要的盡可能多的定制 Shell 信息。

  • 你使用的終止符的類型
  • 命令存在的一系列文件的列表
  • 一些列的變量設(shè)置你的終端顯示的效果

你可以在你的根目錄下面查看 .profile 文件。利用 vi 編輯器打開(kāi)它,查看其中設(shè)置的所有環(huán)境變量。

設(shè)置終結(jié)符的類型

通常您所使用的終端的類型由 logingetty 程序自動(dòng)配置。有時(shí),自動(dòng)配置過(guò)程會(huì)推測(cè)你的終端類型是不對(duì)的。

如果您的終端設(shè)置錯(cuò)誤,命令的輸出可能看起來(lái)很奇怪,或者你可能無(wú)法與 Shell 正常交互。

確保這不是這種情況,大多數(shù)用戶的終端最少相同的特性如下:

$TERM=vt 100
$

設(shè)置 PATH 變量

當(dāng)你在命令提示符下輸入任何命令,Shell 只有確定了命令所在的目錄才能執(zhí)行命令。

Shell 是在環(huán)境變量 PATH 中尋找命令所在的目錄。通常,它設(shè)置如下:

$PATH=/bin:/usr/bin
$

這里的每一個(gè)由冒號(hào),:,分開(kāi)的實(shí)體是目錄。如果你請(qǐng)求 Shell 執(zhí)行一個(gè)命令,但是它不能在 PATH 環(huán)境變量中找到任何命令所在的路徑,這時(shí)會(huì)出現(xiàn)一個(gè)類似如下的消息:

$hello
hello: not found
$

還有類似于 PS1 和 PS2 這樣的變量,將會(huì)在下一節(jié)說(shuō)明。

PS1 和 PS2 變量

shell 顯示給你的命令提示符存儲(chǔ)在變量 PS1 中。你可以改變這個(gè)變量成任何你想要的字符。只要你改變它,它就會(huì)從你改變后開(kāi)始起作用。

例如,如果你輸入如下的命令:

$PS1='=>'
=>
=>
=>

你的提示輸入符將會(huì)變成 =>。設(shè)置 PS1 的值,讓它顯示工作目錄,輸入如下的命令:

=>PS1="[\u@\h \w]\$"
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$
[root@ip-72-167-112-17 /var/www/tutorialspoint/unix]$

該命令的結(jié)果是,顯示用戶的用戶名、機(jī)器名稱(主機(jī)名),和工作目錄。

有相當(dāng)多的轉(zhuǎn)義序列,可以用作 PS1 的參數(shù),盡量讓自己只關(guān)注最關(guān)鍵的部分,不要讓下面的信息對(duì)你造成過(guò)多的壓力。

轉(zhuǎn)義序列 描述
\t將當(dāng)前的時(shí)間表示成 HH:MM:SS 的形式
\d將當(dāng)前的日期表示成 周 月 日
\n新的一行。
\s當(dāng)前的環(huán)境變量。
\W工作目錄。
\w工作目錄的完整路徑。
\u當(dāng)前用戶的用戶名。
\h當(dāng)前機(jī)器的主機(jī)名稱。
\#當(dāng)前命令的編號(hào)。每輸入一條命令編號(hào)加 1。
\$如果有效的 UID 是 0(也就是說(shuō),如果你以 root 用戶進(jìn)行登錄),命令提示符會(huì)變成 #,否則,提示符是 $。

你可以通過(guò)修改 .profile 文件,在每次登錄的時(shí)候進(jìn)行上面的那些轉(zhuǎn)換。這樣每次登錄就會(huì)自動(dòng)的改變 PS1 的值。

當(dāng)你輸入一個(gè)不完整的命令是,shell 將再次顯示一個(gè)命令輸入符,等待你再次完成命令并回車(chē)。

默認(rèn)二級(jí)提示 >(大于號(hào)),但可以改變通過(guò)設(shè)置 PS2 變量進(jìn)行修改:

下面的示例使用默認(rèn)的二級(jí)提示:

    $ echo "this is a
    > test"
    this is a
    test
    $

下面是一個(gè)通過(guò)重新定義 PS2 變量自定義輸入符的示例:

$ PS2="secondary prompt->"
$ echo "this is a
secondary prompt->test"
this is a
test
$

環(huán)境變量

以下是部分重要的環(huán)境變量的列表。這些變量將按照上面提到的方式被設(shè)置和訪問(wèn):

變量 描述
DISPLAY 包含顯示設(shè)備的標(biāo)識(shí)符,默認(rèn)情況下它的值是 X11。
HOME表明當(dāng)前用戶的根目錄,默認(rèn)的參數(shù)中會(huì)內(nèi)置 cd 命令。
IFS表明系統(tǒng)內(nèi)部所使用字段分隔符,它通常用在解析器分割單詞中。
LANGLANG 擴(kuò)展系統(tǒng)默認(rèn)的語(yǔ)言:LC_ALL 可以用來(lái)覆蓋這個(gè)變量。例如,如果它的值是 pt_BR,那么系統(tǒng)的語(yǔ)言就被設(shè)置成(Brazillian)Portuguese 和地區(qū)被設(shè)置成 Brazil。
LD_LIBRARY_PATH許多 UNIX 系統(tǒng)動(dòng)態(tài)鏈接器,包含以冒號(hào)分隔的目錄列表,在執(zhí)行后,動(dòng)態(tài)連接器構(gòu)建過(guò)程圖像過(guò)程中,在搜索其他目錄之前,先搜索共享對(duì)象。
PATH命令的搜索路徑。它是由冒號(hào)分隔開(kāi)一系列目錄,也就是 shell 尋找命令所在的目錄。
PWD當(dāng)前的工作目錄,由 cd 命令設(shè)置的。
RANDOM每次被引用的時(shí)候就會(huì)生成一個(gè) 0 到 32,767 范圍內(nèi)的一個(gè)隨機(jī)整數(shù)。
SHLVL每次一個(gè) bash 實(shí)例被啟動(dòng)這個(gè)值就會(huì)加 1。這個(gè)變量對(duì)于決定內(nèi)置的退出命令是否終止當(dāng)前會(huì)話是很有用的。
TERM 顯示類型。
TZ 時(shí)間區(qū)域。它能被賦值為 GMT,AST 等。
UID數(shù)值類型標(biāo)識(shí)當(dāng)前用戶,它在 shell 啟動(dòng)的時(shí)候被初始化。

如下是幾個(gè)簡(jiǎn)單的例子顯示幾個(gè)環(huán)境變量:

$ echo $HOME
/root
]$ echo $DISPLAY
$ echo $TERM
xterm
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/amrood/bin:/usr/local/bin
$

網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)UNIX教程:UNIX環(huán)境
當(dāng)前鏈接:http://www.5511xx.com/article/cohjeih.html