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命令可以刪除變數,...