1、描述計算機的組成及功能
計算機系統由硬件系統和軟件系統組成。硬件系統(Hardware system)是計算機完成計算工作
的物質基礎。軟件系統(Software system):是在計算機硬件設備上運行的各種程序,是介于用戶
和硬件系統之間的界面。
1.1 計算機的硬件系統
1. 運算器(Arithmetic Logic Unit,ALU)
核心部件:對信息或數據進行加工和處理,是計算機對數據進行算術運算和邏輯運算的部件,由加法器和補碼器等組成,能夠處理各種數學運算問題和邏輯 運算問題。
2. 控制器(Control Unit)
是計算機的控制中心,控制計算機硬件系統的全部動作。主要由指令寄存器、指令譯碼器、
程序計數器(PC)和操作控制器等組成。
運算器和控制器合稱為中央處理器(Central Processing Unit,即CPU)。
3. 存儲器(Memory Unit)
計算機在處理數據的過程中,或在處理數據之后把程序和數據存儲起來的裝置。由存儲體、地址寄存器、地址譯碼器 、數據寄存器和讀/寫控制電路組成。主要分為內存(主存)和外存(輔存)。
4. 輸入/輸出設備(I/O device)
輸入裝置:將程序和數據的信息轉換成計算機呢功能識別的二進制代碼,送入存儲器保存。(鍵盤、鼠標、光筆、掃描儀、圖形板等。
輸出裝置:將計算機內部處理后的二進制數據信息轉換為人們所需要的或者其他設備能接受和識別的信息形式。(顯示器、打印機、繪圖儀等)
1.2 計算機軟件系統
軟件是為了運行、管理、維護和使用計算機而編制的各種程序和相關的文檔及數據。
程序:是為解決某一具體問題而使用一中特殊的計算機語言編寫的計算機指令的有序集合。
文檔是描述程序操作及使用的有關資料。
計算機軟件系統包括系統軟件和應用軟件兩大類。
1.系統軟件是控制和協調計算機及其外部設備、支持應用軟件開發和運行的軟件,主要包括操作系統,
程序設計語言,語言處理程序,數據庫管理系統,網絡軟件和系統服務程序。
2.應用軟件是用戶為了解決某些特定具體問題而開發和研制或外購的各種程序(要在系統軟件的支持下運行)。
2.Linux發行版的聯系與區別
Linux的發行版本可以大體分為兩類,一類是商業公司維護的發行版本,
一類是社區組織維護的發行版本,前者以著名的Redhat(RHEL)為代表,后者以Debian為代表。
Redhat系列:
包括RHEL(Redhat Enterprise Linux,收費),Fedora Core(由原來的Redhat桌面版本發展而來,免費)
和CentOS(RHEL的社區克隆版本,免費)。這個版本的特點就是使用人群數量大,資料非常多,
而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用, 但是Fedora Core的穩定性較差,最好只用于桌面應用。
Debian系列:
Debian是社區類Linux的典范,包括Debian和Ubuntu等。Debian分為三個版本分支:
stable, testing 和 unstable。其中,unstable為最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經 過unstable中的測試,相對較為穩定,也支持了不少新技術(比如SMP等)。而stable一般只用于服務器,上面的軟件包大部分都比較過時,但是穩定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,
Gentoo:
Gentoo最初由Daniel Robbins(FreeBSD的開發者之一)創建,首個穩定版本發布于2002年,是Linux世界最年輕的發行版本。
Gentoo擁有媲美 FreeBSD的廣受美譽的ports系統 ——Portage包管理系統。不同于APT和YUM等二進制文件分發的包管理系統,Portage是基于源代碼分發的,必須編譯后才能運行,對于大型軟件而言比較慢,不過正因為所有軟件都是在本地機器編譯的,在經過各種定制的編譯參數優化后,能將機器的硬件性能發揮到極致。Gentoo是所有Linux 發行版本里安裝最復雜的,但是又是安裝完成后最便于管理的版本,也是在相同硬件環境下運行最快的版本。
SUSE:
SUSE包含了一個安裝及系統管理工具YaST2。它能夠進行磁盤分割、系統安裝、在線更新、網絡及防火墻組態設定、用戶管理和其他更多的工作。它為原來復雜的設定工作提供了方便的組合界面。尤其被稱之為最漂亮的linux服務器。
OpenSUSE是Suse的開源項目,對個人來講是完全免費的,并可以在線升級,并兼容桌面和服務器。在服務器領域openSUSE在功能、性能、安全性等方面與SUSE是一樣的,在可靠性和穩定性上要比SUSE差一些,因為openSUSE很少用于生產環境。
不同的Linux發行版的區別主要體現在內核版本的不同以及包管理方式的不同。
如果只是需要一個桌面系統,又不想自己定制任何東西也不準備在系統上浪費太多時間,那么Ubuntu是你的最佳選擇。
如果你已經是一個linux高手,想非常靈活的定制自己的Linux系統,想讓自己的機器跑得更歡,不介意在Linux系統安裝方面浪費一點時間,那么你的唯一選擇就是Gentoo。
如果個人想要一臺用作服務器的版本又不想做過多復雜的配置,那么CentOS不會讓你失望。
而在實際生產環境中,Linux虛擬機往往安裝的都是RHEL或者SUSE系統,因為它們更穩當,更安全。
3.Linux的哲學思想
1.一切皆文件
2.由許多目的單一的小程序組成
3.通過組合小程序完成復雜任務
4.使用文本文件保存配置信息
5.盡量避免與用戶的交互
6.提供機制而非策略
7.開源,自由,責任
4.Linux系統上何如獲得命令的幫助信息
內置命令:help COMMAND
外部命令:
1、命令自帶簡要格式的使用幫助
COMMAND –help
2、使用手冊: manual
手冊在 /usr/share/man 目錄下
man COMMAND
manual中包含的內容:
NAME :功能性說明
SYNOPSIS:語法格式
DESCRIPTION 描述
EXAMPLES 使用示例
AUTHOR 作者
…….
SYNOPSIS:
[] 選項可選
<>選項必選
a|b|c 多選一
….. 同類內容可出現多個
使用手冊:壓縮格式的文件,有章節之分:
man1 man2 man3 …
使用手冊:壓縮格式的文件,命令幫助文檔有章節之分:
/usr/share/man
man1 man2 man3 …
1:用戶命令;
2:系統調用
3:C庫調用
4:設備文件及特殊文件
5:文件格式(配置文件格式)
6:游戲使用幫助
7:雜項
8:管理工具及守護進行
# man CHAPTER COMMAND 查看命令在指定章節下的手冊
注意:并非每個command在所有章節下都有手冊
# whatis COMMAND
查看命令在哪些章節有手冊
注意:man的執行過程是查詢數據庫進行的: 不一定是最新的
可以手動更新數據庫 # makewhatis
man命令手冊打開以后的操作方法:
翻一屏:
空格:向尾部翻
b:向首部翻
翻半屏:
Ctrl+d:向尾部翻
Ctrl+u:向首部翻
翻一行:
回車:向尾部翻
K:向首部翻
G:跳轉到最后一行
#G:跳轉到指定行
5.Linux文件系統目錄的基本命名法則
Linux文件系統:層級結構 /
FHS:Linux 文件系統目錄標準
/bin:存放所有用戶可用的基本命令程序文件
/sbin:存放供系統管理使用的工具程序文件
/usr:全局共享的只讀數據路徑。也是一個層級結構
本身也是一個層級結構 里面有/bin /sbin /lib64等目錄
/ share:命令手冊頁/man和自帶文檔等架構特有的文件存儲位置
/src:程序源碼文件存儲位置
/local:讓系統管理員安裝本地應用程序,通常用于安裝第三方程序
/var:存儲經常發生變化的數據的目錄
cache:應用程序緩存文件
log:日志文件
/boot:存放啟動加載器必須用到的各靜態文件:kernel,grub,initrd等
/dev:存放特殊文件或者設備文件
設備有兩種類型:字符設備(鍵盤)、塊設備(硬盤)
/etc:系統程序的配置文件,不能是二進制文件
/home;普通用戶的家目錄的集中存放位置。一般一個普通用戶的家目錄在/home/USERNAME下
/root:管理員的家目錄
/lib:為系統啟動程序或根文件系統上應用程序(/bin /sbin)提供共享庫,以及為內核提供內核模塊
libc.so.* 動態鏈接c庫
ld* 運行程序時的鏈接器
/lib64:64位系統特有的存放64位共享庫的路徑
/media:便攜式設備掛載點,cdrom,floppy
/mnt:其他文件系統的臨時掛載點
/opt:附加非關鍵應用程序的安裝目錄
/srv:當前主機為服務提供的數據存放的目錄
/tmp:為那些會產生臨時文件的程序提供用于存儲臨時文件的目錄。所有用戶都擁有寫權限
兩個特殊目錄
/proc:基于內存的虛擬文件系統,用于存儲內核和進程運行過程中產生的相關信息:多數為內核參數。例如把net.ipv4.ip_forward虛擬化存儲成/net/ipv4/ip_forward文件 路徑為/proc/sys
/sys :提供了一種比/proc/sys更理想的虛擬文件系統,用來顯示內核參數,提供了一種統一模型的接口
6.說明Linux系統上命令的格式,介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用方法。
Linux命令的語法通用格式:
COMMAND OPTIONS ARGUMENTS
發起一個命令:請求內核將某個二進制程序運行為一個進程
命令分為兩類:
由shell程序自帶的命令:內置命令
獨立的可執行程序文件,文件名就是命令名:外部命令
選項有兩種表現形式:
短選項: -CHAR 例如 -l -d *有些命令選項沒有-
同一命令同時使用多個短選項,多數可以合并起來 ls -l -h =ls -lh
長選項: –word 例如 –help –human-readable 長選項不能合并
注意:有些選項可以帶參數,稱為選項參數(注意不是命令參數)
ARGUMENTS: 參數
命令的作用對象:命令對什么會生效
ls /var
注意:不同的命令的參數格式不一樣。有些命令可同時帶多個參數 彼此間以空白字符做分割
pwd:
printing working directory
顯示工作(當前)目錄
echo:回顯命令
用法 echo [OPTION]… [STRING]
-n:顯示輸出后不自動進行換行顯示
-e:讓轉意符 如\n換行符 \t制表符生效
string可以用引號、雙引號
單引號:強引用,變量引用不執行替換
echo '$SHELL‘ 仍顯示 $SHELL
雙引號:弱引用,變量引用會被替換,就像沒加雙引號一樣
echo “$SHELL” 顯示 /bin/bash
shutdown:關機或重啟命令
用法shutdown [OPTIONS…] [TIME] [WALL…]
-h:關機 halt
-r:重啟 reboot
-c:取消發出的指令 cancel
time:
now
hh:mm
+5m
系統時鐘:date 硬件時鐘:clock、hwlock
date
顯示系統日期時間 date [OPTION] [+FORMAT]
date +'%F %T‘ 2016-07-31 13:53:16
+%s 從1970年1.1號零點到現在的秒數(時間戳)
設定系統日期時間 date [MMDDhhmm[[CC]YY][.ss]]
clock,hwclock:
顯示硬件日期時間:
hwclock
設定硬件日期時間
-s, –hctosys:以硬件為準,將系統時間設為與硬件時間相同
-w, –systohc:以系統為準,將硬件時間設為與系統時間相同
ifconfig:查看本機網絡接口的工具
tty:顯示當前連接到本機的終端設備
startx:在某一虛擬終端接口運行此命令,啟動圖形界面
export:
將某個本地變量聲明為一個環境變量。
Var=VALUE
export Var
查看當前用戶聲明的所有環境變量:export
poweroff、reboot:關機、重啟命令
一般還是使用shutdown命令+選項的形式來完成關機和重啟
history:命令歷史:shell進程會在其會話中保存此前用戶提交執行過的命令
# history
可以定制history的功能,通過修改環境變量實現 。
$HISTSIZE : shell進程在內存中可保留的命令歷史的條數
$HISTFILE : 保存命令歷史文件的位置
$HISTFILESIZE:命令歷史文件的大小
$HISTCONTROL: 控制命令歷史記錄的方式
ignoredups:忽略連續兩條相同的命令
ignorespace:忽略以空白符開頭的命令 并且也不會被寫入到文件中
ignoreboth:以上兩者都忽略
可以直接用變量賦值來修改默認設定 :NAME=VALUE
用法選項;
-c 清空內存中的命令歷史
-d NUMBER 刪除指定位置的命令
-r 從文件讀取命令歷史到內存中
-w 把內存中的命令歷史列表寫入文件中
history NUMBER:顯示最近第NUMBER條命令
如何調用命令歷史列表中的命令?
!#:再次執行歷史列表中的第#條命令
!string:再次執行命令歷史列表中最近一次是用string開頭的命令
如何調用上一條命令的最后一個參數 ?
ESC , . 按ESC再按. 或者輸入!$也能調用
原創文章,作者:上海-brown,如若轉載,請注明出處:http://www.www58058.com/38201
寫的很好,排版還可以在漂亮一點,加油,沒看到你做的題那?