1. 程式人生 > >計算機及Linux簡介

計算機及Linux簡介

pen 全部 轉義符 獨立分區 圖形界面 對象 文本 說明書 分區

1.計算機的組成及其功能

計算機,人們生活、工作常用的一種工具,如電腦、手機以及各種智能穿戴設備等等。它通過接收外部的信息輸入,進行相應的計算,實現信息的存儲、顯示。計算機由硬件和軟件組成(就像人的身體和靈魂)

1.1 硬件

計算機的硬件通常包含:CPU、存儲器、輸入、輸出設備。
1.CPU,可分成運算器和控制器。運算器主要用於實現算數(如:加 減 乘 除)、邏輯運算(如:與 或 非);控制器用於控制、協調計算機的各項工作,保證計算機能有條不紊的運行。這兩者就好比戰場上的指揮官和戰士。
2.存儲器,在計算機中一般稱為內存,用於存儲程序和數據,CPU通過總線對內存進行讀寫訪問,實現程序讀取、數據存儲。

3.輸入設備,計算機獲取外部信息輸入的設備,如鍵盤、鼠標、傳感器等。
4.輸出設備,用於信息輸出的設備,如顯示器、音箱、打印機


技術分享圖片

1.2 軟件

軟件,用於實現對計算機硬件的操控,包括系統軟件、應用軟件

  1. 系統軟件,直接與硬件打交道,如操作系統、底層驅動程序、編譯器等
    1)操作系統,用於實現軟、硬件資源的管理,是應用軟件與硬件之間的接口、用戶與計算機之間的接口。
    2)底層驅動程序,用於實現硬件的初始化、驅動,如聲卡驅動、網卡驅動等
    3)編譯器,將用戶編寫的源程序翻譯成機器能識別的二進制文件,如turboC,gcc。
  2. 應用軟件,用於實現某些具體的功能,它的運行依賴於系統軟件。如文本編輯軟件、音頻視頻播放軟件。

2.Linux的發行版本

2.1 Linux操作系統簡介

Linux操作系統是一種開源的操作系統,其內核由Linus Torvalds於1991年首次發布,經過世界上廣大程序員的貢獻,它已經成為了世界上應用最廣泛、性能優良的操作系統。

2.2 Linux發行版

Linux就其本質而言僅僅是指操作系統的內核,並不包括應用軟件、編譯器等。由於Linux是開源的,因此任何人、組織或者廠商都可以在遵循開源協定的情況下將LInux內核與應用軟件、工具軟件組合在一起,形成一套功能強大的操作系統,這便是LInux發行版。
Linux發行版根據不同來源分為商業發行版(商業公司提供)和民間發行版(社區或個人提供),主要有Redhat系列、Debian系列、Slackware系列。

2.2.1 Redhat系列

Redhat系列由Redhat(紅帽)公司發行的Linux操作系統,主要有一下3種:
1、REHL(Redhat Enterprise Linux),收費版本,功能、性能十分強大,一般用於大型服務器
2、Fedora Core,免費版,由Redhat桌面版演變而來,其功能、性能相對REHL較差,只用於桌面應用。但是該版本會集成最新的功能(用戶可嘗鮮),成熟穩定後將集成到REHL中,因此它也被視為REHL的“試驗田”
3、CentOS(Community enterprise OS),是由社區按開源協定將REHL的源代碼重新編譯而來,且會修復一些REHL原有的BUG,因此比較穩定,免費版.

2.2.2 Debian系列

Debian系列是完全由社區發行的Linux操作系統。
1、Ubuntu,基於Debian的桌面版Linux,界面十分漂亮,穩定,易學。此外Ubuntu還有Linux Mint,Kubuntu,Xubuntu等衍生版本
2、Knopix,桌面系統,可通過光盤直接啟動,無需安裝
3、MEPIS ,桌面系統,它集合了Debian Sid和Knoppix的特點,可安裝,也可直接通過光盤啟動。

2.2.3 Slackware系列

最初是由Patrick Volkerding個人發起的SLS項目而來,堅持UNIX風格。
1、Slackware,遵循KISS理念,堅持BSD啟動風格,穩定、但配置稍復雜,比較適合有經驗的人使用。
2、S.u.S.E,由Slackware衍生而來,穩定、管理方便,但是對中文支持較差。
3、openS.u.S.E,由S.u.S.E發展而來,界面華麗,性能良好。

2.2.4 其他版本

1、ArchLinux ,簡潔、更新速度快,需要用戶花時間配置
2、Gentoo,提供源代碼,用戶可重新編譯源代碼重構Linux。
3、LFS,只提供制作LInux系統的方法以及一些必須的腳本、補丁,適合骨灰級玩家,也可用於學習如何制作一個操作系統,

2.2.5 各版本區別

1、這幾個版本最大的區別在於程序包管理器不同,Debian系列用的是dpkg,使用apt-get命令進行軟件安裝、卸載。Redhat系列用的是rpm,S.u.S.E等其他Linux版本也有采用,使用yum(升級版:dnf)命令進行軟件安裝、卸載。此外,S.u.S.E本身有的軟件包管理器zypper(針對對rpm進行了一些優化),調用命令為zypper。
註:程序包管理器用於管理程序的安裝和卸載。
2、適用環境不同,RHEL系列主要適用於企業適用,Debian系列桌面環境較好,適合個人桌面

3.Linux的哲學思想

LInux的哲學思想有以下幾點:
1.一切皆文件
即將所有資源都視為文件,方便管理和使用

2.以文本的形式保存配置數據
使用任意的文本編輯器即可進行修改配置,十分方便

3.提供機制,而非策略
提供寬松的環境,給予用戶更多自由使用空間,類似於炒菜,只給食材,不約束具體做成那種菜(湘菜、川菜)

4.盡可能避免與用戶交互
程序運行時避免用戶幹涉,方便讓任務自動化運行,提高效率,減少出錯

5.單一目的的小程序
一個小程序只做一件事,目的明確,讓程序更加精簡、避免不必要的資源消耗

6.組合小程序完成復雜任務
可將多個單獨小程序組合在一起實現更復雜的功能,方便通過編程實現任務自動化運行。

4.Linux命令使用

在Windows系統上運行程序通常是通過鼠標實現的,如通過雙擊左鍵打開文件。LInux系統進行操作則需要通過輸入命令告訴系統該做些什麽,因此Linux系統需要提供一個可以輸入命令的窗口(Windows中也有類似的窗口如cmd).

命令的通用格式:COMMAND [OPTIONS] ARGUMENTS 如:ls -a /home
COMMAND為命令名稱,如ls(列出某目錄下的文件);
ARGUMENTS為該命令的作用對象,對於ls命令,則表示列出哪個目錄下的文件
[OPTIONS]命令的選項,一般用-option表示,可使用多個選項,-option -option,中間用空格分開。對於ls命令,如選項為-a,則顯示所有文件,-a -l 則表示顯示所有文件及其詳細信息

4.1ifconfig命令

全稱為:network interfaces configuring,用於顯示或配置網絡設備的命令。
使用格式: ifconfig [option] [interface]
或者 ifconfig interface options | address
常用方式:
ifconfig 查看當前運行網絡設備
ifconfig -a 查看所有網絡設備(運行和非運行)
ifconfig interface,查看具體某個網絡設備,使用時interface用具體名稱替代
ifconfig interface down 關閉某設備
ifconfig interface up 打開某設備
ifconfig interface 192.168.0.60 設置設備IP地址
輸入ifconfig,運行結果如下:


技術分享圖片

4.2 echo命令

用於顯示某內容,用法:
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
常用方式:echo string,顯示某字符串
echo $name 顯示某變量值

選項:
-n 不換行
-e 讓轉義符“\”生效
-E不讓轉義符生效(默認)
轉義符選項
\a 發出警告聲;
\b 刪除前一個字符;
\c 最後不加上換行符號;
\f 換行但光標仍舊停留在原來的位置;
\n 換行且光標移至行首;
\r 光標移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
實例:輸入echo Linux,則顯示Linux


技術分享圖片

4.3 tty命令

用於查看當前終端設備
用法:tty [option]
常用方式:tty 或者tty -s,即什麽都不輸出


技術分享圖片

4.4 startx命令

用於打開X Window(圖形界面),即運行X Window程序
常用方式: starx,在服務器、終端上啟動圖形界面,按ctrl c組合鍵取消

4.5 export命令

用於環境變量的聲明和賦值
用法:export [-fn] [name[=value] ...] 或者 export -p
-f:代表[name]中為函數名稱;
-n:刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中;
-p:列出所有的shell賦予程序的環境變量。

4.6 pwd命令

以絕對路徑的方式顯示用戶當前工作目錄
選項:
-L 顯示全部路徑,包括鏈接路徑
-P 僅顯示物理路徑,不顯示鏈接路徑

4.7 history

用於顯示歷史命令(緩存中),讀取歷史命令文件到緩存中,將緩存中的歷史命令寫入歷史命令文件中
用法:history顯示歷史命令
選項 -c 清空;歷史命令緩存
-d 刪除指定的歷史命令緩存
-a 手工追加當前會話的命令歷史到歷史文件中去
n 顯示最近的n條歷史命令
-r:將歷史命令文件中的命令讀入當前歷史命令緩沖區
-w:將當前歷史命令緩沖區命令寫入歷史命令文件中
輸入history 3,顯示最近3條歷史命令


技術分享圖片

4.8 關機、重啟命令

4.8.1 shutdown 命令

用於關閉、重啟計算機
選項:
-h,關閉電源
-r, 重啟
-k 不進行任何操作,僅發出警告
--no-wall 關機或重啟前不提示
-c 取消操作,當使用"+0" 或"now"時間選項時無法取消
時間選項:+m,m分鐘後關機或重啟
now 表示馬上關機
hh:mm,具體時間,如20:30


技術分享圖片

4.8.2 poweroff 命令

用於關閉計算機,用法poweroff [option]
選項
-p,關閉計算機
-f,強制關機
-w,不關機,僅僅寫入日誌文件
-d,關機,寫入日誌文件

4.8.3 reboot 命令

重啟命令,用法reboot [option]
選項:
-p,關閉計算機
-f,強制重啟
-w,不重啟,僅僅寫入日誌文件
-d,重啟,寫入日誌文件

4.9 hwclock命令

顯示當前時間,設置硬件時鐘的時間以及設置硬件時鐘為系統時間或設置系統時間為硬件時鐘的時間
選項:
-s,設置系統時間為硬件時間
-w,設置硬件時間為系統時間
-u,使用格林威治時間
-c 比較硬件時間和系統時間

4.10 date 命令

顯示或設置系統時間與日期
用法:date [OPTION]… [+FORMAT],date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
顯示時間選項:-d string,顯示字符串所指的日期與時間 ?
-r file,顯示文件最新的修改時間
format : %a 顯示星期幾 (如.:Sun)
%A 顯示星期幾 (如.:Sunday)
%b 顯示當前月份 (如:Jan)

%B 顯示當前月份(如.:January)

%c 顯示日期和時間 (如 Thu Mar 3 23:05:25 2005)

%C 顯示世紀 (如.:20)

%d 數字形式顯示當前月份 (如: 01)

%D 顯示日期,等同於%m/%d/%y
%Y:顯示年份,如2018
%y:顯示年份,如18
%m:顯示月份
%H:小時(24小時進制) ??

%S:秒 ?????

%s:秒(從1970-01-01 00:00:00 開始到命令執行那一刻的秒數 unix元年)

5如何獲取幫助

當我們不知道一個命令如何使用時,可以通過查看Linux系統提供的幫助信息,就像是命令的使用說明書。

5.1 man命令

我們通常可以通過man命令獲取命令幫助,如:man date,運行後如下所示:


技術分享圖片
打開後可進行如下操作:
空格鍵向後翻頁
b鍵向前翻頁
Ctrl d組合鍵向文件尾部翻屏
Ctrl u組合鍵向文件首部翻屏
回車鍵向後翻一行
k鍵向前翻一行
g跳到第一行
G鍵跳到最後一行
#g跳到指定行,如10g
搜索:/keyword,從前向後查找;?keyword ,從後向前查找
q鍵退出

5.2 help命令

當使用man命令查看某些命令幫助時,顯示的卻是bash的信息,如:man cd


技術分享圖片
從上圖中可知cd以及其他一些命令是Bash的內部命令,當我們再往下面看時,就能找到這些命令的幫助信息,但是這樣用起來十分不方便,因此我們可以使用help命令來查看Bash的內部命令,如:help cd


技術分享圖片

5.3 其他獲取幫助方式

除了man 和 help 之外我們還可用以下幾種方式獲取幫助:
1、command --help 或者command -h的方式獲取命令自帶的幫助信息(比較簡略);
2、info command,信息頁
3、幫助文檔,如README,INSTALL ,Changelog
4、程序的官方文檔
5、發行版的官方文檔
6、網絡搜索

5.4 man文檔章節劃分

man 本身也是一個命令,因此我們可以通過man man來查看它自身的幫助文檔,如下


技術分享圖片
由此我們可以知道man命令不僅可以查看命令幫助文檔,還可查看配置文件幫助和編程幫助等信息,man文檔有8個章節:
1 可執行程序、shell命令
2 系統調用
3 庫調用
4 特殊文件
5 文件格式
6 遊戲
7 雜項
8 系統管理員工具
9 內核相關文件

6. 基礎目錄名稱命名法則及功用規定

對於Linux系統而言一切皆文件,我們可以用ls / 命令查看根目錄下的文件及目錄,結果如下:


技術分享圖片
可知根目錄下有如下目錄:
/bin :系統自身啟動和運行時會用到的核心二進制程序文件,不能關聯到獨立分區
/boot :系統引導啟動時需要加載的靜態文件、內核和ramdisk 以及grub
/dev :所有設備文件及特殊文件存儲位置
/etc :大多數應用程序的配置文件
/home :普通用戶的家目錄
/lib:基本共享庫文件
/lib64 :專用於64位系統上的輔助共享庫文件
/media: 便攜式移動設備的掛載點
/mnt :臨時文件掛載點
/opt :第三方應用程序安裝目錄
/proc :用於輸入內核於進程信息相關的虛擬文件系統,也稱偽文件系統,由內核參數映射而來
/root :管理員root的家目錄
/run :運行中的進程相關數據(以前放在/var目錄下)
/sbin :管理類基本命令
/srv :服務類程序用到的中間數據
/sys :用輸出當前系統上硬件設備相關信息的虛擬文件系統,內核中與硬件設備相關的信息映射
/tmp :臨時文件
/usr :系統軟件存放位置
/var:經常變化的文件存放位置

我們可以通過ls /查看其它版本Linux系統根目錄,如查看Ubuntu


技術分享圖片
發現centos和Ubuntu的目錄結構基本差不多,其原因是有個LSB組織定義了Linux發行版基礎目錄的名稱命名發展及功用規定,即FHS,文件系統層級標準。
Linux文件命令規則:
1、嚴格區分大小寫
2、不可以使用 / 字符,另外特殊字符也不推薦使用
3、文件名長度不超過255字符

計算機及Linux簡介