1. 程式人生 > >第十章習題答案

第十章習題答案

linux

第十章練習題答案?
1. 設置環境變量 histsize , 使其能夠保存10000條命令歷史。?
vim /etc/profile?
把 histsize=1000 改為 histsize=10000?

2. 為什麽如果這樣設置ps1 (ps1="[u@h w]$ ") 顯示的結果和我們預想的不一樣,那要如何設置才能恢復原來默認的?
應該是 ps1=‘[u@h w]$ ‘?

3. 想辦法把當前目錄下的文件的文件名中的小寫字母全部替換為大寫字母。?
for f in `ls`; do if echo $f |grep -q ‘[a-z]‘; then mv $f `echo $f|tr ‘[a-z]‘ ‘[a-z]‘`;fi; done?


4. 使用sort以":"為分隔符,對/etc/passwd文件的第5段排序。?
sort -t: -k5 /etc/passwd?

5. 使用cut以":"為分隔符,截出/etc/passwd的第三段字符。?
cut -d: -f3 /etc/passwd?

6. 簡述這幾個文件的作用: /etc/profile, /etc/bashrc, .bashrc, .bash_profile.?
/etc/profile : 設置系統全局環境變量和啟動程序,當用戶登錄linux時,該文件被執行,並從/etc/profile.d目錄的配置文件中搜集shell的設置。預設的系統全局變量包括path、user、logname、mail、inputrc、hostname、histsize、umask等。?

/etc/bashrc : 為每一個運行bash shell的用戶執行此文件。當bash shell被打開時,該文件被讀取。默認情況下,這個文件主要預設umask以及ps1等。?
.bash_profile : 定義用戶專有的環境變量和啟動程序。當用戶登錄時,該文件僅僅執行一次。 默認情況下,它設置了一些環境變量,執行用戶的.bashrc文件。?
.bashrc :該文件包含專用於用戶的shell的bash信息,當用戶登錄時以及每次打開新的shell時,該該文件被讀取。可以將用戶自定義的alias和變量寫到這個文件中。?

7. export 的作用是什麽?
export 用來聲明變量,可以使聲明的變量在子shell中生效?


8. linux下自定義變量要符合什麽樣的規則呢?
(1) 設定變量的格式為“a=b”, 其中a為變量名,b為變量的內容,等號兩邊不能有空格;?
(2)變量名只能由英、數字以及下劃線組成,而且不能以數字開頭;?
(3)當變量內容帶有特殊字符(如空格)時,需要加上單引號,變量內容中本身帶有單引號的情況則使用雙引號;
(4)如果變量內容中需要用到其他命令運行結果則可以使用反引號;?
(5)變量內容可以累加其他變量的內容,需要加雙引號。?

9. 如何把要運行的命令丟到後臺跑又如何把後臺跑的進程給調到前臺?
要將運行的命令丟到後臺,可以先按ctrl+z讓其暫停,然後使用bg命令將其丟到後臺運行;或者執行命令時添加&後臺標識,格式為“命令+空格+&”。?
將後臺運行的進程調到前臺,可以輸入fg快捷鍵。?

10. 列出當前目錄下以"test"開頭的文件和目錄。?
ls -d test*?

11. 如何把一個命令的輸出內容不僅打印到屏幕上而且還可以重定向到一個文件內?
使用tee命令,如 cat /etc/passwd |tee 2.txt?

12. 假如有個命令很長,我們如何使用一個簡單的字符串代替這個復雜的命令呢請舉例說明。?
使用alias 如 alias abc="/usr/local/apache/bin/apachectl -t"?

13. 我如何實現這樣的功能,把一條命令丟到後臺運行,而且把其正確輸出和錯誤輸出同時重定向到一個文件內?
vmstat 1 > /tmp/1.log 2>&1 &?

14. 如何按照大小(假如按照10m)分隔一個大文件,又如何按照行數(假如10000行)分隔?
split -b 10m bigfile?
split -l 10000 bigfile?

15. 做實驗,搞明白 ; && || 這三個符號的含義。?
; 只是用來分割多個命令,各條命令相互獨立運行,沒有任何關聯性。?
&& 只有前面的命令成功執行後,後面的命令才會執行。如果前面的命令執行失敗,則忽略後面的命令。?
|| 多條命令中只要一條命令執行成功,則忽略後面的命令,否則運行後面的命令。?

16. 如果只想讓某個用戶使用某個變量如何做?
vim /home/username/.bashrc 增加一行 export abc=123?
然後再 source /home/username/.bashrc?

17. 使用哪個命令會把系統當中所有的變量以及當前用戶定義的自定義變量列出來?
set?

第十章習題答案