云計算【第一階段(24)】Linux文件系統與日志分析

一、文件與存儲系統的inode與block

1.1、硬盤存儲

  • 最小存儲單位:扇區(sector)
    • 每個扇區大小:512字節

1.2、文件存取

  • 最小存取單位:塊(block)
  • 連續八個扇區組成:塊(block)
    • 每個塊大小:4K
  • 文件數據:實際數據與元信息
  • 操作系統讀取硬盤的時候,是一次性連續讀取多個扇區,即一個塊一個塊的讀取的。
  • 文件數據包括實際數據元信息(類似文件屬性),文件數據存儲在“塊"中

1.3、inode

  • 定義:存儲文件元信息的區域
  • 包含:創建者、創建日期、文件大小、文件權限等的區域
  • 特點:
    • 一個文件必須占用一個inode
    • 格式化文件系統時確定inode的總數
    • 至少占用一個block
    • 不包含文件名,文件名是存放在目錄當中的。

元信息包括

  • 文件的字節數
  • 文件擁有者的userid
  • 文件的groupid
  • 文件的讀,寫,執行權限
  • 文件的時間戳

1.4、文件名與inode

  • 文件名存放位置:目錄
  • 譯名為"索引節點",也叫i節點
  • inode號碼:操作系統識別文件的唯一標識,一個文件必須占用一個inode,并且至少占用一個block。
  • 每個inode都有一個號碼,操作系統用inode號碼來識別不同的文件。Linux系統內部不使用文件名,而使用inode號碼來識別文件。
  • 訪問文件流程:
  1. 根據文件名查找inode號碼
  2. 通過inode號碼獲取inode信息
  3. 檢查用戶權限
  4. 指向數據block并讀取數據

1.4.1、硬盤分區后的結構

文件夾的indoe號中包括當前文件夾中文件名字文件的indoe號
先確定文件夾后再通過indoe找到block,如果一個block放不下數據,則可以占用多個block.
例如,有一個10kb的文件需要存儲,
則會占用3個block(默認一個是4k),雖然最后一個block不能占滿,
但也不能再放入其他文件的數據。
這3個block 有可能是連續的,也有可能是分散的,所以會有磁盤碎片。

1.4.2、訪問文件的簡單流程

1.5、Linux系統特點

  • 一切皆文件
  • 目錄也是一種文件

1.6、查看文件名對應的inode 號碼有兩種方式

  • ls -i? 文件名
  • stat? 文件名

很顯然stat看的更詳細一些

1.7、linux系統文件三個主要的時間屬性

  • ctime(change time)

最后一次改變文件或目錄 (屬性)的時間

  • atime(access time)

最后一次訪問文件或目錄的時間

  • mtime(modify time)

最后一次修改文件或目錄(內容)的時間

1.8、inode 占用

inode也會消耗硬盤空間,所以格式化的時候,操作系統自動將硬盤分成兩個區域。

一個是數據區,存放文件數據,

另一個是inode區,存放inode所包含的信息。

每個inode的大小,一般是128字節或256字節。通常情況下不需要關注單個inode的大小,而是需要重點關注inode總數。inode的總數在格式化時就給定了,執行"df? ?-i"命令即可查看每個硬盤分區對應的的inode總數和已經使用的inode數量。

inode節點的總數,在格式化時就給定了,一般是每1KB或每2KB就設置一個inode。假定在一塊1GB的硬盤中,每個inode節點大小為128字節,每1KB就設置一個inode,那么inode table的大小就會達到128MB,占整塊硬盤12.8%。

由于inode號碼與文件名分離,導致Linux系統具備以下幾種特有的現象:
1.文件名包含特殊字符,可能無法正常刪除。可直接刪除inode,能夠起到刪除文件的作用;
2.移動文件或重命名文件,只是改變文件名,不影響inode 號碼;
3.打開一個文件以后,系統就以inode 號碼來識別這個文件,不再考慮文件名。
4.文件數據被修改保存后,會生成一個新的inode 號碼。

?1.8.1、實驗1

先創建大量空文件

for ((i=1; i<=8680; i++)); do  touch /test/file$i  
done

?或者

touch {1..8680}.txt?

i占用滿

?但是磁盤空間還有

當再創建其他的的時候

二、硬鏈接與軟鏈接

為文件或目錄建立鏈接文件
鏈接文件分類
硬鏈接

ln? 源文件目標位置

?軟鏈接

ln - s? 源文件或目錄? ?鏈接文件或目標位置

?詳細內容看精講第八段內容

云計算【第一階段(12)】Linux常用命令精講【二】_云計算怎么把目錄改名-CSDN博客

三、恢復誤刪除的文件

3.1、恢復誤刪除的文件ext3

EXT類型文件恢復
extundelete 是一一個開源的Linux 數據恢復工具,支持ext3、 ext4文件系統。 ( ext4只能在centos6版本恢復,但是目前企業用centos6版本極少,略過)

3.1.1、實驗1

安裝位置:切勿將extundelete安裝到你誤刪的文件所在硬盤上,以避免數據被覆蓋的風險

需要掛載一個ext3的盤

1.安裝依賴包
yum -y install e2fsprogs-devel e2fsprogs-libs gcc gcc-c++?
2.編譯安裝extundelete
cd /test
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

3.解壓
tar jxvf extundelete-0.2.4.tar.bz2

4.切換目錄

cd extundelete-0.2.4/

5.指定configure的配置路徑 --prefix
./configure --prefix=/usr/local/extundelete && make && make install 或
./configure && make && make install

6.如果配置了指定的上面路徑需要軟鏈接
ln -s /usr/local/extundelete/bin/* /usr/bin/

模擬刪除并執行恢復操作

cd /opt/yczj

切換到掛載點磁盤

添加數據
echo a>a
echo a>b
echo a>c

extundelete /dev/sdb2 --inode ?2? #查看文件系統/dev/sdb2下存在哪些文件,i節點是從2開始的,2代表該文件系統最開始的目錄。

rm -rf a b
extundelete /dev/sdb2??--inode 2

可以發現被刪除了


cd ~
umount /test

extundelete /dev/sdc1 --restore-all #恢復/dev/sdc1 文件系統下的所有內容

#在當前目錄下會出現一個RECOVERED_FILES/目錄,里面保存了已經恢復的文件



ls RECOVERED FILES/

3.2、恢復誤刪除的文件XFS

xfsdump用于創建xfs文件系統的備份,而xfsrestore則用于將這些備份數據恢復到原始狀態或指定位置,搭配使用。

xfsdump命令格式

xfsdump? ? -f? ? 備份存放位置? ? ? ? ? ?要備份的路徑或設備文件

xfsdump備份級別 (默認為0)

  • 0:完全備份
  • 1-9:增量備份

xfsdump常用選項:-f,-L,-M,-s

-f: 指定備份文件目錄
-L: 指定標簽session label
-M: 指定設備標簽media labe
-s:備份單個文件,-s后面不能直接跟路徑

xfsrestore命令格式

xfsrestore? ?恢復文件的位置? ? ? 存放恢復后文件的位置

xfsdump使用限制

  • 只能備份已掛載的文件系統
  • 必須使用root的權限才能操作
  • 只能備份xfs文件系統
  • 備份后的數據只能讓xfsrestore解析
  • 不能備份兩個具有相同uuid的文件系統

實驗

首先創建分區,格式化xfs,掛載

在掛載的地方創建一個文件

先查看rpm -qa | grep xfsdump如果未安裝yum install -y xfsdump

備份

xfsdump -f? ? ? /opt/dump_sdb? ? /dev/sdb1? ? ? ?

可以加? ?-L dump_sdb -M sdb1

模擬刪除,在掛載目錄刪除

恢復

xfsrestore? -f? ?/opt/dump_sdb1? /opt/ycnh

四、分析日志文件

4.1、日志的功能

用于記錄系統,程序運行中發生的各種事件
通過閱讀日志,有助于診斷和解決系統故障

4.2、日志文件的分類

  • 內核及系統日志

由系統服務rsyslog統一進行管理,日志格式基本相似

  • 用戶日志

記錄系統用戶登錄及退出系統的相關信息

  • 程序日志

由各種應用程序獨立管理的日志文件,記錄格式不統一。


4.3、日志保存位置

默認位于: /var/log/目錄下
主要日志文件介紹

  • 內核及公共消息日志 /var/log/messages
  • 計劃任務日志 /var/log/cron
  • 系統引導日志 /var/log/dmesg
  • 郵件系統日志 /var/log/maillog
  • 用戶登錄日志 /var/log/lastlog? /var/log/secure? /var/log/wtmp? /var/run/btmp

4.3.1、常見的一些日志文件介紹:

/var/log/messages: 記錄Linux內核消息及各種應用程序的公共日志信息,包括啟動、IO錯誤、網絡錯誤、程序故障等。對于未使用獨立日志文件的應用程序或服務,一般都可以從該日志文件中獲得相關的事件記錄信息。
/var/log/cron: 記錄crond計劃任務產生的事件信息。
/var/log/dmesg: 記錄Linux系統在引導過程中的各種事件信息。
/var/log/maillog: 記錄進入或發出系統的電子郵件活動。
/var/log/secure: 記錄用戶認證相關的安全事件信息。
/var/log/lastlog: 記錄每個用戶最近的登錄事件。二進制格式
/var/1og/wtmp: 記錄每個用戶登錄、注銷及系統啟動和停機事件。二進制格式
/var/run/btmp: 記錄失敗的、錯誤的登錄嘗試及驗證事件。二進制格式

4.4、rsyslog

內核及系統日志由系統服務rsyslog 統一管理,主配置文件為/etc/rsyslog.conf
Linux操作系統本身和大部分服務器程序的日志文件都默認放在目錄/var/1og/下。
軟件包:rsyslog-7.4.7-16.el7.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf

4.5、日志消息的級別

日志級別級號消息級別說明
EMERG0緊急會導致主機系統不可用的情況
ALERT1警告必須馬上采取措施解決的問題
CRIT2嚴重比較嚴重的情況
ERR3錯誤運行出現錯誤
WARNING4提醒可能會影響系統功能的事件
NOTICE5注意不會影響系統但值得注意的信息
INFO6信息一般信息,程序或系統調試信息等
DEBUG7調試詳細的調試信息,用于開發或故障排除

4.6、日志記錄的一般格式

4.7、用戶日志分析

保存了用戶登錄,退出系統等相關信息

  • /var/log/lastlog: 最近的用戶登錄事件
  • /var/log/wtmp: 用戶登錄,注銷及系統開,關機事件
  • /var/run/utmp: 當前登錄的每個用戶的詳細信息
  • /var/log/secure 與用戶驗證相關的安全性事件

分析工具
users,who,w, last, lastb

4.7.1、分析工具詳細分析命令

users:命令只是簡單地輸出當前登錄的用戶名稱,每個顯示的用戶名對應一個登錄會話。如果一個用戶有不止一個登錄會話,那他的用戶名將顯示與其相同的次數。


who:命令用于報告當前登錄到系統中的每個用戶的信息。使用該命令,系統管理員可以查看當前系統存在哪些不合法用戶,從而對其進行審計和處理。who 的默認輸出包括用戶名、終端類型、登錄日期及遠程主機

w:命令用于顯示當前系統中的每個用戶及其所運行的進程信息,比 users、who 命令的輸出內容要豐富一些

last:命令用于查詢成功登錄到系統的用戶記錄,最近的登錄情況將顯示在最前面。通過last 命令可以及時掌握 Linux 主機的登錄情況,若發現未經授權的用戶登錄過,則表示當前主機可能已被入侵

lastb:命令用于查詢登錄失敗的用戶記錄,如登錄的用戶名錯誤、密碼不正確等情況都將記錄在案。登錄失敗的情況屬于安全事件,因為這表示可能有人在嘗試猜解你的密碼。除了使用 lastb 命令查看以外,也可以直接從安全日志文件/var/log/secure 中獲得相關信息

4.8、程序日志分析

由相應的應用程序獨立進行管理
web服務:/var/log/httpd/
access_log,error_log
代理服務:/var/log/squid/
access.log,cache.log
FTP服務:/var/log/xferlog


分析工具
文本查看,grep過濾檢索, webmin管理套件中查看
awk, sed等文本過濾,格式化編輯工具
webalizer? Awstats等專用日志分析工具

4.9、日志管理策略

  • 及時作好備份和歸檔
  • 延長日志保存期限
  • 控制日志訪問權限

日志中可能會包含各類敏感信息,如賬戶,口令等

  • 集中管理日志

將服務器的日志文件發到統一的日志文件服務器,便于日志信息的統一收集, 整理和分析
杜絕日志信息的意外丟失, 惡意篡改或刪除。

4.10、日志管理工具

4.10.1、Logrotate

(輪轉,日志切割)? ? ? ?centos7 ?自帶的一個

概念

Logrotate是一個在Linux系統中廣泛使用的日志文件管理工具,主要用于日志文件的切割、壓縮、刪除和創建新日志文件等操作,以節省磁盤空間并方便日志管理

作用

1.如果沒有日志輪轉,日文件會越來越大
2.將丟棄系統中最舊的日志文件,以節省空間
3.logrotate本身不是系統守護進程,它是通過計劃任務crond每天執行計劃任務

Logrotate的常用參數

  • -v, --verbose:顯示詳細的轉儲過程信息。
  • -f, --force:強制進行日志轉儲,忽略配置文件中設置的時間間隔或大小限制。
  • -d, --debug:測試配置文件是否有錯誤,但不實際執行轉儲操作。
  • -m, --mail=command:壓縮日志后,通過指定的命令發送日志到指定郵箱。
  • -s, --state=statefile:使用指定的狀態文件記錄轉儲的日志信息。

Logrotate的定時執行

  • Logrotate通常通過cron服務定時執行。在Linux系統中,/etc/cron.daily/logrotate?腳本負責每天執行一次Logrotate。
  • 用戶也可以根據需要手動執行Logrotate,例如使用logrotate -vf /etc/logrotate.conf?命令強制立即執行一次轉儲操作。


配置

- 計劃任務:/etc/cron.daily/logrotate
- 程序文件:/usr/sbin/logrotate
- 配置文件: /etc/logrotate.conf
- 日志文件:/var/lib/logrotate/logrotate.status

也可以在這里配置系統特定日志

以下是一個簡單的Logrotate配置示例,用于切割和壓縮/var/log/myapp.log日志文件:

/var/log/myapp.log { 
daily # 每天切割一次 
rotate 7 # 保留7個備份 
compress # 壓縮備份文件 
missingok # 如果日志文件丟失,不報錯繼續滾動下一個日志 
notifempty # 如果日志文件為空,不進行輪轉 
create 640 myuser mygroup # 切割后創建新文件,并設置權限和所有者 
}

?更多獨立配置文件詳解

配置參數說明
compress使用gzip壓縮轉儲后的日志文件
nocompress不對轉儲后的日志文件進行壓縮
copytruncate對于還在被打開中的日志文件,先備份當前日志并截斷原文件
nocopytruncate備份日志文件但不截斷原文件
create mode owner group使用指定的權限、所有者和所屬組創建新的日志文件
nocreate不創建新的日志文件(僅保留備份)
delaycompress與compress一起使用時,延遲到下一次轉儲時才壓縮當前轉儲的日志文件
nodelaycompress覆蓋delaycompress選項,轉儲時立即壓縮日志文件
errors address將轉儲時的錯誤信息發送到指定的Email地址
ifempty即使是空文件也進行轉儲(默認行為)
notifempty如果文件為空,則不進行轉儲
mail address將轉儲的日志文件發送到指定的E-mail地址
nomail轉儲時不發送日志文件到任何E-mail地址
olddir directory將轉儲后的日志文件放入指定的目錄(需與當前日志文件在同一文件系統)
noolddir轉儲后的日志文件和當前日志文件放在同一個目錄下
prerotate/endscript在轉儲之前需要執行的命令(prerotate與endscript需單獨成行)
postrotate/endscript在轉儲之后需要執行的命令(postrotate與endscript需單獨成行)
daily指定轉儲周期為每天
weekly指定轉儲周期為每周
monthly指定轉儲周期為每月
rotate count指定日志文件刪除之前轉儲的次數,0指沒有備份,5指保留5個備份
tabooext [+] listlogrotate不轉儲指定擴展名的文件,缺省的擴展名是:.rpm-orig,?.rpmsave,?v, 和~
size size當日志文件到達指定的大小時才轉儲(單位可以是bytes、KB或MB)
sharedscripts對每個匹配的日志文件條目,prerotatepostrotate腳本只運行一次,無論匹配了多少個日志文件
nosharedscripts對每個轉儲的日志文件,都執行一次prerotatepostrotate腳本(默認行為)
missingok如果日志不存在,不提示錯誤,繼續處理下一個日志文件
nomissingok如果日志不存在,提示錯誤(默認行為)

4.10.2、webalizer日志分析工具

webalizer是一個高效的、免費的web服務器日志分析程序。其分析結果以HTML文件格式保存,從而可以很方便的通過web服務器進行瀏覽。Internet上的很多站點都使用webalizer進行web???????服務器日志分析。

Webalizer是用C寫的程序,所以其具有很高的運行效率。在主頻為200Mhz的機器上,webalizer每秒鐘可以分析10000條記錄,所以分析一個40M大小的日志文件只需要15秒。

webalizer支持標準的一般日志文件格式(Common Logfile Format);除此之外,也支持幾種組合日志格式(Combined Logfile Format)的變種,從而可以統計客戶情況以及客戶操作系統類型。并且現在webalizer已經可以支持wu-ftpd xferlog日志格式以及squid日志文件格式了。webalizer支持命令行配置以及配置文件。可以支持多種語言,也可以自己進行本地化工作。webalizer支持多種平臺,比如UNIX、linux、NT, OS/2 和 MacOS等。

軟件:httpd 作為webalizer的頁面服務器

?

4.10.3、journalctl命令

journalctl工具是CentOS-7才有的工具
Systemd 統一管理所有 Unit 的啟動日志。帶來的好處就是 ,可以只用journalctl一個命令,查看所有日志(內核日志和 應用日志)。日志的配置文件/etc/systemd/journald.conf?


ps -ef | grep journald


journalctl -b ? ?//查看本次啟動的日志

journalctl -k ? ? //查看內核日志

journalctl -xe ?經常用來查看最近報錯的日志
-e:從結尾開始看
-x:提供問題相關的網址

其他

日志工具可研究:Webmin、 Webalizer、Awstats等專用日志分析工具

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

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

相關文章

Leetcode1115 交替打印 FooBar及其測試

題目描述 相關標簽 相關企業 給你一個類&#xff1a; class FooBar { public void foo() { for (int i 0; i < n; i) { print(“foo”); } } public void bar() { for (int i 0; i < n; i) { print(“bar”); } } } 兩個不同的線程將會共用一個 FooBar 實例&#xf…

Java面試八股之如何提高MySQL的insert性能

如何提高MySQL的insert性能 提高MySQL的INSERT性能可以通過多種策略實現&#xff0c;以下是一些常見的優化技巧&#xff1a; 批量插入&#xff1a; 而不是逐條插入&#xff0c;可以使用單個INSERT語句插入多行數據。例如&#xff1a; INSERT INTO table_name (col1, col2) V…

正則表達式-使用筆記

正則表達式使用不當&#xff0c;會導致CPU飆升&#xff1b; 二、相關參考 正則表達式 – 語法 | 菜鳥教程 sparksql 正則匹配總結 三、回溯原理 導致性能下降最主要原因&#xff1a; .* 會導致大量回溯| 分支操作 https://zhuanlan.zhihu.com/p/27417442 四、常用工具 regex…

OpenSNN推文:科技前沿動態速覽:六七月份的技術革新與行業進展

隨著夏季的到來&#xff0c;科技界的熱度也如同氣溫一般持續攀升。在這個充滿活力的季節里&#xff0c;從量子計算的深邃世界到腦機接口的未來探索&#xff0c;從人工智能的智慧躍升到大數據的海洋遨游&#xff0c;再到運營策略的精妙布局和設計領域的創新火花&#xff0c;以及…

2024第三屆中國醫療機器人大會第一輪通知

2024第三屆中國醫療機器人大會第一輪通知 大會背景 醫療機器人技術正以前所未有的速度在主流醫學領域取得卓越進展&#xff0c;新應用、新技術不斷涌現&#xff0c;使得該領域在過去一年中取得了令人驚嘆的增長。然而&#xff0c;這僅僅是冰山一角&#xff0c;未來的發展空間仍…

Docker:一、安裝與卸載、配置阿里云加速器(Ubuntu)

目錄 &#x1f341;安裝docker&#x1f332;1、環境準備&#x1f332;2、安裝docker Engine&#x1f9ca;1、卸載舊版、任何沖突的包&#x1f9ca;2、使用存儲庫安裝&#x1f9ca;3、安裝 Docker 包。&#x1f9ca;4、查詢是否安裝成功&#x1f9ca;5、運行hello-world鏡像&…

柯橋小語種學校成人生活口語學習|西班牙語中H為什么不發音…

01 H en el alfabeto espaol 西語字母表中的h 字母H是唯一一個在標準西班牙語中不再代表任何音素的字母。盡管在它單獨出現時被叫做HACHE&#xff0c;但在大多數單詞拼寫中&#xff0c;它只是一個沒有聲音對應關系的字母&#xff0c;因此RAE稱其為“無聲的H”&#xff08;hac…

機器學習——無監督學習(k-means算法)

1、K-Means聚類算法 K表示超參數個數&#xff0c;如分成幾個類別&#xff0c;K值就取多少。若無需求&#xff0c;可使用網格搜索找到最佳的K。 步驟&#xff1a; 1、隨機設置K個特征空間內的點作為初始聚類中心&#xff1b; 2、對于其他每個點計算到K個中心的距離&#xff0c;…

蕎面打造的甜蜜魔法:甜甜圈

食家巷蕎面甜甜圈是一款具有特色的美食。它以蕎面為主要原料&#xff0c;相較于普通面粉&#xff0c;蕎面具有更高的營養價值&#xff0c;富含膳食纖維、維生素和礦物質。蕎面甜甜圈的口感可能會更加扎實和有嚼勁&#xff0c;同時帶著蕎面特有的谷物香氣。在制作過程中&#xf…

FlutterWeb渲染模式及提速

背景 在使用Flutter Web開發的網站過程中&#xff0c;常常會遇到不同瀏覽器之間的兼容性問題。例如&#xff0c;在Google瀏覽器中動畫和交互都非常流暢&#xff0c;但在360瀏覽器中卻會出現卡頓現象&#xff1b;在Google瀏覽器中動態設置圖標顏色正常顯示&#xff0c;而在Safa…

8-阿里云服務器 ECS配置R及Studio Server

目錄 查看服務器系統 關于linux系統 安裝R 1,查看官方教程 2,安裝R ①修改sources.list文件 ②安裝R:點擊Y ③更新最新版R ④安裝 RStudio(省略此步驟) ?編輯 ⑤安裝 RStudio Server 登錄rstudio-server 1,添加賬號(root賬號不能登錄) 2,開啟8787端口訪…

SpringBoot+OSS實現文件上傳

創建spring boot項目 pom依賴 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version></dependency><dependency><groupId>javax.xml.bind</groupI…

SpringBoot項目練習

文章目錄 SpringBootVue后臺管理系統所需軟件下載、安裝、版本查詢Vue搭建一個簡單的Vue項目 Spring項目1項目架構 SpringBootVue后臺管理系統 學習視頻&#xff1a; https://www.bilibili.com/video/BV1U44y1W77D/?spm_id_from333.337.search-card.all.click&vd_sourcec…

深入Laravel事件系統:創建與使用事件的指南

Laravel的事件系統是一種強大的機制&#xff0c;它允許你將應用程序的行為封裝成事件&#xff0c;然后在適當的時候觸發這些事件。這不僅有助于代碼的解耦&#xff0c;還提高了應用程序的可維護性和可擴展性。本文將詳細介紹如何在Laravel中創建和使用事件&#xff0c;包括事件…

2024年7月6日隨筆

期末考試全部結束了&#xff0c;這個月是真累啊&#xff0c;一堆事&#xff0c;好在都熬過來了&#xff0c;上次參加的那個碼題杯自己居然進國賽了&#xff0c;我看了一下職業賽道和本科賽道的題&#xff0c;本科賽道的感覺要難上不少&#xff0c;比賽時間是一周后&#xff0c;…

Pytorch(筆記7損失函數類型)

前言 損失函數&#xff08;Loss Function&#xff09;&#xff1a;是定義在單個樣本上的&#xff0c;是指一個樣本的誤差&#xff0c;度量模型一次預測的好壞。 代價函數&#xff08;Cost Function&#xff09;成本函數經驗風險&#xff1a;是定義在整個訓練集上的&#xff0c…

集成學習(三)GBDT 梯度提升樹

前面學習了&#xff1a;集成學習&#xff08;二&#xff09;Boosting-CSDN博客 梯度提升樹&#xff1a;GBDT-Gradient Boosting Decision Tree 一、介紹 作為當代眾多經典算法的基礎&#xff0c;GBDT的求解過程可謂十分精妙&#xff0c;它不僅開創性地舍棄了使用原始標簽進行…

virtualbox窗口和win10窗口的切換

1、問題&#xff1a; 從windows切換到虛擬機可以用快捷鍵 ALTTAB&#xff0c;但是從虛擬機到windows使用 ALTTAB 無法成功切換 2、解決方法&#xff1a; 按下圖操作 按上面步驟設置之后&#xff0c;每次要從虛擬機窗口切換到windows窗口 只需要先按 CtrlAlt 跳出虛擬機窗口&…

【已解決】“import ... =“ 只能在 TypeScript 文件中使用

現象 在使用 import 語法的時候&#xff0c;代碼報紅&#xff0c;提示&#xff1a;“import ... “ 只能在 TypeScript 文件中使用 原因 代碼被 VSCode 解析成 TypeScript 語法 解決方案&#xff1a; 關閉 JavaScript 的驗證啟用即可。 mac 快捷方式&#xff1a;comman s…

微機原理與單片機 知識體系梳理

單片機筆記分享 我個人感覺單片機要記的東西很多&#xff0c;也很瑣碎&#xff0c;特別是一些位、寄存器以及相關作用等&#xff0c;非常難以記憶。因此復習時將知識點整理在了一起做成思維導圖&#xff0c;希望對大家有所幫助。內容不是很多&#xff0c;可能有些沒覆蓋全&…