bash shell

1. Bash shell
1.1 什麼是 shell ?
1.2 系統的 shell 與 /etc/shells 功能
1.3 Bash shell 的功能
1.4 Bash shell 的內建命令: type
1.5 指令的下達
2. Shell 的變量功能
2.1 變量的取用與設定:echo, 變量設定規則, unset
2.2 變數的用途?
2.3 環境變量的功能: env, 一些重要的環境變量, set, export
2.4 語系檔案的變量 (locale)
2.5 變量的有效範圍:
2.6 變量鍵盤讀取、數組與宣告: read, declare, array
2.7 與檔案系統及程序的限制關係: ulimit
2.8 其它額外變量功能
3. 命令別名與歷史命令:
3.1 命令別名設定: alias, unalias
3.2 歷史命令: history, HISTSIZE
4. Bash shell 使用環境:
4.1 絕對路徑與相對路徑
4.2 登陸訊息顯示數據: /etc/issue, /etc/motd
4.3 環境設定檔: bashrc, ~/.bashrc, ~/.profile, profile...,/etc/inputrc, source
4.4 終端機的環境設定: stty, set
4.5 萬用字符與特殊符號:
5. 數據流重導向 (redirecte)
5.1 何謂數據流重導向?
5.2 命令執行的判斷依據: ; , &&, ||
6. 管線命令 (pipe):
6.1 擷取命令: cut, grep
6.2 排序命令: sort, wc, uniq
6.3 雙向重導向: tee
6.4 字符轉換命令: tr, col, join, paste, expand
6.5 分割命令: split
6.6 參數代換: xargs
6.7 關於減號 - 的用途shell

習題:數組

在 Linux 上能夠找到哪些 shell(舉出三個) ?那個檔案記錄可用的 shell ?而 Linux 預設的
shell 是?
1) /bin/bash, /bin/tcsh, /bin/csh
2) /etc/shells
3) bash ,亦便是 /bin/bash。
• 在 shell 環境下,有個提示字符 (prompt),他能夠修改嗎?要改什麼?預設的提示字符內容是?
能夠修改的,改 PS1 這個變量,這個 PS1 變量的預設內容爲:『[\u@\h \W]\$』
• 如何顯示 HOME 這個環境變量?
echo $HOME
• 如何得知目前的全部變量與環境變量的設定值?
環境變量用 env 而全部變量用 set 便可顯示
• 我是否能夠設定一個變量名稱爲 3myhome ?
不行!變量不能以數字作爲開頭,參考變量設定規則的內容
• 在這樣的練習中『A=B』且『B=C』,若我下達『unset $A』,則取消的變數是 A 仍是 B?
被取消的是 B 喔,由於 unset $A 至關於 unset B 因此取消的是 B ,A 會繼續存在!
• 如何取消變量與命令別名的內容?
使用 unset 及 unalias 便可
• 如何設定一個變量名稱爲 name 內容爲 It's my name ?
name=It\'s\ my\ name 或 name="It's my name"
• 環境變量檔案的加載順序?
先由 /etc/passwd 取得 bash 這個 shell ,再到 /etc/profile 讀取主要的環境變量,同時亦
會將 /etc/inputrc 及 /etc/profile.d 內容均讀入。以後,再到我的的家目錄讀取
~/.bash_profile 及 ~/.bashrc 等檔案!
• man page 的路徑設定檔案?
/etc/man.config 或 /etc/man.conf
• 試說明 ', ", 與 ` 這些符號在變量定義中的用途?
參考變量規則那一章節,其中, " 能夠具備變量的內容屬性, ' 則僅有通常字符,至於 ` 以內
則是可先被執行的指令。
• 跳脫符號 \ 有什麼用途?
能夠用來跳脫特殊字符,例如 Enter, $ 等等,使成爲通常字符!
• 連續命令中, ;, &&, || 有何不一樣?
分號可讓兩個 command 連續運做,不考慮 command1 的輸出狀態, && 則前一個指令必須要沒
有錯誤訊息,亦即回傳值需爲 0 則 command2 纔會被執行, || 則與 && 相反!
• 如何將 last 的結果中,獨立出帳號,而且印出本月份曾經登入過的帳號?
last | cut –d 「 「 –f1 | sort | uniq
• 請問 foo1 && foo2 | foo3 > foo4 ,這個指令串當中, foo1/foo2/foo3/foo4 是指令仍是檔案?
整串指令的意義爲?
foo1/foo2 與 foo3 都是指令, foo4 是裝置或檔案。整串指令意義爲:
1. 當 foo1 執行結果有錯誤時,則該指令串結束;
2. 若 foo1 執行結果沒有錯誤時,則執行 foo2 | foo3 > foo4 ;
1. foo2 將 stdout 輸出的結果傳給 foo3 處理;
2. foo3 未來自 foo2 的 stdout 當成 stdin ,處理完後將數據流從新導向 foo4
這個裝置/檔案
• 如何秀出在 /bin 底下任何以 a 爲開頭的檔案文件名的詳細資料?
ls -l /bin/a*
• 如何秀出 /bin 底下,文件名爲四個字符的檔案?
ls -l /bin/????
• 如何秀出 /bin 底下,檔名開頭不是 a-d 的檔案?
ls -l /bin/[!a-d]*
• 當我離開 bash 後,但願系統能夠幫我將最近工做的:1.)工做日期; 2.)100 個歷史命令獨立 記
錄到 ~/.bash_localcom 檔案中,該如何設定?
我能夠編輯 ~/.bash_logout ,將這個檔案內容變成:
# ~/.bash_logout
date >> ~/.bash_localcom
history 100 >> ~/.bash_localcom
clear
• 我想要讓終端機接口的登入提示字符修改爲我本身喜愛的模樣,應該要改哪裏?(filename)
/etc/issue
• 承上題,若是我是想要讓使用者登入後,才顯示歡迎訊息,又應該要改哪裏?
/etc/motdbash

相關文章
相關標籤/搜索