操作系統
作為用户和計算機硬件之間的橋樑 調度和管理計算機硬件進行工作
初始linux
linux組成
linux系統內核:調度cpu 調度內存 調度文件系統
linux系統級應用程序:自帶的程序 可供用户快速上手操作系統
遠程連接linux系統
對於操作系統的使用兩種方式
1,圖形化頁面使用操作系統
2,以命令的形式使用操作系統
虛擬機快照
通過快照將當前虛擬機的狀態保存下來,在以後可以通過快照恢復虛擬機保存狀態
右鍵虛擬機找到快照
linux目錄結構
windows系統可以有多個盤符如c盤d盤等
linux沒有盤符這個概念 只有一個根目錄/,所有文件都在它下面
在根目錄下有一個文件夾itcast
/itcast
linux命令入門
linux命令基礎
學習linux 本質上是學習在命令行下熟悉使用linux的各類命令
命令行:即linux終端,是一種命令提示符頁面。以純"字符"的形式操作系統 可以使用各種字符化命令對系統發出指令
命令:即linux程序。一個命令就是一個linux程序。命令沒有圖形化頁面。可以在命令行(終端中)提供字符化的反饋
linux命令通用格式
command[-options][parameter]
command命令本身
-options[可選,非必填]命令的一些選項,可以通過選項控制命令的行為細節
parameter[可選,非必填]命令的參數,多數用於命令的指向目標等
ls-l/home
ls是命令本身,-l是選項,/home是參數
意思是以列表的形式,顯示/home目錄裏面的內容
cp -r test1 test2
cp是命令本身 -r是選項 test1test2是參數
意識是複製文件夾test1 稱為test2
ls命令入門
ls命令的作用是列出目錄下的內容
ls[-a -l -h][linux路徑]
home目錄是
每一個用户在linux系統的專屬目錄,默認在:/home/用户名
假設你的用户名是 xiaoming:
剛登錄終端時,pwd 顯示 /home/xiaoming(當前目錄 = home 目錄),執行 ls 會列出 /home/xiaoming 下的文件(如 Documents、Downloads 等)。
執行 cd /tmp 後,當前目錄變成 /tmp,此時 ls 會列出 /tmp 下的臨時文件(與 home 目錄無關)。
無論當前目錄在哪裏,執行 ls ~ 都會列出 /home/xiaoming 下的內容(因為 ~ 代表 home 目錄)。
簡單説:ls 是 “查看工具”,當前目錄是 “你現在在哪”,home 目錄是 “你的專屬房間”—— 登錄時你默認在自己的房間裏,用 ls 能看到房間裏的東西;你可以走到其他地方(切換當前目錄),此時 ls 看到的是新地方的東西,但 “你的房間”(home 目錄)始終在固定位置。
ls命令的參數和選項
打開跟目錄 ls/
ls[-a -l -h][linux路徑]
-a 可以展示隱藏的內容 以.開頭的文件或者文件夾默認被隱藏
-l選項 以列表的形式展示內容 並展示更多的細節
-h選項 需要和-l選項搭配使用 顯示文件大小
命令選項可以組合使用
cd pwd命令
語法:cd [linux路徑]Change Directory
cd命令無需選項 只有參數 表示要切換到那個目錄下
cd命令直接執行,不寫參數,表示回到用户的HOME目錄
沒有選項 只有參數
pwd查看當前目錄 Print Work Directory
語法:pwd
pwd命令 ,沒有選項 沒有參數
作用 輸出當前所在的工作目錄
相對路徑絕對路徑和特殊路徑字符
絕對路徑:以根目錄為起點 描述路徑的一種寫法,路徑描述以/開頭
相對路徑:以當前目錄為起點,描述路徑的一種寫法,路徑描述無需以/開頭
特殊路徑符
“.” 表示當前目錄,比如cd./desktop表示切換到當前目錄下的Desktop目錄內,和cd Desktop效果一致
“..”表示返回上一級目錄,比如:cd.. 既可以切換到上一級目錄,cd../..切換到上二級目錄
“”表示HOME目錄,比如cd 即可切換到HOME目錄或cd~/Desktop,切換到HOME內的Desktop目錄
創建目錄命令mkdir 創建文件夾
語法:mkdir [-p] Linux路徑
參數必填,表示linux路徑,即要創建的文件夾路徑,相對路徑或絕對路徑
-p選項可選 表示自動創建不存在的父目錄 適用於創建連續多層級的目錄
ctrl+l清屏
創建文件夾需要修改權限 請確保操作均在HOME目錄內 不要再HOME外操作
涉及到權限問題 HOME外無法成功
文件操作命令(touch,cat,more)
如何分辨文件夾與文件 前面是d文件夾 -文件
掌握使用touch創建文件
語法:touch linux路徑
touch命令無選項 參數必填 表示要創建的文件的路徑,相對,絕對 特殊都可以
掌握cat,more查看文件內容
cat 用於查看文件內容
語法:cat linux路徑
cat命令無選項 參數必填 表示查看的文件的路徑,相對,絕對 特殊都可以
more 與cat差不多
more可以翻頁查看 使用空格進行翻頁 使用q退出查看 按b翻上一頁
文件操作命令(-cp-mv-rm)
cp複製文件 文件夾
語法:cp[-r]參數1 參數2
-r選項 可選 用於複製文件夾使用,表示遞歸
參數1,linux路徑 表示被複制的文件或文件夾
參數2,linux路 徑 表示要複製去的地方
mv移動文件 文件夾
語法:mv 參數1,參數2
參數1,linux路徑 表示被移動的文件或文件夾
參數2,linux路徑 表示要移動去的地方 如果目標不存在 則進行改名 確保目標存在
rm刪除文件 文件夾
語法:rm[-r-f]參數1,參數2....參數n
同cp命令一樣 -r選項用於刪除文件夾
-f表示force 強制刪除(不會彈出提示確認信息)
普通用户刪除內容不會彈出提示 只有root管理員用户刪除用户刪除內容會有所提示
所以普通用户用不到-f
通過su - root 並輸入密碼 切換到root
通過輸入exit命令 退回普通用户
參數....表示要刪除的文件或文件夾路徑 按照空格隔開
rm命令支持通配符*,用來做模糊匹配
符號表示通配符,即匹配任意內容(包含空),示例
test,表示匹配任何以test開頭的內容
*test,表示匹配任何以test結尾的內容
test,表示匹配任何包含test的內容
which find 查找命令
which命令 查看所使用的一系列命令的程序文件存放再哪裏
語法:which 要查找的命令
find命令 按文件名查找文件
語法:find 起始路徑 -name "被查找的文件名"
也可以用通配符
find命令 按文件大小查找文件
語法:find 起始路徑 -size +|1-[kMG]
-
- 表示大於小於
n表示大小數字
KMG表示大小單位 k(小寫字母)表示kb M表示MB,G表示GB
快捷鍵ctrl c表示停止輸出
- 表示大於小於
grep wc 管道符
可以通過grep命令,從文件中通過關鍵字過濾文件行
語法:grep [-n] 關鍵字 文件路徑
選項-n 可選 表示在結果中顯示匹配的行的行號
參數,關鍵字 必填,表示過濾的關鍵字,帶有空格或其他特殊符號,建議使用"" 將關鍵字包圍起來
參數,文件路徑,必填,表示要過濾內容的文件路徑,可作為內容輸入端口
可以通過wc命令統計文件的行數,單詞數量等
語法:wc[-c -m -l -w]文件路徑
選項,-c,統計bytes數量
選項,-m,統計字符數量
選項,-l,統計行數
選項,-w,統計單詞數量
參數,文件路徑,被統計的文件,可作為內容輸入端口
直接輸出wc test.txt
2 11 59 text.txt
2 是行數
11 是單詞數
59 字節數
管道符:|
管道符含義:將管道符左邊命令的結果,作為右邊命令的輸入
管道符也可以嵌套
echo tail 重定向符
可以使用 echo命令在命令行內輸出指定內容
語法:echo輸出的內容
無需選項 只有一個參數 表示要輸出的內容,複雜內容可以用"包圍"
反引號 我們可以通過將命令用反引號(通常稱為飄號)將其包圍
被`包圍的內容 會被作為命令去執行 而非普通字符
重定向符
重定向符:>和>>
將左側命令的結果 覆蓋寫入到符號右側指定的文件中
將左側命令的結果 追加寫入到符號右側指定的文件中
tail命令
使用tail命令 可以查看文件尾部內容,跟蹤文件的最新更改,語法如下:
tail [-f -num] linux路徑
參數,linux路徑,表示被跟蹤的文件路徑
選項,-f,表示持續跟蹤 ctrl+c停止持續跟蹤
選項,-num,表示,查看尾部多少行,不填默認10行
vi/vim編輯器
vi/vim是linux中最經典的文本編輯器
同圖形化界面中的文本編輯器一樣 vi是命令行下對文本文件進行編輯的絕佳選擇
vim是vi得加強版本 兼容vi得所有指令 不僅能編輯文本 而且還具有shell程序編輯功能 可以不同顏色得字體來辨別語法的正確性 極大方便了程序的設計和編輯性
命令:
vi 文件路徑
vim 文件路徑
vim兼容全部的vi功能 後續全部使用vim命令
如果不存在文件 會編輯新文件
vi/vim編輯文本三種模式 看圖片
命令模式(操作入口)、插入模式(輸入內容)、末行模式(執行指令)
. 命令模式(Command Mode)
具體作用:打開 vim 後的默認模式,負責光標移動、文本選擇、複製 / 粘貼 / 刪除等快速操作,不直接輸入內容。
核心意義:擺脱鼠標依賴,用快捷鍵高效操控文本,是 vim “高效編輯” 的核心基礎。
典型操作:h/j/k/l 移動光標、dd 刪除整行、yy 複製整行、p 粘貼、u 撤銷操作。
2. 插入模式(Insert Mode)
具體作用:唯一能輸入文字、修改內容的模式,相當於普通文本編輯器的 “編輯狀態”。
核心意義:專注於內容創作,與命令模式分離避免誤操作,確保輸入過程不受干擾。
進入 / 退出方式:命令模式下按 i(光標前插入)、a(光標後插入)、o(新行插入)進入;按 Esc 鍵退回命令模式。
3. 末行模式(Last Line Mode)
具體作用:在編輯器底部輸入指令,執行保存、退出、查找替換、文件操作等全局功能。
核心意義:處理 “命令模式無法覆蓋” 的複雜操作,拓展 vim 的功能性(如批量替換、多文件編輯)。
進入 / 退出方式:命令模式下按 : 進入;執行指令後按 Enter 完成,或按 Esc 退回命令模式。
典型操作::w 保存、:q 退出、:wq 保存退出、:q! 強制退出、:%s/舊內容/新內容/g 全局替換。
linux的root用户
語法:su [-] [用户名]
符號是可選的 表示是否在切換用户後加載環境變量
參數 用户名
切換用户後 可以通過exit命令退回上一個用户 也可以使用快捷鍵 ctrl + d
使用普通用户,切換到其他用户需要輸入密碼,如切換到root用户
使用root用户切換到其他用户 無需密碼 可以直接切換
普通用户的權限,一般在其HOME目錄內是不受限的
一旦出了HOME目錄,大多數地方,普通用户僅有隻讀和執行權限,無修改權限
sudo命令
sudo命令 為普通命令授權 臨時以root身份執行
語法: sudo 其他命令
在使用它命令之前 帶上sudo 即可為這一條命令臨時賦予root授權
但是並不是所有用户 都有權利使用sudo 我們需要為普通用户配置sudo認證
為普通用户配置sudo命令 輸入visudo命令
在文件最後添加
may ALL=(ALL) NOPASSWD:ALL
用户用户組
linux系統中可以:
配置多個用户 多個用户組
用户可以加入多個用户組
linux中關於權限的管控級別有2個級別
針對用户的權限控制
針對用户組的權限控制
比如:針對某文件 可以控制用户的權限 也可以控制用户組的權限
以下命令需root用户執行
創建用户組
groupadd用户組名
刪除用户組
groupdel用户組名
用户管理
以下命令需root用户執行
創建用户
useradd[-g-d]用户名
選項:-g指定用户的組 不指定-g 會創建同名組並自動加入 指定-g需要組已經存在 如已存在同名組 必須使用-g
選項:-d指定用户HOME路徑 不指定 HOME目錄默認在:/home/用户名
刪除用户
userdel[-r]用户名
選項:-r 刪除用户的HOME的目錄 不使用-r 刪除用户時 HOME目錄保留
查看用户所屬組
id[用户名]
參數:用户名,被查看的用户,如果不提供則查看自身
修改用户所屬組
usermod -aG 用户組 用户名 ,將指定用户加入指定用户組
getent
使用getent命令 可以查看當前系統中有哪些用户
語法:getent passwd
一共有七分信息
用户名:密碼(x):用户ID:組ID:描述信息(無用):HOME目錄:執行終端(默認bash)
使用getent命令 同樣可以查看當前系統中有哪些用户組
語法:getent group
包含三份信息,組名稱:組認證(顯示為X):組ID
查看權限控制(看圖片)
x 的核心含義是 “能否進入該文件夾(切換到該目錄)並訪問其中的內容(包括查看子文件 / 子文件夾的信息)”
一個文件想要想程序一樣執行的話 要x
修改權限控制 - chmod
我們可以使用chmod命令修改文件 文件夾的權限信息
注意 只有文件 文件夾的所屬用户或root用户可以修改
語法:chmod [-R] 權限 文件或文件夾
選項:-R 對文件夾內的全部命令應用同樣的操作
chmod u=rwx,g=rx,o=x hello.txt將文件權限修改為rwx rx x
u表示user所屬用户權限 g表示group組權限 o表示other其他用户權限
權限的數字序號
r計為4
w計為2
x計為1
751 rwx r-x --x
修改權限控制 chown命令
使用chown命令 可以修改文件 文件夾的所屬用户和用户組
普通用户無法修改所屬為其他用户或組 所以此命令只適用root用户執行
語法:chown [-R] [用户]:[用户組] 文件或文件夾
選項-R 同chmod 對文件夾內全部內容應用相同規則
選項 用户 修改所屬用户
選項 用户組 修改所屬用户組
:用於分隔用户和用户組
各類小技巧快捷鍵
ctrl + c 強制停止 也可以退出當前輸入 重新輸入
ctrl + d 退出賬號登錄 退出某些特定程序的專屬頁面 不能退出vi/vim
history命令 查看歷史輸入過的命令
歷史命令搜索 !命令前綴 自動執行上一次匹配的 !l 不加空格
ctrl +c輸入內容去匹配歷史命令 如果是你想要的回車執行 鍵盤左右鍵可以得到此命令不執行
光標移動快速鍵
ctrl+a 跳到命令開頭 ctrl+e跳到命令結尾
ctrl+鍵盤左鍵 向左跳一個單詞
ctrl+鍵盤右鍵 向右跳一個單詞
ctrl+l 清空終端內容 或通過clear命令
軟件的安裝
linux支持兩種方式安裝 下載安裝包自行安裝 系統的應用商店內安裝
yum命令:RPM包軟件管理器 用於自動化安裝配置linux軟件 並自動解決依賴問題
語法yum [-y] [install|remove|search]軟件名稱
選項-y 自動確認 無需手動確認安裝或卸載過程
install安裝
remove卸載
search 搜索
需要root權限
systemctl命令
linux系統很多軟件(內置或第三方)均支持使用systemctl命令控制:啓動 停止 開機自啓
能夠被systemctl管理的軟件 一般也稱之為:服務
語法:systemctl start|stop|status|enable|disable 服務名
啓動 關閉 查看狀態 開啓開機自啓 關閉開機自啓
系統內置的服務比較多
NwtworkManager 主網服務
network 副網絡服務
firewalld 防火牆服務
sshd,ssh服務(FinalShell遠程登陸 Linux使用的就是這個服務)
除了內置的服務以外 部分的第三方軟件也可以systemctl進行控制 (只要那個軟件內置有去註冊服務的功能)
yum install ntp安裝ntp
可以通過ntpd服務名 配合systemctl進行控制
yum install httpd 安裝apache服務器軟件
可以通過httpd服務名 配合systemctl進行控制
部分軟件安裝後沒有自動集成到systemctl中 我們可以手動添加
軟鏈接
在系統中創建軟鏈接 可以將文件 文件夾鏈接到其他位置
軟鏈接是一個特殊的文件,它存儲的內容是另一個文件或目錄的路徑(可以是絕對路徑或相對路徑)。當訪問軟鏈接時,系統會自動 “跳轉” 到它所指向的原始文件 / 目錄,讀取或操作原始文件的內容。
語法:ln -s 參數1參數2
-s選項 創建軟鏈接
參數1:被鏈接的文件或文件夾
參數2:要鏈接去的地方
ln -s /etc/yum.conf~/yum.conf
日期和時區
date命令可以在命令行中查看系統時間
語法:date[-d][+格式化字符串]
-d按照給定的字符串顯示日期 一般用與日期計算
date -d "+1 day"
支持的時間標記
year month day hour minute second
格式化字符串:通過特定的字符串標記,來控制顯示的日期格式
%Y年
%y年份後兩位數字
%m月份
%d日
%H小時
%M分鐘
%S秒
%s自1970-01-01 00.00.00UTC到現在的秒數
修改linux時區
使用root權限
rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
npt程序
npt程序自動校準系統時間
啓動 並設置開機自啓
nptd啓動後會定期幫我們聯網校準時間
也可以手動校準(root)ntpdate -u ntp.aliyun.com
IP地址 主機名
Ip地址主要有兩個版本 V4 和 V6
ipv4版本的地址格式a.b.c.d 其中a.b.c.d表示0~255的數字
可以通過命令ifconfig 查看本機的ip 如果不能使用 安裝yum -y install net-tools
ens33:是系統的物理(或虛擬)以太網卡。命名遵循 “可預測網絡接口命名規則”,其中 “en” 表示以太網(Ethernet),“s” 表示熱插拔插槽設備,“33” 是插槽編號。它是系統與外部網絡通信的主要通道,負責處理 IP 數據包的收發,例如你圖中顯示的 192.168.121.128 就是該網卡的 IPv4 地址,用於局域網內的網絡連接。
lo:是迴環接口(“loopback” 的縮寫),是一個虛擬接口,IP 地址默認是 127.0.0.1。它僅用於本機內部的網絡測試,發送到該接口的數據包不會真正發送到外部網絡,而是由本機直接接收,常用於調試網絡程序(比如在瀏覽器輸入 127.0.0.1 測試本地 Web 服務)。
virbr0:是虛擬橋接網卡,由虛擬化軟件(如 KVM、libvirt)創建,用於虛擬機的網絡橋接。它的 IP 地址通常是 192.168.122.1(如你圖中所示),作用是為虛擬機提供網絡連接,實現宿主機與虛擬機、虛擬機之間的網絡通信。
在linux中修改主機名
可以使用:hostname查看主機名
可以使用命令:hostnamectl set-hostname主機名 修改主機名(需root)
重新登錄FinalShell即可查看主機名以正確顯示
域名解析
配置linux固定ip地址
網絡傳輸
下載和網絡請求
掌握使用ping命令檢查網絡服務器是否可連通狀態
語法 ping[-c num]ip或主機名
選項c 檢查次數 不使用c 無限次數檢查
ping baidu.com
掌握使用wget命令下載文件
語法:wget[-b]url
選項:-b 可選 後台下載 會將日誌寫入到當前目錄的wget-log文件
參數:url 鏈接
可以通過 cat wget-log 或 less wget-log 命令查看這個日誌文件的內容
掌握使用curl命令發起網絡請求
語法curl [-O] url
-O用於下載文件 當url是下載鏈接時 可以使用此選項保存文件
端口
端口的概念
端口可以鎖定計算計上的具體程序
nmap命令 安裝yum -y install nmap
語法nmap 被查看的IP地址
nmap命令查看端口占用情況
掌握netstat命令的基本使用 查看指定端口的佔用情況
語法:netstat -anp|grep 端口號 安裝netstat:yum -y install net-tools
netstat -anp|grep 端口號 |
進程管理
掌握進程的概念
進程就是程序運行的有個id
可以通過ps命令查看linux系統中的進程信息
語法ps[-e -f]
選項-e 顯示全部的進程
選項-f 以完全格式化的形式展示信息(展示全部信息)
顯示信息表示
UID 進程所屬的用户ID
PID 進程的進程號ID
PPID 進程的父ID(啓動此進程的其他進程)
C 此進程的CPU佔用率
STIME 進程的啓動時間
TTY 啓動此進程的終端序號 如顯示? 表示非終端啓動
TIME 進程佔用CPU時間
CMD 進程對應的名稱或啓動路徑或啓動命令
使用管道符配合grep找到
ps -ef|grep 12
關閉進程
在linux中 可以通過kill命令關閉進程
語法:kill[-9]進程ID
kill 不使用-9得到結果(Terminated)
選項-9 表示強制關閉進程 不使用此選項會向進程發送信號要求其關閉 但是否關閉看進程自身的處理機制 (得到結果killed)
主機狀態監控
查看系統資源佔用
可以通過top命令查看CPU 內存使用情況(看圖片)
負載表示1 有一顆cpu百分百運行
磁盤信息監控
使用df命令 可以查看硬盤的使用情況
語法:df[-h]
選項-h可以更加人性化顯示
使用iostat查看CPU 磁盤的相關信息
語法iostat[-x][num1][num2]
選項:-x 顯示更多信息
num1:數字 刷新間隔 num2:數字 刷新幾次
tps:該設備每秒的傳輸次數 一次傳輸意思是一次I/O請求。多個邏輯請求可能會被合併為"一次I/O請求" 一次傳輸請求的大小是未知的
網絡狀態監控
語法:sar -n DEV num1 num2
選項:-n查看網絡 DEV表示查看網絡接口
num1:刷新間隔(不填查看一次結束)num2:查看次數(不填無限次數)
環境變量
環境變量:系統和程序共用的 “全局備忘錄”,存關鍵信息(如命令路徑、主目錄);
在linux系統中執行 env命令即可查看當前系統中記錄的環境變量
環境變量是一種KeyVakue型結構
$的核心作用是 “引用環境變量的值”—— 相當於告訴系統:“把‘某個變量’裏存的內容拿出來用”
用echo $變量名查看值 或者echo${變量名}qw 拼接
自行設置環境變量
linux環境變量可以用户臨時去設置 其中分為
臨時設置 語法:export 變量名=變量值
永久生效
針對當前用户生效 配置在當前用户的:~/bashrc文件中
針對所有用户生效 配置在系統的 /etc/profile文件中
並通過語法:source配置文件 進行立刻生效 或重新登陸finalShell生效
linux文件的上傳和下載
利用finalShell
下載yum -y install ltzsz可以安裝這個命令
rz文件上傳
sz文件 文件進行下載
壓縮和解壓
如何在linux系統中操作:tar,gzip,zip這三種壓縮格式
tar命令(看圖片)
zip命令