Linux基礎指令介紹與詳解——原理學習

? ? ? ? 前言:本節內容標題雖然為指令,但是并不只是講指令, 更多的是和指令相關的一些原理性的東西。 如果友友只想要查一查某個指令的用法, 很抱歉, 本節不是那種帶有字典性質的文章。但是如果友友是想要來學習的, 那么本篇文章很適合, 而且非常適合初入linux的小白(沒錯, 就是我)。

目錄

基本指令

常見指令

文件的屬性與類型

.文件的作用

路徑

..文件的作用

其他基本指令

基本指令2

如何看待指令

重定向與閱讀文本


基本指令

常見指令

ls、 cd、 pwd、mkdir、 touch

  • ls:顯示當前目錄下的文件信息
  • cd:進入某一個文件夾
  • pwd:查看當前路徑
  • mkdir:創建文件夾
  • touch:創建普通文件

文件的屬性與類型

? ? ? ? 在linux中, 可以將文件分為兩類, 一類是普通文件, 也就是touch出來的; 一類是文件夾, 也就是mkdir出來的。 對應我們windows中的文件夾(如圖紅框框)和普通文件(如圖藍框框)

另外, 指令也可以攜帶選項。 比如ls -a就是顯示隱藏文件。 ls -l就是詳細的顯示文件的屬性。?

????????第一個紅框框是顯示隱藏文件,是的, 文件也是有隱藏文件和非隱藏文件的區別的。“."這個其實就是一個隱藏文件夾, 表示當前目錄。 ".."也是一個隱藏文件夾, 表示上級目錄。

????????第二個紅框框是詳細的顯示文件屬性。 文件 = 文件的數據 + 文件的屬性。 文件的屬性也是數據, 是數據就要存儲, 那么就要占用空間。 所以當我們創建一個空文件, 里面即使沒有保存任何信息, 這個文件也要占用磁盤空間。所以, ls顯示文件信息, 本質上就是在顯示文件的屬性。

? ? ? ? 同時, 文件的操作 = 文件內容的操作 + 文件屬性的操作

? ? ? ? 現在來看一下下面這張圖中前面的一個長條紅框框。 框起來的部分就是文件的類型。?

文件的類型分為: 文件目錄——以d開頭、 普通文件——以-開頭。

? ? ? ? 第三個紅框框是ls -al, 這個指令是將ls -a 和ls -l的后面的選項合起來。 這樣用是沒有問題的。 結果就是既顯示隱藏文件, 也會詳細的將文件屬性顯示出來。

.文件的作用

在linux中, 任何文件目錄下面都有兩個隱藏文件"."和".."為什么? 他們有什么用?

????????首先來看".", 這個隱藏文件是表示當前目錄。 我們在執行某些程序或者操作(本質上都是文件, linux下一切皆文件)時, 可能需要確定是哪個路徑下的程序或者操作。 這個時候, 如果要執行當前目錄下的程序或者文件, 我們就要用到".", 表示執行當前目錄下的某些操作。如圖a.out是一個可執行文件:

路徑

? ? ? ? 在了解“..”的作用之前, 我們要先了解路徑的相關概念:

????????這里可以思考一個問題, 那就是對于一個文件夾來說, 它可以放另一個目錄或者放普通文件。 那么就決定了我們的目錄結構, 我們的目錄結構一定是一個多叉樹的樣子。

????????linux的目錄結構的葉子節點一定是一個空目錄或者一個普通文件。而它路上的節點, 一定是一個非空目錄。所以 我們對于文件目錄的增刪查改, 實際上都是對這棵多叉樹的增刪查改。?

? ? ? ? 對于一個文件來說, 我們找到這個文件就要有這個文件的路徑。 也就是多叉樹上面的路徑。那么為什么可以使用路徑呢??

? ? ? ? 這是因為路徑具有唯一性。 對于一棵多叉樹來說, 每一個根節點都只有一個父親節點。 那么就是說這個根節點回推到某一節點, 只有一條路可以走。 所以路徑具有唯一性。

? ? ? ? 接下來看一下路徑分隔符,?這個小斜杠就是路徑分隔符:

???路徑分為絕對路徑和相對路徑?

  • ? ? ? ? ?絕對路徑:絕對路徑就是從我們的根目錄下(/), 定位到某一個特定位置, 具有唯一性的路徑叫做絕對路徑, 如圖:

  • ????????相對路徑:如果我們目前在dir2目錄下, 如果_mian_yang目錄下還有一個dir3.那么../dir3就是dir3相對于dir2的相對路徑。

? ? 兩個路徑的比較

  • 絕對路徑通常比較長, 但是永遠不會變, 一般在一定場景, 如文件配置。

  • 相對路徑往往比較短, 一般命令行輸入, 比較常用相對路徑。

..文件的作用

?????????而"..", 就可以用在相對路徑中, 比如cd ../dir3路徑, 意思是進入上級目錄中的dir3兄弟文件夾中。?

其他基本指令

//ls -F

ls -F能夠顯示文件的類型, 在最后顯示/代表文件夾, 在最后顯示*代表可執行文件, 什么都不帶代表普通文件。

//whoami

查看自己當前的賬戶

在linux中, 所有普通用戶賬號都會放到home目錄下面, 進入路徑是: /home

?home目錄對應著windows中的用戶:


//cd~

cd~的作用是返回當前賬戶的家目錄:

普通用戶返回家目錄:

root用戶返回家目錄:

//mkdir -p 一串文件

//cd -, cd - 可以返回到上一級的路徑中

基本指令2

rm

rm是刪除指令,后面什么都不加時, 可以刪除普通文件。 但是如果要刪除一個目錄文件就會刪除失敗。

rm -r 可以刪除目錄文件, r的意思是遞歸。 這條指令也就是遞歸刪除。?

在默認情況下, 我們的普通用戶刪除東西時, 系統不會確認我們是否刪除?

但是如果是root賬戶, 我們刪文件(這個的所有者是root)時, 系統就會確認我們是否刪除, 并且如果刪除一個目錄文件, 還會一層一層的問我們是否刪除。?

那如果我們普通用戶下想要讓系統問我們就要使用 rm -i。

如果我們root賬戶下不想讓系統問我們就要使用 rm -f。

//man手冊

使用方式 man + 指令

man man就是詢問自己的功能, 查看自己的詳細信息。

man有版本的說法, man1一般就是指令接口, man2一般就是系統接口,man3一般就是c語言接口。

man手冊在查找的時候, 如果不加編號, 那么默認會從第一號手冊開始, 一個手冊一個手冊往下找, 直到找到或者所有手冊找完也沒有找到。(退出用q)

//先來簡單的說一說echo,和cat

echo可以將后面的字符串默認加上換行符并打印到顯示器上。

但是, 當我們在字符串的后面加 > 文件名的時候, 就會發生輸出重定向, 原本應該打印到顯示器上的內容就會被打印到文件里。?

然后要看到hl.txt文件里面的內容就要使用cat, cat + 文件名 是在文件里面讀取數據打印到顯示器上面。

//cp

cp的功能是拷貝,就是用一個文件拷貝出另一個文件, 文件名可以不同, 但內容相同。相當于windows里面的cv。

????????cp 文件1 文件2, 這里的文件1就是原版本, 這里的文件2就是要拷貝出來的文件。 文件2默認被拷貝在當前目錄, 但是嘗試告訴我們相同目錄不能又相同名字的文件, 所以當前目錄如果又和它同名的文件, 這個文件就會被覆蓋。

? ? ? ? cp 文件1 路徑, 將文件1拷貝到相應路徑上, 這個更加靈活,根據上面所學的相對路徑或者絕對路徑, 可以隨便拷貝到一個路徑下面。 需要注意的是, 如果路徑的末尾是目錄, 那么就會拷貝到目錄下面,并且文件名默認就是文件1的名稱。但是如果路徑的末尾是普通文件, 那么就會生成這個文件, 如果存在同名, 就把它覆蓋掉。(這個應該是常識, 和windows上一樣, 這里只是梳理一下, 其實文件1也可以是一條路徑, 就是將某個路徑下的文件拷貝到某個路徑下

? ? ? ? 需要注意的是, 當cp在覆蓋的時候, 系統會確認我們的操作, 如果我們不想看到這個確認, 就可以加上-f選項。 同理, -i選項就是想要被他詢問。?

//mv

mv是剪切并重命名, 有了上面學習cp的基礎, mv就比較簡單了。 我們可以直接這樣記

????????mv 路徑1/文件名1?路徑2/文件名2?其實就是將一個路徑下的文件, 剪切到一個路徑下。 就是將路徑1里面的文件1剪切到路徑2里面并且重命名。 需要注意的是如果有重名的,同樣會將原本的那個覆蓋掉。 還有, 如果文件2是一個目錄, 那么就是將文件文件1剪切到文件2里面。 名字是默認的文件1的名稱。?

知道了剪切, 我們就可以做一些操作了。

如何看待指令

? ? ? ? 我們應該如何去看待指令呢?

? ? ? ? 其實, 指令和我們寫的可執行程序a.out都是可執行的, 所以指令的本質其實就是一個可執行程序

? ? ? ? 那么看這樣一個例子:

這里我亂寫了一串指令, 很顯然, 系統中不存在這條指令。 那么它為什么知道不存在?是不是因為系統查找了所有指令,但是找不到一條和我要的相同的? 所以, 我們就可以推斷, 指令在執行之前, 系統會先尋找指令。 那么這個指令在哪里尋找呢? 答案就是/usr/bin里面。 這里就是系統查找指令的地方, 所有指令都在這里放著————即:指令是在系統的特定路徑下存在的, 它一定是某種可執行程序。

?

那么, 如果我們將我們自己寫的程序,放到這里面, 是不是就相當于我們自己寫的程序也是一條指令了? 這個過程, 其實就是安裝程序。 現在我們來自己寫一個a.out并把它放在/usr/bin里面, 下次我們使用的時候就不需要加./了:

所以, 指令的本質就是可執行程序, 和我們自己寫的代碼, 編譯好的程序, 沒有本質區別。 但是如果我們不想要這個指令的時候還可以把他從/usr/bin里面移出來, 這個過程就是卸載程序:

綜上,我們可以得到, 指令的本質就是一個可執行文件, 只不過這個可執行文件被自動安裝到了系統的搜索目錄下面。

-----------------------下面接著講其他指令

//alias取別名

alias的用法是: alias 取的別名='指令'

ll其實就是一個別名, 要查看這個別名, 我們可以使用which,這里會告訴我們ll的原型是什么。

?我們可以自己給某個指令取一下別名:

然后取消別名就是將這個la的別名變成空指令的別名:

------------------

重定向與閱讀文本

現在先來了解一個概念:linux下一切皆文件, 顯示器, 鍵盤, 磁盤文件。 都是文件

?我們使用cat指令,如果我們cat后面什么都沒加, 那么cat就會默認在鍵盤上面讀取:

????????注意, 這里我們雖然輸入字符s, 顯示器上就有一個s, 回車又會打印一個s。 為什么是從鍵盤上讀取, 而不是從顯示器上讀取?因為這里本質上其實就是從鍵盤上讀取字符, 而我們之所以輸入一個字符, 能夠在顯示器上顯示出來, 是因為我們在鍵盤上輸入后, 顯示器給我們回顯到了屏幕上。 所以本質還是從鍵盤上讀取。

? ? ? ? 對于顯示器來說, 它沒有讀方法(NULL), 只有寫方法(fwrite)。 對于鍵盤來說, 他只有讀方法(fread), 沒有寫方法(NULL)。 而普通文件讀方法和寫方法都有。 而在linux的視角下,NULL也是有, 所以linux下面所有文件都有讀寫方法。?

? ? ? ? 所以, 這里可以重新來理解一下重定向: 把本應該寫到顯示器文件上的內容寫到了普通的磁盤文件中, 這就叫做重定向。

?

關于重定向, 我們還要了解到就是, 其實我們使用重定向, 它一共做了兩個步驟:

1、清空文件

2、向文件中寫入內容。

比如下面這個例子, 就是什么都沒寫, 只清空了文件。

//>>追加重定向

????????>是先清空再向文件中寫入內容。但是如果我們不想要清空文件, 就要是用>>, 這個是在文件的后面追加內容。

? ? ? ? 這里echo默認后面會添加換行符, 如果不想添加換行符, 就要使用printf

//<輸入重定向

cat當什么都不加的時候是默認從鍵盤上讀取數據。但是如果我們cat < 文件名, 就相當于cat 文件名, 意思是從文件中讀取數據。另外, cat還有一些選項:

cat -n 文件名, 對文件打印, 并且打印行號。

cat -b 文件名, 對文件帶你, 并且對非空行打印行號。

cat -s 文件名, 對文件打印, 如果有多個空行連起來, 那么只打印一個空行。

//more和less讀取大文件?

cat不適合讀取大文件,more和less更適合讀取大文件。 當我們用cat讀取大文件時:

我們智能使用鼠標向上滑動地翻找。

我們使用more讀取大文件, 文件會只將屏幕打滿, 我們向下翻找只需要按空格。

并且可以輸入行號跳轉到相應行數:

但是還有一些問題, 那就是不能上翻。 所以我們通常很少使用more, 更多的是使用less閱讀大文件, less閱讀大文件, 按上就是向上翻, 按下就是向下翻。

//head 和 tail 和 管道

head可以拿到文件中的前n行。 用法是 : head -行數 文件名:

tail 可以拿到文件中的倒數n行。 用法是: tail -行數 文件名:

????????如果此時我們要拿到中間5000行左右的數據怎么辦?

????????我們可以先拿到前5000行數據放到一個新的文件中, 然后再對新的文件取后幾十行, 就能拿到中間5000行左右的數據了。 但是這個方法有個問題, 就是必須創建中間文件, 但是我們不想創建中間文件。 怎么辦?

? ? ? ? 這里可以使用管道 | : 管道也是管道文件, 它是一種內存級文件(什么意思,博主也不懂)。

但是管道文件的作用就是將符號左邊的數據結果放到自己里面, 再將數據交給右邊進行計算。 相當于起到中轉的作用。在計算機中, 數據就是資源, 而管道文件就是輸送數據這種資源。 用法:

--------------

以上, 就是本節全部內容。

?//ps:下面都是一些對于操作系統的理解與一些課堂筆記, 友友們沒有興趣自行退出即可

????????操作系統是管理軟硬件資源的軟件。 計算機中最底層的就是硬件——比如cpu、顯卡、網卡、顯示器、鍵盤等等。 這些硬件的上一層就是驅動器, 驅動器是用來驅動硬件進行工作的。 而這些驅動器的上一層就是操作系統, 操作系統通過管理驅動器, 進而管理硬件。最上層其實就是應用軟件。 應用軟件提出需求, 操作系統根據需求間接管理硬件, 讓硬件做出相應的工作。

? ? ? ? 綜上, 操作系統, 驅動器, 硬件就是三層軟硬件資源, 提供了一套軟硬件服務。

? ? ? ? 如圖:

? ? ? ? 對于如圖四層資源, 我們可以這樣理解:

  • ? ? ? ? 操作系統: 管理和決策——相當于boss
  • ? ? ? ? 設備驅動: 溝通底層硬件, 接收操作系統的命令——相當于項目經理
  • ? ? ? ? 硬件: 執行工作, 辦事——相當于程序員
  • ? ? ? ? 應用程序: 向操作系統提出需求——相當于用戶

在日常中, 需要有各種各樣服務的軟件,來滿足用戶各種各樣的需求。? ? ? ?

? ? ? ? 個人筆記:

那么, 一個好的操作系統的衡量指標是什么, 為什么要有操作系統呢?

????????首先一個好的操作系統, 不能用著用著藍屏——要穩定; 其次, 一個好的操作系統不能用著非常卡, 體驗不好——要快, 流暢; 最后, 一個好的操作系統, 用戶的信息要安全, 否則信息很容易被盜取, 用戶的體驗不好——要安全

? ? ? ? 至于為什么要有操作系統, 這就涉及到了操作系統的核心工作, 操作系統的核心工作就是通過對下管理好軟硬件資源的手段, 達到對上提供良好的, 穩定快速安全的操作環境

? ? ? ? 個人筆記:

????????那么, 我們如何理解我們在計算機中執行的各種操作呢?

????????比如我們使用printf在顯示器上打印, 向磁盤中寫入數據, 玩游戲時像網絡中發送請求等等這些操作。 這些軟件操作其實最終都會被轉化為硬件操作。

? ? ? ? 也就是說, 我們日常在計算機上面執行的各種行為, 最終都會被轉化為硬件行為。

? ? ? ? 比如說我們使用printf, printf最終會打印到我們的顯示器上。 其實本質就是通過軟件將內容打印到了硬件上。? ? ? ? 我們向磁盤中寫入數據, 其實就是將代碼——軟件, 寫到了磁盤——硬件上。? ? ? ? ?還有我們打網絡游戲時, 為什么我們能夠同步的看到別人的狀態情況,其實就是因為我們每個人的電腦都在向服務端推送數據, 而這個推送的過程中, 就要先將數據輸入到網卡上面。

? ? ? ? ?綜上, 我們任何軟件的行為, 最終都會轉換為硬件行為。 并且這個過程自頂向下, 貫穿整個計算機軟硬件結構, 而軟件的下層挨著的就是操作系統。所以未來我們進行各種計算機操作, 都和操作系統直接或者間接的相關

? ? ? ? 個人筆記:

----------

下面是本節全部的筆記(個人筆記,整理很亂, 友友們自行選擇是否觀看):

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

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

相關文章

[ALSA]從零開始,使用ALSA驅動播放一個音頻

前言 最近學了不少有關音頻相關的&#xff0c;最近搞一下ALSA驅動 安裝 參考Linux應用開發【第八章】ALSA應用開發 中提到的ALSA庫及工具章節&#xff0c;本文中有比較詳細的有關ALSA驅動引用程序怎么安裝的&#xff0c;這里不再贅述。 關于ALSA&#xff0c;就當成一個音頻…

深入淺出:npm常用命令詳解與實踐【保姆級教程】

大家好,我是CodeQi! 在我剛開始學習前端開發的時候,有一件事情讓我特別頭疼:管理和安裝各種各樣的依賴包。 那時候,我還不知道 npm 的存在,手動下載和管理這些庫簡直是噩夢。 后來,我終于接觸到了 npm(Node Package Manager),它不僅幫我解決了依賴管理問題,還讓我…

Python深度理解系列之【排序算法——冒泡排序】

讀者大大們好呀&#xff01;&#xff01;!?????? &#x1f440;期待大大的關注哦?????? &#x1f680;歡迎收看我的主頁文章??木道尋的主頁 文章目錄 &#x1f525;前言&#x1f680;冒泡排序python實現算法實現圖形化算法展示 ??????總結 &#x1f525;前…

Apache POI、EasyPoi、EasyExcel

目錄 ?編輯 &#xff08;一&#xff09;Apache PoI 使用 &#xff08;二&#xff09;EasyPoi使用 &#xff08;三&#xff09;EasyExcel使用 寫 讀 最簡單的讀? 最簡單的讀的excel示例? 最簡單的讀的對象? &#xff08;一&#xff09;Apache PoI 使用 &#xff08;二&…

golang go-bindata打包配置文件嵌入到二進制文件

go-bindata打包配置文件嵌入到二進制文件 項目中難免會用到一些靜態資源和配置文件&#xff0c;但是常規打包的二進制文件無法再其他目錄正常運行&#xff08;靜態資源和配置文件不存在&#xff09; 有類似需求的可以安裝使用&#xff1a;go-bindata進行編譯處理配置文件 go-bi…

train_encoder_decoder.py

train_encoder_decoder.py from __future__ import print_function #為了確保代碼同時兼容Python 2和Python 3版本中的print函數# 導入標準庫和第三方庫 import os.path #導入了Python的os.path模塊&#xff0c;用于處理文件和目錄路徑 from os import path #從os模塊中導入了…

【場景題】數據庫優化和接口優化——異步思想

理解 異步處理&#xff1a; 對于耗時的操作&#xff0c;可以考慮使用異步處理方式來提升接口的響應速度。用戶可以在不阻塞當前操作的情況下&#xff0c;等待異步操作的結果。 異步處理在數據庫優化中的應用 雖然數據庫操作本身&#xff08;如查詢、插入、更新等&#xff09…

Git 安裝

目錄 Git 安裝 Git 安裝 在使用 Git 前我們需要先安裝 Git。Git 目前支持 Linux/Unix、Solaris、Mac 和 Windows 平臺上運行。Git 各平臺安裝包下載地址為&#xff1a;http://git-scm.com/downloads 在 Linux 平臺上安裝&#xff08;包管理工具安裝&#xff09; 首先&#xff0…

IIS在Windows上的搭建

&#x1f4d1;打牌 &#xff1a; da pai ge的個人主頁 &#x1f324;?個人專欄 &#xff1a; da pai ge的博客專欄 ??寶劍鋒從磨礪出&#xff0c;梅花香自苦寒來 目錄 一 概念&#xff1a; 二網絡…

深入理解C++中的鎖

目錄 1.基本互斥鎖&#xff08;std::mutex&#xff09; 2.遞歸互斥鎖&#xff08;std::recursive_mutex&#xff09; 3.帶超時機制的互斥鎖&#xff08;std::timed_mutex&#xff09; 4.帶超時機制的遞歸互斥鎖&#xff08;std::recursive_timed_mutex&#xff09; 5.共享…

【python腳本】批量檢測sql延時注入

文章目錄 前言批量檢測sql延時注入工作原理腳本演示 前言 SQL延時注入是一種在Web應用程序中利用SQL注入漏洞的技術&#xff0c;當傳統的基于錯誤信息或數據回顯的注入方法不可行時&#xff0c;例如當Web應用進行了安全配置&#xff0c;不顯示任何錯誤信息或敏感數據時&#x…

【TS】TypeScript 原始數據類型深度解析

&#x1f308;個人主頁: 鑫寶Code &#x1f525;熱門專欄: 閑話雜談&#xff5c; 炫酷HTML | JavaScript基礎 ?&#x1f4ab;個人格言: "如無必要&#xff0c;勿增實體" 文章目錄 TypeScript 原始數據類型深度解析一、引言二、基礎原始數據類型2.1 boolean2.2 …

蒼穹外賣--sky-take-out(四)10-12

蒼穹外賣--sky-take-out&#xff08;一&#xff09; 蒼穹外賣--sky-take-out&#xff08;一&#xff09;-CSDN博客?編輯https://blog.csdn.net/kussm_/article/details/138614737?spm1001.2014.3001.5501https://blog.csdn.net/kussm_/article/details/138614737?spm1001.2…

Unity動畫系統(2)

6.1 動畫系統基礎2-3_嗶哩嗶哩_bilibili p316 模型添加Animator組件 動畫控制器 AnimatorController AnimatorController 可以通過代碼控制動畫速度 建立動畫間的聯系 bool值的設定 trigger p318 trigger點擊的時候觸發&#xff0c;如喊叫&#xff0c;開槍及換子彈等&#x…

在js中如何Json字符串格式不對,如何處理

如果 JSON 字符串格式不正確&#xff0c;解析它時會拋出異常&#xff0c;但我們可以嘗試盡可能提取有效的信息。以下是一個方法&#xff0c;可以使用正則表達式和字符串操作來提取部分有效的 JSON 內容&#xff0c;即使整個字符串無法被 JSON.parse 完全解析。 示例代碼如下&a…

錯誤 [WinError 10013] 以一種訪問權限不允許的方式做了一個訪問套接字的嘗試 python ping

報錯提示&#xff1a;錯誤 [WinError 10013] 以一種訪問權限不允許的方式做了一個訪問套接字的嘗試 用python做了一個批量ping腳本&#xff0c;在windows專業版上沒問題&#xff0c;但是到了windows服務器就出現這個報錯 解決方法&#xff1a;右鍵 管理員身份運行 這個腳本 …

sql拉鏈表

1、定義&#xff1a;維護歷史狀態以及最新數據的一種表 2、使用場景 1、有一些表的數據量很大&#xff0c;比如一張用戶表&#xff0c;大約1億條記錄&#xff0c;50個字段&#xff0c;這種表 2.表中的部分字段會被update更新操作&#xff0c;如用戶聯系方式&#xff0c;產品的…

compute和computeIfAbsent的區別和用法

compute和computeIfAbsent都是Map接口中的默認方法&#xff0c;用于在映射中進行鍵值對的計算和更新。它們的主要區別在于它們的行為和使用場景。 compute 方法 定義: V compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction);參數: k…

在 WebGPU 與 Vulkan 之間做出正確的選擇(Making the Right Choice between WebGPU vs Vulkan)

在 WebGPU 與 Vulkan 之間做出正確的選擇&#xff08;Making the Right Choice between WebGPU vs Vulkan&#xff09; WebGPU 和 Vulkan 之間的主要區別WebGPU 是什么&#xff1f;它適合誰使用&#xff1f;Vulkan 是什么&#xff1f;它適合誰使用&#xff1f;WebGPU 和 Vulkan…

修改CentOS7 yum源

修改CentOS默認yum源為阿里鏡像源 備份系統自帶yum源配置文件 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下載ailiyun的yum源配置文件 CentOS7 yum源如下&#xff1a; wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun…