這次閱讀《Linux命令行和shell腳本編程寶典》這本書是第3次閱讀。 總的來說,這本書還是挺不錯的。很適合入門。我也是從這本書開始了解shell編程的。
不過,因為現在對Linux 環境也比較熟悉了,並且也會一些shell編程了,所以,這次看的時候會比較快,有些已經會的東西就沒有寫。只是記錄下那些之前沒有注意到的東西。
Linux命令行和shell腳本編程寶典 PDF 下載 見 http://www.linuxidc.com/Linux/2015-07/120677.htm
第1章 Linux shell入門
Linux 內核
GNU軟件:
Gnome shell
Gnome軟件
Linux發行版
(1)核心發行版
(2)特定發行版
第2章 了解shell
Linux下的虛擬控制台:ctrl+Alt+F1/F2/F3../F8
模擬終端:xterm, gnome terminal
1. 任務管理命令:
&: 最經常被用到,這個用在一個命令的最後,可以把這個命令放到後台執行
ctrl + z:可以將一個正在前台執行的命令放到後台,並且暫停
jobs:查看當前有多少在後台運行的命令
fg:將後台中的命令調至前台繼續運行,如果後台中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
bg:將一個在後台暫停的命令,變成繼續執行,如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
2.文件和目錄操作
(1). 文件列表
ls -l -h -a -s
(2). 創建文件/目錄
touch -a access time
-m modify time
-t time stamp
mkdir -p
(3). 復制文件/目錄
cp -r(遞歸復制文件) -v -p(保留文件屬性)
-R(遞歸復制目錄)
-l(創建硬鏈接文件)
-s(創建軟連接)
(4). 重命名
mv -v
(5). 刪除文件/目錄
rm -r -v -f
rmdir
(6). 查看文件內容
cat -n(編號)
vi,od(二進制),more,less,tail,head
nl(為輸出加上行號)
stat(文件統計數據)
file(文件類型)
3.進程管理
(1). 進程查看
ps -aux
ps -l
ps -efH
top
(2)進程管理
kill
(3) 查看磁盤
mount -o loop
umount
df -h -l
du -c -h -s -a
(4) 數據排序
sort -n(進行數值排序)
-r(逆序)
(5)搜索數據
grep -n(顯示匹配行號)
-v(反轉搜索)
-c(統計匹配數)
-e(指定多個匹配)
4. 環境變量
(1). 創建全局環境變量
export
(2). 移除全局環境變量
unset
(3). 默認的環境變量
HOME,HOSTNAME,PATH,IFS(用於分割字段的字符列表),OPTARG,OPTIND
(4). 登錄shell
當登錄到Linux系統時,bash shell將作為登錄shell啟動.登錄shel將查找4個不同的啟動文件來處理其中的命令.
bash shell中處理文件的順序如下:
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
即先執行/etc/profile,接著檢查用戶的目錄中是否有.bash_profile,.bash_login或.profile其中之一.
當執行新的shell時, 如果是執行交互式的shell,例如直接執行bash,bash會執行/etc/bashrc文件,然後檢查用戶目錄中的.bashrc
如果非交互式(shell script),bash shell會去執行BASH_ENV環境變量的內容.
5.shell中數學計算
(1)count=1;count=$[ $count+1 ]
(2) let i=i+1;(( i=i+1 ))
(3)var=1;var=`expr $var + 1`
第4章 Linux中的權限管理
常用的命令:
useradd用於添加新用戶
userdel刪除用戶,但是只刪除/etc/passwd中的用戶信息,不會刪除賬戶在系統中擁有的任何文件
passwd 修改賬戶密碼
chsh 修改默認shell
groupadd 添加用戶組
chmod 修改權限
chown 修改所有者
chgrp 修改用戶組
第10章 結構化命令
(1) if-else
數值比較:-eq,-ge,-gt,-le,-lt,-ne
字符串比較:=,!=,<,>,-n,-z
文件比較:-e,-d,-f,-r,-w,-x,-s
復合條件檢查:&&,||
(2)case
(3)for,while,until
(4)break,continue