【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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...