1、重定向
程式 = 指令 + 資料
命令 變數
在程式中,資料如何輸入? 又如何輸出?
資料輸出:鍵盤 -- 標準輸入? 又如何輸出?
--stdin
echo "123456"|passwd --stdin "username'
例如: 功能新增使用者 useradd.sh user.txt文字文件1000個使用者
./useradd.sh a
./useradd.sh b
..../useradd.sh < user.txt
while line ;do
迴圈體 $line
done < /etc/passwd
資料輸出:顯示器 -- 標準輸出,但是並不是唯一輸出方式
ls /etc/> a.txt
fd 檔案識別符號 0-9 --相當於給檔案分類;
被定義的為 0 1 2
0 -- 標準輸出
1 -- 標準輸入
2 -- 錯誤輸入輸出 (標準錯誤)
常見重定向符號
1、標準輸出
> 覆蓋重定向
set-c (關閉覆蓋重定向功能)
>| (強制重定向)
>> 追加重定向
不覆蓋2、標準輸入
< tr 替換檔案內容
tr set1 [set2] < file.txt
<< 將多行資料同時輸入
cat >>a.txt<1
>2
>3
>eof
3、錯誤輸出
2 > 2>>
擴充套件:不需要輸出內容,只需要輸出狀態;
ls /etc/ > /dev/null 2> /dev/null
if[$? -eq 0];then
迴圈體fi
&> &>> == 2&>1
ls /etc/ $> /dec/null
2、管道 -tee
command1 | command2 | command3 |……
前乙個命令的執行結果交給後乙個命令來執行;
【linux思想:結合雄安功能實現大功能】
free -m |grep "mem" |cut -d' ' -f19
free -m |grep "mem" |awk ''
tee 一路輸入, 兩路輸出
tee /tmp/tee.out //如果沒有檔案,會建立,預設如果檔案存在有內容,會覆蓋;
tail 檢視檔案尾部多少行(預設10行)
-n tail -n 5 /etc/passwd == 簡寫 tail -5 /etc/passwd
-f 實時檢視檔案更新內容
tail -f /var/log/message
head 檢視檔案頭部多少行 (預設十行)
-n # 前#行, 簡寫 -#
取 10 - 20行 :head -20 /etc/passwd | tail -10
3、文字處理工具 - wc,cut,sort,uniq
wcword count 統計文字檔案中的字元個數
用法 wc filename
行數 字元個數 檔案大小(位元組) 檔名
-l-w
-ccut
用來做檔案分隔
-d 指定分隔符(delimiter)
-f 指定輸出的列資料
--output-delimiter='xx'
【cut的侷限性:1、-d指定分隔符,不能同時指定多個2、不能做高階的格式化輸出;所以我需要熟練掌握awk】
sort
排序,預設檢視第乙個字元(包括數字字母以及空格和特殊符號),以及ascll碼來排序(大小寫不是)
-n 按數字大小排序
-r 逆序
-t -k 指定分隔符以及指定按照那一列進行排序
-f 忽略字元大小寫
-u uniq去重複
uniq
連續且相同的命令,才被視為重複
建議,先排序,後重序
虛無的 繁華裡 有誰在等你嗎
回頭看 是孤獨 留下的痕跡啊
linux第二節SHELL指令碼
1.shell指令碼的建立過程 shell指令碼就是放在乙個檔案中的一系列llinux命令和實用程式。shell指令碼固定格式如下 bin bash 注釋命令 用來解釋指令碼檔案,開頭為注釋,如果一行未完,可以在行尾加上 字元,表示與下一行合併為一行。2.shell中的特殊字元 1.萬用字元 萬用字...
Python第二節課
利用type內建函式檢視變數型別 例 x 1 print type x 整型變數的定義 x 1 浮點型變數的定義 y 5.0002 虛數型別變數定義 z 1 2ix true y fal 0 falsey 1 true 以下是定義字串的四種方法 x y z k 列表 可以隨機訪問,通過下標 從0開頭...
第二節課筆記
1.識別符號 宣告格式 型別 識別符號 賦值格式 識別符號 字面量 兩種格式的簡寫 型別 識別符號 字面量 2.操作符和表示式 表示式 通過識別符號,字面量和操作符按照一定的順序拼接然後得到的乙個具有固定結果的式子,叫做表示式 操作符 具有一定邏輯意義的符號。操作符型別 算數運算子 位運算子 關係運...