計算機的組成及其功能
- 計算機的主要組成部分有硬件和軟件;
硬件
主要包含的有:處理器、控制器、I/O設備,輸入設備,輸出設備;主要負責提供硬件性支撐(功能實現的基礎設備)
軟件
主要包含的有:操作系統及應用程序;主要負責終端用戶實現相關操作處理及展示過程
各系列Linux的發行版,各發行版之間的聯系與區別
- Linux,最早由Linus Benedict Torvalds在1991年開始編寫。在這之前,Richard Stallman創建了Free Software Foundation(FSF)組織以及GNU項目,并不斷的編寫創建GNU程序(此類程序的許可方式均為GPL: General Public License)。在不斷的有杰出的程序員和開發者加入到GNU組織中后,便造就了今天我們所看到的Linux,或稱GNU/Linux。
- Linux的發行版本可以大體分為兩類,一類是商業公司維護的發行版本,一類是社區組織維護的發行版本
- 前者以著名的Redhat(RHEL)為代表,后者以Debian為代表。
- Linux 發行版:
Redhat
,應該稱為Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費版本)、Fedora Core(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。Redhat應該說是在國內使用人群最多的Linux版本,甚至有人將Redhat等同于Linux,而有些老鳥更是只用這一個版本的Linux。所以這個版本的特點就是使用人群數量大,資料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用,但是Fedora Core的穩定性較差,最好只用于桌面應用。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的資 料也很豐富,有很多支持的社區,有問題求教也有地方可去:)Ubuntu
,嚴格來說不能算一個獨立的發行版本,Ubuntu是基于Debian的unstable版本加強而來,可以這么說,Ubuntu就是 一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的 Linux桌面系統。根據選擇的桌面系統不同,有三個版本可供選擇,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特點是界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統的Linux發行版本。Gentoo
,偉大的Gentoo是Linux世界最年輕的發行版本,正因為年輕,所以能吸取在她之前的所有發行版本的優點,這也是Gentoo 被稱為最完美的Linux發行版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的開發者之一)創建,首個穩定版本發布于2002年。由于開發者對FreeBSD的熟識,所以Gentoo擁有媲美 FreeBSD的廣受美譽的ports系統 ——Portage包管理系統。不同于APT和YUM等二進制文件分發的包管理系統,Portage是基于源代碼分發的,必須編譯后才能運行,對于大型軟 件而言比較慢,不過正因為所有軟件都是在本地機器編譯的,在經過各種定制的編譯參數優化后,能將機器的硬件性能發揮到極致。Gentoo是所有Linux 發行版本里安裝最復雜的,但是又是安裝完成后最便于管理的版本,也是在相同硬件環境下運行最快的版本。FreeBSD
,是一個自由的、免費的類UNIX操作系統(Unix-like),經由BSD UNIX由AT&T UNIX衍生而來,FreeBSD由于法律原因不能稱為UNIX,但由于直接衍生于BSD UNIX,并且一些原來BSD UNIX的開發者后來轉到FreeBSD的開發,使得FreeBSD在內部結構和系統API上和UNIX有很大的兼容性。由于FreeBSD寬松的法律條款,其代碼被好多其他系統借鑒包括蘋果公司的MacOS X,正因此由于MacOS X的UNIX兼容性,使得MacOS X獲得了UNIX商標認證。它并不是一個Linux系統!但FreeBSD與Linux的用戶群有相當一部分是重合的,二者支持的硬件環境也比較一致,所采用的軟件也比較類似,所以可以將FreeBSD視為一個Linux版本來比較。FreeBSD擁有兩個分支: stable和current。顧名思義,stable是穩定版,而 current則是添加了新技術的測試版。FreeBSD采用Ports包管理系統,與Gentoo類似,基于源代碼分發,必須在本地機器編后后才能運行,但是Ports系統沒有Portage系統使用簡便,使用起來稍微復雜一些。FreeBSD的最大特點就是穩定和高效,是作為服務器操作系統的最佳選 擇,但對硬件的支持沒有Linux完備,所以并不適合作為桌面系統。SUSE Linux
,簡稱”SuSE”,發音為/zuz/,意思為”Software- und System-Entwicklung”,這是一句德文,英文為”Software and system development”?,F在這家公司的名字再度更改成SUSE Linux。它原是德國的 SuSE Linux AG公司發行維護的Linux發行版,是屬于此公司的注冊商標。2004年這家公司被Novell公司收購。廣義上SUSE Linux是一系列Linux發行版,第一個版本出現在1994年初,SUSE現存的最古老的商業發行版之一,起源于德國,而SUSE Linux 針對個人用戶。SUSE Linux原是以Slackware Linux為基礎,并提供完整德文使用界面的產品。1992年 Peter McDonald成立了Softlanding Linux System(SLS)這個發行版。這套發行版包含的軟件非常多,更首次收錄了X Window及TCP/IP等套件。Slackware就是一個基于SLS的發行版。Mandriva
,是目前全球最優秀的Linux發行版之一,穩居于linux排行榜第一梯隊。2005年之前穩居linux排行榜NO.1。它是目前最易用的linux發行版,也是眾多國際級linux發行版中唯一一個默認即支持中文環境的linux。它是法國的Mandriva公司(前身為Mandrake公司)開發的Linux發行版。Mandriva公司現在仍然是歐洲最大的Linux廠商,Mandriva Linux的前身為著名的Mandrake Linux。Mandriva(Mandrake)項目是世界上第一個為非技術類用戶設計的易于使用、安裝和管理的linux版本。Mandriva(Mandrake Linux)早期方便的字體安裝工具和默認的中文支持,為Linux普及做出了很大的貢獻。現在的Mandriva是由mandrake和Conectiva結合發展而來的。Slackware
,是由Patrick Volkerding開發的GNU/Linux發行版。與很多其他的發行版不同,它堅持KISS(Keep It Simple Stupid)的原則,就是說沒有任何配置系統的圖形界面工具。一開始,配置系統會有一些困難,但是更有經驗的用戶會喜歡這種方式的透明性和靈活性。 Slackware Linux的另一個突出的特性也符合KISS原則:Slackware沒有如RPM之類的成熟的軟件包管理器。Slackware的軟件包都是通常的tgz(tar/gzip)格式文件再加上安裝腳本。Tgz對于有經驗的用戶來說,比RPM更為強大,并避免了RPM之類管理器的依賴性問題。Slackware與其他的發行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,它力圖成為“UNIX風格”的Linux發行版本。只吸收穩定版本的應用程序,并且缺少其他linux版本中那些為發行版本定制的配置工具。**以上內容摘選自網絡,做學習借鑒用**
Linux的哲學思想,簡單解釋性描述
- 1、一切皆文件:
- 把幾乎所有資源統統抽象為文件形式;包括硬件設備,甚至通信接口等;
- 2、由眾多功能單一的程序組成;一個程序只做一件事,并且做好;
- 組合小程序完成復雜任務;
- 3、盡量避免跟用戶交互;
- 目地:易于以編程的方式實現自動化任務;
- 4、使用文本文件保存配置信息;
Linux系統上命令的使用格式;常見命令的使用介紹及示例
命令格式如下
~]# COMMAND OPTIONS ARGUMENTS CMIMAND -->命令 OPTIONS -->條件 ARGUMENTS -->參數
常見命令介紹
ifconfig
- 介紹:用于配置網絡接口
- 注:原生IOS安裝后的CentOS是不帶ifconfig功能的,需要運行如下命令來安裝
~]# yum install net-tools 選項: -a 顯示當前所有可獲取的網絡接口信息,包括狀態為down的接口 -s 已短列表方式顯示(類似 netstat -i) -v be more verbose for some error conditions
- 注:原生IOS安裝后的CentOS是不帶ifconfig功能的,需要運行如下命令來安裝
- 應用舉例:
ifconfig //查看網絡接口信息
br1: flags=4163<up,broadcast,running,multicast> mtu 1500</up,broadcast,running,multicast>
inet 10.1.1.1 netmask 255.255.255.0 broadcast 10.1.1.255 inet6 fe80::20c:29ff:fe03:b36f prefixlen 64 scopeid 0x20<link> ether 00:0c:29:03:b3:6f txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 29 bytes 4076 (3.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
br2: flags=4163<up,broadcast,running,multicast> mtu 1500</up,broadcast,running,multicast>
inet 10.2.1.1 netmask 255.255.255.0 broadcast 10.2.1.255 inet6 fe80::20c:29ff:fe03:b379 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:03:b3:79 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 25 bytes 3584 (3.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig -s //已列表方式查看網絡接口信息
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg br1 1500 0 0 0 0 29 0 0 0 BMRU br2 1500 0 0 0 0 25 0 0 0 BMRU br3 1500 0 0 0 0 25 0 0 0 BMRU eno16777 1500 614 0 0 0 235 0 0 0 BMRU eno33554 1500 0 0 0 0 29 0 0 0 BMRU eno50332 1500 0 0 0 0 25 0 0 0 BMRU eno67109 1500 0 0 0 0 25 0 0 0 BMRU lo 65536 4 0 0 0 4 0 0 0 LRU
ifconfig br1 10.4.1.1 netmask 255.255.255.0 //設置網絡接口br1的IP地址,臨時設置,重啟失效
ifconfig br1 //查看更改后br1網絡接口的IP地址
br1: flags=4163<up,broadcast,running,multicast> mtu 1500</up,broadcast,running,multicast>
inet 10.4.1.1 netmask 255.255.255.0 broadcast 10.4.1.255 ether 00:0c:29:03:b3:6f txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 43 bytes 7099 (6.9 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
echo
- 介紹:回顯
- 應用舉例:
echo [SHORT-OPTION]... [STRING]... -n: 不進行換行; -e:讓轉義符生效; \n:換行 \t:制表符 STRING可以使用引號,單引號和雙引號均可用; 單引號:強引用,變量引用不執行替換; ~]# echo '$SHELL' 雙引號:弱引用,變量引用會被替換; ~]# echo "$SHELL" 注意:變量引用的正規符號 ${name}
tty
- 介紹:查看終端設備
- 應用舉例:
~]# tty /dev/pts/0
startx
- 介紹:啟動GUI
- 應用舉例:
~]# startx 在虛擬終端控制臺顯示圖像界面
export
- 介紹:環境變量
- 應用舉例:
變量賦值 (1) export name=value (2) name=value export name (3) declare -x name=value (4) name=value declare -x name 變量引用 ${name}, $name 只讀變量: (1) declare -r name (2) readonly name
pwd
- 介紹:顯示工作目錄
- 應用舉例:
~]# pwd /root 相關的環境變量 $PWD:當前工作目錄 $OLDPWD:上一次的工作目錄
history
- 介紹:命令歷史
- 應用舉例:
~]# history 定制history的功能,可通過環境變量實現: HISTSIZE:shell進程可保留的命令歷史的條數; HISTFILE:持久保存命令歷史的文件; .bash_history HISTFILESIZE:命令歷史文件的大?。? 命令用法: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 參數 [參數...] -c: 清空命令歷史; -d offset:刪除指定命令歷史 -r: 從文件讀取命令歷史至歷史列表中; -w:把歷史列表中的命令追加至歷史文件中; history #:顯示最近的#條命令;
shutdown
- 介紹:關機或重啟
- 應用舉例:
shutdown [OPTIONS...] [TIME] [WALL...] OPTIONS: -h: halt -r:reboot -c:cancel TIME: now hh:mm +m +0
poweroff
- 介紹:關機
- 應用舉例:
~]# systemctl poweroff
reboot
- 介紹:重啟
- 應用舉例:
~]# systemctl reboot
hwclock
- 介紹:硬件時鐘
- 應用舉例:
~]# hwclock Tue 08 May 2018 01:19:07 PM EDT -0.773616 seconds -s, --hctosys:以硬件為準,把系統調整為與硬件時間相同; -w, --systohc:以系統為準,把硬件時間調整為與系統時鐘相同;
date
- 介紹:系統時鐘
- 應用舉例:
顯示日期時間:date [OPTION]… [+FORMAT]
FORMAT:格式符 %F %T %Y %m %d %H %M %S %s: 從1970年1月1號(unix元年)0點0分0秒到命令執行那一刻經過的秒數; ... 設定日期時間:date [MMDDhhmm[[CC]YY][.ss]]
- 應用舉例:
Linux系統上獲取命令的幫助信息方法
- (1) 命令自帶簡要格式的使用幫助 COMMAND –help
- (2) 使用手冊:manual
- 位置:/usr/share/man
- 命令規范如下
# man COMMAND`` man庫章節描述 man1:用戶命令; man2:系統調用; man3:C庫調用; man4:設備文件及特殊文件; man5:文件格式;(配置文件格式) man6:游戲使用幫助; man7:雜項; man8:管理工具及守護進程;
- (3) info COMMAND
獲取命令的在線文檔;
- (4) 很多應用程序會自帶幫助文檔:
/usr/share/doc/APP-VERSION README:程序的相關的信息; INSTALL: 安裝幫助; CHANGES:版本迭代時的改動信息;
- (5) 主流發行版官方文檔
[http://www.redhat.com/doc](http://www.redhat.com/doc)
- (6) 程序官方的文檔:
官方站點上的“Document”
- (7) 搜索引擎
google google兩個小技巧 1、keyword filetype:pdf -->keyword后跟查找條件:在結果中篩選指定條件的結果顯示 2、keyword site:domain.tld -->keyword后跟指定鏈接:在指定鏈接中查找指定內容
Linux發行版的基礎目錄名稱命名法則及功用規定
- /bin:所有用戶可用的基本命令程序文件;
- /sbin:供系統管理使用的工具程序;
- /boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;
- /dev:存儲特殊文件或設備文件;
設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);
- /etc:系統程序的配置文件,只能為靜態;
- /home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;
- /root:管理員的家目錄;可選;
- /lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊
libc.so.:動態鏈接的C庫; ld:運行時鏈接器/加載器; modules:用于存儲內核模塊的目錄;
- /lib64:64位系統特有的存放64位共享庫的路徑;
- /media:便攜式設備掛載點,cdrom, floppy等;
- /mnt:其它文件系統的臨時掛載點;
- /opt:附加應用程序的安裝位置;可選路徑;
- /srv:當前主機為服務提供的數據;
- /tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
- /usr:usr Hierarchy,全局共享的只讀數據路徑;
bin, sbin lib, lib64 include:C程序頭文件; share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置 local:另一個層級目錄; X11R6:X-Window程序的安裝位置 src:程序源碼文件的存儲位置
- /usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用于安裝第三方程序;
- /var:/var Hierarchy,存儲常發生變化的數據的目錄;
cache Application cache data lib Variable state information local Variable data for /usr/local lock Lock files log Log files and directories opt Variable data for /opt run Data relevant to running processes spool Application spool data tmp Temporary files preserved between system reboots
- /proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;
- /sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口;
【名稱命名法則及功用規定參考鏈接】https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/97841
總結的很詳細。贊。