shell程式設計 1 shell 基本指令

2021-09-24 22:16:49 字數 4164 閱讀 1916

shell 指令

head    test/1.txt      檢視最前面 10 行

head   -n   15   test/1.txt   檢視  前15 行

tail   test/1.txt   檢視 最後 10行記錄

tail   -n  15  test/1.txt  檢視最後15行記錄

tail  -f   test/1.txt     檢視實時記錄

tailf   test/1.txt     檢視實時記錄

grep

cut : cut 命令 只顯示某一列的內容  

wc 用來統計行 字元

sort  用來排序

man   是linux 的學習手冊   

q     :     退出man 指令 

設定別名  alias   

取消別名  unalias 

history :  檢視所有指令     shell 總共有1004條指令

ls    |xargs   : 

2>    error.log   :輸出

>    error.log    : 輸出 

>>     error.log    : 追加  

sleep 100       秒

ctrl+z  暫停 後台命令  並沒有將程序殺死,fg 可以恢復它。

jobs:檢視 後台命令:   sleep 命令 

fg  1  :恢復 1 sleep 命令

ctrl+z :  終止後台命令

[root@aliyun247 test]# hostname -i

10.173.54.46

[root@aliyun247 test]# sleep 100

^z[1]+  stopped                 sleep 100

[root@aliyun247 test]# jobs

[1]+  stopped                 sleep 100

[root@aliyun247 test]# sleep 200

^z[2]+  stopped                 sleep 200

[root@aliyun247 test]# jobs

[1]-  stopped                 sleep 100

[2]+  stopped                 sleep 200

[root@aliyun247 test]# fg1

-bash: fg1: command not found

[root@aliyun247 test]# fg 1

sleep 100

gf 2

^c[root@aliyun247 test]# fg 2

sleep 200

^c[root@aliyun247 test]# jobs

shell 變數

變數命名規則 字母,數字,下劃線,數字不能開頭 

宣告變數  a=1

用export 宣告變數 全域性有效: export  a=1

檢視變數  變數名稱前加乙個美元符號: echo   $a  

env:  列印出系統內建變數 

set :列出系統變數

unset 取消乙個變數: unset   變數名(注意變數名稱前 不需要 美元符號)

反引號,單引號 ,雙引號 的不同,單引號最嚴謹。

bash: 進入子shell檔案     exit:退出子shell 檔案

環境變數:

su   -:  使用者重新登入

特殊符號: *   #   \    |    ;    &     >      >>     2>     ^c  

指令:cut  ,sort ,wc ,tr ,split

cut -d ':' -f 3  /etc/passwd

cut -d ':' -f  1-3  /etc/passwd

cut -d ':' -f 1,3  /etc/passwd

[root@aliyun247 test]# cut -c 1-10 /etc/passwd

root:x:0:0

bin:x:1:1:

daemon:x:2

adm:x:3:4:

lp:x:4:7:l

sync:x:5:0

cut -c 1-10 /etc/passwd

cut -c 1,10 /etc/passwd

[root@aliyun247 test]# cut -c 1-10 /etc/passwd

root:x:0:0

bin:x:1:1:

daemon:x:2

adm:x:3:4:

lp:x:4:7:l

sync:x:5:0

排序用法:

-n: 加上是按數字排序 ,不加是按ascii  碼排序。

-r:

sort -t ":"  -k3   /etc/passwd 

sort -t ":"  -k3  -n   /etc/passwd   

sort -t ":"  -k3  -n   /etc/passwd    cut -d ':' -f 3

cut -d ':' -f 3  /etc/passwd |sort -nr|uniq  

cut -d ':' -f 3  /etc/passwd |sort -nr|uniq   -c; 

wc : 統計     行數    字數   位元組

wc 1.txt 輸出:  29    39      1263       1.txt 

wc  -c   1.txt   :統計檔案   位元組

wc  -l   1.txt   :統計檔案    行

wc  -w   1.txt  :統計檔案  字元   

tr    : 替換 

|tr 'a-z'  'a-z'    :用大寫替換小寫  

du -sh  * 

#檢視所有的檔案的大小 

du   -sh      /etc/passwd  

#檢視乙個檔案的大小 

輸出內容如下: 4k   /etc/passwd

du   -sb   /etc/passwd   

#產看檔案的大小     輸出內容如下: 1216  /etc/passwd 

for i in 'seq 1 10000';do cat /etc/passwd >>1.txt ;done  :迴圈用法 

split  切割  

#切割乙個檔案 ,以檔案大小 切分 

split   -l    100   1.txt     

split   -b  1m   1.txt  

split   -w    100   1.txt  

split   -l    2    1.txt   :按行   將1.txt 文件拆分 

mkdir   test    建立乙個目錄 

mv 移動檔案   :mv  1.txt   test/

特殊符 : ll , &&  連線連個命令

cd   /test  && ls :  且:  先進入cd 命令 然後執行ls命令。如果第乙個命令沒有成功則不執行第二個命令 

cd  /test  ||   ls  : 或 :  執行cd 命令 或  ls 命令 。 第乙個命令不成功才有機會執行第二個命令

shell 操作    互動式和非互動式   

互動式: 操作員一條一條指令的輸入,並按enter提交。

非互動式 是預先編寫 shell指令碼。千萬條命令預先編寫完成,然後直接執行指令碼, 指令碼檔案需要一乙個直譯器逐行解釋。

指令碼建立過程? 

1  理清任務 分解任務   2  考慮用指令碼實現每個步驟    3 完善指令碼 

shell  程式設計

sh  1.sh  : 執行檔案。

bash   1.sh  :  執行檔案

chmod    a+x   1.sh    :授權rootquanx

./1.sh          :被授予root許可權的檔案 可以直接這樣執行。

/root/1.sh  :     全路徑的方式執行  檔案 。

接收從鍵盤輸入:

--stdin

忽略無關輸出:

/dev/null

Linux Shell筆記1 shell程式設計基礎

shell語言是解釋型非強型別語言.linux shell不區分變數的型別,一切都是字串型別,變數名不能是數字開頭.變數長度沒有限制,變數可以進行比較操作和整數操作.整數操作取決於字串的值是否是數字.變數的引用需要用 且 varname一般和 等效,但是注意有時變數可能會出現混淆的情況,此時應該用第...

shell學習筆記 (1)shell變數

定義變數時,變數名不加美元符號,如 your name runoob.com 注意,變數名和等號之間不能有空格,變數名的命名須遵循如下規則 使用乙個定義過的變數,只要在變數名前面加美元符號即可,如 your name qinjx echo your name echo 使用 readonly 命令可...

課時1 Shell變數

變數定義 myname tom 注 等號前後不能加空格,其命名規則與其他語言相同。變數使用 使用定義過的變數僅需要在變數前加乙個 即可。echo 使用readonly命令可以定義唯讀變數,且唯讀變數的值不能修改,如 myname tom readonly myname使用unset命令可以刪除變數,...