作業系統
- Windows 10
作業系統的分類
- 桌面作業系統
- 服務器作業系統
- 嵌入式作業系統
- 移動設備作業系統
桌面作業系統
- Window 系列
- macOS
- Linux
服務器作業系統
- Linux
- Windows Server
嵌入式作業系統
- Linux
Linux分類
- 商業版 Redhat
- 穩定版 6.4 6.6 6.8 7.0(偶數)
- 開發板 6.5 5.7 6.9 (奇數)
- 免費版 CentOS
- 穩定版6.4 6.6 6.8 7.0
- 開發板 6.5 5.7 6.9
界面最好的
- Ubuntu
國內的
- 紅旗
- 中標麒麟
Linux 系統需要記住的目錄
- /etc: 系統配置,啟動程式
- /home:普通用戶的家,目錄默認資料存放目錄
- /mnt:臨時掛載儲存設備的掛載點,u盤插入光驅無法使用,需要掛載然后使用
- /opt:額外的應用軟體包
- /root:Linux超級權限用戶root的家目錄
- /tmp:臨時檔案目錄,這個目錄被當作回收站使用
檔案夾的增刪改查
- 添加:mkdir 檔案夾名
mkdir –p 檔案夾名 - 洗掉:rm –rf 檔案夾路徑
- 修改:mv 要修改的檔案夾路徑(名) 修改后的檔案夾路徑 (名)
- 查詢:ll [-a]
ls [-a] [-l] - 復制:cp [-a/-r] 原檔案夾 目標檔案夾
檔案的增刪改查
-
添加:touch 空文本
echo ‘內容’ > 或 >> 文本 -
洗掉:rm –rf 檔案路徑(名)
-
修改:mv 修改前檔案路徑(名) 修改后檔案路徑(名)
-
查詢:ll [-a]
ls [-a] [-l] -
查看內容
前10行:head 檔案名
head -10 檔案名
后10行:tail -10 檔案名
后n行:tail -n 檔案名 -
查看所有
cat 檔案名 -
資料過濾
grep [引數] 關鍵字 檔案名 -
編輯:vi 或者 vim
其他
- 當前所在的目錄:pwd
- 清空螢屏:clear
- 軟連接:ln -s 目標檔案絕對路徑 快捷方式路徑
- 幫助檔案:命令+ --help
- &&:前面的命令執行成功再執行后面的,
- ||:前面的命令執行失敗再執行后面的,
Vi編輯器的常用命令
VI編輯器的三種模式
- 命令模式
- 編輯模式
- 末行模式
末行模式
- 保存并退出 :wq 或者 x!
- 不保存強制退出 :q!
行內移動
- 以單詞為單位向后移動 w
- 以單詞為單位向前移動 b
- 游標移動到行首 0 或者 ^
- 游標移動到行尾 $
行數移動
- 移動到首行 gg
- 移動到尾行 G
- 定位到某一行 數字gg 或者 數字G 或者 :數字
段落
- 以段落為單位后移 }
- 以段落為單位前移 {
撤銷
- 撤銷命令 u
- 取消撤銷/恢復撤銷 Ctrl+r
洗掉文本
- 洗掉多行 數字dd
- 洗掉一行 dd
- 在游標所在的位置洗掉至行尾 D
- 在游標所在的位置洗掉至行首 d0 或者 d^
- 剪切 x
復制
- 復制多行 數字yy
- 復制一行 yy
- 粘貼 p
替換的命令
- 替換的是游標所在的位置以及后面的資料 R
- 只替換游標右側的第一個字符 r
檔案夾內查找
- 通過檔案名指定路徑查找 find 路徑 -name *.txt
- 通過檔案名在當前路徑查找 find -name *.txt
檔案內查找
- /查找的內容
- 向上查找 N
- 向下查找 n
檔案內替換
- :%s/舊文本/新文本/g [c]
壓縮命令
- gzip
壓縮檔案 tar zcvf 壓縮檔案名.tar.gz 被壓縮的檔案/檔案夾
解壓壓縮檔案 tar zxvf 壓縮的檔案名.tar.gz -C 路徑 - bzip2
壓縮檔案 tar jcvf 壓縮檔案名.tar.bz2 被壓縮的檔案/檔案夾
解壓壓縮檔案 tar jxvf 壓縮的檔案名.tar.bz2 -C 路徑
關機
- halt
重啟
- reboot
用戶權限
-
drwxr-xr-x. 2 root root 4096 9月 14 23:15 aa (如下解釋)
-
d:表示檔案夾
-
rwx:當前用戶具備的權限
-
r-x:當前用戶所屬的組具備的權限
-
r-x:其他用戶所具備的權限
-
root:檔案所屬的用戶
-
root:檔案所屬的用戶所屬的組
-
4096 :檔案大小
-
9月:檔案創建的月份
-
14 23:15:檔案創建的日期
-
aa:檔案名
-
讀權限:數字表示4
-
寫權限:數字表示2
-
執行權限:數字表示1
-
讀寫執行能夠構成的數字和是1、2、3、4、5、6、7
用戶和組的添加
-
組的操作
-
- 添加組 groupadd 組名
-
- 洗掉組 groupdel 組名
-
- 查詢當前所有的組 cat /etc/group
-
- 修改組 chgrp 組名 檔案/目錄名
-
用戶的操作
-
- 添加用戶同時指定組 useradd -g 組名 用戶名
-
- 添加用戶 useradd 用戶名 【未指定組時,創建一個與用戶名相同的組】
-
- 洗掉用戶(洗掉家目錄):userdel –r 用戶名
-
- 查看當前用戶 cat /etc/passwd
-
- 為用戶設定密碼 passwd 用戶名
用戶切換
- Su 用戶名
- Root用戶 切換到普通用戶無需密碼,普通用戶之間切換需要密碼
- 退出用戶 exit
- 普通用戶臨時借用root權限使用sudo 命令【普通用戶已經添加到/etc/sudoers檔案中】
修改權限
- chmod [-R] 777 檔案名/檔案夾名
- chmod +/- rwx 檔案名|目錄名
- chmod -R u=rwx,g=rwx,o=rwx 檔案名|目錄名
修改檔案所屬的組
- chown -R 新用戶:新用戶的組 檔案名/檔案夾名
其他命令
- 獲取當前日期:date
- 更新當前日期:date -s “yyyy-MM-dd HH:mm:ss”
- 查看磁盤空間:df -h
- 查看某一目錄所占空間大小:du -h
- 查看行程詳細資訊:ps aux
- 查看cpu記憶體等使用情況:top
- 殺死某一行程:kill [-9] 行程號
- 查看記憶體使用率:free –h [-m/-g]
Cut
- 按照字符提取 head -2 1.txt | cut -c 5
- 指定分隔符 head -2 1.txt | cut -d ‘:’ -f 1,2
Sort
- 文本排序 sort 檔案名
- 文本排序反轉 sort -r 檔案名
- 文本排序去重 sort -u 檔案名
- 數值按大小排序 sort -n 檔案名
- 指定分隔符、指定排序列 sort -t ‘分隔符’ -k2nr 檔案名
Wc
- 查看檔案基本資訊 wc 檔案名
- 查看檔案行數 wc – l 檔案名
- 查看檔案單詞數 wc -w 檔案名
- 查看檔案位元組 wc -c 檔案名
- 查看多個檔案資訊 wc 檔案1 檔案2 檔案3
Uniq
- 與sort連用
- 排序、去重 cat 5.txt | sort | uniq
- 排序、去重計算總數 cat 5.txt | sort | uniq -c
Tee
- 資料定位到多個檔案 cat 5.txt | tee a.txt b.txt c.txt
Tr
- 小寫i 替換成 echo “itheima” | tr ‘i’ ‘I’
- 把 HELLO 轉成 小寫 echo “HELLO” |tr ‘[A-Z]’ ‘[a-z]’
- 洗掉數字 echo ‘abc1d4e5f’ | tr -d ‘[0-9]’
Split
- 按照檔案大小切分 split -b 10k 被切分的檔案
- 按照行數進行切分 split -l 1000 被切分的檔案
Awk
- 模糊查詢 awk ‘/條件/’ 文本名
- 按照分隔符拆分,根據角標顯示
awk -F ‘,’ ‘{print $1, $2, $3}’ 1.txt
- 按照分隔符拆分,根據角標顯示并指定分隔符
awk -F ‘,’ ’ {OFS="==="}{print $1, $2, $3}’ 1.txt - 支持函式
awk -F ‘,’ '{print toupper($2),$3100}’ 1.txt
If判斷陳述句
- awk -F ‘,’ ‘{if($4>60) print $1, $4, “及格”; else print $1, $4, “不及格”}’ score.txt
Shell編程
Shell 腳本的解釋器
- /bin/sh
- /bin/bash
- /sbin/nologin
- /bin/dash
- /bin/tcsh
- /bin/csh
腳本的撰寫規范
- 首行描述解釋器 #!/bin/bash
執行腳本的三種方式
- bash 腳本名稱 腳本引數
- sh 腳本名稱 腳本引數
- /腳本名稱 腳本引數【./腳本名稱之間沒有空格】【chmod 777 腳本名稱】
變數的宣告
- 變數名=”值”【中間不能有空格】
- 變數名要求 字母或下劃線或數字(開頭不能是數字)構成
變數的參考
- 使用$ 或 ${}參考變數
- 洗掉變數 只讀變數
- 洗掉 unset 變數名
- 只讀 readonly 變數名
字串使用
- 雙引號(””):內部可以使用變數
- 單引號(‘’):內部所有的原樣輸出
- 反引號(``):表示可執行
字串長度及截取
- 長度: echo ${#skill}
- 截取: echo ${str:2:2} 【在第二個字符開始截取截取兩位】
腳本引數傳遞
- bash 腳本名 引數1 引數2 引數3 ,,,,,,
- 腳本內
- $0 腳本名稱
- $1 引數1
- $2 引數2
- $n 引數n
- $* 所有引數
- $# 引數的個數
算數運算子
- 加法計算
expr 2 + 2 - 乘法計算
expr 2 \* 2
流程控制if
- if [ $a -gt 10 ];then
代碼1
elif [ $a -lt 10 ];then
代碼2
else
代碼3
fi
關系運算子
- 大于:-gt
- 小于:-lt
- 大于等于:-ge
- 小于等于 :-le
- 小于:-eq
- 不等于 :-ne
回圈
- For 回圈:
For aa in XXXX
do
回圈體
done - While回圈:
While 條件 ;
do
回圈體
done
跳出回圈
- 跳出所有回圈:break
- 跳出當前回圈,進入下一次回圈:continue
case ()
- case 值 in
結果1)
結果1對應的操作;;
結果2)
結果2對應的操作;;
結果3)
結果3對應的操作;;
esac
接收控制臺資料
- read 變數名
函式的使用
- 函式宣告:
[function] 函式名(){
函式體
$引數1
$引數2
$引數3
}
函式呼叫
- 函式名 引數1 引數2 引數3
陣列
- 陣列宣告: 陣列名稱=(元素1 元素2 元素3 元素4)
陣列的使用
- 單個使用 echo 陣列名[角標] 【角標從0開始】
- 遍歷陣列
for var in ${my_arr[*]}
do
echo $var
done
檔案加載
- 在檔案中添加 . 腳本名稱 或者 source 腳本名稱
#!/bin/bash - source ./test1.sh :加載test1.sh 的檔案內容
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/161655.html
標籤:其他
