??個(gè)人主頁:Sarapines Programmer
???系列專欄:《操作系統(tǒng)實(shí)驗(yàn)室》
??詩賦清音:柳垂輕絮拂人衣,心隨風(fēng)舞夢飛。 山川湖海皆可涉,勇者征途逐星輝。
目錄
??1 初識Linux OS
??2. Linux 操作系統(tǒng)的解密與實(shí)戰(zhàn)
??1. 實(shí)驗(yàn)?zāi)康?/p>
??2. 實(shí)驗(yàn)準(zhǔn)備
??3. 實(shí)驗(yàn)內(nèi)容
??4. 實(shí)驗(yàn)心得
??總結(jié)
??1 初識Linux OS
Linux是一種開源的Unix-like操作系統(tǒng)內(nèi)核,它是基于POSIX和Unix的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。Linux內(nèi)核最初是由芬蘭程序員Linus Torvalds在1991年創(chuàng)建的,之后成為自由軟件和開源社區(qū)的一個(gè)主要項(xiàng)目。
以下是Linux操作系統(tǒng)的一些主要特點(diǎn)和組成部分:
內(nèi)核(Kernel): Linux內(nèi)核是操作系統(tǒng)的核心,它管理系統(tǒng)資源,如處理器、內(nèi)存、設(shè)備驅(qū)動程序等。Linus Torvalds最初編寫了Linux內(nèi)核,它是Linux操作系統(tǒng)的基礎(chǔ)。
Shell(命令解釋器): Linux操作系統(tǒng)使用命令行界面(CLI),用戶與系統(tǒng)交互通過Shell。用戶可以通過輸入命令執(zhí)行各種任務(wù),管理文件、進(jìn)程、權(quán)限等。常見的Shell包括Bash(Bourne Again SHell)和Zsh。
文件系統(tǒng): Linux支持多種文件系統(tǒng),包括Ext4、XFS、Btrfs等。文件系統(tǒng)負(fù)責(zé)管理存儲設(shè)備上的文件和目錄,以及文件的權(quán)限、所有權(quán)等信息。
用戶界面: 雖然Linux以CLI為主,但也支持圖形用戶界面(GUI)。常見的Linux桌面環(huán)境有GNOME、KDE、XFCE等,它們提供了直觀的用戶體驗(yàn)。
軟件包管理系統(tǒng): 大多數(shù)Linux發(fā)行版都有自己的軟件包管理系統(tǒng),用于安裝、更新和刪除軟件。常見的包管理工具有APT(Debian/Ubuntu)、YUM(Red Hat/CentOS)、Pacman(Arch Linux)等。
網(wǎng)絡(luò)功能: Linux具有強(qiáng)大的網(wǎng)絡(luò)功能,支持各種網(wǎng)絡(luò)協(xié)議和服務(wù)。它可以作為服務(wù)器運(yùn)行各種網(wǎng)絡(luò)服務(wù),如Web服務(wù)器(Apache、Nginx)、郵件服務(wù)器(Postfix、Sendmail)、文件服務(wù)器(Samba)等。
多用戶和多任務(wù): Linux是一個(gè)多用戶系統(tǒng),多個(gè)用戶可以同時(shí)訪問同一臺機(jī)器。它也是一個(gè)多任務(wù)系統(tǒng),可以同時(shí)運(yùn)行多個(gè)進(jìn)程。
安全性: Linux以安全性而聞名,系統(tǒng)管理員可以設(shè)置用戶權(quán)限、訪問控制列表(ACLs)等來確保系統(tǒng)的安全性。
開源和自由: Linux是開源軟件,其源代碼可以被任何人查看、修改和分發(fā)。大多數(shù)Linux發(fā)行版是免費(fèi)提供的,用戶可以自由選擇、使用和分發(fā)。
發(fā)行版(Distribution): 由于Linux內(nèi)核是開源的,不同的組織和社區(qū)創(chuàng)建了各種Linux發(fā)行版,例如Ubuntu、Debian、Fedora、CentOS、Arch Linux等。每個(gè)發(fā)行版都有自己的特點(diǎn)和包管理系統(tǒng)。
總體而言,Linux操作系統(tǒng)是一個(gè)強(qiáng)大、靈活且可定制的操作系統(tǒng),廣泛應(yīng)用于服務(wù)器、嵌入式系統(tǒng)、超級計(jì)算機(jī)等各種領(lǐng)域。
??2. Linux 操作系統(tǒng)的解密與實(shí)戰(zhàn)
??1. 實(shí)驗(yàn)?zāi)康?/h3>
-
掌握 shell 的基本功能和概念。
-
熟悉 Linux 系統(tǒng)的基本操作。
-
實(shí)現(xiàn) Linux 系統(tǒng)的基本管理。
??2. 實(shí)驗(yàn)準(zhǔn)備
-
?獲取 L?inux 鏡像文件:下載適用于虛擬機(jī)的 Linux 鏡像文件,比如 Ubuntu 21.04,從 Ubuntu 官方網(wǎng)站 獲取。
-
安裝虛擬化軟件:安裝 VMware Workstation 或 Virtualbox,兩者提供簡便的虛擬機(jī)管理和配置。
-
創(chuàng)建 Linux 虛擬機(jī):打開虛擬化軟件,按照指引創(chuàng)建新虛擬機(jī)。設(shè)置內(nèi)存為 2GB 或更多,其余選項(xiàng)選擇默認(rèn)值。加載下載好的 Linux 系統(tǒng) ISO 鏡像文件,啟動虛擬機(jī)完成 Linux 系統(tǒng)安裝。??
??3. 實(shí)驗(yàn)內(nèi)容
掌握 shell 的基本功能和概念。
熟悉 Linux 系統(tǒng)的基本操作。
實(shí)現(xiàn) Linux 系統(tǒng)的基本管理。
?獲取 L?inux 鏡像文件:下載適用于虛擬機(jī)的 Linux 鏡像文件,比如 Ubuntu 21.04,從 Ubuntu 官方網(wǎng)站 獲取。
安裝虛擬化軟件:安裝 VMware Workstation 或 Virtualbox,兩者提供簡便的虛擬機(jī)管理和配置。
創(chuàng)建 Linux 虛擬機(jī):打開虛擬化軟件,按照指引創(chuàng)建新虛擬機(jī)。設(shè)置內(nèi)存為 2GB 或更多,其余選項(xiàng)選擇默認(rèn)值。加載下載好的 Linux 系統(tǒng) ISO 鏡像文件,啟動虛擬機(jī)完成 Linux 系統(tǒng)安裝。??
(1)在UNIX/Linux系統(tǒng)中,用戶登錄到系統(tǒng)后,可以看到一個(gè)shell提示符(#或$)。用戶可以在提示符后面輸入任何命令及參數(shù)如
$date??????? #以默認(rèn)方式顯示日期和時(shí)間
$date -u ?????? #傳統(tǒng)UNIX風(fēng)格選項(xiàng)
$date --utc ??? #GNU風(fēng)格選項(xiàng)
$ls -l /etc/passwd #默認(rèn)式或-u。傳統(tǒng)UNIX風(fēng)格
$ls -l -n /etc/passwd #傳統(tǒng)UNIX風(fēng)格選項(xiàng)
$ls -l --numeric-uid-gid /etc/passwd #混合使用
$ls -ln --time-style=iso /etc/passwd #同上
(2)Bash,為每個(gè)用戶在~/.bash_history文件內(nèi)預(yù)設(shè)了1000條記錄的歷史,并為每條記錄一個(gè)編號,使用history [num]命令查詢歷史記錄。
history 20
而使用history則可以輸出所有的指令記錄。
history
(3)單擊“繼續(xù)”按鈕,選擇“正常安裝”和“安裝 Ubuntu 時(shí)下載更新”。若要重新執(zhí)行某條歷史記錄的命令則可以使用格式: $ !記錄編號
(4)指把命令的標(biāo)準(zhǔn)輸出保存到文件中。有兩種方式:覆蓋方式(>)和追加方式(>>)。例如:
$ ls > mylist.txt ???? #覆蓋方式
$ ls /usr >> mylist.txt ?? #追加方式
??
(5)標(biāo)準(zhǔn)輸入重定向指讓命令的標(biāo)準(zhǔn)輸入從指定的文件中讀取,也就是說,輸入不來自鍵盤,而來自一個(gè)指定的文件。
$ wc /etc/passwd ?? #統(tǒng)計(jì)/etc/passwd的信息。
$ wc < /etc/passwd #標(biāo)準(zhǔn)輸入定向到/etc/passwd
$ wc < /etc/passwd >> usercount ? #標(biāo)準(zhǔn)輸入重定向/etc/passwd,標(biāo)準(zhǔn)輸出重定向到文件usercount
$ wc ??? #交互方式,從鍵盤數(shù)據(jù),按^D結(jié)束
(6)實(shí)現(xiàn)管道機(jī)制的符號是“|”,其方法為:
???? cmd1 | cmd2 | … | cmdn
例如:
$ ls -l /dev | wc -l??
$ cat /etc/passwd | grep "root:"|wc -l
??
(7)tee命令讀取標(biāo)準(zhǔn)輸入,并將其內(nèi)容同時(shí)寫到標(biāo)準(zhǔn)輸出和指定文件,其用法為:tee [-ai] [files].#將當(dāng)月日歷表顯示到屏幕的同時(shí)也保存到文件calendar中
$ cal | tee calendar ??#將根目錄短式列表顯示到屏幕上的同時(shí)也保存到文件f1和f2中
$ ls / | tee f1 f2
(8)單擊“繼續(xù)”按鈕,進(jìn)入正式的安裝界面,安裝過程中需要在線下載
軟件包。在UNIX/Linux系統(tǒng)中,用戶可以定義自己的變量。定義后的變量就像在其他程序設(shè)計(jì)語言里一樣被引用。引用變量時(shí)需要使用“$”作為變量名的前導(dǎo)字符。
變量的定義方法如下:
var_name=var_value
變量的定義和使用示例如下:
$ x=18 ??????? #定義變量x,其值為18
$ y='I am a student' ??? #定義變量y,值為'I am a student'
$ echo $x $y $HOME ?? #顯示變量x,y和環(huán)境變量HOME的值
$ z="$y, I am $x ." ???? #由變量x和y定義變量z
$ echo $x $y $z
(9)環(huán)境變量可用命令env、export或set來查詢,比如:
$ export ??? #顯示所有的環(huán)境變量
$ env ??? ?????? #同上。
問題:這里由于前面已有$,再次輸入$env或$export所以沒反應(yīng)
解決:只需輸入env或export即可顯示輸出.
??
(10)返回值可在命令剛剛執(zhí)行完畢后,通過$?來訪問。比如:
$ ls /dev/sd* ??? #顯示系統(tǒng)中的SCSI硬盤設(shè)備
$ echo $? ?? #顯示返回狀態(tài)(值)
1.列目錄內(nèi)容(ls)????? dir
2.建立目錄(mkdir)???? md / mkdir
3.刪除目錄(rmdir)???? rd / rmdir
4.改變工作目錄(cd) ?? cd / chdir
5.顯示當(dāng)前目錄(pwd)?? cd
??
(11)將命令行參數(shù)中的字符串或變量的值寫到標(biāo)準(zhǔn)輸出。默認(rèn)情況下,每個(gè)echo命令執(zhí)行完畢后會產(chǎn)生一個(gè)換行符,如果不帶參數(shù)執(zhí)行此命令,將輸出一個(gè)空行。用法為:
echo [options] string ...
參數(shù)說明-e:用于處理轉(zhuǎn)義字符;-n:用于抑制默認(rèn)的換行符;-E:用于抑制對轉(zhuǎn)義字符的處理
$ echo Hell I am echo . #顯示字符串常量
#不處理轉(zhuǎn)義字符
$ echo -E "My cell phone number is:\n13903750000"
#處理轉(zhuǎn)義字符
$ echo -e "My cell phone number is:\n\t13903750000"
$ echo -n "I am student, "? ??? #不處理換行
$ echo "My name is Bill Joy" ?? #以上命令的輸出在同一行上
(12)read從標(biāo)準(zhǔn)輸入上讀入一行,并將它讀到的內(nèi)容按分隔符分隔的字符串傳遞給相應(yīng)變量。若值的個(gè)數(shù)大于變量個(gè)數(shù),則多余的部分賦給最后一個(gè)變量;若值的個(gè)數(shù)小于變量個(gè)數(shù),則后面多余的變量被置空。如果沒有指定變量名,則默認(rèn)使用REPLY作為變量名。用法為:
read [-d delim] [ -n num] [-p prompt] [-r] [-s] [-t time] var1 var2 …
(13)進(jìn)程樹及進(jìn)程狀態(tài)查詢(pstree)
# pstree????????? #顯示系統(tǒng)進(jìn)程樹
# pstree?? -p| more?? #分屏顯示系統(tǒng)進(jìn)程樹
# pstree -p | grep vsftpd #查詢進(jìn)程vsftpd
# pstree user #顯示指定用戶(比如root)的進(jìn)程
??4. 實(shí)驗(yàn)心得
-
基礎(chǔ)掌握與操作熟練 通過本次實(shí)驗(yàn),我成功掌握了shell的基本功能與基本概念,初步熟悉了Linux系統(tǒng)的基本操作,并成功實(shí)現(xiàn)了對Linux系統(tǒng)的基本管理。在操作中,我發(fā)現(xiàn)了同一個(gè)顯示日期可以有多個(gè)不同的指令,同時(shí)使用history [num]時(shí),不論指令是否可運(yùn)行,都能夠正確顯示出來。
-
命令結(jié)合與輸入輸出處理方法 實(shí)驗(yàn)過程中,我深刻理解了將一個(gè)程序或命令的輸出作為另一個(gè)程序或命令的輸入的兩種方法。通過臨時(shí)文件將多個(gè)命令或程序結(jié)合在一起,以及通過通道機(jī)制,我能夠更靈活地組織和執(zhí)行多個(gè)命令,提高了操作效率。在此過程中,我注意到環(huán)境變量輸入時(shí),使用命令$env和$export未能正確顯示結(jié)果,后來發(fā)現(xiàn)只需輸入env和export即可,因?yàn)橐呀?jīng)包含了$符號。
-
細(xì)致觀察與細(xì)節(jié)注意 在實(shí)驗(yàn)中,我發(fā)現(xiàn)了一些細(xì)微但重要的差異,例如在使用echo [options] string ...時(shí),-e與-E的區(qū)別。我學(xué)到了-e可以識別轉(zhuǎn)義字符,而-E則無法識別,將其視為普通字符串處理。這種對細(xì)節(jié)的敏感觀察幫助我更加準(zhǔn)確地使用命令,防止由于遺漏細(xì)節(jié)而產(chǎn)生錯(cuò)誤。
??總結(jié)
Linux操作系統(tǒng)的領(lǐng)域就像一片未被勘探的信息大海,引領(lǐng)你勇敢踏入開源系統(tǒng)的神秘領(lǐng)域。這是一場獨(dú)特的學(xué)習(xí)冒險(xiǎn),從基本概念到系統(tǒng)架構(gòu),逐步揭示更深層次的操作系統(tǒng)原理、命令行工具和高級系統(tǒng)管理的奧秘。
渴望挑戰(zhàn)Linux操作系統(tǒng)的學(xué)習(xí)路徑和掌握系統(tǒng)管理技術(shù)?不妨點(diǎn)擊下方鏈接,一同探討更多Linux操作系統(tǒng)的奇跡吧。我們推出了引領(lǐng)趨勢的?? Linux專欄:《探秘Linux | 操作系統(tǒng)解密》,旨在深度探索Linux的實(shí)際應(yīng)用和創(chuàng)新。????文章來源:http://www.zghlxwxcb.cn/news/detail-779376.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-779376.html
到了這里,關(guān)于【Linux操作系統(tǒng)】探秘Linux奧秘:Linux 操作系統(tǒng)的解密與實(shí)戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!