selenium---解決clear方法失效
1.重定向概述
1.什麼是重定向
將原本要輸出到螢幕的資料資訊,重新定向到某個指定的檔案中。比如:每天凌晨定時備份資料,希望將備份資料的結果儲存到某個檔案中。這樣第二天通過檢視檔案的內容就知道昨天備份的資料是成功還是失敗。
2.為何要使用重定向
1.當螢幕輸出的資訊很重要,而且希望儲存重要的資訊時;
2.後臺執行中的程式,不希望他干擾螢幕正常的輸出結果時;
3.系統的例行命令, 例如定時任務的執行結果,希望可以存下來時;
4.一些執行命令,我們已經知道他可能出現錯誤資訊, 想將他直接丟棄時;
5.錯誤日誌與正確日誌需要分別輸出至不同的檔案儲存時;
3.學習重定向的預備知識,標準輸入與輸出
當執行一個程式時通常會自動開啟三個標準檔案,分別是標準輸入、標準輸出、錯誤輸出
名稱 | 檔案描述符 | 作用 |
---|---|---|
標準輸入(STDIN) | 0 | 預設是鍵盤,也可以是檔案或其他命令的輸出。 |
標準輸出(STDOUT) | 1 | 預設輸出到螢幕。 |
錯誤輸出(STDERR) | 2 | 預設輸出到螢幕。 |
檔名稱(filename) | 3+ |
程序將從標準輸入中得到資料,將正常輸出列印至螢幕終端,將錯誤的輸出資訊也列印至螢幕終端。
PS: 程序是使用檔案描述符(file descriptors)
來管理開啟的檔案
以 cat 命令為例, cat 命令的功能是從命令列給出的檔案中讀取資料,並將這些資料直接送到標準輸出。若使用如下命令:
|
|
但如果 使用 cat 命令沒有跟上輸入的檔名,那麼cat命令則會通過命令列標準輸入中讀取資料, 並將其送到標準輸出。
|
|
下面瞭解一下標準輸入輸出過程
|
|
2.輸出重定向
輸出重定向,改變輸出內容的位置。輸出重定向有如下幾種方式,如表格所示
型別 | 操作符 | 用途 |
---|---|---|
標準覆蓋輸出重定向 | > | 將程式輸出的正確結果輸出到指定的檔案中,會覆蓋檔案原有的內容 |
標準追加輸出重定向 | >> | 將程式輸出的正確結果以追加的方式輸出到指定檔案,不會覆蓋原有檔案 |
錯誤覆蓋輸出重定向 | 2> | 將程式的錯誤結果輸出到執行的檔案中,會覆蓋檔案原有的內容 |
錯誤追加輸出重定向 | 2>> | 將程式輸出的錯誤結果以追加的方式輸出到指定檔案,不會覆蓋原有檔案 |
標準輸入重定向 | << | 將命令中接收輸入的途徑由預設的鍵盤更改為指定的檔案或命令 |
案例1: 標準輸出重定向(每次都會覆蓋檔案)
|
|
案例2: 標準輸出重定向(會往檔案的尾部在新增內容)
|
|
案例3: 錯誤輸出重定向
|
|
案例4: 正確和錯誤都輸入到相同位置
|
|
案例5: 正確和錯誤都輸入到相同位置
|
|
案例6: 重定向到空裝置/dev/null
|
|
案例7: 指令碼中使用重定向 (瞭解即可)
|
|
案例8: 指令碼中使用重定向 (瞭解即可)
|
|
3.輸入重定向
輸入重定向,即原本從鍵盤等上獲得的輸入資訊,重定向由命令的輸出作為輸入。< 等價 0<
案例1: 從檔案中讀入輸入的操作
|
|
案例2: 無法形容案例,請看實際操作
|
|
案例3: 無法形容案例,請看實際操作
|
|
案例4: mysql如何恢復備份,瞭解即可,不用關注。
|
|
案例5: 利用重定向建立多行資料的檔案
|
|
案例6: 指令碼中列印選單的一種使用方法。
|
|
案例7: 兩條命令同時重定向
|
|
擴充套件點: subshell 瞭解即可
|
|
4.程序管道技術
1.什麼是管道
管道操作符號 “|” ,主要用來連線左右兩個命令, 將左側的命令的標準輸出, 交給右側命令的標準輸入
PS: 無法傳遞標準錯誤輸出至後者命令
2.管道流程示意圖
格式: cmd1 | cmd2 [...|cmdn]
3.管道使用案例
案例1: 將/etc/passwd 中的使用者按 UID 大小排序
|
|
案例2: 統計當前/etc/passwd 中使用者使用的 shell 型別
|
|
案例4: 統計網站的訪問情況 top 20
|
|
案例5: 列印當前所有 IP
|
|
案例6: 列印根分割槽已用空間的百分比(僅列印數字)
|
|
PS: 管道命令符能讓大家能進一步掌握命令之間的搭配使用方法,進一步提高命令輸出值的處理效率。
4.管道中的tee技術
|
|
重定向與 tee 有他們在使用過程中有什麼區別
|
|
5.xargs引數傳遞,主要讓一些不支援管道的命令可以使用管道技術
|
|