Linux基礎學習--linux的文件權限與目錄配置

linux的文件權限與目錄配置

1.用戶與用戶組

在Linux中,每個文件都有相當多的屬性和權限,其中最重要的概念就是文件的擁有者。

1.1 文件擁有者

Linux是一個多人多任務的系統,常常有多人共用一臺主機的情況出現,因此在系統中可以設置多個用戶及用戶組,以此來保護每個人的隱私。
對于一個文件的擁有者,他如果設置只有自己才能看和修改這個文件,其他人就無法查看和修改它。

1.2 用戶組

用戶組一般在團隊協作時被使用。在一個用戶組中,我們既可以允許組內成員查看和修改自己的文件,以便于完成團隊任務,也可以私有自己的文件,保護自己的隱私,并且可以設置組外的成員對組內的文件沒有任何權限。而對于一個用戶來說,它可以加入多個用戶組。

1.3 其他人

一個用戶(User)所屬群組(Group),以及不屬于用戶組的其他人(Others)
一個用戶的文件,同屬于這個用戶的用戶組,組外的其他人對于這個文件都是陌生人。
在其中有個例外,就是root用戶,root用戶在Linux系統中擁有至高無上的權利,他可以任意查看修改任何文件,擁有相當萬能和危險的力量。
Linux用戶身份和用戶組記錄文件
Linux系統中,默認情況下,以下三個文件是Linux系統中賬號,密碼,用戶組信息的集中地:
/etc/passwd文件中,所有系統上的賬號和一般身份用戶,以及root用戶的相關信息,
/etc/shadow文件中:記錄個人的密碼。
/etc/group文件中:記錄Linux中所有的組名。

2.linux文件權限概念

初學Linux時常常遇到的Permission deny問題,就是權限不足的意思。

2.1 Linux文件屬性

在Linux中,使用命令ls可以查看當前目錄下的所有文件。使用su -來切換到root用戶,再使用ls -al就會得到以下形式:

-rw-r--r--.   2     root    root     1024     May 4 18:00 test.txt

【 權限 】【鏈接數】【擁有者】【用戶組】【文件容量】【 修改日期 】【文件名】

  • 在學習時,建議使用root用戶,可以用su -來切換到root用戶,exit來退回到原用戶。

  • 第一欄:代表這個文件的類型和權限 ‘’ -rw-r–r-- " 一共有十個字符

    • 第一個字符 代表文件是目錄,文件,還是鏈接文件
      • 為【d】時是目錄
      • 為【-】時是文件
      • 為【|】時是鏈接文件
      • 為【b】時是設備文件內可供存儲的周邊設備
      • 為【c】時是設備文件內的串行端口設備,如鍵盤鼠標
    • 接下來的字符中,三個為一組,均為【rwx】的組合,r表示可讀(read),w表示可寫(write),x表示可執行(execute),無對應權限時,就用-代替。
      • 第一組表示文件擁有者可具備權限
      • 第二組表示加入此用戶組的賬號的權限
      • 第三組表示非本人且沒有加入本用戶組的其他賬號的權限
  • 第二欄:表示有多少文件名鏈接到此節點

    • 每個文件都會把它的權限和屬性記錄到文件系統的incode中
  • 第三欄:表示這個文件或目錄的擁有者賬號。

  • 第四欄:表示這個文件的所屬用戶組。

  • 第五欄:表示這個文件的大小,默認大小為Bytes。

  • 第六欄:表示文件的創建日期或者最近的修改日期。

  • 第七欄:表示這個文件的文件名。如果文件名前面有【.】,表示這個文件是隱藏文件。

2.2 修改文件屬性與權限
chgrp:修改文件所屬用戶組

chgrp即是change group的縮寫,它的一般用法為:

chgrp [-R] 新用戶組名 目錄名/文件名
  • -R:即進行遞歸(recursive)修改,連同子目錄下的所有文件,目錄都更新為這個用戶組。
    其中新用戶組名必須存在于/etc/group文件中。
chown:修改文件擁有者

chown即是change owner的縮寫,它的一般用法為:

chown [-R] 新用戶名[:用戶組] 目錄名/文件名
  • 即可以只寫新用戶名修改文件擁有者,也可以寫新用戶名:用戶組名來修改文件擁有者和用戶組。
    用戶名必須存在于/etc/passwd文件中
chmod:修改文件權限

chmod來修改文件的權限,有兩種設置方法,分別是數字和符號:

  • 數字類型修改文件權限
    Linux文件的基本權限有9個,分為三組:擁有者(owner),所屬群組(group),其他人(others)。每組各有自己的讀(read),寫(write),執行(execute)權限。整體權限字符為【-rwxrwxrwx】。
    每種權限都可以用數字代替:
r:4
w:2
x:1

那么每種權限組合就可以用數字和表示出來:

rwx = 7
-wx = 3
...
r-- = 4
...
--- = 0

整體權限字符就可以直接用數字表示:

-rwxrw-r-- 表示為 764

就可以用chomd進行設置

chomd [-R] xyz 文件名或目錄
  • 符號類型修改文件權限

在符號類型修改中:

對象操作符權限類型說明
u指擁有者(user)
g+r為用戶組添加讀權限
chmodo-w為其他人移除寫權限
a=x設置全部用戶僅有執行權限

具體命令為

chomd u=rwx,g+rw,o-r 文件名
2.3.目錄和文件的權限意義

在linux系統中,文件權限對于數據安全非常重要,而權限對于目錄和文件是不同的。

  • 權限對文件的重要性
    文件就是實際含有數據的地方,包括一般文本文件,數據庫文件,二進制可執行文件等。
    權限對于文件:
    • r(read):可以讀取此文件的實際內容,如讀取文本文件的文字內容等。
    • w(write):可以編輯,新增或修改該文件的內容(不包含刪除該文件)。
    • x(execute):該文件有可以被系統執行的權限。
      • 在Linux中,一個文件是否可以被執行,僅由x權限決定,與文件名沒有決定關系。
  • 權限對目錄的重要性
    目錄主要的內容在記錄文件名列表,文件名和目錄有強烈的關聯。對于目錄來說權限的意義有些不同:
  • r (read contects in dirctory)
    表示具有讀取目錄結構列表的權限,具有該權限時,可以查詢該目錄下的文件名數據。
  • w (modify contects of directory)
    表示具有改動該目錄結構列表的權限,也就是
    • 建立新的文件和目錄。
    • 刪除已經存在的文件或目錄(無視該文件或目錄的權限)。
    • 將已存在的文件或目錄改名。
    • 移動該目錄內的文件或目錄的位置。
  • x (access directory)

表示具有用戶進入該目錄成為工作目錄的權限
總結一下:

組件內容rwx
文件詳細數據data讀取文件內容修改文件內容執行文件內容
目錄文件名讀取文件名修改文件名進入該目錄的權限
2.4.linux文件種類與拓展名
文件種類
  • 常規文件(regular file):第一個屬性為 - ,就是一般進行讀寫的文件。根據文件內容還可以繼續分類:
    • 純文本文件(ASC||):內容為人類可以直接讀到的數據,如數字,字母等。
    • 二進制文件(binary):Linux中的可執行文件,系統僅可認識并執行此類文件。
    • 數據文件(data) :在程序運行過程中會讀取的特定格式的文件。
  • 目錄(directory):第一個屬性為d
  • 鏈接文件(link):第一個屬性為l,類似于快捷方式。
  • 設備與設備文件(device):與系統周邊及存儲等相關的一些文件,通常都集中在/dev目錄下,通常又分為兩種:
    • 區塊(block):第一個屬性為b。就是一些存儲數據,以提供系統隨機存取的接口設備,舉例來說硬盤和軟盤就是。
    • 字符(character):第一個屬性為c,亦是一些串行端口的接口設備,如鍵盤,鼠標等。
  • 數據輸送軟件(FIFO):第一個屬性為p。主要目的為解決多個程序同時讀寫一個文件所造成的錯誤問題。
Linux文件拓展名

一個文件能不能被執行,與它的第一欄的十個屬性有關,與文件拓展名根本一點關系都沒有。
一個文件能否執行成功,只和兩個要素有關:

  • 文件是否是Linux可執行的類型
  • 文件是否有被執行的權限
    但在Linux中,為了借由拓展名來了解該文件是什么東西,通常還是會以適當拓展名來表示文件是什么種類。
    以下是常用拓展名:
  • *.sh:腳本或批處理文件(scripts),因為批處理文件使用shell寫成,所以拓展名就編成 .sh。
  • Z,.tar,.tar.gz,.zip,*.tgz:經過打包的壓縮文件,不同的壓縮文件gunzip,tar等,產生了不同的后綴名。
  • .html,.php:網頁相關文件,分別代表HTML文件語法和PHP語法的網頁文件。.html的文件可以使用網頁瀏覽器直接開啟。.php文件可以通過客戶端的瀏覽器來服務端瀏覽,以得到運算后的網頁結果。

3.linux目錄配置

3.1Linux目錄配置的依據——FHS

FHS的主要目的是希望用戶可以了解到以安裝軟件通常放置與哪個目錄下,所以制定了一個Linux目錄配置的標準。
FHS依據文件系統使用的頻繁與否與是否允許用戶隨意修改,而將目錄定義成為四種可交互作用的形態:

可分享不可分享
不變/usr(軟件存放處)/etc(配置文件)
/opt(第三方軟件)/boot(啟動與內核文件)
可變動/var/mail(用戶郵箱)/var/run(程序相關)
/var/spool/news(新聞組)/var/lock(程序相關)

這四種類型為:

  • 可分享:可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據,是能夠分享給網絡上其他主機掛載用到目錄。
  • 不可分享:自己機器上面運行的設備文件或是與程序相關的socket文件等,僅與自身機器有關,不適合分享給其他主機。
  • 不變:有些數據是不會經常變動的,跟隨著發行版而不變動。
  • 可變動:經常修改的數據,例如日志文件,一般用戶可自行接受的新聞組等。
    事實上,FHS針對目錄樹架構僅定義出三層目錄下該放什么:
  • /(root,根目錄):與啟動系統有關。
  • /user:與軟件安裝/執行有關。
  • /var:與系統運行過程有關。
根目錄(/)的意義與內容

根目錄是整個系統中最重要的一個目錄,所有的目錄都由根目錄衍生,同時根目錄也與啟動,還原,系統修復有關。
因為根目錄十分重要,以此根目錄(/)所在分區應該越小越好,且應用程序所安裝的軟件最好不要與根目錄放在同一個分區
在FHS定義下,根目錄下應該有下面這些目錄:
第一部分:FHS要求必須安裝的目錄。

  • /bin:放置在單人維護模式下還能被使用的命令,可以被root與一般賬號所使用,主要有:cat,chmod,chown,date,mv等
  • /boot:主要放置啟動會使用到的文件,包括Linux內核文件以及啟動選項與啟動所需配置文件等。Linux內核常用文件名為:vmlinuz。
  • /dev:在Linux系統中,任何設備與接口設備都是以文件的形式存在于這個目錄中。只要通過讀寫這個目錄下的某個文件,就等于讀寫某個設備。
  • /etc系統主要的配置文件幾乎都放置在這個目錄內,例如人員的賬號密碼文件,各種服務的啟動文件等。一般來說,這個目錄下的各文件屬性是可以讓一般用戶查看的,但是只有root用戶有權力修改。FHS建議不要放置可執行文件在這個目錄中。還規范了幾個重要的目錄最好要在/etc/目錄下:
    • /etc/opt(必要):這個目錄在放置第三方輔助軟件/opt的相關配置文件。
    • /etc/X11/(建議):與X Window有關的各種配置文件都在這里,尤其是xorg.conf這個X Server的配置文件。
    • /etc/sgml/(建議):與SGML格式有關的各項配置文件。
    • /etc/xml/(建議):與XML格式有關的各項配置文件。
  • /lib:其中放置的是在啟動時會用到的函數庫,以及在/bin或/sbin下面的命令會調用的函數庫而已。FHS要求以下目錄必須存在
    • /lib/modules/:這個目錄主要放置可抽換式的內核相關模板(驅動程序)
  • /media:目錄下放置的是可刪除的設備,包括軟盤,光盤,DVD等設備都暫時掛載于此
  • /mnt:放置一些想要暫時掛載的額外的設備
  • /opt:這個是給第三方輔助軟件放置的目錄
  • /run:放置系統啟動后所產生的各項信息
  • /sbin:放置的是在系統啟動過程中所需要的,包括啟動,修復,還原系統所需要的命令。至于某些服務器軟件程序,一般放置在/usr/sbin/中。本機自行安裝的軟件產生的系統執行文件,放置到/usr/local/sbin中。常見命令包括:放fdisk,fsck,ifconfig,mkfs等。
  • /srv:是一些網絡服務啟動之后,這些服務所需要使用的數據目錄。
  • /tmp:這是讓一般用戶或是正在執行的程序暫時放置文件的地方。這個目錄是任何人都可以存取的需要定時清理。FHS建議在啟動時要將/tmp下的數據全部刪除。
    第二部分:FHS建議可以存在的目錄
  • home:系統默認的家目錄,默認的用戶家目錄都會規范到這里。
    * :代表目前這個用戶的家目錄。
    * dmatsai:代表dmatsai的家目錄。
  • /lib:用來存放與/lib不同的格式的二進制函數庫,例如支持64位的/lib64函數庫等。
  • /root:系統管理員(root)的家目錄。
    有些FHS標準外的目錄需要注意:
  • lost+found:這個目錄是使用ext2,ext3,ext4文件系統格式才會產生的目錄,目的時當文件系統發生錯誤時,將一些遺失的片段放置到這個目錄下,不過如果使用的是xfs系統就不會存在此目錄。
  • proc:這個目錄本身是一個虛擬文件系統,它放置的數據都是在內存中,例如系統內核,進程信息,外接設備的狀態及網絡狀態,所有數據都在內存中,所以本身不占任何空間。
  • sys:與/proc非常類似,也是虛擬的文件系統,主要記錄內核和系統硬件信息相關的內容。同樣不占硬盤容量。
  • usr:下文中詳細講解。
  • var:下文中詳細講解。
/usr的意義與u內容

依據FHS的基本定義,/usr里面放置的數據屬于不可分享與不可變動。
/usr并非user的縮寫,usr為UNIX Software Resource 的縮寫,也就是UNIX操作系統軟件資源所存放的目錄,并不是用戶的數據。所有系統默認的的軟件都會放置到/usr下面。一般來說/usr的子目錄建議有下面這些:
第一部分:FHS要求必須存在的部分

  • /usr/bin/:所有一般用戶能夠使用的命令都放在這里。FHS要求在此目錄下不應該有子目錄。
  • /usr/lib/:基本上,與/lib功能相同。
  • /usr/local/:系統管理員在本機安裝自己下載的軟件時,建議安裝到此目錄。
  • /usr/sbin/:非系統正常運行所需要的系統命令。
  • /usr/share/:主要放置只讀的數據文件,也包括共享文件,在這個目錄下放置的數據幾乎是不分硬件架構均可以讀取的數據,幾乎都是文本文件。還有些常見的子目錄:
    • /usr/share/man:在線幫助文件。
    • /usr/share/doc:軟件的說明文檔。
    • /usr/share/zoneinfo:與時區有關的時區文件。
      第二部分:FHS建議可以存在的目錄
  • /usr/games/:與游戲比較相關的數據存放處。
  • /usr/include/:c/c++等程序語言的頭文件與包含文件放置處。
  • /usr/libexec/:某些不被一般用戶常用的執行文件或腳本。
  • /usr/lib:與/lib作用相同。
  • /usr/src/:一般建議把源代碼放置到這里。內核源代碼放置到/usr/src/Linux/目錄下。
/var的意義與內容

/var是在系統運行后會逐漸占用硬盤容量的目錄。/var目錄主要針對于經常性變動的文件,包括緩存(cache),日志文件(log file),以及某些軟件運行所產生的文件。常見子目錄有:
第一部分:FHS要求必須要存在的目錄

  • /var/cache/:應用程序本身運行過程中會產生的一些緩存。
  • /var/lib/:程序本身執行過程中,需要使用到的數據文件所放置的目錄。在此目錄下的各自的軟件應該要有各自的目錄。
  • /var/lock/:某些設備或者文件資源一次只能被一個應用程序所使用,如果同時有兩個程序使用該設備時,就可能產生一些錯誤的情況,因此就得要將該設備上鎖,以確保該設備只會給單一軟件所使用。
  • /var/log/:相當重要。這是日志文件放置的目錄。
  • /var/mail/:放置個人電子郵箱的目錄。
  • /var/run/:某些程序或者服務啟動后,會將它們的PID放置到該目錄下。
  • /var/spool/:這個目錄通常放置一些隊列數據,所謂的隊列就是需要排隊等待其他進程使用的數據,這些數據使用后都會被刪除。
3.2 目錄樹

在Linux下,所有的文件和目錄都是有根目錄開始,它是所有目錄和源文件的源頭,再一個個分支出其他節點,稱這種目錄配置方式為:目錄樹。

  • 目錄樹的啟動點為根目錄(/,root)
  • 每一個目錄不止能使用本地分區的文件系統,也可以使用網絡上的文件系統。
  • 每一個文件在此目錄樹中的文件名都是獨一無二的。
3.3 絕對路徑與相對路徑

根據文件名寫法的不同,也可以將所謂的路徑定義為絕對路徑與相對路徑。

  • 絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱,如/home/dmtsai/.bashrc;

  • 相對路徑:相對于目前路徑的文件名寫法。

  • .:代表當前的目錄,也可以用. /表示;

  • :代表上一層目錄,也可以用…/來表示;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76657.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76657.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76657.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數據可視化-19】智能手機用戶行為可視化分析

?? 博主簡介:曾任某智慧城市類企業算法總監,目前在美國市場的物流公司從事高級算法工程師一職,深耕人工智能領域,精通python數據挖掘、可視化、機器學習等,發表過AI相關的專利并多次在AI類比賽中獲獎。CSDN人工智能領域的優質創作者,提供AI相關的技術咨詢、項目開發和個…

vue項目通過GetCapabilities獲取wmts服務元數據信息并在openlayers進行疊加顯示

vue項目通過openlayers加載wmts服務示例&#xff1a; <template><div id"map" ref"mapContainer"></div> </template><script> import ol/ol.css; import Map from ol/Map; import View from ol/View; import TileLayer fr…

JavaWeb學習打卡-Day1-分層解耦、Spring IOC、DI

三層架構 Controller&#xff08;控制層&#xff09;&#xff1a;接收前端發送的請求&#xff0c;對請求進行處理&#xff0c;并響應數據。Service&#xff08;業務邏輯層&#xff09;&#xff1a;處理具體的業務邏輯。DAO&#xff08;數據訪問層/持久層&#xff09;&#xff…

【含文檔+PPT+源碼】基于Python爬蟲二手房價格預測與可視化系統的設計與實現

項目介紹 本課程演示的是一款基于Python爬蟲二手房價格預測與可視化系統&#xff0c;主要針對計算機相關專業的正在做畢設的學生與需要項目實戰練習的 Java 學習者。 包含&#xff1a;項目源碼、項目文檔、數據庫腳本、軟件工具等所有資料 帶你從零開始部署運行本套系統 該項…

游戲引擎學習第229天

倉庫:https://gitee.com/mrxiao_com/2d_game_5 回顧上次內容并介紹今天的主題 上次留下的是一個非常簡單的任務&#xff0c;至少第一步是非常簡單的。我們需要在渲染器中加入排序功能&#xff0c;這樣我們的精靈&#xff08;sprites&#xff09;才能以正確的順序顯示。為此我…

【“星瑞” O6 評測】—NPU 部署 face parser 模型

前言 瑞莎星睿 O6 (Radxa Orion O6) 擁有高達 28.8TOPs NPU (Neural Processing Unit) 算力&#xff0c;支持 INT4 / INT8 / INT16 / FP16 / BF16 和 TF32 類型的加速。這里通過通過官方的工具鏈進行FaceParsingBiSeNet的部署 1. FaceParsingBiSeNet onnx 推理 首先從百度網盤…

單例模式的使用場景 以及 餓漢式寫法(智能指針)

單例模式的使用場景 以及 餓漢式寫法&#xff08;智能指針&#xff09; 餓漢式&#xff1a;創建類時就已經創建好了類的實例&#xff08;用智能指針實現&#xff09;什么時候用單例模式&#xff1a;1. 全局配置管理2. 日志系統3. 資源管理器4. 硬件設備訪問總結 餓漢式&#xf…

微信小程序的全局變量(quanjubianliang)

在微信小程序開發中&#xff0c;管理和使用全局變量是一種常見的需求。例如&#xff0c;可以通過小程序的App實例和globalData對象來實現全局變量的存儲和共享。以下是詳細說明&#xff1a; 1. 全局變量的定義 微信小程序提供了 App() 函數&#xff0c;其中可以定義一個 global…

Latex科研入門教程

Introduction 這篇文章適合有markdown基礎的人看,不會的人可以先去學一下markdown. 僅適用于科研入門. 本文使用的latex環境為overleaf Latex概況 文件格式 以.tex為結尾的文件可能有多個.tex文件最終只編譯一個文件,相當于一個文件控制其他子文件. Latex 代碼分為三種&…

FastGPT Docker Compose本地部署與硅基流動免費AI接口集成指南

本文參考&#xff1a;https://doc.tryfastgpt.ai/docs/development/ 一、背景與技術優勢 FastGPT是基于LLM的知識庫問答系統&#xff0c;支持自定義數據訓練與多模型接入。硅基流動&#xff08;SiliconFlow&#xff09;作為AI基礎設施平臺&#xff0c;提供高性能大模型推理引…

19_大模型微調和訓練之-基于LLamaFactory+LoRA微調LLama3

基于LLamaFactory微調_LLama3的LoRA微調 1. 基本概念1.1. LoRA微調的基本原理1.2. LoRA與QLoRA1.3. 什么是 GGUF 2.LLaMA-Factory介紹3. 實操3.1 實驗環境3.2 基座模型3.3 安裝 LLaMA-Factory 框架3.3.1 前置條件 3.4 數據準備3.5 微調和訓練模型torch.cuda.OutOfMemoryError: …

Linux Wlan-四次握手(eapol)框架流程

協議基礎 基于 IEEE 802.1X 標準實現的協議 抓包基礎 使用上一章文章的TPLINK wn722n v1網卡在2.4G 頻段抓包&#xff08;v2、v3是不支持混雜模式的&#xff09; eapol的四個交互流程 根據不同的認證模式不同&#xff0c;兩者的Auth流程有所不同&#xff0c;但是握手流程基…

基于亞馬遜云科技 Amazon Bedrock Tool Use 實現 Generative UI

背景 在當前 AI 應用開發浪潮中&#xff0c;越來越多的開發者專注于構建基于大語言模型&#xff08;LLM&#xff09;的 chatbot 和 AI Agent。然而&#xff0c;傳統的純文本對話形式存在局限性&#xff0c;無法為用戶提供足夠直觀和豐富的交互體驗。為了增強用戶體驗&#xff…

第 2 篇:初探時間序列 - 可視化與基本概念

第 2 篇&#xff1a;初探時間序列 - 可視化與基本概念 (圖片來源: Luke Chesser on Unsplash) 在上一篇《你好&#xff0c;時間序列&#xff01;》中&#xff0c;我們了解了什么是時間序列數據以及學習它的重要性。現在&#xff0c;是時候卷起袖子&#xff0c;真正開始接觸和探…

Linux服務器配置Anaconda環境、Pytorch庫(圖文并茂的教程)

引言&#xff1a;為了方便后續新進組的 師弟/師妹 使用課題組的服務器&#xff0c;特此編文&#xff08;ps&#xff1a;我導從教至今四年&#xff0c;還未招師妹&#xff09; ? NLP 研 2 選手的學習筆記 筆者簡介&#xff1a;Wang Linyong&#xff0c;NPU&#xff0c;2023級&a…

Spring-AOP分析

Spring分析-AOP 1.案例引入 在上一篇文章中&#xff0c;【Spring–IOC】【https://www.cnblogs.com/jackjavacpp/p/18829545】&#xff0c;我們了解到了IOC容器的創建過程&#xff0c;在文末也提到了AOP相關&#xff0c;但是沒有作細致分析&#xff0c;這篇文章就結合示例&am…

【Python網絡爬蟲開發】從基礎到實戰的完整指南

目錄 前言&#xff1a;技術背景與價值當前技術痛點解決方案概述目標讀者說明 一、技術原理剖析核心概念圖解核心作用講解關鍵技術模塊技術選型對比 二、實戰演示環境配置要求核心代碼實現&#xff08;10個案例&#xff09;案例1&#xff1a;基礎靜態頁面抓取案例2&#xff1a;動…

服務器監控軟件推薦

以下是幾款常用的服務器監控軟件推薦&#xff0c;涵蓋開源和商業方案&#xff0c;適用于不同規模和需求&#xff1a; 一、開源免費方案 Prometheus Grafana 特點&#xff1a;時序數據庫 可視化儀表盤&#xff0c;支持多維度監控和告警。適用場景&#xff1a;云原生、Kubernet…

編譯原理實驗(四)———— LR(1)分析法

一、實驗目的 掌握LR(1)分析法的基本原理與實現流程。通過構造LR(1)分析表&#xff0c;驗證符號串是否符合給定文法規則。理解LR(1)分析中向前搜索符&#xff08;Lookahead Symbol&#xff09;的作用&#xff0c;解決移進-歸約沖突。 二、實驗題目 1.對下列文法&#xff0c;用…

vue3 主題模式 結合 element-plus的主題

vue3 主題模式 結合 element-plus的主題 npm i element-plus --save-dev在 Vue 3 中&#xff0c;實現主題模式主要有以下幾種方式 1.使用 CSS 變量&#xff08;自定義屬性&#xff09; CSS 變量是一種在 CSS 中定義可重用值的方式。在主題模式中&#xff0c;可以將顏色、字體…