文本處理類指令:
wc, tr, cut, sort, uniq, 一共 就這 幾個, 都 挺簡單 的, 不過 非常常用,
1、 wc : 這個 是 做 字元 統計 的 指令,
wc [選項] [檔案]...
-l : 統計行數
-c : 統計位元組數
-w : 統計單詞數(這裡 的 單詞 指的是 以 空格 分隔 的 字元串)

2、 tr : 轉換字元 或 删除 字元, 這個 指令 主要 用于 大小寫 轉換,字元串 替換 或 删除
-d : 表示 删除 字元 串
3、 cut : 剪切文本, 這裡 的 文本 都是 單行 的, 也就是 cut 一次 隻能 處理 一行 文本
-d字元: 指定分隔符
-f#: 指定要顯示的字段
單個數字: 顯示一個字段
多個數字,以 逗号 分隔: 顯示多個字段
-: 連續字段, 如 3-5
4、 sort : 排序, 預設是以字元排序的,也就是ASCII碼的值排序的,不過也可以指定數值排序。
sort [option] file...
-f:忽略字元大小寫
-n:比較數值大小
-t:指定分隔符
-k:指定分隔後進行比較的字段
-u:重複的行,隻顯示一次
強調一下,sort預設是以行為機關處理檔案的。。
5、 uniq
-c: 顯示重複的行的次數
-d: 僅顯示重複的行
-u: 顯示不曾重複的行
ok, 這裡 還是 說 兩個 練習 把,
練習1: 統計/bin、/usr/bin、/sbin和/usr/sbin等各目錄中的檔案個數;
# ls /bin | wc -l
練習2: 2、顯示目前系統上所有使用者的shell,要求,每種shell隻顯示一次;
# cut -d: -f7 /etc/passwd | sort -u
重定向:
系統 預設 是把輸出 的 資訊 顯示到 顯示器上的,不過 有些 時候 我們 希望 把 顯示 的 資訊 直接 存儲 成 一個 檔案, 這個 時候 就 需要 重定向 了。。
輸入 和 輸出 其實 是 分為 三種 的, 這些 資訊 預設 都是 顯示 的 顯示器 上 的。。
标準輸入: stdin : 0
标準輸出: stdout : 1
标準錯誤: stderr : 2
I/O 重定向:
輸入重定向:
< : 指令 < 檔案 : 這個 表示 指令 以 檔案 的 形式 擷取 stdin(以前是靠鍵盤輸入的。。。)
<< : 指令 << 标記字元串: 這個 叫做 Hear document, 從 stdin 中 讀入, 直到遇到 标記字元串 停止
輸入重定向:
> : 指令 > 檔案 : 将指令的 輸出 儲存至 檔案(會清空檔案的原有内容)
>> : 指令 >> 檔案 : 将指令的輸出 追加 到 檔案, 這個 不會 清空 原有 檔案 了。。
set -C : 禁止使用 > 指令, 因為 這個 指令 比較危險,
set +C : 允許使用 > 指令
>| : 當 > 指令 禁止 時 可以 用 這個, 這個 表示 強制 使用 的 意思。
/dev/null : 這個 是 一個 檔案, 也叫做 位桶, 無論 向 裡面 重定向 什麼 都會清空
這裡 把 id 指令 的 輸出 結果 重定向 進 了 位桶(感覺就是垃圾桶。。), 之後 我們 看 一下 這個 指令 是否 執行 成功。 , 成功 了 就 說明 這個 使用者 存在, 貌似 就是 這麼 用 的。
錯誤重定向: 這個 和 輸入 重定向 是 差不多 的,
2> : 覆寫
2>> : 追加
這裡 說 一下 , 一個 指令 執行 成功 的 資訊 和 執行 錯誤 的 資訊 不是 一樣 的, 是以 如果 使用 輸出 重定向, 當 檔案 執行 失敗 時, 他 還是 會 顯示 錯誤 資訊 的。。
輸出 和 錯誤 重定向: 這個 就是 輸出重定向 和 錯誤重定向 的 合體 了。。
&> : 覆寫
&>> : 追加
管道:
這個以前 就 說過 了, | 表示 把 上一個 指令 的 執行 結果 當做 下一個 指令 的 輸入, 也 是 一直 在 用 的說。。
tee : 将标準輸入的内容輸出到螢幕上,并且存儲到檔案中。相當于 一個 三項接口 把。。, 一個 輸入 , 兩個 輸出。。
這個指令 貌似 也會 覆寫 檔案 的。
bash中的算術運算:
declare : 定義變量 時 定義 變量 的 類型
-i : 整數
-x : 環境變量
let var_name=算術表達式 , 使用 let 指令 就可以 進行 算術 運算 了。。
var_name=$[算術表達式] , 算術運算 的 第二種 方法。。
((var_name=算術表達式)) , 算術表達式 的 第三種 方法。。, 坑! 就 沒有 個 唯一 方法 麼
var_name=`expr $num1 + $num2` , 這個 是 第四種。。, 服了, bash 一直 都是 亂七八糟 的
read 和 單步執行:
read : 輸入,讀入 的 意思。。
read I 表示 讀入 I 變量, 需要 和 使用者進行 互動, 等待 使用者 輸入
-t : 等待 使用者 輸入 資訊 的 時間
-p "字元串" : 在 讀入 時 顯示 一個 字元串。
單步執行 : bash -x 腳本名
練習: 輸入 兩個 整數 A, B , 其中 A < B, 求 A 到 B 之間 所有 整數 之和。