前言
以下是我們老師叫我們做的實驗報告
作者:RodmaChen
關注我的csdn博客,更多數據結構與算法知識還在更新
《Linux管理與應用》課程考覈方案
期末成績(課程設計報告)(百分制)
1、期末要求學生提交一份課程設計報告,主要內容包括:
(1)封面
(2)Linux簡介
簡介Linux的發展、特點、主要內容。
(3)文件管理常用命令
總結歸納Linux操作系統中常用的文件管理命令及其相應的功能。
(4)vi+gcc編程應用
設計一個vi+gcc編程案例,通過案例的實施過程,詳細介紹vi的使用、gcc的安裝、程序的編寫及運行。
(5)httpd安裝與測試
詳細介紹httpd的安裝與測試過程。
(6)課程總結
對本學期所學的課程進行總結,包括學到的主要內容,學習中遇到的問題,問題如何解決,以及學習本門課程的收穫等。
Linux管理與應用
Linux簡介:
Linux是什麼?
Linux是一種Unix類的操作系統。
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。它支持32位和64位硬件。Linux繼承了Unix以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操作系統。Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公佈時間)。Linux存在着許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬件設備中,比如手機、平板電腦、路由器、視頻遊戲控制檯、臺式計算機、大型機和超級計算機。嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU工程各種工具和數據庫的操作系統。(摘自百度百科)
Linux生活中的用途:
Android =>所有安卓手機
機頂盒,電視盒子,智能電視
ATM機 =>所有自動提款機
課管理的路由器,交換機
發展史
Linux之父:Linus Benedict Torvalds
1965 年,Bell 實驗室、MIT、GE(通用電氣公司)準備開發 Multics 系統,爲了同時支持 300 個終端訪問主機,但是 1969 年失敗了;
1969 年,Ken Thompson(C語言之父)利用匯編語言開發了 File Server System(Unics,即 UNIX 的原型);因爲彙編語言對於硬件的依賴性,因此只能針對特定硬件; 只是爲了移植一款“太空旅遊”的遊戲;
1973 年,Dennis Ritchie 和 Ken Thompson 發明了 C 語言,而後寫出了 UNIX 的內核;將 B 語言改成 C 語言,由此產生了 C 語言之父;90% 的代碼是 C 語言寫的,10% 的代碼用匯編語言寫的,因此移植時只要修改那 10% 的代碼即可;
1977 年,Berkeley 大學的 Bill Joy 針對他的機器修改了 UNIX 源碼,稱爲BSD(Berkeley Software Distribution);Bill Joy 是 Sun 公司的創始人;
1979 年,UNIX 發佈 System V,用於個人計算機;、1984 年,因爲 UNIX 規定“不能對學生提供源碼”,Tanenbaum 老師自己編寫兼容於 UNIX 的 Minix,用於教學;
1984 年,Stallman 開始 GNU(GNU’s Not Unix)項目,創辦 FSF(Free Software Foundation)基金會;
1985 年,爲了避免 GNU 開發的自由軟件被其他人用作專利軟件,因此創建 GPL(General Public License)版權聲明;
1988 年,MIT 爲了開發 GUI,成立了研發 XFree86 的組織;
1991 年,芬蘭赫爾辛基大學的研究生 Linus Torvalds 基於 gcc、bash 開發了針對 386 機器的 Linux 內核;
1994 年,Torvalds 發佈 Linux-v1.0;
1996 年,Torvalds 發佈 Linux-v2.0,確定了 Linux 的吉祥物:企鵝。
Linux特點
-
開放的學習環境
-
漏洞快速修補
-
內核只有幾百k只適合嵌入式系統
-
專業性強,主要用於服務器,嵌入式系統,移動終端系統等。但是個人桌面不如Windows。
文件管理常用命令
工作目錄切換命令
- pwd命令:用於顯示用戶當前所處的工作目錄
格式爲:”pwd [選項]”
2. cd命令:用於切換工作路徑。
語法格式: cd 目錄路徑
(1)cd:直接回到用戶主目錄**
(2)“cd ~
”命令:切換到當前用戶的家目錄**
(3)“cd ..
”命令:進入上級目錄
(4)“cd -
”命令:返回到上一次所處的目錄
cd命令路徑的表示:
(1)相對路徑是以“.”或“…”開始的目錄路徑表示形式 cd ./test
(2)絕對路徑是以“/”開始的路徑表示形式cd /home
- ls命令:當前目錄下的所有內容
命令格式:ls [選項] [文件]
命令選項:
(1)-t: 按照修改時間排列顯示
(2)-a:看到全部文件(包括隱藏文件)
(3)-l: 可以查看文件的屬性、大小等詳細信息
文件文本管理命令
- cat命令:用於查看純文本文件(內容較少的)
語法格式:cat [-AbeEnstTuv] [–help] [–version] 文件名稱
常用選項:-n 或 --number 由 1 開始對所有輸出的行數編號
直接輸入cat會進入交互模式,輸入什麼內容就會顯示什麼內容
Ctrl+c 強制中斷命令執行 Ctrl+d 退出
輸入cat >file1.txt可以把內容寫入到file1.txt文件中,也會進入輸入模式。 Ctrl+d保存退出
- more命令:查看更多純文本文件
(1)space:下一頁
(2)回車:向下滾動
(3)B鍵:往回一頁
(4)Q鍵:停止顯示
-
less命令:可以使用pageup pagedown 翻頁查看文件內容
-
head命令:顯示頭部內容(默認十行)
-
tail命令:顯示尾部內容
-
wc命令:統計數目 -l行數 -w字數 -c字節數
-
cut命令:分割
-
diff命令:比較兩個文件內容的不同
文件目錄管理命令
-
file命令:查看文件類型 格式:“file 文件名”
-
touch命令:創建空白文件,設置文件時間
格式:touch [選項] 文件或目錄名 -d “日期” 文件名
-
mkdir命令:創建目錄
-
rmdir命令:刪除目錄
-
cp命令:拷貝文件或目錄
命令語法:cp [選項] 源文件 目標文件
列:將test文件拷貝到home目錄下
6. rm命令:rm命令用於刪除文件或目錄。想要刪除目錄,需要在rm命令後面一個**-r**參數
7. mv命令:重命名文件
vi+gcc編程應用
gcc安裝過程
- 從CentOS7的系統安裝鏡像中取出需要的rpm包(也可以通過別的方式獲取):解壓鏡像文件,進入"Packages"目錄,裏面很多rpm包,取出如下幾個:
mpfr-3.1.1-4.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
kernel-headers-3.10.0-123.el7.x86_64.rpm
glibc-headers-2.17-55.el7.x86_64.rpm
glibc-devel-2.17-55.el7.x86_64.rpm
cpp-4.8.2-16.el7.x86_64.rpm
gcc-4.8.2-16.el7.x86_64.rpm
2.可以使用如下命令統一安裝:
rpm -Uvh *.rpm --nodeps --force
也可以將這些包上傳到待安裝的系統中【可安裝Xftp進行上傳】,按如下順序執行安裝命令:
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-123.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-55.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-55.el7.x86_64.rpm
rpm -ivh cpp-4.8.2-16.el7.x86_64.rpm
rpm -ivh gcc-4.8.2-16.el7.x86_64.rpm
- 都安裝成功後,驗證
gcc -v
vi的使用
進入vi
編輯器後
按i
進入插入模式,可以開始編輯
編輯完了,按Esc
回到一般模式
按:
進入命令模式
在命令模式下輸入q
代表退出 wq
保存並退出 wq!
強制保存並退出 q!
不保存並退出
使用vi編寫gcc
-
touch test.c
創建空文件test.c -
vi test.c
編輯文件,在裏面寫c語言代碼
#include<stdio.h>
int main(void)
{
int n,N,m;
int arr[100];
int i;
printf("請輸入一個整數");
scanf("%d",&n);
if(n<0)
{
printf("fu");
n=-n;
}
N=n;
for(i=0;i<100;i++)
{
arr[i]=N%10;
N=N/10;
if(N<10)
{
arr[i+1]=N;
m=i+1;
break;
}
}
- 寫完後保存並退出
gcc test.c -o test
把源文件test.c編譯存爲test
./test
執行程序test
httpd安裝與測試
安裝(離線安裝)
- 與gcc安裝方法相同,在/home主文件夾裏面創建一個
/httdp
文件夾,從CentOS7的系統安裝鏡像中取出需要的rpm包(也可以通過別的方式獲取),統一放進/httdp:解壓鏡像文件,進入"Packages
"目錄,裏面很多rpm
包,取出如下幾個:
apr-1.4.8-3.el7.x86_64.rpm
apr-util-1.5.2-6.el7.x86_64.rpm
apr-util-devel-1.5.2-6.el7.x86_64.rpm
httpd-2.4.6-67.el7.centos.x86_64.rpm
httpd-tools-2.4.6-67.el7.centos.x86_64.rpm
mailcap-2.1.41-2.el7.noarch.rpm
postgresql-libs-9.2.21-1.el7.x86_64.rpm
- 進入終端,輸入以下命令統一安裝:先進入
root
用戶
rpm -Uvh *.rpm --nodeps --force
- #增加開啓啓動
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl enable httpd
- 如果Firewalld正在運行,請允許HTTP服務。
[root@localhost~]# firewall-cmd --add-service=http --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
如下圖升級安裝就完成了
測試
-
在
/home
創建一個存儲html
的文件/httdp_wenjian
-
touch test.html
創建空文件test.html
-
vi test.html編輯文件,在裏面寫html語言代碼
4. 寫完後保存並退出wq
- 完成圖
說明安裝成功了
總結
這是大學以來第一次開Linux課程,在沒學習之前,看着書就感覺像天書一樣,但是聽過課之後,課下在自己電腦上安裝了虛擬機以後,每次課後都能及時複習,將課上的知識及時複習融會貫通。本次課程設計,讓我感覺學習這門課程最大的收穫就是明白了一些分析代碼問題的思路與方法,這也是最重要的,抓住零散的代碼中的關鍵纔是深入理解的必要條件,同時加深了我們對理論知識的理解,也鍛鍊了我們的實踐能力,更多的是在實踐中收穫了太多的感觸和心得。
本次設計總結中有很多命令沒有寫進來,所以離講完課的時間有點長,複習的也不是很及時,導致現在記憶模糊,不能完整地想起這些命令,雖然這學期的Linux課程已經結束了,但我會繼續努力,不會學完就將知識還給老師的。
這次的課程總結中,有很多不完美的地方,我會努力完善,將來會越做越好,相信在今後的學習生活中,會有很多地方會用到這些知識,我也要學着靈活運用這些知識,做到結合實際,而不是假把式。
本人博客:https://blog.csdn.net/weixin_46654114
本人b站求關注:https://space.bilibili.com/391105864
轉載說明:跟我說明,務必註明來源,附帶本人博客連接。
請給我點個贊鼓勵我吧