電腦硬體基本知識及Linux的常用命令

来源:http://www.cnblogs.com/jingsupo/archive/2017/11/17/linux-tips.html
-Advertisement-
Play Games

1. 電腦硬體基本知識 CPU - 寄存器 - L1/L2/L3 - 記憶體 - 硬碟 - 互聯網下載/其他存儲介質傳輸 寄存器:如果是需要重覆執行的指令,就放到寄存器,不用每次都從記憶體去讀取 8個寄存器緩存:CPU是高速設備,記憶體是低速設備,CPU和記憶體做數據交互,就通過緩存來臨時存儲。 電腦的 ...



------------------
1. 電腦硬體基本知識
------------------

CPU - 寄存器 - L1/L2/L3 - 記憶體 - 硬碟 - 互聯網下載/其他存儲介質傳輸

寄存器:如果是需要重覆執行的指令,就放到寄存器,不用每次都從記憶體去讀取 8個寄存器
緩存:CPU是高速設備,記憶體是低速設備,CPU和記憶體做數據交互,就通過緩存來臨時存儲。

 

電腦的主要硬體:

CPU:

主頻:台式機 單核主頻 4.0Ghz 睿頻6.0Ghz
工藝:32nm 22nm 10nm 8nm,摩爾定律(戈登.摩爾)貝爾實驗室
架構:CPU的軟體,skylake

外星人、未來人類:P7 筆記本20萬。將台式機的硬體,放到筆記本里。

筆記本模具:藍天(代工)、微星(自產自用)。


Intel 英特爾(牙膏廠):

酷睿 Core(家用,自帶核心顯卡):

核心(超線程技術)
i3:雙核雙線程
i5:四核四線程,筆記本(雙核四線程)
i7:四核八線程

U 低電壓(低功耗)
M 移動版
Q 四核心
H 焊接在主板上(散熱好一些,但是不能拆卸)
K 不鎖倍頻
X 旗艦版

 

至強 Xeon(伺服器,不帶核心顯卡):
E3:單核主頻低,但是核心多。 主頻2.0, 6核12線程,主要是用來做多任務處理。
E5:
E7:

 

AMD :銳龍

 


記憶體:圓晶體顆粒、主控

優盤、記憶體、固態硬碟,都由圓晶體顆粒和主控組成。

頻率:1333MHZ 1600MHZ

4G 1333MHZ + 4G 1600MHZ 遵循水桶效益。


圓晶體顆粒廠商:三星、鎂光、台積電、東芝

金士頓、海盜船、威剛、三星、鎂光...

 

機械硬碟:磁頭,簇
5400rpm 7200rpm ,
60~80M/s 100M/s

IBM(硬碟業務出售給日立) - 日立(西部數據合併了日立的硬碟業務) - 西部數據(全資收購閃迪 )
三星的硬碟 - 希捷

 

顯卡:
英偉達 NVIDIA

GeForce 精視:
GTX 1080、980、780、690

1080Ti 公版,顯卡生產商發佈的顯卡版本

流處理器:
架構:
顯存:速度


華碩、索泰、技嘉、七彩虹。


AMD(ATI)
A卡,N卡:信仰。


網卡、音效卡:瑞昱 和 高通。
顯示器:戴爾、LG、三星、夏普、冠捷、京東方。

 

------------------
2. Unix 和 Linux的誕生
------------------


21世紀最偉大的科研機構 貝爾實驗室

(後來:從att拆分後,單獨成立一家公司:朗訊(商業化)和 貝爾實驗室(科研),阿爾卡特收購了朗訊:阿爾卡特-朗訊。阿爾卡特和諾基亞合併: 諾基亞阿爾卡特朗訊貝爾實驗室)

通信業務:愛立信、西門子、諾基亞、阿爾卡特
電信設備:思科、華為、中興

 

AT&T(美國電話電報公司) 成立一個科研單位。

貝爾實驗室:晶體管、C語言、Unix操作系統,通信、光、物理、化學...
誕生了8個諾貝爾獎得主,多個圖靈獎得主。

圖靈獎:電腦界的諾貝爾獎。艾蘭-圖靈 英國人。發明瞭機器自動去計算,最後破譯德軍Enigma密碼。人工智慧之父。


機器語言 - 彙編語言(符號語言)- 高級語言
UNIX :彙編寫的第一版。

BCPL(英國劍橋發佈一種編程語言) - B語言(編寫了改寫了UNIX) - C語言。
開始用C語言重寫了UNIX


intel :
8086 8bit、80286 16bit、80386 32bit CPU


UNIX 最早的源碼是開放,大學、機構、軍工都可以使用。
AT&T 申請版權,不能再隨便使用源碼。


UNIX BSD : 加利福尼亞大學 伯克利分校電腦中心 發佈的一款UNIX

Sun :Sun公司, Sun伺服器 + Sun OS, Java, 全部被Oracle收購,Solaris


GNU 組織:開源世界的領頭人。
GNU :GNU is Not Unix:宣揚自由軟體運動的一個組織。
GNU當時有很多自由軟體,Emacs,bash等,唯獨缺少一個操作系統。

GNU + Linux = 開源世界

Linus's UNIX = Linux
Linus 的主要產品:kernel(Linux的內核)、git(版本管理工具)、github(代碼托管網站)


Linux全部都是免費下載使用。

Ubuntu(在宣傳Linux的使用做了很大的貢獻):易用性,軟體的更新速度和維護速度很高。
CentOS:個人版的Redhat
Redhat:企業級的Linux,提供收費的技術解決方案

Debian
FreeBSD
OpenBSD

BT5/Kali:黑客必備的Linux


Ubuntu 16.04
年.月

04 :穩定版都是長期支持版(支持4~6年)
10 :過渡版本,開發版本(支持1年)


------------------
微軟的故事...
------------------
IBM: 國際商用機器公司

IBM PC機,缺一個操作系統,微軟接下了這個訂單。

MS-DOS: 5萬刀 買了 西雅圖軟體公司手上 一個操作系統 xxx-DOS,賣給了IBM

MS-DOS:磁碟操作系統,一直到 MS-DOS 9.0

Windows 比爾蓋茨,圖形化的操作系統

Windows 3.0 - 銷量非常非常廣泛,幾乎所有的家用電腦都運行 Windows

從此,微軟開始了他的壟斷之路。三流公司做產品、二流公司做設計、一流公司做標準。全世界的軟體公司都活在微軟的陰影之下。

2001 互聯網時代開始了,微軟開始走下路。

搜索、手機、移動互聯網,鮑爾默 。納德拉:移動為先雲為先。

現金牛:Windows、Office、Azure雲

矽谷,國外大企業玩死小公司:1.收購,2.收購不了打官司。

 

Windows 8 和 8.1

Windows XP,大家的電腦都很差,記憶體512M

Windows Vista 和 7

 

 

 

 


------------------
3. Linux的常用命令
------------------

Ubuntu

ls :列出當前目錄下的文件

pwd :列印當前目錄的絕對路徑

touch 創建指定文件
rm 刪除指定文件

mkdir 創建指定空目錄
rmdir 刪除指定空目錄

rm -rf 刪除非空目錄 -r 表示遞歸刪除,-f 強制執行

clear / ctrl + l 快速清屏

 

------------------
4. Vim的基本操作
------------------

Vim 是Vi 的升級版。


主要有兩種模式:

預設打開文件後,是命令模式


編輯模式:
按一下鍵進入編輯模式:

i 在當前游標前,進行編輯
I 在當前行的行首,進行編輯

a 在當前游標後,進行編輯
A 在當前行的行尾,進行編輯

o 在當前行的下麵開闢新行,進行編輯
O 在當前行的上面開闢新行,進行編輯

 


命令模式:
在編輯模式下,按ESC鍵進行命令模式

h : 向左
j : 向下
k : 向上
l : 向右

x 刪除游標所在的字元
X 刪除游標前一個字元

dd 刪除當前行字元
D 刪除當前行游標和游標之後的所有字元

u 撤銷上一步操作

r 替換當前游標的字元

gg 就是回到文件的開始位置
G 到文件的結尾所在行的開始


:w 保存數據
:q 退出文件(如果文件沒保存則提示出錯)
:q! 強制退出,打開後寫入的數據則不保存。

:wq 保存並退出
:x 保存並退出
shift + zz 保存並退出


yy 複製當前行
p 在下一行粘貼複製的內容

 


使用命令的時候,可以按下ESC鍵終端當前命令

 

 

 

 


dd 刪除/剪切當前行字元
yy 是複製當前行
p 是游標所在行的下麵一行粘貼 複製/剪切的內容

D 刪除/剪切 當前行游標和游標之後的所有字元
p 在游標的位置後進行粘貼(不會換行)


u 是撤銷
ctrl + r 是反撤銷

y1j :從游標所在行開始,向下複製1行,總共2行

y2k :從游標所在行開始,向上複製2行,總共3行


視圖模式:
v 進入視圖模式,可以選中多行內容,只處理被選中的部分
ctrl + v 進入視圖模式,可以 按區域塊 選中,只處理被選中的部分

v G : 從當前位置開始,向後選中全部內容

 


man ls

空格:走一屏幕
回車:走一行
b :回滾一屏幕
q :退出

 

終端的命令技巧:

方向鍵 上下 切換之前的命令
方向鍵 左右 移動游標
ctrl + a : 移動游標到命令的頭部
ctrl + e : 移動游標到命令的尾部
善用tab鍵補齊文件名/目錄名
ctrl + c :立刻終止當前程式/行為

ctrl + u 清除當前的命令內容

 


ls -a 顯示所有文件,包括隱藏文件

ls -l 顯示文件的詳細信息

例如:-rw-rw-r-- 1 python python 1466 9月 11 14:52 a.py

第一個字元表示文件類型:-普通文件,d表示目錄

rwx rw- r--
文件所有者許可權 所屬用戶組的許可權 其他用戶的許可權

r read 表示讀許可權
w write 表示寫許可權
x execute 表示執行許可權

1 表示硬鏈接數量 :相當於文件拷貝,拷貝越多,硬鏈接就越多,刪除一個拷貝,硬鏈接就減少一個。

python python : 用戶名 和 組名

1466:文件大小,單位 Byte

9月 11 14:52 :表示文件的最後修改時間

a.py :文件名

 


cp :拷貝

cp 源文件 拷貝後的文件
cp -r 源目錄 拷貝後的目錄


mv : 移動/重命名 文件/目錄
mv 源文件/目錄 移動後的文件名/目錄名

 


cat:在終端上顯示文件里文本內容,適用於文本內容較少時候使用
-n 可以顯示行號

cat -n xxx.py


more:在終端上分段顯示內容,適用於內容較多的時候使用


grep : 在文本里查找指定的內容
grep "文本內容" 文件名


grep支持正則表達式,正則表達式是一種文本匹配工具,一般編程語言都支持正則表達式。 Python通過 import re 導入模塊使用正則。
舉例:
^hello : 表示匹配以hello開頭的字元串
world$ : 表示匹配以world結尾的字元串


UNIX哲學:一個功能只做一件事,各個功能之間可以配合使用。

 

重定向: 將終端的輸出內容重定向到文件里(註意,重定向不要重定向到文件自身,否則會導致內容丟失)
> 相當於文件操作的 w ,如果文件不存在,則創建文件並寫入數據,如果文件存在則清空文件再寫入數據
>> 相當於文件操作的 a,如果文件不存在,則創建文件並寫入數據,如果文件存在則在文件末尾追加新的數據

可以配合Linux的其他命令一起使用,只要是終端的輸出內容,都可以做重定向。

# 保存終端的輸出信息(ps -aux表示顯示所有進程的詳細信息)
ps -aux > ps_info.txt

# 文件合併
cat file1 >> file2


管道: 將第一個命令的結果,通過管道,傳遞給第二個命令處理

ps -aux | grep "sogou"

python 1444 0.2 0.2 29932 8316 pts/2
顯示pid編號 1444

sudo kill -9 1444

 

 

ls -al | more

cat xxx.txt | grep

 

 

chmod 修改文件許可權:
chmod +x 讓所有用戶都具有執行許可權
chmod -r 讓所有用戶都沒有讀許可權
這樣處理許可權要麼都有,要麼都沒有。


chmod 777 test.py # 所有用戶可讀可寫可執行
chmod 536 test.py # 文件所有者 5:讀執行, 組 3:寫執行, 其他用戶 6:讀寫
chmod 400 test.py # 文件所有者 4:讀, 其他用戶沒有許可權

0 表示沒有許可權
1 表示執行許可權
2 表示寫許可權
4 表示讀許可權

 

Windows 在目錄里執行:
先找當前目錄,如果當前目錄有,則立刻執行;如果當前目錄沒有,則去找環境變數。


Linux 在目錄里執行:
直接找環境變數,如果環境變數有,則執行;如果沒有,則報錯。

所以,需要在前面加上 ./ 指明Linux執行當前目錄下的文件。


#!/usr/bin/python3

# 表示如果文件作為可執行程式運行,則使用指定解釋器進行解釋。


#coding:utf-8

# Python2 預設環境是ascii編碼,不能處理中文。coding:utf-8 表示按utf-8編碼處理中文。在Python2的代碼里比較常見。
# Python3 環境已經改為utf-8,所以不用指定了。
print("你好世界,你壞世界。")

 

find: 查找指定目錄下的所有符合條件的文件(註意,find會遞歸查找所有的子目錄)

如果不寫路徑,則預設查找當前目錄;如果不寫 -name 文件名,則預設查找所有文件
# 查找當前目錄下所有的 .py 文件,包括子目錄
find ./ -name "*.py"


軟連接:

ln -s 源文件的絕對路徑 軟連接的路徑和名稱

1. 源文件必須用絕對路徑
2. 創建好軟連接後,不要移動源文件,否則會失效。


硬鏈接:簡單理解為文件的拷貝(課後瞭解)

 


Linux 打包 和 壓縮:一般把需要打包的文件和目錄全部存到統一的一個目錄,再去打包這個目錄。

tar 只是包,並沒有做壓縮
# 打包
tar -cvf 打包後的包名.tar 需要打包的目錄
# 解包
tar -xvf 打包後的包名.tar


tar.gz 會進行壓縮,大小會大大降低
# 壓縮 gzip
tar -zcvf 壓縮後的包名.tar.gz 需要打包的目錄

# 解壓縮
tar -zxvf 壓縮後的包名.tar.gz

 


sudo su # 切換超級用戶,一般不推薦這麼做,避免因為誤操作導致系統問題,不小心誤刪文件或修改文件,系統不會提示。

sudo vi /bin/xxxx # 需要許可權單獨加 sudo

 

 

# 1. 安裝軟體
$ sudo apt install 軟體包

# 2. 卸載軟體
$ sudo pip remove 軟體名

# 3. 更新已安裝的包
$ sudo apt upgrade

# 4. 定期更新源伺服器軟體列表 : /var/lib/apt/lists
$ sudo apt update

 

讓自己緊張起來!


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

-Advertisement-
Play Games
更多相關文章
  • “移動警務通”綜合系統為公安行業提供一種高效的移動警務應用解決方案,適用於交警、巡警、刑警、治安警等各類警務人員,利用移動網路,通過身份證拍照識別軟體接入警務通後臺管理系統和警務通呼叫中心(110指揮調度中心/便民報警處理中心)系統,構成新一代立體的公安辦公網路。目前身份證拍照識別、車牌拍照識別技術 ...
  • 在管理工具里打開Internet 信息服務(IIS)管理器。然後選擇需要配置的網站。 右側的界面中會顯示該網站的所有功能配置,我們選擇並點擊進入“MIME類型” 在左側的操作區選擇點擊“添加”MIME。 在彈出的添加視窗里的文件擴展名輸入:APK 在MIME類型輸入:application/vnd. ...
  • 微信分享前提: 1.需要成功在微信開發者平臺註冊了賬號, 並取的對應的 appkey appSecret。 2. 針對iOS9 添加了微信的白名單,以及設置了 scheme url 。 這都可以參照上面的鏈接,進行設置好。 3. 分享不跳轉的時候原因總結, 具體方法如下: 1. 首先檢查下是否有向微 ...
  • 轉載請標明出處:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自 "【趙彥軍的博客】" 在前面我介紹了插件開發的基本流程 "【Android Studio 插件開發詳解一:入門練手】" "【Android Studio 插件 ...
  • TensorFlow對Android、iOS、樹莓派都提供移動端支持。 移動端應用原理。移動端、嵌入式設備應用深度學習方式,一模型運行在雲端伺服器,向伺服器發送請求,接收伺服器響應;二在本地運行模型,PC訓練模型,放到移動端預測。向服務端請求數據可行性差,移動端資源稀缺。本地運行實時性更好。加速計算 ...
  • 一直搞不明白Oracle資料庫和sql server的區別,今天我特意查資料把他們的區別整理出來 Oracle資料庫:Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關係資料庫管理系統。 它是在資料庫領域一直處於領先地位的產品。可以說Oracle數 ...
  • sql語句性能不行,執行效率就會降低。對於sql語句做一些簡單的註意,只對於寫sql語句方面,寫的不全,但可以應付一下麵試。 1.儘量避免select * 的存在,最好使用具體的列,避免多餘的列 2.使用where限定具體查詢的數據,避免出現多餘的行 3.使用top 4.慎用distionct,給查 ...
  • 上一篇簡要介紹了圖資料庫的一些基本內容(初識SQL Server2017 圖資料庫(一)),本篇通過對比關係型一些語法來體現圖資料庫模式的一些優點,比如查詢方便,語句易理解等。 在圖資料庫模型上構建查詢的優勢: T-SQL 帶給圖表查詢一些新的語法。在SELECT語句中我們有一些特殊的語句來關聯點和 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...