網(wǎng)站小圖標素材下載汕頭百度seo公司
?前言
Linux是我們在服務器中常用的操作系統(tǒng),我們有必要對這個操作系統(tǒng)有足夠的認識,并且能夠使相關的指令操作。今天我們就來簡單的認識一下這個操作的前世今生,并且介紹一些基礎的指令操作
Linux的前世今生
要說Linux,還得從UNIX說起
Unix的發(fā)展歷程
?起源(1960年代末)
Unix的故事始于1969年,由貝爾實驗室的Ken Thompson和Dennis Ritchie開發(fā)。最初的目標是創(chuàng)建一個用于內(nèi)部研究的操作系統(tǒng),以便于多用戶操作和資源共享。最早的Unix版本是基于Multics項目(968年,一些來自通用電器公司、貝爾實驗室和麻省理工學院的研究人員開發(fā)了一個名叫Multics的特殊操作系統(tǒng)。Multics在多任務文件管理和用戶連接中綜合了許多新概念)的靈感,但更為簡化和高效。
標準化與傳播(1970年代)
1970年代,Unix的版本不斷演變,加入了許多新特性,如多任務處理和文件系統(tǒng)。1973年,Unix的核心部分用C語言重寫,使其易于移植到不同的硬件平臺。隨后,Unix迅速傳播到各大學和研究機構(gòu),成為計算機科學教育的重要工具。
商業(yè)化與分支(1980年代)
1980年代,隨著商業(yè)需求的增長,多個公司開始開發(fā)自己的Unix版本,形成了眾多分支,如AT&T的System V和BSD(Berkeley Software Distribution)。這段時間,Unix的商業(yè)化步伐加快,各種廠商推出了兼容Unix的操作系統(tǒng),推動了Unix在企業(yè)環(huán)境中的廣泛應用。
標準化努力(1988年)
為了統(tǒng)一不同的Unix版本,1988年推出了POSIX(Portable Operating System Interface)標準,旨在確保不同Unix系統(tǒng)間的兼容性。這一標準促進了Unix的互操作性,并成為后續(xù)操作系統(tǒng)設計的重要參考。
開源運動與現(xiàn)代Unix(1990年代至今)
進入1990年代后,開源運動興起,Linux作為類Unix操作系統(tǒng)逐漸流行。盡管Unix本身是商業(yè)軟件,但一些Unix變種(如FreeBSD和OpenBSD)開始以開源形式發(fā)布,推動了社區(qū)的參與。
現(xiàn)代Unix仍在許多領域發(fā)揮著重要作用,如服務器、網(wǎng)絡設備和嵌入式系統(tǒng)。Unix的設計理念影響了許多現(xiàn)代操作系統(tǒng),包括Linux、macOS和各種Unix衍生系統(tǒng)。
起源
Linux的故事始于1991年。當時,芬蘭赫爾辛基大學的學生Linus Torvalds開始了一個個人項目,目標是開發(fā)一個免費的類Unix操作系統(tǒng)內(nèi)核。Torvalds的初衷是為了學習操作系統(tǒng),并且希望創(chuàng)建一個能夠在他的個人計算機上運行的Unix系統(tǒng)替代品。
在1991年8月25日,Torvalds在comp.os.minix新聞組上發(fā)布了一封著名的郵件:
"Hello everybody out there using minix – I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones."
這封郵件標志著Linux內(nèi)核的誕生。在郵件中,Torvalds明確表示,這只是一個愛好項目,并且不會像GNU那樣龐大。然而,Linux很快超出了他的預期,成為全球開發(fā)者和愛好者的焦點。
Unix對Linux的影響
要理解Linux的設計哲學,就必須了解Unix操作系統(tǒng)。Unix的設計理念注重簡潔和模塊化,其核心哲學是“工具鏈”——即每個工具只專注于完成一項任務,并且這些工具能夠通過簡單的命令組合完成復雜的工作。這種設計思想為后來操作系統(tǒng)的發(fā)展奠定了基礎。
Unix系統(tǒng)不僅對Linux有深遠的影響,也對整個計算機行業(yè)產(chǎn)生了巨大的推動作用。Linux繼承了Unix的許多特性,如文件系統(tǒng)結(jié)構(gòu)、進程管理和權限控制等。
Linux與GNU項目
雖然Linus Torvalds開發(fā)了Linux內(nèi)核,但要構(gòu)建一個完整的操作系統(tǒng),需要的不僅僅是內(nèi)核。幸運的是,GNU項目提供了許多關鍵組件。GNU項目由Richard Stallman在1983年發(fā)起,目標是創(chuàng)建一個完全自由的軟件生態(tài)系統(tǒng),包括編譯器、Shell、文本編輯器等工具。
Linux內(nèi)核與GNU工具結(jié)合,形成了完整的操作系統(tǒng),因此很多人稱其為“GNU/Linux”。雖然這個名稱在社區(qū)中存在爭議,但不可否認的是,GNU項目為Linux的成功奠定了基礎。
自由軟件與開源運動
Linux的迅速發(fā)展與自由軟件運動和開源軟件的理念息息相關。Linux遵循GNU通用公共許可證(GPL),這一許可證允許任何人自由地使用、修改和分發(fā)Linux的源碼。這一自由性激發(fā)了全球開發(fā)者的參與熱情,推動了Linux在短時間內(nèi)取得了快速進步。
自由軟件運動由Richard Stallman發(fā)起,倡導軟件應該是自由的,用戶應擁有對軟件的控制權。而開源軟件運動則更多地關注開源帶來的技術優(yōu)勢,特別是在協(xié)作開發(fā)和代碼共享方面。Linux正是這兩大運動交匯處的成功范例。
Linux的快速發(fā)展
從1991年發(fā)布至今,Linux已經(jīng)歷了數(shù)千次內(nèi)核更新,發(fā)展成為一個高度成熟且穩(wěn)定的操作系統(tǒng)。在最初的幾年,Linux主要被技術愛好者和程序員用于個人學習和研究。然而,隨著時間的推移,越來越多的企業(yè)和組織開始認識到Linux的潛力,尤其是在服務器領域。由于其高性能、安全性和自由的特性,Linux迅速成為了互聯(lián)網(wǎng)服務器的主力操作系統(tǒng)。
如今,Linux不僅在服務器市場占據(jù)主導地位,還廣泛應用于各種嵌入式設備、物聯(lián)網(wǎng)設備和超級計算機中。世界上最快的超級計算機幾乎都運行著Linux,而Android操作系統(tǒng)(基于Linux內(nèi)核)則占據(jù)了移動設備市場的主導地位。
Linux官網(wǎng)
The Linux Kernel Archives
發(fā)行版本
我們前面介紹的都是Linux內(nèi)核,是操作系統(tǒng)的核心部分,負責管理系統(tǒng)資源,包括CPU、內(nèi)存、設備驅(qū)動等。內(nèi)核提供了與硬件的直接交互,并為上層應用程序提供了基本的服務接口。操作系統(tǒng)是在內(nèi)核的基礎之上包括其他各種應用程序、庫、工具和用戶界面……
Liunx操作系統(tǒng)的構(gòu)成是
-
內(nèi)核:作為操作系統(tǒng)的基礎,內(nèi)核負責調(diào)度任務、管理內(nèi)存、處理輸入輸出操作、實現(xiàn)文件系統(tǒng)等功能。它是Linux操作系統(tǒng)的“心臟”。
-
用戶空間:在內(nèi)核之上,用戶空間包含了所有用戶應用程序和服務,包括圖形界面、命令行工具、編程庫、服務守護進程等。這些組件與內(nèi)核協(xié)同工作,以提供完整的操作體驗。
操作系統(tǒng)發(fā)行版是指各種Linux發(fā)行版(如Ubuntu、Fedora、Debian等)在Linux內(nèi)核的基礎上,集成了特定的應用程序、包管理工具和用戶界面。每個發(fā)行版可能會選擇不同的內(nèi)核版本及其配置選項,以滿足特定的需求。可以理解為是在Linux內(nèi)核的基礎上向各自更為擅長的方向演化的產(chǎn)物
Linux環(huán)境的搭建
這里一般會有三種搭建環(huán)境的方式
- 在物理機上安裝Linux系統(tǒng)
- 使用虛擬機安裝Linux系統(tǒng)
- 使用云服務器,云服務器安裝Linux系統(tǒng)
我們這里使用云服務器的方式,這里大家可以按自身實際情況考慮合適的方式
我這里使用的是Ubuntu 22.04 64位,當然了主要是Linux系統(tǒng)都可以選擇
如果購買云服務器,如何選購我們就不再展開,但是購買完成之后關注一下服務器IP地址,管理員(root)的賬戶密碼
我們使用Xshell登錄我們的服務器,剛才介紹的那三點是完成登錄的核心。
Xshell的按照我們也不再展開,基本就是一路默認next安裝即可?
官網(wǎng)XSHELL - NetSarang Website
下面就可以登錄Xshell
使用以下命令 ssh [用戶名]@[服務器IP地址] 登錄,[] 內(nèi)的內(nèi)容需要替換為你服務器的信息,之后會彈窗要求輸入密碼,輸入登錄用戶的密碼即可成功登錄
或者
ssh [服務器IP地址] 之后會彈窗提示你輸入用戶名和密碼
注意,在Linux中的復制和粘貼分別是 ctrl+Insert和shift+insert
也可以使用Xshell記住你的登錄
隨后需要填寫用戶名和密碼即可實現(xiàn)記住登錄信息
之后只需要點擊Xshell記錄的信息即可自動實現(xiàn)登錄
登錄之后我們可以來看幾個簡單的命令
可以通過?uname -r 命令查看內(nèi)核版本
如果想查看更加詳細的信息 可以使用 uname -a?這會顯示包括內(nèi)核版本、主機名、處理器架構(gòu)等在內(nèi)的更多信息
還有 whoami 可以查看當前登錄的用戶名 pwd 可以查看目前在目錄中的位置
root用戶是超級管理員用戶,它可以創(chuàng)建新用戶
adduser 新用戶名 =》 創(chuàng)建用戶
passwd 新用戶名 =》 可以修改用戶的密碼
注意Linux中密碼不回顯,輸入完直接回車即可
刪除用戶使用 userdel
命令刪除用戶?userdel 用戶名
還希望刪除該用戶的主目錄及其所有文件?userdel -r 用戶名
?基礎指令
ls
對于目錄,該命令列出該目錄下的所有子目錄與文件。對于文件,將列出文件名以及其他信息(沒用其他參數(shù)默認只會列出文件名)
常見參數(shù)有 -a 列出包含隱藏文件 -l列出詳細信息 ll可以為 ls -al 的縮寫
ls后面如果不跟地址默認是本地址,更換地址顯示相應地址的信息
注意,ll或者ls -l 顯示詳細信息時,關注每行的第一個像素的位置,如果是-代表普通文件,d則代表目錄,Linux中一切皆文件
-d 將目錄象文件一樣顯示,而不是顯示其下的文件。 如:ls –d 指定目錄
pwd
顯示當前所在的位置
cd
進入指定的目錄
可以跟絕對地址或者相對地址 ../上一級目錄 ./本級目錄
Linux系統(tǒng)中,磁盤上的文件和目錄被組成一棵目錄樹,每個節(jié)點都是目錄或文件
cd ~/cd:進入用戶家目
cd -:返回最近訪問目錄
touch
常用于創(chuàng)建一個不存在的文件
touch一個存在的文件,會更改文件的時間屬性
mkdir
這個一般用于創(chuàng)建一個目錄
如果需要創(chuàng)建多個層級的目錄,需要mkdir –p
rmdir指令 && rm 指令
rmdir是一個與mkdir相對應的命令。mkdir是建立目錄,而rmdir是刪除命令
rmdir只能刪除空目錄
-p選項使得如果
更為常用的刪除命令是rm命令可以同時刪除文件或目錄
-r則會遞歸刪除內(nèi)部的全部文件,-f是指強制刪除
man
提示命令的參數(shù)以及功能,這是一個在線的手冊
它內(nèi)部會有很多本手冊,默認查找的是第一本(指令本),第二本是系統(tǒng)調(diào)用本,第三本是C語言的手冊……一般只用這三本
cp
cp [選項] 源文件或目錄 目標文件或目錄
參數(shù)常用的是 -r 復制目錄時需要添加參數(shù)
mv
常用于移動文件的位置,也可以給文件重命名
mv [選項] 源文件或目錄 目標文件或目錄
選項一般不帶
cat和tac
常用于輸出短文件中的內(nèi)容
tac正向打印,tac反向打印
cat [選項][文件]
如果直接cat回車則會不斷回顯你輸入的內(nèi)容
選項常用的時 -n 輸出時帶行號
more
功能上類似于cat,不過不能一頁完全顯示時變?yōu)榉猪擄@示
less
功能上類似于cat,不過是滑動顯示
重定向
> 輸出重定向 文件不存在則新建,存在則會清空輸出
>> 追加重定向 不清空輸出
< 輸入重定向
head
輸出文件前幾行
參數(shù) -n 代表行數(shù) n自行替換
tail
輸出文件后幾行
參數(shù) -n 代表行數(shù) n自行替換
時間相關
date
顯示當前時間
可以指定格式,格式設定為一個加號后接數(shù)個標記,其中常用的標記列表如下?
%H : 小時(00..23)
%M : 分鐘(00..59)
%S : 秒(00..61)
%d : 日 (01..31)
%m : 月份 (01..12)
%Y : 完整年份 (0000..9999)
例如date +%Y:%m:%d
root可以設置當前時間date -s
時間戳
時間->時間戳:date +%s
時間戳->時間:date -d@n
cal
顯示日歷
cal [參數(shù)][月份][年份]
find -name
find 從哪里開始查?-name 待查的文件
從待開始的位置遞歸遍歷查找文件
grep
行為單位查找包含的字符串
-i:忽略大小寫的不同,所以大小寫視為相同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '搜尋字符串' 內(nèi)容的那一行
常搭配管道符號 | 使用。管道符可以理解為鏈式編程,前面的輸出是后面的輸入
zip和unzip
zip [-r] 目標.zip 源
如果目標文件時目錄 需要-r
unzip 源.zip [-d 目標位置]
沒用指定位置默認為當前
tar
也是壓縮或者解壓文件
tat czf 目標.tgz 源 //壓縮
tar xzf 源.tgz?[-C 目標文章] //解壓
lrzsz和scp
sz可以從服務器向物理機傳輸文件(Xshell會詢問放在哪個目錄下)
rz可以從物理機向服務器傳輸文件(一般我們使用拖拽的方式)
scp可以實現(xiàn)一臺服務器向另外一臺服務器發(fā)送文件
bc
一個簡單的計算器
uname
-r查看內(nèi)核版本
-a查看核心配置
常用熱鍵
[Tab]按鍵---具有一下補全和兩下提示的功能
[Ctrl]-c按鍵---讓當前的程序停止
上下鍵翻歷史命令
Ctrl]-r按鍵---搜索歷史命令
Ctrl]-d按鍵---退出當前用戶
shutdown [選項] 關機?
初識shell
我們用戶是不方便直接操作內(nèi)核的,需要一個中間人來幫助我們和內(nèi)核建立連接,這個中間人就是shell(命令行解釋器),我們都是通過命令行來操作Linux,shell先拿到用戶輸入的命令,先進行一層校驗再交給內(nèi)核從而保護內(nèi)核。shell是個統(tǒng)稱,在我們具體的系統(tǒng)中它叫bash,他在接受指令時會產(chǎn)生一個子線程去運行這個指令保證自己一直能正常運行,這也是為了保證Linux系統(tǒng)能一直正常運行
結(jié)語
以上便是今天的全部內(nèi)容。如果有幫助到你,請給我一個免費的贊。
因為這對我很重要。
編程世界的小比特,希望與大家一起無限進步。
感謝閱讀!