freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

linux操作說明shell_詳解(參考版)

2025-04-17 05:54本頁面
  

【正文】 這個指令最常被用在 shell script 的撰寫當(dāng)中, 以跟使用者進行對談。底下就來看看吧! 當(dāng)加載另一個 shell 時 (亦即啟動子程序,而離開原本的父程序了),子 shell 可以將父 shell 的環(huán)境變量所在的記憶區(qū)塊導(dǎo)入自己的環(huán)境變量區(qū)塊當(dāng)中。 當(dāng)啟動一個 shell ,操作系統(tǒng)分配一記憶區(qū)塊給 shell 使用,此區(qū)域之變量可以讓子程序存??; 其實,要了解不同程序之間變量的變換,應(yīng)該要先了解『程序』的概念比較好, 但是我們還沒有講到.....沒關(guān)系~等你念到程序章節(jié)后,還可以再回來好好的看一看。除非使用 export 將自訂變量變成環(huán)境變量。被 export 后的變量,我們可以稱他為『環(huán)境變量』! 環(huán)境變量可以被子程序所引用,但是其它的自訂變量內(nèi)容就不會存在于子程序中。此時,只要你離開 vi ,然后執(zhí)行 LANG= , 然后再重新以 vi 編輯該檔案,呵呵!應(yīng)該就能夠看到中文啦!但是請注意, 這個方法當(dāng)然不適用 tty1 ~ tty6 的環(huán)境,原因上面已經(jīng)提過啰~ 僅適合以類似 putty 軟件由 Windows 計算機聯(lián)機到 linux 主機上的做業(yè)! 變量的有效范圍蝦密??變量也有使用的『范圍』?沒錯啊~我們在上頭的 export 指令說明中,就提到了這個概念了。 但是,目前的這個 shell 環(huán)境所支持的語系,則是要看 SUPPORTED 這個變數(shù)才對喔!那么,如果我想要修訂系統(tǒng)的語系支持呢?可以修訂 /etc/sysconfig/i18n 這個檔案呢! 這個檔案的內(nèi)容有點像這樣:[rootlinux ~] vi /etc/sysconfig/i18nLANG=SYSFONT=latarcyrhebsun16SUPPORTED=:zh_TW:zh:你可以在這個檔案當(dāng)中加入 LC_TIME 或者其它語系相關(guān)變量的設(shè)定內(nèi)容, 也可以直接修改 LANG 那個變量即可??! ^_^ 但,事實上,我們還可以透過個人的環(huán)境設(shè)定檔來設(shè)定 LANG 呢! 如此一來,則不必修訂系統(tǒng)的語系檔案,比較安全啦!Tips:假設(shè)你用 vi 編輯一個純文字文件,這個純文字文件在編輯的時候,是在 Windows 上面編輯的, 那么這個檔案的預(yù)設(shè)編碼應(yīng)該是以 所編輯的才對。也就是如此,所以,我們才會必須要在 tty1 ~ tty6 的環(huán)境下, 加裝一些中文化接口的軟件,才能夠看到中文?。〔贿^,如果您是在 Windows 主機以遠程聯(lián)機服務(wù)器的軟件聯(lián)機到主機的話,那么,嘿嘿!其實文字接口確實是可以看到中文的?;旧?,你可以逐一設(shè)定每個與語系有關(guān)的變量數(shù)據(jù),但事實上,如果其它的語系變量都未設(shè)定, 且您有設(shè)定 LANG 或者是 LC_ALL 時,則其它的語系變量就會被這兩個變量所取代! 這也是為什么我們在 FC4 當(dāng)中,通常僅設(shè)定 LANG 這個變量而已!因為他是最主要的設(shè)定變量。 這有賴于 i18n 支援的幫助呢! 那么我們的 Linux 到底支持了多少的語系呢?這可以由 locale 這個指令來查詢到喔![rootlinux ~] locale aaa_DJen_USzh_TW 其實輸出的內(nèi)容有很多,鳥哥將一些信息舍棄了~ 從上面的輸出中,我們也不難看出,系統(tǒng)是有支持 big5, utf8 等中文語系數(shù)據(jù)的!中文語系至少支持了兩種以上的編碼,一種是目前還是很常見的 big5 ,另一種則是越來越熱門的 utf8 編碼。 那個問題其實就是語系的問題啦。換個角度來想,也就是說,如果我能將自訂變量變成環(huán)境變量的話,那不就可以讓該變量值繼續(xù)存在于子程序了? 呵呵!沒錯!此時,那個 export 指令就很有用啦! 如您想要讓該變量內(nèi)容繼續(xù)的在子程序中使用,那么就請執(zhí)行: export 變數(shù)這個東西用在『引用他人的檔案或者其它程序』時,相當(dāng)?shù)闹匾模?尤其像鳥哥常常兩三個檔案互相引用來引用去的,如果忘記設(shè)定 export 的話,那么不同的檔案中的相同變量值,將需要一再地重復(fù)設(shè)定才行!所以,我只要在頭一個檔案使用 export 的話,那么后續(xù)的檔案引用時,將會把該變量內(nèi)容讀進來!好用的很,如果僅下達 export 而沒有接變量時,那么此時將會把所有的『環(huán)境變量』秀出來喔!例如:[rootlinux ~] exportdeclare x ENV=/root/.bashrcdeclare x HISTSIZE=1000declare x HOME=/rootdeclare x HOSTNAME=declare x INPUTRC=/etc/inputrcdeclare x LANG=declare x MAIL=/var/spool/mail/rootdeclare x SHELL=/bin/bash 很多都直接省略了!不然....重復(fù)性太高,浪費版面~ ^_^語系檔案的變量 (locale)還記得我們在首次進入 Linux 那個章節(jié)里面提到的,關(guān)于語系編碼的問題嗎? 就是當(dāng)我們使用 man mand 的方式去查詢某個數(shù)據(jù)的說明文件時,該說明檔的內(nèi)容可能會因為我們使用的語系, 而產(chǎn)生一些亂碼。 那么由于您已經(jīng)進入了該子程序,所以在父程序中的自訂變量設(shè)定將不再繼續(xù)的存在。 ) 自訂變量轉(zhuǎn)成環(huán)境變量: export 好了,上面我們環(huán)境變量也提過了,一些自訂變量也提過了,那么,這兩者有啥不同? 他的不同處,我們在 變量設(shè)定規(guī)則 當(dāng)中稍微提過, 主要是由于變量可否被子程序所引用。我們在『Linux 主機規(guī)劃』 里面提到過關(guān)于主機的等級方面的問題,當(dāng)我們在安裝軟件的時候, 需要透過編譯器來將原始碼編譯成為二進制的檔案 (binary file)。[rootlinux ~] 12name=VBirdbash: 12name=VBird: mand not found[rootlinux ~] echo $?127 發(fā)生錯誤啦!所以 echo $? 時,就會出現(xiàn)錯誤的代碼! 我們可以利用這個代碼來搜尋錯誤的原因喔![rootlinux ~] echo $?0 咦!怎么又變成正確了?這是因為 ? 只與『上一個執(zhí)行指令』有關(guān), 所以,我們上一個指令是執(zhí)行『 echo $? 』,當(dāng)然沒有錯誤,所以是 0 沒錯!一般來說,如果成功的執(zhí)行該指令, 則會回傳一個 0 值,如果執(zhí)行過程發(fā)生錯誤,就會回傳『錯誤代碼』才對!一般就是以非為 0 的數(shù)值來取代。 ?:(關(guān)于上個執(zhí)行指令的回傳碼)蝦密?問號也是一個特殊的變數(shù)?沒錯!在 bash 里面這個變量可重要的很! 這個變數(shù)是:『上個執(zhí)行的指令所回傳的值』, 上面這句話的重點是『上一個指令』與『回傳值』兩個地方。 更多的程序觀念,我們會在第四章的時候提及。[rootlinux /home 17:02 85] 看到了嗎?提示字符變了!變的很有趣吧!其中,那個 85 比較有趣, 如果您按下 [Enter] 后,該數(shù)字就會增加喔!為啥?上面有說明ㄇㄟ! 那么應(yīng)該如何設(shè)定 PS1 呢?可以這樣?。篬rootlinux home] PS1=39。\[\u\h \W\]\$ 39。 o \ :下達的第幾個指令。 o \t :顯示時間,為 24 小時格式,如: HH:MM:SS o \T :顯示時間,12 小時的時間格式! o \A :顯示時間,24 小時格式, HH:MM o \u :目前使用者的賬號名稱; o \v :BASH 的版本信息; o \w :完整的工作目錄名稱。舉例來說,鳥哥的練習(xí)機 ,那么這個主機名稱就是 o \h :僅取主機名稱的第一個名字。上頭 PS1 內(nèi)顯示的是一些特殊符號,每個版本 bash 的 PSI 變量內(nèi)的特殊符號可能有些許的差異, 你應(yīng)該主動的以 man bash 去查詢一下相關(guān)的變數(shù)。使用 set 除了會將系統(tǒng)的默認值秀出來之外,連帶的所有的你自己設(shè)定的變量也會被秀出來! 同時需要注意的是,若當(dāng)時有相當(dāng)多人同時在在線的話,那么 你的變量只能給自己使用 ( 除非改的是系統(tǒng)的預(yù)設(shè)參數(shù)檔,如 /etc/profile ),而不會干擾到別人的!就如同前面所說的, 由于你登入 Linux 之后會取得一個 PID ,而你的設(shè)定將只對這個 PID 與子程序有關(guān)!此外, 這次登入所進行的變量設(shè)定,如果沒有更動到設(shè)定檔, 那么這次設(shè)定的變量在下次登入時將被取消掉 ( 因為程序 PID 不見啰! ) !所以啰, 如果你想要你的變量每次都能在你登入的時候自動就設(shè)定好了,那么就必須將你的設(shè)定寫入登入時加載的設(shè)定檔! ( 更多的程序相關(guān)的說明,不要急~我們會在后面的 程序與資源管理 當(dāng)中好好的提一提的! )OK!OK!那么上頭那些變量當(dāng)中,有哪些是比較重要的?大概有這幾個吧! 這個是命令提示字符,也就是我們常見的 [rootlinux ~] 或 [dmtsai ~]$ 的設(shè)定值啦!可以更動的!RANDOM=13586 == 隨機數(shù)?。∩厦嬉呀?jīng)提過啰~SUPPORTED=:zh_TW:zh: == 本系統(tǒng)所支持的語系name=VBird == 剛剛設(shè)定的自訂變量也可以被列出來喔!$ == 目前這個 shell 所使用的 PID? == 剛剛執(zhí)行完指令的回傳值。[\u\h \W]\$ 39。 == 上面這個是命令提示字符!與底下也有關(guān)。echo ne \033]0。我們可以用 cd 來取用這個變量。 == 預(yù)設(shè)的分隔符LINES=35 == 目前的終端機下的最大行數(shù)MACHTYPE=i386redhatlinuxgnu == 安裝的機器類型MAILCHECK=60 == 與郵件有關(guān)。我們用的是 i386 兼容機器軟件IFS=$39。HISTSIZE=1000 == 目前環(huán)境下,可記錄的歷史命令最大筆數(shù)。(1)release39。 底下僅列出幾個重要的內(nèi)容。 其它所有的變量說明: set 而除了這些環(huán)境變量之外,還有沒有什么重要的變量呢?當(dāng)然有??! 我們在 bash 的環(huán)境下,其實還有一些挺重要的變量,這些變量是『在這個 shell 環(huán)境下有效』的, 如果是在『子程序』,這些變量值就不會相同了。萬一我想要使用 0~9 之間的數(shù)值呢?呵呵~利用 declare 宣告數(shù)值類型, 然后這樣做就可以了:[rootlinux ~] declare i number=$RANDOM*10/32767 。 我們可以透過這個隨機數(shù)檔案相關(guān)的變量 ($RANDOM) 來隨機取得隨機數(shù)值喔。 這部分我們會在下個小節(jié)做介紹的! SHELL : 告知我們,目前這個環(huán)境使用的 SHELL 是哪支程序? 如果是 bash 的話,預(yù)設(shè)是 /bin/bash 的啦!還記得我們可以使用 cd ~ 去到使用者的家目錄嗎?或者利用 cd 就可以直接回到使用者家目錄了。 那么上面這些變量有些什么功用呢?底下我們就一個一個來分析分析! 可以設(shè)定特殊按鍵!PWD=/root == 目前使用者所在的工作目錄 (利用 pwd 取出!)LANG= == 這個與語系有關(guān),底下會再介紹!HOME=/root == 這個使用者的家目錄??!_=/bin/env == 上一次使用的指令的最后一個參數(shù)(或指令本身)env 是 environment (環(huán)境) 的簡寫啊~ 上面的例子當(dāng)中,是列出來所有的環(huán)境變量。35:*.tif=00。35:*.xpm=00。35:*.bmp=00。31:*.jpg=00。31:*.rpm=00。31:*.bz=00。31:*.gz=00。31:*.z=00。31:*.lzh=00。31:*.arj=00。32:*.tar=00。32:*.sh=00。32:*.btm=00。32:*.exe=00。41:ex=00。05。37。01:or=01。01:cd=40。35:bd=40。36:pi=40。[rootlinux ~] envHOSTNAME= == 這部主機的主機名稱SHELL=/bin/bash == 目前這個環(huán)境下,使用的 Shell 是哪一個程序?TERM=xterm == 這個終端機使用的環(huán)境是什么類型HISTSIZE=1000 == 這個就是『記錄指令的筆數(shù)』在 FC4 預(yù)設(shè)可記錄 1000 筆USER=root == 使用者的名稱??!LS_COLORS=no=00:fi=00:di=00。 除此之外,『我為何需要設(shè)定變量』呢? 要跟大家介紹這個『變量』,當(dāng)然是因為他有相當(dāng)程度的意義存在的啊! 底下就跟大家介紹一下,鳥哥設(shè)定變量的時機喔! 我的案例一:最簡單的例子就是 『簡化路徑名稱』啰!以鳥哥為例,我的工作在 Unix 系統(tǒng)之下進行一些數(shù)值模式的仿真工作,偏偏由于數(shù)據(jù)量太大, 為了怕日后忘記這個目錄的內(nèi)容與主要的意義,所以我的檔名都取的很長, 偏偏在執(zhí)行模式的過程中,常常會切換目錄!我哩ㄌㄟ,光是打那幾行路徑名稱就快要瘋掉了! 所以我就設(shè)定那幾行目錄名稱成為一個四個字符的變量,如此一來我只要輸入『 cd $VARI 』這個指令,嘿嘿!馬上就移動到該路徑下了!很方便吧!當(dāng)然變量的意
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1