【Python使用】python高級進階知識md總結第3篇:靜態Web伺服器-返回指定頁面數據,靜態Web伺服器-多任務版【附代碼文檔】

来源:https://www.cnblogs.com/yinuo112/p/18066735
-Advertisement-
Play Games

InLine_Function How to Write it? example-> inline void func(); inline int sum(int v1 , int v2 ); inline void func(){ std::cout<<"func()"<<std::endl; } ...


python高級進階全知識知識筆記總結完整教程(附代碼資料)主要內容講述:操作系統,虛擬機軟體,Ubuntu操作系統,Linux內核及發行版,查看目錄命令,切換目錄命令,絕對路徑和相對路徑,創建、刪除文件及目錄命令,複製、移動文件及目錄命令,終端命令格式的組成,查看命令幫助。HTTP 請求報文,HTTP響應報文,搭建Python自帶靜態Web伺服器,靜態Web伺服器-返回固定頁面數據。靜態Web伺服器-返回指定頁面數據,靜態Web伺服器-多任務版,靜態Web伺服器-面向對象開發。靜態Web伺服器-命令行啟動動態綁定埠號,html 的介紹,html 的基本結構,vscode 的基本使用,初始常用的 html 標簽,資源路徑,列表標簽,表格標簽。表單標簽,表單提交,css 的介紹,css 的引入方式,css 選擇器。css 屬性,JavaScript的介紹,JavaScript的使用方式,變數和數據類型,函數定義和調用,變數作用域,條件語句,獲取標簽元素。操作標簽元素屬性,數組及操作方法,迴圈語句,字元串拼接,定時器,jQuery的介紹,jQuery的用法,jQuery選擇器,選擇集過濾。選擇集轉移,獲取和設置元素內容,獲取和設置元素屬性,jQuery事件,事件代理,JavaScript對象,json。ajax,資料庫,關係型資料庫管理系統。MySQL資料庫,數據類型和約束。命令行客戶端MySQL的使用,as和distinct關鍵字,where條件查詢,排序,分頁查詢。ls命令選項,mkdir和rm命令選項,cp和mv命令選項,重定向命令,查看文件內容命令,鏈接命令,文本搜索命令,查找文件命令。聚合函數,分組查詢,連接查詢-內連接,連接查詢-左連接,連接查詢-右連接,連接查詢-自連接,子查詢。資料庫設計之三範式,外鍵SQL語句的編寫,演練-分組和聚合函數的組合使用,將查詢結果插入到其它表中,使用連接更新表中某個欄位數據。創建表並給某個欄位添加數據,修改goods表結構,PyMySQL的使用。事務,索引。閉包,閉包的使用,修改閉包內使用的外部變數,裝飾器,裝飾器的使用,通用裝飾器的使用,多個裝飾器的使用。帶有參數的裝飾器,類裝飾器的使用,web框架概述,框架程式開發,模板替換功能開發。路由列表功能開發,裝飾器方式的添加路由,顯示股票信息頁面的開發,個人中心數據介面的開發,ajax請求數據渲染個人中心頁面。logging日誌,property屬性。with語句和上下文管理器,生成器的創建方式。深拷貝和淺拷貝,正則表達式的概述,re模塊介紹,匹配單個字元。壓縮和解壓縮命令,文件許可權命令,獲取管理員許可權的相關命令,用戶相關操作,用戶組相關操作,遠程登錄、遠程拷貝命令。匹配多個字元,匹配開頭和結尾,匹配分組。編輯器 vim,軟體安裝,軟體卸載,多任務的介紹,進程,多進程的使用。獲取進程編號,進程執行帶有參數的任務,進程的註意點,線程,多線程的使用。線程執行帶有參數的任務,線程的註意點,互斥鎖。死鎖,進程和線程的對比,IP 地址的介紹,埠和埠號的介紹,TCP 的介紹,socket 的介紹。TCP 網路應用程式開發流程,TCP 客戶端程式開發,TCP服務端程式開發,TCP網路應用程式的註意點。案例-多任務版TCP服務端程式開發,socket之send和recv原理剖析,HTTP 協議,URL,查看HTTP協議的通信過程。

全套筆記資料代碼移步: 前往gitee倉庫查看

感興趣的小伙伴可以自取哦,歡迎大家點贊轉發~


壓縮和解壓縮命令

學習目標

  • 能夠使用tar命令完成文件的壓縮和解壓縮

1. 壓縮格式的介紹

Linux預設支持的壓縮格式:

  • .gz
  • .bz2
  • .zip

說明:

  • .gz和.bz2的壓縮包需要使用tar命令來壓縮和解壓縮
  • .zip的壓縮包需要使用zip命令來壓縮,使用unzip命令來解壓縮

壓縮目的:

  • 節省磁碟空間

2. tar命令及選項的使用

命令 說明
tar 壓縮和解壓縮命令

tar命令選項:

選項 說明
-c 創建打包文件
-v 顯示打包或者解包的詳細信息
-f 指定文件名稱, 必須放到所有選項後面
-z 壓縮或解壓縮(.gz)
-j 壓縮或解壓縮(.bz2)
-x 解包
-C 解壓縮到指定目錄

壓縮成.gz的效果圖:

tar命令

壓縮成.bz2的效果圖:

tar命令

解壓縮.gz的效果圖:

tar命令

解壓縮.gz到指定目錄效果圖:

tar命令

解壓縮.bz2的效果圖:

tar命令

解壓縮.bz2到指定目錄效果圖:

tar命令

3. zip和unzip命令及選項的使用

命令 說明
zip 壓縮成.zip格式文件
unzip 解壓縮.zip格式文件

unzip命令選項:

選項 說明
-d 解壓縮到指定目錄

壓縮成.zip的效果圖:

zip命令

解壓縮.gz的效果圖:

unzip命令

解壓縮.zip到指定目錄效果圖:

unzip命令

說明:

  • 壓縮文件儘量使用.gz格式,因為占用空間較少
  • 使用zip命令壓縮的文件占用空間比較多, 當時比較通用,操作更加簡單。

4. 小結

  • .gz和.bz2的壓縮文件使用tar命令來完成壓縮和解壓縮
  • .zip的壓縮文件使用zip和unzip命令來完成壓縮和解壓縮

文件許可權命令

學習目標

  • 能夠使用chmod命令完成文件許可權的修改

1. chmod命令的介紹

命令 說明
chmod 修改文件許可權

chmod修改文件許可權有兩種方式:

  • 字母法
  • 數字法

2. chmod 字母法的使用

角色說明:

角色 說明
u user, 表示該文件的所有者
g group, 表示用戶組
o other, 表示其他用戶
a all, 表示所有用戶

許可權設置說明:

操作符 說明
+ 增加許可權
- 撤銷許可權
= 設置許可權

許可權說明:

許可權 說明
r 可讀
w 可寫
x 可執行
- 無任何許可權

chmod命令字母法效果圖:

chmod命令

chmod命令同時設置多個角色的效果圖:

chmod命令

3. chmod 數字法的使用

數字法就是“rwx” 這些許可權也可以用數字來代替

許可權說明:

許可權 說明
r 可讀,許可權值是4
w 可寫,許可權值是2
x 可執行,許可權值是1
- 無任何許可權,許可權值是0

chmod命令數字法效果圖:

chmod命令

4. 小結

  • 利用 chmod 命令可以控制文件的操作許可權。
  • 字母法格式: chmod 不同角色設置的許可權 文件
  • 數字法格式: chmod 不同角色的許可權值 文件名

獲取管理員許可權的相關命令

學習目標

  • 能夠知道切換到管理員用戶的命令

1. sudo命令的使用

命令 說明
sudo -s 切換到root用戶,獲取管理員許可權
sudo 某個命令的執行需要獲取管理員許可權可以在執行命令前面加上sudo

sudo -s效果圖:

sudo命令

sudo 命令效果圖:

sudo命令

說明:

  • 如果只是某次操作需要使用管理員許可權建議使用 sudo , 也就是說臨時使用管理器許可權。
  • 如果大量操作都需要使用管理員許可權 sudo –s, 但是操作需謹慎。

2. whoami命令的使用

命令 說明
whoami 查看當前用戶

whoami 命令效果圖:

whoami命令

3. exit命令的使用

命令 說明
exit 退出登錄用戶

exit 命令的效果圖:

exit命令

說明:

  • 如果是切換後的登陸用戶,退出則返回上一個登陸賬號。
  • 如果是終端界面,退出當前終端。

4. who命令的使用

命令 說明
who 查看所有的登錄用戶

who 命令的效果圖:

who命令

5. passwd命令的使用

命令 說明
passwd 修改用戶密碼,不指定用戶預設修改當前登錄用戶密碼

passwd 命令的效果圖:

passwd命令

6. which命令的使用

命令 說明
which 查看命令位置

which 命令的效果圖:

which命令

7. 關機和重啟命令的使用

命令 說明
shutdown –h now 立刻關機
reboot 重啟

8. 小結

  • sudo 是臨時獲取管理員許可權
  • sudo -s 是切換到管理員用戶,一直使用管理員許可權,需要謹慎操作。
  • exit 是退出當前用戶
  • passwd 預設修改當前用戶密碼

用戶相關操作

學習目標

  • 能夠知道創建用戶的命令

1. 創建用戶

命令 說明
useradd 創建(添加)用戶

useradd命令選項:

選項 說明
-m 自動創建用戶主目錄,主目錄的名字就是用戶名
-g 指定用戶所屬的用戶組,預設不指定會自動創建一個同名的用戶組

創建用戶效果圖:

useradd命令

查看所有用戶信息的文件效果圖:

useradd命令 useradd命令

說明:

  • useradd 命令的使用需要使用管理員許可權,前面需要加上 sudo
  • 創建用戶如果不指定用戶組,預設會自動創建一個同名的用戶組
  • 查看用戶是否創建成功,可以查看/etc/passwd這個文件
  • 查看用戶組是否創建成功,可以查看/etc/group這個文件

passwd文件中的每項信息說明,以root❌0:0:root:/root:/bin/bash為例:

  • 第一個:用戶名
  • 第二個:密碼占位符
  • 第三個:uid, 用戶id
  • 第四個:gid, 用戶所在組id
  • 第五個:用戶描述, 可選,
  • 第六個:用戶的主目錄所在位置
  • 第七個:用戶所用 shell 的類型,一般由bash或者sh,預設不設置是sh類型

group文件中的每項信息說明, 以laowang❌1001:為例:

  • 第一個:用戶組名
  • 第二個:用戶組密碼占位符,一般Linux系統的用戶組都沒有密碼的
  • 第三個:組id

id命令查看用戶信息:

命令 說明
id 查看用戶信息

id命令效果圖: id命令

每項信息說明:

uid=1001(laowang) gid=1001(laowang) 組=1001(laowang)

  • 第一個: uid 表示用戶id
  • 第二個: gid 表示用戶組id
  • 第三個: 組 表示用戶所在的用戶組

2. 設置密碼

給其它用戶設置密碼,需要使用:sudo passwd 用戶名

設置密碼效果圖: useradd命令

3. 切換用戶

命令 說明
su 切換用戶

語法格式: su - 用戶名

切換用戶效果圖:

su命令

在laowang用戶使用sudo -s效果圖:

4. 刪除用戶

命令 說明
userdel 刪除用戶

userdel命令選項:

選項 說明
-r 用戶名 刪除用戶主目錄,必須要設置,否則用戶主目錄不會刪除

刪除用戶效果圖:

userdel命令

id查看用戶信息效果圖:

userdel命令

查看group文件信息效果圖:

userdel命令

說明:

  • 刪除用戶,預設同名的用戶組也會被刪除

5. 小結

  • 創建用戶命令格式: sudo useradd -m 用戶名, 預設會創建一個同名的用戶組。
  • 查看用戶信息使用 id 命令或者 /etc/passwd文件
  • 給用戶設置密碼使用 sudo passwd 用戶名
  • 切換用戶使用 su - 用戶名
  • 刪除用戶使用 sudo userdel -r 用戶名,預設會刪除同名的用戶組。

用戶組相關操作

學習目標

  • 能夠知道創建用戶組的命令

1. 創建用戶組

命令 說明
groupadd 創建(添加)用戶組

創建用戶組效果圖:

groupadd命令

2. 創建用戶並指定用戶組

創建用戶並指定用戶組效果圖:

groupadd命令

3. 刪除用戶組

命令 說明
groupdel 刪除用戶組

刪除用戶組效果圖:

groupdel命令

說明:

  • 如果用戶組下麵有用戶先刪除用戶在刪除用戶組

4. 小結

  • 創建用戶組使用: sudo groupadd 用戶組名
  • 創建用戶並指定用戶組使用: sudo useradd -m -g 用戶組 用戶名
  • 刪除用戶組使用: sudo groupdel 用戶組名
  • 查看用戶組信息使用 /etc/group文件

遠程登錄、遠程拷貝命令

學習目標

  • 能夠寫出遠程拷貝、遠程登錄命令

1. 遠程登錄、遠程拷貝命令的介紹

命令 說明
ssh 遠程登錄

2. ssh命令的使用

ssh是專門為遠程登錄提供的一個安全性協議,常用於遠程登錄,想要使用ssh服務,需要安裝相應的服務端和客戶端軟體,當軟體安裝成功以後就可以使用ssh命令了,以後可以通過遠程登錄之間操作遠程的伺服器。

遠程登錄效果圖:

ssh命令

軟體安裝步驟:

  1. 假如Ubuntu作為服務端,需要安裝ssh服務端軟體. 執行命令: sudo apt-get install openssh-server
  2. 客戶端電腦如果是 macOS 系統則不需要安裝 ssh 客戶端軟體,預設已經安裝過了,直接可以使用 ssh 命令
  3. 客戶端電腦如果是Windows系統則需要安裝OpenSSH for Windows這個軟體

ssh命令格式:

ssh 用戶名@ip地址

ssh命令效果圖:

ssh命令

說明:

  • 在一臺電腦上可以安裝安裝ssh客戶端和ssh服務端軟體
  • 在Ubuntu安裝ssh客戶端命令: sudo apt-get install openssh-client

3. FileZilla軟體的使用

FileZilla 是一個免費開源的FTP軟體, 使用可視化方式進行上傳和下載文件。以後可以通過 FileZilla 來代替 scp 命令

FileZilla使用效果圖:

FileZilla FileZilla FileZilla FileZilla

4. 小結

  • ssh命令是遠程登錄主機電腦,相當於直接操作的是遠程電腦。
  • 大量的文件上傳和下載可以通過可視化工具FileZilla來完成。

未完待續, 同學們請等待下一期

全套筆記資料代碼移步: 前往gitee倉庫查看

感興趣的小伙伴可以自取哦,歡迎大家點贊轉發~


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 我們每天寫的vue代碼都是寫在vue文件中,但是瀏覽器卻只認識html、css、js等文件類型。所以這個時候就需要一個工具將vue文件轉換為瀏覽器能夠認識的js文件,想必你第一時間就想到了webpack或者vite。但是webpack和vite本身是沒有能力處理vue文件的,其實實際背後生效的 ...
  • 過濾器和攔截器的辨析 介紹 過濾器和攔截器都是為了在請求到達目標處理器(Servlet或Controller)之前或者之後插入自定義的處理邏輯 過濾器: 遵循AOP(面向切麵編程)思想實現,基於Servlet規範提供的Filter介面,它是位於客戶端請求與伺服器響應之間的一個組件,依賴於Servle ...
  • 什麼是函數回調? 介紹 函數回調是一種編程概念,它描述的是這樣一個過程:一個函數(稱為回調函數)作為參數傳遞給另一個函數(稱為調用函數),當滿足一定條件或者在某個特定時刻,調用函數會調用傳遞過來的回調函數。這種機制允許程式員在編寫代碼時,能夠在不同的上下文中重用函數,同時也能實現非同步處理、事件驅動編 ...
  • 是的,\t 是指製表符(tab),它通常用作欄位分隔符在 TSV(Tab-Separated Values)格式的文件中。TSV是一種簡單的文本格式,它使用製表符來分隔每一列中的值,而每一行則代表一個數據記錄。 TSV文件例: ID\tName\tAge\tCity 1\tJohn Doe\t28\ ...
  • 一、基礎知識 1、Lucene 是什麼 Lucene 是一個本地全文搜索引擎,Solr 和 ElasticSearch 都是基於 Lucene 的封裝 Lucene 適合那種輕量級的全文搜索,我就是伺服器資源不夠,如果上 ES 的話會很占用伺服器資源,所有就選擇了 Lucene 搜索引擎 2、倒排索 ...
  • Java HashMap HashMap 是一種哈希表,它存儲鍵值對。鍵用於查找值,就像數組中的索引一樣。HashMap 的優勢在於它可以使用任何類型作為鍵,並且查找速度很快。 創建 HashMap // 導入 HashMap 類 import java.util.HashMap; public c ...
  • 一、什麼是 Java Java 是 Sun Microsystems 於 1995 年首次發佈的一種編程語言和計算平臺。編程語言還是比較好理解的,什麼是計算平臺呢? 計算平臺是電腦中運行應用程式(軟體的環境),包括硬體環境和軟體環境。一般系統平臺包括一臺電腦的硬體體繫結構,操作系統、運行時庫。 Ja ...
  • 哈嘍大家好,我是鹹魚。 今天鹹魚列出了一些大家在初學 Python 的時候容易踩的一些坑,看看你有沒有中招過。 原文:https://www.bitecode.dev/p/unexpected-python-traps-for-beginners 不明顯的字元串拼接 Python 在詞法分析的時候會 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...