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

正文內(nèi)容

linux操作說明shell_詳解(已修改)

2025-04-26 05:54 本頁面
 

【正文】 鳥哥的 Linux 私房菜    認(rèn)識(shí) BASH Shell 最近更新日期:2007/07/15 文字模式 (mand line) 這種指令下達(dá)的方式,在 Linux 里面,其實(shí)就相當(dāng)于是 bash 的工具與接口! 因?yàn)?Linux 就是以 bash 為預(yù)設(shè)的 shell 的!那么前幾章我們都已經(jīng)很快樂的進(jìn)行了很多的指令下達(dá)啰~ 所以說, bash shell 根本就不難吧~是啦!只要能夠熟悉的話,那么確實(shí)他也不是這么不可親近的一項(xiàng)工具啊~ 這個(gè)章節(jié)中,鳥哥會(huì)由變量談起,先講到環(huán)境變量的功能與修改的問題, 然后會(huì)繼續(xù)提到歷史指令的運(yùn)用。接下來,就會(huì)談一下『數(shù)據(jù)流重導(dǎo)向』這個(gè)重要概念, 最后就是管線命令的利用啦!好好清一清腦門,準(zhǔn)備用功去啰~ ^_^ 這個(gè)章節(jié)幾乎是所有 mand line 與未來主機(jī)維護(hù)與管理的重要基礎(chǔ),一定要好好仔細(xì)的閱讀喔! 1. Bash shell   什么是 shell ?   系統(tǒng)的 shell 與 /etc/shells 功能   Bash shell 的功能   Bash shell 的內(nèi)建命令: type   指令的下達(dá)2. Shell 的變量功能   變量的取用與設(shè)定:echo, 變量設(shè)定規(guī)則, unset   變數(shù)的用途?   環(huán)境變量的功能: env, 一些重要的環(huán)境變量, set, export   語系檔案的變量 (locale)   變量的有效范圍:   變量鍵盤讀取、數(shù)組與宣告: read, declare, array   與檔案系統(tǒng)及程序的限制關(guān)系: ulimit   其它額外變量功能3. 命令別名與歷史命令:   命令別名設(shè)定: alias, unalias   歷史命令: history, HISTSIZE4. Bash shell 使用環(huán)境:   絕對(duì)路徑與相對(duì)路徑   登錄訊息顯示數(shù)據(jù): /etc/issue, /etc/motd   環(huán)境設(shè)定檔: bashrc, ~/.bashrc, ~/.profile, profile...,/etc/inputrc, source   終端機(jī)的環(huán)境設(shè)定: stty, set   萬用字符與特殊符號(hào):5. 數(shù)據(jù)流重導(dǎo)向 (redirecte)   何謂數(shù)據(jù)流重導(dǎo)向?   命令執(zhí)行的判斷依據(jù): 。 , amp。amp。, ||6. 管線命令 (pipe):   擷取命令: cut, grep   排序命令: sort, wc, uniq   雙向重導(dǎo)向: tee   字符轉(zhuǎn)換命令: tr, col, join, paste, expand   分割命令: split   參數(shù)代換: xargs   關(guān)于減號(hào) 的用途7. 本章習(xí)題練習(xí)Bash shell我們?cè)谇懊娴?什么是 Linux 那個(gè)章節(jié)當(dāng)中,提到了, 管理整個(gè)硬件的其實(shí)是核心 (kernel),那我們一般使用者 (user) 則是以 shell 來跟核心溝通~ 讓核心達(dá)到我們所想要達(dá)到的工作目的。那么系統(tǒng)有多少 shell 可用呢? 為什么我們要使用 bash ???!底下分別來談一談喔!什么是 Shell?這應(yīng)該是個(gè)蠻有趣的話題:『什么是 Shell ?』相信只要摸過計(jì)算機(jī),對(duì)于操作系統(tǒng) ( 不論是 Linux 、 Unix 或者是 Windows ) 有點(diǎn)概念的朋友們大多聽過這個(gè)名詞,因?yàn)橹灰小翰僮飨到y(tǒng)』那么就離不開 Shell 這個(gè)東西。不過,在討論 Shell 之前,我們先來了解一下計(jì)算機(jī)的運(yùn)作狀況吧! 舉個(gè)例子來說:當(dāng)你要計(jì)算機(jī)傳輸出來『音樂』的時(shí)候,你的計(jì)算機(jī)需要什么東西呢? 1. 當(dāng)然就是需要你的硬件有『聲卡芯片』這個(gè)硬件配備,否則怎么會(huì)有聲音; 2. 操作系統(tǒng)的核心可以支持這個(gè)芯片組,當(dāng)然還需要提供芯片的驅(qū)動(dòng)程序啰; 3. 需要使用者(就是你)輸入發(fā)生聲音的指令啰! 這就是基本的一個(gè)輸出聲音的需要的步驟!那么也就是說,你必須要『輸入』一個(gè)指令之后, 『硬件』才會(huì)透過你下達(dá)的指令來工作!嘿嘿!那么硬件如何知道你下達(dá)的指令呢?那就是 kernel (核心)的控制工作了!了解了嗎?沒錯(cuò)!也就是說,我們必須要透過『 Shell 』將我們輸入的指令與 Kernel 溝通,好讓 Kernel 可以控制硬件來正確無誤的工作! 基本上,我們可以透過底下這兩張圖來說明一下:圖一、硬件、核心與使用者的相關(guān)性圖示圖二、硬件、核心與使用者的相關(guān)性圖示基本上,替我們工作的是『硬件』,而控制硬件的是『核心』,再來,我們使用者乃是利用『Shell』控制一些 kernel 提供的 『工具 (Utility)』來操控硬件替我們正確的工作。再進(jìn)一步來說,由于 kernel 聽不懂人類的語言,而人類也沒有辦法直接記得 kernel 的語言,所以兩者的溝通就得藉由 shell 來支持了!(其實(shí)早期的 DOS 的文字接口也是使用 shell 來溝通呀!那個(gè) shell 的名稱就叫做 ,還記得嗎? ^_^)以字面上的意思來說, kernel 是『核心』的意思,而 Shell 是『殼』的意思,呵呵!也就是說, shell 是最外頭的咚咚!而 kernel 乃是最內(nèi)層的的咚咚啦!核心是操作系統(tǒng)的最底層的東西! 這個(gè)核心里頭包括了各種的支持硬件的工具!當(dāng)然啰,如果你的硬件太新,而你的 kernel 并沒有支持的話,那么很抱歉,你的 Shell 能力再怎么強(qiáng),也沒有辦法使硬件工作的! 這樣可以了解了嗎?呵呵!沒錯(cuò)!使計(jì)算機(jī)主機(jī)工作的正是核心的任務(wù),但是操作核心來替使用者工作的,卻是 shell 喔!因此,有時(shí)候你的 shell 搞了老半天,硬件卻不能工作的時(shí)候,請(qǐng)注意, 您的『核心』是否正確呢?阿!扯遠(yuǎn)了!這是 kernel 章節(jié)才要說的東西。 我干嘛要學(xué)習(xí)文字模式的 Shell 呢? 我們常常提到的 shell 其實(shí)是比較狹隘的定義,一般來說,在 Linux 里頭,所謂的 shell 就是指 BASH 這個(gè)文字模式的 shell 啰。但是,廣義的 shell 也可以是 KDE 之類的圖形接口控制軟件呢! 因?yàn)樗部梢詭臀覀兣c kernel 進(jìn)行溝通??!不過,在鳥哥的 Linux 私房菜里面, 如果沒有特別說明的話,那么我們的 shell 指的是比較狹義的,也就是文字模式的 shell 喔!另外,鳥哥常常聽到這個(gè)問題:『我干嘛要學(xué)習(xí) shell 呢? 不是已經(jīng)有很多的工具可以提供我設(shè)定我的主機(jī)了?我為何要花這么多時(shí)間去學(xué)指令呢?不是以 X Window 按一按幾個(gè)按鈕就可以搞定了嗎?為什么要這么麻煩?』唉~還是得一再地強(qiáng)調(diào), X Window 還有 Web 接口的設(shè)定工具例如 webmin 是真的好用的家伙, 他真的可以幫助我們很簡(jiǎn)易的設(shè)定好我們的主機(jī),甚至是一些很進(jìn)階的設(shè)定都可以幫我們搞定。但是鳥哥在序章里面也已經(jīng)提到過相當(dāng)多次了, X Window 的接口雖然親善,功能雖然強(qiáng)大,而 web 接口的工具也可以提供我們很友善的服務(wù),但是畢竟他是將所有利用到的套件都整合在一起的一個(gè)套件而已, 并非是一個(gè)完整的套件,所以某些時(shí)候當(dāng)你升級(jí)或者是使用其它套件管理模塊( 例如 tarball 而非 rpm 檔案等等 )時(shí),就會(huì)造成設(shè)定的困擾了。此外,遠(yuǎn)程聯(lián)機(jī)時(shí),文字接口的傳輸速度一定比較快, 而且,較不容易出現(xiàn)斷線或者是信息外流的問題,因此, shell 真的是得學(xué)習(xí)的一項(xiàng)工具。而且,他可以讓您更深入 Linux ,更了解他, 而不是只會(huì)按一按鼠標(biāo)而已!所謂『天助自助者!』多摸一點(diǎn)文字模式的東西,會(huì)讓你與 Linux 更親近呢!有些朋友也很可愛,常會(huì)說:『我學(xué)這么多干什么? 又不常用,也用不到!』嘿嘿!有沒有聽過『書到用時(shí)方恨少?』 當(dāng)你的主機(jī)一切安然無恙的時(shí)候,您當(dāng)然會(huì)覺得好像學(xué)這么多的東西一點(diǎn)幫助也沒有呀! 萬一,某一天真的不幸給他中標(biāo)了,您該如何是好?是直接重新安裝? 還是先追蹤入侵來源后進(jìn)行漏洞的修補(bǔ)?或者是干脆就關(guān)站好了?這當(dāng)然涉及很多的考慮, 但就以鳥哥的觀點(diǎn)來看,多學(xué)一點(diǎn)總是好的,尤其我們可以有備而無患嘛!甚至學(xué)的不精也沒有關(guān)系,了解概念也就 OK 啦!畢竟沒有人要您一定要背這么多的內(nèi)容啦!了解概念就很了不起了!此外,如果您真的有心想要將您的主機(jī)管理的好,那么良好的 shell 程序編寫是一定需要的啦!就鳥哥自己來說,我管理的主機(jī)雖然還不算多, 只有區(qū)區(qū)不到十部,但是如果每部主機(jī)都要花上幾十分鐘來查閱他的 log file 以及相關(guān)的信息,那么我可能會(huì)瘋掉!基本上,也太沒有效率了!這個(gè)時(shí)候,如果能夠藉由 shell 提供的命令重導(dǎo)向( 或稱數(shù)據(jù)流重導(dǎo)向 ),以及管線命令,呵呵!那么我分析 log file 只要花費(fèi)不到十分鐘就可以看完所有的主機(jī)之重要信息了!相當(dāng)?shù)暮糜媚?!由于學(xué)習(xí) shell 的好處真的是多多啦!所以,如果您是個(gè)系統(tǒng)管理員,或者有心想要管理系統(tǒng)的話,那么 shell 這個(gè)東西與 shell scripts 這個(gè)東西,真的真的有必要看一看! 系統(tǒng)的 shell 與 /etc/shells 功能知道什么是 Shell 之后,那么我們來了解一下 Linux 使用的是哪一個(gè) shell 呢?什么!哪一個(gè)?難道說 shell 不就是『一個(gè) shell 嗎?』哈哈!那可不!由于早年的 Unix 年代,發(fā)展者眾,所以由于 shell 依據(jù)發(fā)展者的不同就有許多的版本,例如常聽到的 Bourne SHell (sh) 、在 Sun 里頭預(yù)設(shè)的 C SHell、 商業(yè)上常用的 K SHell、, 還有 TCSH 等等,每一種 Shell 都各有其特點(diǎn)。至于 Linux 使用的這一種版本就稱為『 Bourne Again SHell (簡(jiǎn)稱 bash) 』,這個(gè) Shell 是 Bourne Shell 的增強(qiáng)版本,也是基準(zhǔn)于 GNU 的架構(gòu)下發(fā)展出來的呦!在介紹 shell 的優(yōu)點(diǎn)之前,先來說一說 shell 的簡(jiǎn)單歷史吧:第一個(gè)流行的 shell 是由 Steven Bourne 發(fā)展出來的,為了紀(jì)念他所以就稱為 Bourne shell ,或直接簡(jiǎn)稱為 sh !而后來另一個(gè)廣為流傳的 shell 是由柏克萊大學(xué)的 Bill Joy 設(shè)計(jì)依附于 BSD 版的 Unix 系統(tǒng)中的 shell ,這個(gè) shell 的語法有點(diǎn)類似 C 語言,所以才得名為 C shell ,簡(jiǎn)稱為 csh !由于在學(xué)術(shù)界 Sun 主機(jī)勢(shì)力相當(dāng)?shù)凝嫶?,?Sun 主要是 BSD 的分支之一,所以 C shell 也是另一個(gè)很重要而且流傳很廣的 shell 之一 ( 因?yàn)樘嗟某绦蛟O(shè)計(jì)師使用的就是 C 語言啦! )!(還記得我們?cè)?Linux 是什么那一章提到的吧? Sun 公司的創(chuàng)始人就是 Bill Joy,而 BSD 最早就是 Bill Joy 發(fā)展出來的?。?。那么目前我們的 Linux (以 FC4 為例) 有多少我們可以使用的 shells 呢? 你可以檢查一下 /etc/shells 這個(gè)檔案,至少就有底下這幾個(gè)可以用的 shells: /bin/sh (已經(jīng)被 /bin/bash 所取代) /bin/bash (就是 Linux 預(yù)設(shè)的 shell) /bin/ksh (Kornshell 由 ATamp。T Bell lab. 發(fā)展出來的,兼容于 bash) /bin/tcsh (整合 C Shell ,提供更多的功能) /bin/csh (已經(jīng)被 /bin/tcsh 所取代) /bin/zsh (基于 ksh 發(fā)展出來的,功能更強(qiáng)大的 shell)由上面的說明中,我們大概可以發(fā)現(xiàn),其實(shí)各主要 shell 的功能都差不多, 有的只是語法上面的不同而已。目前一般的使用者使用習(xí)慣上,似乎是以 bash 及 csh 為主要的兩個(gè) shell 。OK!這么多的 shell 我要使用哪一個(gè)???呵呵!使用 Linux 支持最廣泛的 bash 就好了! 不要想太多!另外,咦!為什么我們系統(tǒng)上的 shell 要寫入 /etc/shells 這個(gè)檔案啊? 這是因?yàn)橄到y(tǒng)某些服務(wù)在運(yùn)行過程中, 會(huì)去檢查使用者能夠使用的 shells ,而這些 shell 的查詢就是藉由 /etc/shells 這個(gè)檔案啰!舉例來說,某些 FTP 網(wǎng)站會(huì)去檢查使用者的可用 shell ,而如果你不想要讓這些使用者使用 FTP 以外的主機(jī)資源時(shí),可能會(huì)給予該使用者一些怪怪的 shell,讓使用者無法以其它服務(wù)登入主機(jī)。 這個(gè)時(shí)候,你就得將那些怪怪的 shell 寫到 /etc/shells 當(dāng)中了。舉例來說,我們的 FC4 的 /etc/shells 里頭就有個(gè) /sbin/nologin 檔案的存在,這個(gè)就是我們說的怪怪的 shell 啰~那么,再想一想,我這個(gè)使用者什么時(shí)候可以取得 shell 來工作呢?還有, 我這個(gè)使用者預(yù)設(shè)會(huì)取得哪一個(gè) shell ???!還記得我們?cè)?首次進(jìn)入 Linux 以文字方式登入 那個(gè)章節(jié)當(dāng)中提到的登入動(dòng)作吧?當(dāng)我登入的時(shí)候,系統(tǒng)就會(huì)給我一個(gè) shell 讓我來工作了。 而這個(gè)登入取得的 shell 就記錄在 /etc/passwd 這個(gè)檔案內(nèi)!這個(gè)檔案的內(nèi)容是啥?[root@linux ~] cat /etc/passwdroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologin.....(中間省略).....如上所示,在每一行的最后一個(gè)數(shù)據(jù),就是您登入后,可以取得的預(yù)設(shè)的 shell 啦! 那你也會(huì)看到, root 是 /bin/bash ,不過,系統(tǒng)賬號(hào) bin 與 daemon 等等,就使用那個(gè)怪怪的 /sbin/nologin 啰~關(guān)于使用者這部分的內(nèi)容,我們留在 賬號(hào)管理 時(shí)提供更多的說明。
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1