設定(或修改)網路:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
重新啟動網路(網路卡):
/etc/init.d/network restart
service network restart
設定網路卡:
setup
修改 mv
編輯 vi
重新啟動系統 reboot
檢視當前所在資料夾: /pwd
查詢系統執行記憶體 df -h
檢視 ls
建立有內容的文字檔案 :echo 123456789 > 123.txt
拷貝 cp 11.txt 22.txt
返回上一級目錄 cd …/
刪除 rmdir /s/q 檔案
新增空檔案 touch
新增檔案內容 echo
行首 ^或0
行末 $
檔案頂部 gg
檔案底部 G
指定檔案行數 n+gg(G)或:n
向上翻頁 Ctrl + b
向下翻頁 Ctrl + f
{ 上一段
} 下一段
d 移動刪除遊標
dd 刪除遊標所在行
D 刪除至行尾
從遊標位置刪除到單詞末尾 dw
從遊標位置刪除到單詞開頭 d0
從遊標位置刪除到段落尾 d}
從遊標位置向下連續刪n行 ndd
vim 檔名 + 會定位到檔案末尾
vim 檔名 +2 會定位到檔案第二行
上下左右 kjhl
前後 bw
檔案頂部 gg
檔案末尾 G
螢幕頂部 H
螢幕中間 M
螢幕底部 L
yum install -y tree 安裝tree外掛
yum search rxzx
yum install -y lrzsz
reboot重新啟動
set nu 行號
---------使用者許可權--------
exit 退出當前使用者
vi /etc/passwd 進行使用者許可權修改
su 使用者名稱 切換使用者
useradd -g 組名 使用者名稱 建立新使用者
userdel 使用者名稱 刪除使用者
userdel -r 使用者名稱
--------chown -R U使用者名稱 : G組名 T檔名 :將 T 檔案 修改為 U所屬使用者 G所屬組
halt 關機
free -h 查詢顯示記憶體使用
df -h 查詢磁碟空間
top 查詢cpu記憶體等使用情況
du -h 檢視某一目錄所佔空間大小
ps aux 查詢程序詳細資訊
-------cut : 《 cut根據條件從命令結果中提取對應內容》
-c (第幾個字元)
-d (指定分隔符)
-f (顯示第幾段內容)
-------sort : 《sort可針對文字檔案的內容,以行為單位來排序》
-u (去重)
-n (數值從大到小排序)
-r (倒敘)
-t (指定分隔符)
-k (根據哪一列排序)
--------wc : 《顯示指定檔案位元組數, 單詞數, 行數資訊》
-w (單詞數)
-c (位元組數)
-l (行數)
-------uniq : 《uniq 命令用於檢查及刪除文字檔案中重複出現的行,一般與 sort 命令結合使用。》
-c (計數)
Cut
按照字元提取 head -2 1.txt | cut -c 5
指定分隔符 head -2 1.txt | cut -d ‘:’ -f 1,2
Sort
文字排序 sort 檔名
文字排序反轉 sort -r 檔名
文字排序去重 sort -u 檔名
數值按大小排序 sort -n 檔名
指定分隔符、指定排序列 sort -t ‘分隔符’ -k2nr 檔名
Wc
檢視檔案基本資訊 wc 檔名
檢視檔案行數 wc – l 檔名
檢視檔案單詞數 wc -w 檔名
檢視檔案位元組 wc -c 檔名
檢視多個檔案資訊 wc 檔案1 檔案2 檔案3
Uniq
與sort連用
排序、去重 cat 5.txt | sort | uniq
排序、去重計算總數 cat 5.txt | sort | uniq -c
Tee
資料定位到多個檔案 cat 5.txt | tee a.txt b.txt c.txt
Tr
小寫i 替換成 echo 「itheima」 | tr ‘i’ ‘I’
把 HELLO 轉成 小寫 echo 「HELLO」 |tr ‘[A-Z]’ ‘[a-z]’
刪除數位 echo ‘abc1d4e5f’ | tr -d ‘[0-9]’
Split
按照檔案大小切分 split -b 10k 被切分的檔案
按照行數進行切分 split -l 1000 被切分的檔案
Awk
模糊查詢 awk ‘/zhangsan|lisi/’ score.txt
按照分隔符拆分,根據角標顯示
awk -F ‘,’ ‘{print $1, $2, $3}’ 1.txt
按照分隔符拆分,根據角標顯示並指定分隔符
awk -F ‘,’ ’ {OFS="==="}{print $1, $2, $3}’ 1.txt
支援函數 awk -F ‘,’ ‘{print toupper($2),$3*100}’ 1.txt
If判斷語句
awk -F ‘,’ ‘{if($4>60) print $1, $4, 「及格」; else print $1, $4, 「不及格」}’ score.txt
Shell程式設計
Shell 指令碼的直譯器
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
指令碼的編寫規範
首行描述直譯器 #!/bin/bash
執行指令碼的三種方式
1、bash 指令碼名稱 指令碼引數
2、 sh 指令碼名稱 指令碼引數
3、 ./指令碼名稱 指令碼引數【./指令碼名稱之間沒有空格】【chmod 777 指令碼名稱】
變數的宣告
變數名=」值」【中間不能有空格】
變數名要求 字母或下劃線或數位(開頭不能是數位)構成
變數的參照
使用$ 或 ${}參照變數
刪除變數 唯讀變數
刪除 unset 變數名
唯讀 readonly 變數名
字串使用
雙引號(」」):內部可以使用變數
單引號(‘’):內部所有的原樣輸出
反引號(``):表示可執行
字串長度及擷取
長度: echo ${#skill}
擷取: echo ${str:2:2} 【在第二個字元開始擷取擷取兩位】
指令碼引數傳遞
bash 指令碼名 引數1 引數2 引數3 。。。。。。
指令碼內
$0 指令碼名稱
$1 引數1
$2 引數2
$n 引數n
$* 所有引數
$# 引數的個數
算數運運算元
加法計算 expr 2 + 2
乘法計算 expr 2 \* 2
流程控制if
if [ $a -gt 10 ];then
程式碼1
elif [ $a -lt 10 ];then
程式碼2
else
程式碼3
fi
關係運算子
大於 小於 大於等於 小於等於 等於 不等於
-gt -lt -ge -le -eq -ne
迴圈
For 迴圈
For aa in XXXX
do
迴圈體
done
While迴圈
While 條件 ;
do
迴圈體
done
跳出迴圈
跳出所有迴圈 break
跳出當前迴圈,進入下一次迴圈 continue
case ()
case 值 in
結果1)
結果1對應的操作;;
結果2)
結果2對應的操作;;
結果3)
結果3對應的操作;;
esac
接收控制檯資料
read 變數名
函數的使用
函數宣告: [function] 函數名(){
函數體
$引數1
$引數2
$引數3
}
函數呼叫
函數名 引數1 引數2 引數3
陣列
陣列宣告: 陣列名稱=(元素1 元素2 元素3 元素4)
陣列的使用
單個使用 echo 陣列名[角標] 【角標從0開始】
遍歷陣列 for var in ${my_arr[*]}
do
echo $var
done
檔案載入
在檔案中新增 . 指令碼名稱 或者 source 指令碼名稱
#!/bin/bash
source ./test1.sh # 載入test1.sh 的檔案內容