一、計算機的組成與功能
計算機由硬件和軟件組成
-
硬件:
按馮·洛伊曼體系劃分
1、CPU:包括運算器、控制器、寄存器、緩存,對數據控制和計算
2、存儲器:內部存儲器、外部存儲器,對數據提供存儲功能
3、輸入設備:具有下指令,提供數據輸入
4、輸出設備:輸出數據加工的結果 -
軟件:
1、低級語言:匯編語言,匯編器;寫驅動.
2、高級語言:
系統級:C , C++ ,對性能要求較高的服務類程序
應用級:Java,Python,ruby, 應用程序
二、Linux發行版及聯系與區別
Linux 發行版有數百種之多,主要分三個主流分支
-
RedHat:
RedHat Enterprise Linux
Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費版本)、Fedora Core(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區 克隆版本,免費)。Redhat是在國內使用人群最多的Linux版本,甚至有人將Redhat等同于Linux。所以這個版本的特點就是使用人群數量大,資料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用,但是Fedora Core的穩定性較差,最好只用于桌面應用。
CentOS 是一個基于Red Hat Linux 提供的可自由使用源代碼的企業級Linux發行版本。每個版本的 CentOS都會獲得十年的支持(通過安全更新方式)。新版本的 CentOS 大約每兩年發行一次,而每個版本的 CentOS 會定期(大概每六個月)更新一次,以便支持新的硬件。這樣,建立一個安全、低維護、穩定、高預測性、高重復性的 Linux 環境。CentOS是Community Enterprise Operating System的縮寫。CentOS 是RHEL(Red Hat Enterprise Linux)源代碼再編譯的產物,而且在RHEL的基礎上修正了不少已知的 Bug ,相對于其他 Linux 發行版,其穩定性值得信賴。
-
Debian:唯一一個沒有商業公司運作,只有社區
Debian系列,包括Debian和Ubuntu等。Debian是社區類Linux的典范,是迄今為止最遵循GNU規范的Linux系統。Debian最早由Ian Murdock于1993年創建,分為三個版本分支(branch): stable, testing 和unstable。其中,unstable為最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經過unstable中的測試,相對較為穩定,也支持了不少新技術(比如SMP等)。而stable一般只用于服務器,上面的軟件包大部分都比較過時,但是穩定和安全性都非常的高。
Debian最具特色的是apt-get / dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進制文件發行方式中,APT應該是最好的了。
Debian的資料也很豐富,有很多支持的社區,有問題求教也有地方可去。Debian是包括Ubuntu在內許多發行版的上游,而Ubuntu又是Linux Mint及其他發行版的上游。Debian在服務器和桌面電腦領域都有著廣泛的應用。Debian是一個純開源計劃并著重在一個關鍵點上,穩定性。它同時也提供了最大的和完整的軟件倉庫給用戶。Ubuntu是基于Debian的unstable版本加強而來,可以這么說,Ubuntu就是一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的 Linux桌面系統。
根據選擇的桌面系統不同,有三個版本可供選擇,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的Xubuntu。特點是界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統的Linux發行版本。
-
Slackware:
Slackware與其他的發行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,
它力圖成為“UNIX風格”的Linux發行版本。只吸收穩定版本的應用程序,并且缺少其他linux版本中那些為發行版本定制的配置工具。在當今systemd大勢所趨的情況下,Slackware仍然堅持BSD啟動風格。
SUSELinux原是以Slackware Linux為基礎,并提供完整德文使用界面的產品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)這個發行版。這套發行版包含的軟件非常多,更首次收錄了X Window及TCP/IP等套件。Slackware就是一個基于SLS的發行版。
SUSE于1992年末創辦,目的是成為UNIX技術公司,專門制為德國人推出量身訂作的SLS/Slackware軟件及 UNIX/Linux說明文件。
1994年,他們首次推出了SLS/Slackware的安裝光碟,命名為S.u.S.E. Linux 1.0。其后它綜合了Florian La Roche的Jurix distribution(也是一個基于Slackware的發行版),于1996年推出一個完全自家打造的發行版 – S.u.S.E. Linux 4.2。其后SUSE Linux采用了不少Red Hat Linux的特質。
三、Linux的哲學思想
-
一切皆文件
表現之一:硬件設備也通過文件表示
例如:終端程序對應的系統文件
物理終端:/dev/console
虛擬終端:/dev/tty# [1,6]
串行終端:/dev/ttyS#
偽終端: /dev/pts/# -
功能單一
由眾多功能單一的程序組成,一個程序只做一件事,組合小程序完成復雜任務,以保證Linux內核的高效運行。
-
避免用戶與系統交互
Linux開源,且管理權限強大,可自殺。易于以編程的方式實現自動化任務
-
所有配置文件都是文本文件
無論什么配置修改都只需修改其配置文件即可,配置文件時文本形式的只需任意一款文本編輯器修改即可。存儲空間存儲的一段流式數據,對數據可以做到按名存取
-
以倒置樹形結構組織文件
/:原始起點,代表根目錄
四、Linux命令使用格式
命令的語法通用格式:
~]# COMMAND OPTIONS ARGUMENTS
COMMAND:發起命令時將請求內核將某個二進制程序運行為一個進程,命令本身是一個可執行的程序文件,二進制格式的文件有可能會調用共享庫文件。[遵循
ELF
格式規范]
多數系統命令程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin,它們又分為普通命令和管理命令。普通命令
:存放在/bin,/usr/bin,/usr/local/bin管理命令
:存放在/sbin,/usr/sbin,/usr/local/sbin
用到的庫文件都存放在:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64,它們分為32位和64位的庫文件,32位使用于32位的操作系統,64位使用于64位的操作系統,64位兼容32位,而32不兼容64
32位庫:存放在/lib,/usr/lib,/usr/local/lib
64位庫:存放在/lib64,/usr/lib64,/usr/local/lib64
命令分為兩類:
由shell自帶的命令,叫作內嵌命令
(builtin)
獨立的可執行程序文件,文件名即命令名,叫作外部命令
查看命令的內容的類型:
file命令:例:~]# file /bin/ls
查看命令的類型:
type命令: 例:~]# type COMMAND注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件
OPTIONS 選項: 指定命令的運行特性,有兩種表現形式:
短選項
:-C,例如 ls -l ,-d 注:有的命令選項沒有 – ,同一命令同時使用多個短選項可合并:ls -ld長選項
:–word,例如 ls –help,有時候選項也帶參數,例:du -h –max-depth=1 注:長選項不能合并ARGUMENTS 參數:命令的作用對象,命令對什么生效,例:ls /etc ,作用在/etc 。注:有些命令可以可同時帶多個參數,以空白分隔
ifconfig #顯示和配置網絡信息
語法:ifconfig [網絡設備] [參數]
示例:ifconfig -a
ehco #顯示文本
語法:echo [-ne][字符串]或 echo [–help][–version]
示例:echo 'xx'
tty #顯示終端機連接標準輸入設備的文件名稱
語法:tty [-s][–help][–version]
示例:tty
startx #可進入圖形操作界面
示例:startx &
export #設置或顯示環境變量
語法:export [-fnp][變量名稱]=[變量設置值]
示例:export
pwd #顯示工作目錄
語法:pwd[–help][–version]
示例:pwd
history #列出bash保存的所有歷史命令
語法:history [選項]
示例:history
shutdown #系統關機命令
語法:shutdown [-cfFhknr][-t 秒數][時間][警告信息]
示例:shuntdown -r +5
poweroff #關機
示例:poweroff
reboot #重啟
示例:reboot
hwclock #用來查詢和設置硬件時鐘
示例:hwclock
date #取一個特定時間的linux時間戳
示例:date
五、如何在Linux系統上獲取命令的幫助信息,如何劃分man文檔的章節
獲取命令的幫助信息:
內部命令
: help COMMAND外部命令
:
命令自帶簡要格式的使用幫助
~]# COMMAND –help/-h使用手冊:
manual
位置:/usr/share/man
man [man1,man2,man3……….] 不同man下按類型放不同的命令
1 – commands 普通的命令
2 – system calls 系統調用,如open,write之類的
3 – library calls 庫函數,如printf,fread
4 – special files 特殊文件,也就是/dev下的各種設備文件
5 – file formats and convertions 指文件的格式,比如passwd, 就會說明這個文件中各個字段的含義
6 – games for linux 給游戲留的,由各個游戲自己定義
7 – macro packages and conventions 附件還有一些變量,比如向environ這種全局變量在這里就有說明
8 – system management commands 系統管理用的命令,這些命令只能由root使用
9 – 其他某些命令在多個章節下都有 例如:man passwd ;這個是在man1中的
man 5 passwd man5中也有。【頻中是這樣,但是我自己在centos7中測試man5中沒有,centos6中有】
~]# whatis COMMAND 這個能查詢在哪些章節中有
info COMMAND:
獲取命令的在線文檔;很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION
README:程序的相關的信息;
INSTALL: 安裝幫助;
CHANGES:版本迭代時的改動信息;主流發行版官方文檔:
http://www.redhat.com/doc程序官方的文檔:
官方站點上的“Document”搜索引擎:
·keyword filetype:pdf
·keyword site:domain.tld
六、Linux發行版的基礎目錄名稱命名法則及功用規定
獲取命令的幫助信息:
1、命名規則:
(1)嚴格區分字符大小寫
(2)目錄也是文件,在同一路徑下,兩個文件不能同名
(3)支持使用除/以外的任意字符
(4)最長不能超過255個字符
(5)以 . 開頭的文件為隱藏文件
. 當前目錄
..當前目錄上一級
2、基礎目錄及功用:
/bin:所有用戶可用的基本命令程序文件
/sbin:供系統管理使用的工具程序
/boot:引導加載器必須用到的各種靜態文件:kernel,initramfs(initrd),grub等
/dev:存儲特殊文件或設備文件
/etc:系統程序的配置文件,只能為靜態的,不能為二進制
/home:普通用戶的家目錄的集中位置,可獨立掛載分區
/root:管理員的家目錄
/lib:為系統啟動或根文件系統上的應用程序(/bin,/sbin等)提供共享庫,以及為內核提供內核模塊
/lib64:64位系統特有的存放64位共享庫的路徑
/media:便攜式設備掛載點,cdrom,floppy等
/mnt:其他文件系統的臨時掛載點
/opt:附加應用程序的安裝位置,可選路徑
/srv:當前主機為服務提供的數據
/tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄,可供所有用戶執行寫入操作,有特殊權限
/usr:全局共享的只讀數據路徑
lib,lib64
include:c程序頭文件
share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置
local:另一個層級目錄
X11R6:x-window程序的安裝位置
src:程序源碼文件的存儲位置
/usr/local:讓系統管理員安裝本地應用程序,也通常用于安裝第三方程序
/var:存儲常發生變化的數據的目錄
/proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息,它們多為內核參數,例:net.ipv4.ip_forward,虛擬為net/ipv4/ip_forward,存儲于/proc/sys,因此其完整路徑為/proc/sys/net/ipv4/ip_forward
/sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑,其主要作用在于為管理Linux設備提供一種統一模型的接口
原創文章,作者:Night's Watch,如若轉載,請注明出處:http://www.www58058.com/45787
寫的很好,排版也很漂亮,加油