1:了解liunx命令
2:若干個命令寫到一個文件
3:離不開邏輯判斷和循環遍歷
4:正則三劍客grep sed awk
1:基本功
2:一天兩個腳本
3:找毛畫虎
4:邊寫邊調試
5:喬勇命令行
6:需求無處不在
7:記錄每一個腳本
基礎命令
-
history 或者 !! ------------查看命令歷史 * 就和!有關系 *
[可以上下箭頭控制]命令+ !$ ---------上一條命令加的參數最后一個參數
!+編號 -------------執行歷史的是當前編號的那條命令
-
!+命令 -------------- 最近的一條命令執行的結果
!if ----------最近的一個歷史命令比如ifconfig
tab 自動補全
-
alias --------------------簡化操作
設置 alias myssh +"長命令" -------------myssh==命令
-
取消 unalias myssh
alias myssh="ssh root128.0.0.1" myssh 執行
unalias myssh取消
-
*
當前目錄下的所有txt文件 0多個 ls *txt 中括號中的1或者2個 任選其一 ls [12].txt ls ?.txt 必須有一個點任意的
符號重定向 > >> < 2> 2>>
> >>
# 清空文件 重定向
> filename
# 把下面的數字重定向到文件里面 就是寫到里面并清空
echo "213213" > filename
>>
# 追加 不清空
<
<
# 反向重定向
1.tex 內容為 123
cat < 1.tex
123
例子發郵件
mail -s "zhuti" codesircao@126.com < 1.txt
2> 錯誤的重定向
不存在的文件
# 錯誤添加寫到到了erre.log
ls 文件名 > sucess.log 2> error.log
# 錯誤成功都輸出到一個里面
ls 文件名 > sucess.log 2> &suceess.log
l 管道符
把前面的輸出最為后面一個的參數
#輸入一行
ls | xargs
# 把前面的輸出最為后面一個的參數
cat 文件| cat
sleep 等待
#等待100秒
sleep 100
ctrl+z 暫停
# 查看
jobs
# fg 恢復
fg +id
fg 不加id 獲取優先級高的 最后停止的
sh 文件.sh 直接運行
ctrl+c終止
ctrl+z 沒有殺死可以恢復
apt-get -qf "which nodejs" 查看安裝的包名字
變量
env
顯示用戶的所有變量 全局變量
export 設置全局
export a=100
b=2 只在當前bash生效 不能加空格
set
列出更多自定義聲明不聲明的
unset 取消變量
``反引號
a = echo $b
a輸出結果
etc/ profile bashrc ~/.bashrc .bash profile
etc全局任何用戶
家目錄 本用戶
wc查看行
bashrc_history