第一章
cd .. 上級目錄
cd / 根目錄
cd 家目錄
wc(統計) -l 顯示列數
-c 只顯示Byte數
-w 只顯示字數
pwd 查看當前目錄
cd 切換工作目錄
ls 列表顯示目錄內容
ls -l 顯示所在目錄下文件 詳細信息
ls -a 顯示所在目錄下所有文件 包括隱藏 以.開頭
ls -d 標記顯示目錄本身屬性
ls -h 人性化顯示大小
mkdir 創建新的目錄
mkdir -p /root/123/123 創建兩個之前沒有的目錄123
du 統計目錄及文件的空間佔用情況
du -a 統計磁盤所有
du -h 人性化顯示大小
du -s 求和
touch 新建空文件
file 查看文件類型
cp 複製文件或目錄
cp 楊俊.txt yangjun.txt 複製前文件到當前文件夾下重命名爲yangjun.txt
cp 楊俊.txt /root 複製前文件到root 路徑下
rm 刪除文件或目錄
rm -f 強制刪除
rm -r 刪除目錄
mv 移動
which 查找命令文件顯示所在位置
find 查找文件或者目錄
find -name 按名稱查找 find -name *.txt 通配符任意查找 ? .txt一個通配符查找
find -size 按大小查找 find -size 10MB find -size +10MB 查找大於10MB的文件
ls 爲目標文件建立連接 (軟連接類似快捷方式 硬連接類似複製重命名)
cat 顯示並連接文件內容
more 分頁查看 顯示百分
less 分頁查看 最佳查看 按Q返回 空格下一頁
head 查看文件頭部 head -3 123 查看這個文件前三行
tail 查看文件尾部 同上
第二章
tar -c 創建.tar 格式包文件
tar -C 解包時指定釋放的目標文件夾
tar -f 使用歸檔文件 / 文件夾形式
tar -j 調用bzip2程序進行壓縮或者解壓
tar -z 調用gzip程序進行壓縮或者解壓
tar -x 解開.tar 格式包文件
使用vi文本編輯器
:進入末行模式
:wq 保存退出
:q!不保存退出
YY 複製
P 粘貼
/ 查找
第三章
安裝 rpm 軟件包
安裝須知 :在其他目錄需要指定路徑 在軟件包路徑下
rpm 安裝
rpm -qi 查看安裝完 軟件包詳細信息
rpm -qip 查看未安裝軟件包詳細信息
rpm -ql 顯示軟件包安裝後目錄
rpm -qf 指定目錄是由那個軟件包安裝的
rpm -qpl 查看該軟件包將要安裝的目錄和文件
rpm -i 安裝
rpm -e 卸載
rpm -h 以#顯示安裝進度
rpm -v 顯示安裝過程詳細信息
rpm -i xxx.rpm --nodeps 不檢查與其他軟件依賴關係
rpm -i xxx.rpm --force 強制安裝
通配符*
//yum instal xxxx 安裝軟件
安裝源代碼包
解包 tar zxvf xxx
配置 ./conifgure
編譯 make
安裝 make install
第四章
用戶帳號文件 /etc/password
密碼文件 /etc/shadow
添加用戶帳號
useradd -u UID號
-d 指定宿主目錄
-e 指定帳戶失效時間
-g 指定帳戶組
-G 指定帳戶附加組
-s 用戶能不能登錄系統 /sbin/nologin 不能登錄 [-s /sbin/nologin]
passwd 爲用戶帳號設置密碼
passwd -d 清空
passwd -l 鎖定
passwd -u 解鎖
passwd -S 查看用戶狀態
usermod 修改用戶帳號屬性
usermod -u 修改UID
usermod -d 修改宿主目錄位置
usermod -e 修改失效時間
usermod -g 修改基本組
usermod -G 修改附加組
usermod -s 指定登錄shell (能否登錄系統)
usermod -l 更改名稱
usermod -L 鎖定用戶
usermod -U 解鎖
userdel 刪除用戶帳號
userdel -r 同時刪除宿主目錄(默認不刪除)
用戶帳號初始配置文件(.bash_profile .bashrc 爲登錄)
(.bash_logout 爲登出)
ls -a 顯示隱藏文件
groupadd 添加組
groupadd -g 指定GID
groupdel 刪除組
gpasswd 添加刪除組成員
gpasswd -a 添加組成員
gpasswd -d 刪除組成員
gpasswd -m 同時加入多用戶到組中
groups 查詢某個帳號屬於那個組
finger 查詢用戶帳號詳細信息
users/w/who 查詢當前登錄到主機的用戶信息
ll 查看權限
user用戶 group組 other其他
chmod u=rwx,g=rwx,o=rwx text/ 修改權限
user group other 該文件夾
r=4 w=2 x=1
文件夾 查看目錄內容 修改目錄內容 執行CD
文件 查看文件內容 修改文件內容 執行CAT
例: chmod 777 text/ 爲text目錄 權限爲u=rwx(7),g=rwx(7),o=rwx(7) text/
chown 屬主:屬組 文件或文件夾 修改屬主屬組
chown root:benet 123/
chown :benet 123/ 只改屬組冒號前面爲空
第五章
fdisk -l 查看硬盤信息
fdisk /dev/sdb 對目標分區
p 顯示
n 新建---p主分區(e擴展分區)----分區號----從那個磁道開始----+512M 大小
d 刪除
t 改變分區類型(只是標識)
w保存
q退出
partprobe 識別新建分區
格式化分區 mkfs -t ext3 /dev/sdb1
mkfs.ext3 /dev/sdb2
格式化swap 分區 mkswap /dev/sdb4
啓用swap 分區 swapon /dev/sdb4
關閉swap 分區 swapoff /dev/sdb4
查看swap 分區掛載上否 swapon -s
掛載分區 mount /dev/sdb1 /text
卸載分區 umount /dev/sdb1
umount /text
df mount 查看
開機自動掛載
vim /etc/fstab
添加
分區 目標文件夾 格式 支持屬性 備份 磁盤檢查
/dev/sdb1 /test ext3 defaults 0 0
磁盤配額------------------------------------------------------------:
支持配合屬性掛在磁盤 mount -o usrquota,grpquota /dev/sdb1 /aaa
修改開機自動掛載 /etc/fstab 屬性
生成配額文件 quotacheck -augcv
編輯用戶帳號配額設置 edquota -u a
啓動磁盤配額 quotaon -augv
查看用戶使用情況 quota -u a
LVM邏輯卷管理---------------------------------------------------------:
PV物理卷
pvcreate /dev/sdb1 /dev/sdb2
將物理卷還原普通分區或磁盤 pvremove /dev/sdb1
vg卷組
vgcreate myvg /dev/sdb1 /dev/sdb2
刪除卷組vgremove myvg
擴展卷組vgextend myvg /dev/sdb3
LV邏輯卷管理
lvcreate -L 900M -n mylv myvg
擴展LV邏輯卷(擴展前確定卷組有剩餘空間)lvextend -L +500M /dev/myvg/mylv
刪除邏輯卷lvremove mylv
*掛載前格式化 mkfs.ext3...... mount /dev/myvg/mylv ........
第六章 管理進程和計劃任務
運行級別p172頁
查看當前運行級別 runlevel
切換運行級別 init 0-6
切換報錯按ctrl +alt +backspace 從新加載
查看系統所有服務運行級別狀態 chkconfig --list
chkconfig --list network
關閉或開啓 chkconfig --level 24 network off/on
查看靜態進程 ps -a 當前終端
-u 用戶
-x 系統所有
查看動態進程 top 按P CPU佔用情況 M 內存佔用情況 N 啓動時間 Q退出
---------------------------------------------
啓動後臺進程 & ctrl+z 調入後臺
查看後臺進程 jobs -l
後臺調前臺 fg 1
kill 2002 殺死進程
killall network 根據進程名殺死進程 -9 強制
pkill -9 -U(指定用戶)
-9 -t tty1 (指定終端)
at 一次性任務--------------------------------------
service atd start 確認atd服務已經運行
at 15:00 MM-DD-YY -> shutdown -h now ->ctrl +d 提交
查詢計劃人物atq
刪除計劃人物atrm 1 (任務號)
crontab 週期任務 ------------------------------------
確認crond 服務已經運行
service crond start
crontab -e 編輯計劃任務
crontab -e -u user 指定用戶
分 時 日 月 星期 執行的命令
50 7 * * 1 /bin/rm rm –rf /tmp/*
* 所有 - 連續 , 不連續範圍
*/3 頻率每隔三天
crontab -l 查看任務
crontab -l -u user 查看指定用戶
crontab -r 清空計劃任務
第七章 編寫shell管理腳本
!a(a爲通配符) !100(100爲序號歷史記錄第100條) 查找並且執行歷史命令
history 查看歷史命令記錄
history -c 清空歷史命令記錄
修改/etc/profile 中HISTSIZE=1000 修改保存歷史記錄條數
---------------------------------
命令別名
alias abc='/bin/ls'
unalias abc 撤銷別名
------------------------------
輸出重定向
>覆蓋 >>追加
ls >/1.txt (新建/1.txt文件 將ls命令顯示結果輸出到/1.txt下)
輸入重定向
<
passwd --stdin user< pw.txt
錯誤重定向
2> 2>> 將錯誤信息重定向
&> 將兩種結果都輸入到同一文件中
--------------------------------
管道操作 |
----------------------------------------------------
a=1 爲變量賦值
引用變量值 $a
輸出echo $a
echo ${a}asd 緊跟一起顯示
b="abc is $a" 引號的使用
b=‘abc is $a‘ 單引號不引用$值
b=`w | grep "tty"| wc -l` 將命令結果保存給b
export b 將b變爲全局變量
--------------------------------
數值變量的運算
expr 變量1 運算符 變量2 (+ - \* / % 取餘數 )
---------------------------------
位置變量 $0 爲進程名
$1 $2 (1-9 爲參數位置)
$? 表示命令執行是否正確 正確返回0 錯誤返回非零
-----------------------------------
#! /bin/bash 腳本運行環境
# 註釋
爲腳本添加執行權限 chmod a+x xxx.sh
直接執行
bash xxx.sh
. xxx.sh
-------------------------------------------------------
查看內存 free
查看cpu uptime
grep 過濾
awk -F: '{print $2}'過濾第二列
df 磁盤使用情況
cut -d % -f3 根據百分號過濾
第八章 編寫shell管理腳本
使用test測試命令
[ -d ]
P238頁詳細參數
[-d /etc/host]&&echo”yes”||echo”no”
整數值比較
-eq 等於 -gt大於 -lt小於
-ne 不等於 -ge 大於等於 -le小於等於
例子P240
if語句
if if if
then then then
命令 命令 命令
fi else elif
then
fi 命令
else
then
命令
fi
-------------------------------------------
for 語句
for 變量 in 取值列表
do
命令
done
while 循環 條件滿足執行命令不滿足不執行
while[]
do
命令
done
until循環 條件不滿足時執行 執行到滿足爲止
until[]
do
命令
done
case 語句 對變量進行判斷執行相應的操作
case i in
)
命令
;;
)
命令
;;
esac
shift 語句 左偏移
break 中斷
continue 繼續
function 函數名{
命令(或者是批量命令)
}
函數名() {
命令
}
第九章 日誌分析及管理
內核及系統日誌 /etc/syslog.conf
用戶日誌
程序日誌
/var/log/messages 內核各種應用程序日誌
/var/log/cron 記錄計劃任務日誌
/var/log/maillog 郵件日誌
/var/log/rpmpkgs rpm安裝包列表
/var/log/secure|wtmp|utmp|lastlog 系統帳戶登錄信息日誌
who 當前登錄系統帳戶信息
w 進程|用戶
users 打印當前登錄用戶
last 查詢登錄記錄