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

正文內(nèi)容

linux操作說明shell_詳解-文庫吧

2025-03-30 05:54 本頁面


【正文】 Bash shell 的功能既然 /bin/bash 是 Linux 預(yù)設(shè)的 shell ,那么總是得了解一下這個玩意兒吧! BASH 是怎么一回事呢?這個 shell 是 GNU 計劃中重要的工具軟件之一,目前也是 GNU 操作系統(tǒng)中標(biāo)準(zhǔn)的 shell ,他主要兼容于 sh ,并且依據(jù)一些使用者需求,而加強的 shell 版本,可以說目前幾乎所有的 Linux distribution 都是使用 bash 作為管理核心的主要 shell !因此,不論您使用的是那個 distribution ,你都難逃需要學(xué)習(xí) bash 的宿命啦!那么這個 shell 有什么好處,干嘛 Linux 要使用他作為預(yù)設(shè)的 shell 呢? BASH 主要的優(yōu)點有底下幾個: 命令編修能力(類似 DOS 的 doskey 功能): 使用 bash 里頭,個人認(rèn)為相當(dāng)棒的一個功能就是『他能記憶使用過的指令!』 這功能真的相當(dāng)?shù)陌?!因為我只要在指令列按『上下鍵』就可以找到前一個輸入的指令!而在很多 distribution 里頭,預(yù)設(shè)的指令記憶功能可以到達(dá) 1000 個!也就是說, 你曾經(jīng)下達(dá)過的指令都被記錄下來了,記錄的檔案在你的家目錄內(nèi)的 .bash_history !不過,需要留意的是, ~/.bash_history 記錄的是前一次登入以前所執(zhí)行過的指令, 而至于這一次登入所執(zhí)行的指令都被暫存在暫內(nèi)存中,當(dāng)您成功的注銷系統(tǒng)后,該指令記憶才會記錄到 .bash_history 當(dāng)中!這有什么功能呢?最大的好處就是可以『查詢曾經(jīng)做過的舉動!』, 如此可以知道你的執(zhí)行步驟,那么就可以追蹤您曾下達(dá)的指令,以作為除錯的工具! 但如此一來也有個煩惱,就是如果被黑客入侵了,那么他只要翻你曾經(jīng)執(zhí)行過的指令, 剛好你的指令又跟系統(tǒng)有關(guān)(例如直接輸入 MySQL 的密碼在指令列上面)那么很容易就被破解你的 Linux 主機!所以,最好是將記錄的指令數(shù)目減小一點較好! 命令與檔案補全功能: 還記得我們在 首次進(jìn)入 Linux 的熱門按鍵 一節(jié)當(dāng)中提到的 [tab] 這個按鍵嗎?!這個按鍵的功能就是在 bash 里頭才有的啦!常常在 bash 環(huán)境中使用 [tab] 是個很棒的習(xí)慣喔!因為至少可以讓你 1)少打很多字; 2)確定輸入的數(shù)據(jù)是正確的! 使用 [tab] 按鍵的時機依據(jù) [tab] 接在指令后或參數(shù)后而有所不同。我們再復(fù)習(xí)一次: [Tab] 接在一串指令的第一個字的后面,則為命令補全; [Tab] 接在一串指令的第二個字以后時,則為『檔案補齊』!所以說,如果我想要知道我的環(huán)境中,所有可以執(zhí)行的指令有幾個? 就直接在 bash 的提示字符后面輸入兩個 [tab][tab] 就能夠輸出所有的可執(zhí)行指令了。 那如果想要知道系統(tǒng)當(dāng)中所有以 c 為開頭的指令呢?就按下 c[tab][tab] 就好啦! ^_^是的!真的是很方便的功能,所以,有事沒事,在 bash shell 底下,多按幾次 [tab] 是一個不錯的習(xí)慣啦! 命令別名(alias)設(shè)定功能: 假如我需要知道這個目錄底下的所有檔案(包含隱藏檔)及所有的檔案屬性,那么我就必須要下達(dá) ls al 這樣的指令列,唉!真麻煩,有沒有更快的取代方式?呵呵!就使用命令別名呀!例如我最喜歡直接以 lm 這個自訂的命令來取代上面的命令,也就是說, lm 會等于 ls al 這樣的一個功能,嘿!那么要如何作呢?就使用 alias 即可!你可以在指令列輸入 alias 就可以知道目前的命令別名有哪些了!也可以直接下達(dá)命令來設(shè)定別名呦: alias lm=39。ls al39。 工作控制(jobs)、前景背景控制: 這部分我們在之后的資源管理章節(jié)中會再提及! 使用前、背景的控制可以讓工作進(jìn)行的更為順利!至于工作控制(jobs)的用途則更廣, 可以讓我們隨時將工作丟到背景中執(zhí)行!而不怕不小心使用了 [Ctrl] + c 來停掉該程序!真是好樣的!此外,也可以在單一登入的環(huán)境中,達(dá)到多任務(wù)的目的呢! Shell scripts 的強大功能: 在 DOS 年代還記得將一堆指令寫在一起的所謂的『批次檔』吧?在 Linux 底下的 shell scripts 則發(fā)揮的更為強大的功能,可以將您日常生活當(dāng)中常需要下達(dá)的連續(xù)指令寫成一個檔案, 該檔案并且可以透過對談交互式的方式來進(jìn)行主機的偵測工作!也可以藉由 shell 提供的環(huán)境變量及相關(guān)指令來進(jìn)行設(shè)計,哇!整個設(shè)計下來幾乎就是一個小型的程序語言了!該 scripts 的功能真的是超乎我的想象之外!以前在 DOS 底下需要程序語言才能寫的東西,在 Linux 底下使用簡單的 shell scripts 就可以幫你達(dá)成了!真的厲害??!這部分我們在后續(xù)章節(jié)再來談! 萬用字符! 除了完整的字符串之外, bash 還支持許多的萬用字符來幫助使用者查詢與指令下達(dá)。 舉例來說,想要知道 /usr/X11R6/bin 底下有多少以 xt 為開頭的檔案嗎?使用: ls l /usr/X11R6/bin/xt* 就能夠知道啰~此外,還有其它可供利用的萬用字符, 這些都能夠加快使用者的操作呢! Bash shell 的內(nèi)建命令: type我們在首次進(jìn)入 Linux 章節(jié)當(dāng)中,提到關(guān)于 Linux 的在線說明文件 部分,也就是 man page 的內(nèi)容,那么 bash 有沒有什么說明文件?。块_玩笑~ 這么棒的東西怎么可能沒有說明文件!請您在 shell 的環(huán)境下,直接輸入 man bash 瞧一瞧, 嘿嘿!不是蓋的吧!讓您看個幾天幾夜也無法看完的 bash 說明文件,可是很詳盡的數(shù)據(jù)??! ^_^不過,在這個 man bash 所出現(xiàn)的 man page 當(dāng)中,不知道您是否有察覺到,咦! 怎么這個說明文件里面有其它的檔案說明???舉例來說,那個 cd 指令的說明就在這個 man page 內(nèi)? 然后我直接輸入 man cd 時,怎么出現(xiàn)的畫面中,最上方竟然出現(xiàn)一堆指令的介紹??這是怎么回事? 為了方便 shell 的操作,其實 bash 已經(jīng)『內(nèi)建』了很多指令了,例如上面提到的 cd , 還有例如 umask 等等的指令,都是內(nèi)建在 bash 當(dāng)中的呢!那我怎么知道這個指令是來自于外部指令(指的是其它非 bash 套件所提供的指令) 或是內(nèi)建在 bash 當(dāng)中的呢? 嘿嘿!利用 type 這個指令來觀察即可!舉例來說:[root@linux ~] type [tpa] name參數(shù): :不加任何參數(shù)時,則 type 會顯示出那個 name 是外部指令還是 bash 內(nèi)建的指令!t :當(dāng)加入 t 參數(shù)時,type 會將 name 以底下這些字眼顯示出他的意義: file :表示為外部指令; alias :表示該指令為命令別名所設(shè)定的名稱; builtin :表示該指令為 bash 內(nèi)建的指令功能;p :如果后面接的 name 為指令時,會顯示完整文件名(外部指令)或顯示為內(nèi)建指令;a :會將由 PATH 變量定義的路徑中,將所有含有 name 的指令都列出來,包含 alias范例:范例一:查詢一下 ls 這個指令是否為 bash 內(nèi)建?[root@linux ~] type lsls is aliased to `ls color=tty39。 沒有加上任何參數(shù),僅列出 ls 這個指令的最主要使用情況[root@linux ~] type t lsalias t 參數(shù)則僅列出 ls 這個指令的最主要使用情況說明[root@linux ~] type a lsls is aliased to `ls color=tty39。ls is /bin/ls 利用所有方法找出來的 ls 相關(guān)信息都會被列出來!范例二:那么 cd 呢?[root@linux ~] type cdcd is a shell builtin透過 type 這個指令的用途,我們可以知道每個指令是否為 bash 的內(nèi)建指令。 此外,由于利用 type 搜尋后面的名稱時,如果后面接的名稱并不能以執(zhí)行檔的狀態(tài)被找到, 那么該名稱是不會被顯示出來的。舉例來說,您的 FC4 應(yīng)該不會有 vbird 這個指令吧?! 輸入 type p vbird 看一下,果然沒有輸出任何數(shù)據(jù)!而如果您輸入的是 type p touch 呢? 則會出現(xiàn) /bin/touch !呵呵!所以,這個 type 也可以用來作為類似 which 指令的用途啦!找指令用的!指令的下達(dá)我們在 首次進(jìn)入 Linux 一節(jié)當(dāng)中,已經(jīng)提到過在 shell 環(huán)境下的指令下達(dá)方式,不過,因為這個部分實在很重要,所以,我們還是再次的提醒一次![root@linux ~] mand [options] parameter1 parameter2 ... 指令 選項 參數(shù)(1) 參數(shù)(2)說明:0. 一行指令中第一個輸入的絕對是『指令(mand)』或『可執(zhí)行檔案』1. mand 為指令的名稱,例如變換路徑的指令為 cd 等等;2. 中刮號[]并不存在于實際的指令中,而加入?yún)?shù)設(shè)定時,通常為 號,例如 h; 有時候完整參數(shù)名稱會輸入 符號,例如 help;3. parameter1 parameter2.. 為依附在 option 后面的參數(shù), 或者是 mand 的參數(shù); 4. mand, options, parameter1.. 這幾個咚咚中間以空格來區(qū)分, 不論空幾格 shell 都視為一格; 5. 按下 [Enter] 按鍵后,該指令就立即執(zhí)行。[Enter] 按鍵為 CR 字符, 他代表著一行指令的開始啟動。6. 指令太長的時候,可以使用 \ 符號來跳脫 [Enter] 符號, 使指令連續(xù)到下一行。注意! \ 后就立刻接特殊字符。7. 在 Linux 系統(tǒng)中,英文大小寫字母是不一樣的。舉例來說, cd 與 CD 并不同。范例:范例一:列出 /root 底下的各文件名稱[root@linux ~] ls al /root[root@linux ~] ls al /root 不論指令與參數(shù)中間空幾格,都是可以接受的!范例二:如果指令太長的話,如何使用兩行來輸出?[root@linux ~] cp /var/spool/mail/root /etc/crontab \ /etc/fstab /root 上面這個指令,就是將三個檔案復(fù)制到 /root 這個目錄下而已。不過,因為指令太長, 于是鳥哥就利用 \[Enter] 來將 [Enter] 這個按鍵『跳脫!』開來,讓 [Enter] 按鍵不再具有上述說明的第 5 點功能!好讓指令繼續(xù)在下一行輸入。 需要特別留意, [Enter] 按鍵是緊接著反斜線 (\) 的,兩者中間沒有其它字符。 因為 \ 僅跳脫『緊接著的下一個字符』而已!所以,萬一我寫成: \ [Enter] ,亦即 [Enter] 與反斜線中間有一個空格時,則 \ 跳脫的是『空格鍵』 而不是 [Enter] 按鍵!這個地方請在仔細(xì)的看一遍!很重要! 如果順利跳脫 [Enter] 后,下一行最前面就會主動出現(xiàn) 的符號, 您可以繼續(xù)輸入指令啰!也就是說,那個 是系統(tǒng)自動出現(xiàn)的,你不需要輸入。總之,當(dāng)我們順利的在終端機 (tty) 上面登入后, Linux 就會依據(jù) /etc/passwd 檔案的設(shè)定給我們一個 shell ,預(yù)設(shè)就是 bash ,然后我們就可以依據(jù)上面的指令下達(dá)方式來操作 shell, 之后,我們就可以透過 man 這個在線查詢來查詢指令的使用方式與參數(shù)說明, 很不錯吧!那么我們就趕緊更進(jìn)一步來操作 bash 這個好玩的東西啰! Shell 的變量功能在繼續(xù)研究 BASH 之前,我們得要先就 變量 這個東西來討論一番。 為什么要討論變數(shù)呢?又,變數(shù)是啥玩意兒???!先來談一談國中數(shù)學(xué)好了,您是否依稀記得, 我們國中時候?qū)W過所謂的『 y = ax + b 』這東西?其中, y 是變量, x 則是這個變量的內(nèi)容?。?講的更簡單一點,我們可以『用一個簡單的 字眼 來取代另一個比較復(fù)雜或者是容易變動的數(shù)據(jù)』。這有什么好處???最大的好處就是『方便!』。如果以 Linux 主機的運作來說明好了,因為在主機里面有太多的數(shù)據(jù)需要進(jìn)行存取了, 而這些數(shù)據(jù)都是一些服務(wù)所必須的,例如某個名為 dmtsai 的賬號,他的 mail 的存取路徑預(yù)設(shè)是在 /var/spool/mail/dmtsai 、家目錄預(yù)設(shè)在 /home/dmtsai 等等。那如果換了另外一個賬號呢? 假設(shè)另一個賬號名稱為 vbird ,你猜他的郵件與家目錄在哪?應(yīng)該是在 /var/spool/mail/vbird 與 /home/vbird 對吧! 那么我們主機的郵件服務(wù)是否要記錄好幾個不同的路徑?。繒粫闊??這當(dāng)然很麻煩啰~ 所以為了簡化整個運作流程,我們就可以透過某個變量功能,讓這個變量可以依據(jù)不同的使用者而變更內(nèi)容, 如此一來,系統(tǒng)的郵件服務(wù)只要依據(jù)那個變量去取得所需要的數(shù)據(jù)即可,就不需要記錄不同的路徑啰。舉例來說,我們每個賬號的郵件信箱預(yù)設(shè)是以 MAIL 這個變量來進(jìn)行存取的, 當(dāng) dmtsai 這個使用者登入時,他便會取得 MAIL 這個變量,而這個變量的內(nèi)容其實就是 /var/spool/mail/dmtsai, 那如果 vbird 登入呢?他取得的 MAIL 這個變量的內(nèi)容其實就是 /var/spool/mail/vbird 。 而我們使用信件讀取指令 mail 來讀取自己的郵件信箱時,嘿嘿,這支程序可以直接讀取 MAIL 這個變量的內(nèi)容, 就能
點擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1