1.計算機的組成及功能
ENIARC:馮諾依曼體系
1.1.運算器(所屬CPU)
進行計算
1.2.控制器(所屬CPU)
控制部件之間的協調,包括尋址操作
輔助性存儲(加速與提升CPU性能)
寄存器(鎖存數據)
緩存(緩存數據)
一級緩存
二級緩存
….
1.3.存儲器
RAM(Random Access Memory)
斷點后不能存儲數據,存取數據必須通電
ROM(Read Only Memory)
斷電后可以存儲數據
1.4.輸入(Input)
下指令,提供對方要加工的數據
1.5.輸出(Output)
輸出數據加工后的結果
2.描述及羅列linux版本,并描述不同發行版本之間的聯系
2.1.發行版本概念簡述
GNU組織開源程序運動[發布的都是源碼]
源碼不能直接運行:需要編譯成二進制格式運行
源碼編譯是有門檻的
常見的源碼工具
gcc,glibc,vi,linux
2.2.linux發行版
商業公司、社區組織負責按照自己的理解將源碼打包成二進制文件一并提供給用戶
這些組織或公司稱為發行商
發行版有數百種之多
2.2.1.熱門發行版及二次發行版
Debian(社區)
Knopix
Ubuntu
Gentoo(基于Enoch)
Slackware(基于SLS)
S.u.S.e
openSUSE
Arch
RedHat
RedHat Enterprise
Centos
Fedora Core
2.2.2主流發行版
Debian(使用要求更高,更輕巧)
ubuntu
mint
* knopix
Slackware"
S.u.S.e(商業公司)"
SLES
OpenSUSE(界面華麗著稱)[歐洲人比較喜歡]
RedHat
RedHat 9.0
RedHat Enterprise Linux(RHEL)
RHEL 7.0
Centos(Community Enterprise OS)
Centos與RHEL(企業版)的關系
REHL商業版可以使用,但是升級包提供源碼,不提供二進制文件
REHL雖然收錢,但是提供服務(如果不依賴提供服務則使用centos和redhat是一樣)
社區將紅帽提供的源碼編譯成二進制文件提供給centos
centos已經被紅帽收購了
Fedora Core
每6個月發行一次
3.描述linux哲學
3.1.一切皆文件
把幾乎所有資源統統抽象為文件形式:包括硬件設備,甚至通信接口等
open(),read(),write(),close(),delete(),create()
3.2.由眾多功能單一的程序組成:一個程序只做一件事,并且做好
組合小程序完成復雜任務
3.3.盡量避免跟用戶交互
目標:易于以編程的方式實現自動化任務
3.4.使用文本文件保存配置信息
4.命令使用
4.1.ifconfig eth0
[root Yorick ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.144.65.243 netmask 255.255.240.0 broadcast 10.144.79.255
ether 00:16:3e:00:2e:15 txqueuelen 1000 (Ethernet)
RX packets 186227 bytes 28876529 (27.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 315694 bytes 25053665 (23.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# ifconfig命令
## 獲取當前設備所有網卡信息
ifconfig
## 獲取當前設備指定網卡信息
ifconfig [eth0|eth1|eth…]
## 網卡信息主要內容(簡)
網卡名稱、網卡地址、子網掩碼、廣播地址、物理地址、進出的網卡的流量(單位字節)
4.2.echo
# 回顯命令
echo "hello world"
# 常用參數
-n 不自動進行換行操作
-e 讓轉譯字符生效
\t 制表符
\n 回車
4.3.tty
# 獲取當前終端信息
]# tty
/dev/pts/0
# 根據終端的不同回顯不同的終端信息
物理終端:/dev/console
虛擬終端:/dev/tty#
串行終端:/dev/ttyS#
偽終端: /dev/pts/#
4.4.startx
# 啟動圖形終端(根據操作系統的不同終端不一樣)
startx
# 在偽終端或console中切換圖形終端
## centos6 只能在tty7中啟用圖形終端
tty7
## centos7 哪里啟動哪里就是圖形終端
tty1-7
4.5.export
# 獲取變量與聲明變量
export (默認獲取當前終端變量)
# 常見用法
export "key"="value" # 添加環境變量(僅當前shell生效)
export -n "key" # 刪除環境變量,僅不顯示變量名稱,但實際存在(僅當前shell生效)
export [-p] # 查看當前shell的環境變量
4.6.pwd
# 獲取當前工作目錄的所在路徑
pwd
4.7.history
# 記錄操作歷史記錄
history (默認查看還是操作記錄,默認記錄1000行)
# 常見用法(跟操作審計相關)
## 記錄歷史命令的執行時間
export HISTTIMEFORMAT='%F %T '
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S $(who a mi|awk '{print $1,$5}'|tr -d "()") "
## 不記錄歷史命令
export HISTSIZE=0
## 修改記錄歷史的命令長度
HISTSIZE=450
HISTFILESIZE=450
## 記錄歷史命令的方法
### 消除歷史記錄中的重復記錄(所有記錄中不存在重復的記錄)
export HISTCONTROL=erasedups
### 消除歷史記錄中的重復記錄(相鄰的重復記錄只記錄一條)
export HISTCONTROL=ignoredups
### 不記錄以空格開頭的操作
export HISTCONTROL=ignorespace
4.8.shutdown
# 關閉并切斷電源
## 常見參數
-h halt 關機
-r reboot 重啟
-c cancel 取消
now 現在立刻關閉
hh:mm 幾點幾分
+m 多少分后
4.9.poweroff
# 關機
4.10.reboot
# 重啟
4.11.hwclock
# 物理時鐘
hwclock(顯示硬件時鐘)
# 以硬件為準
-s –hctosys 把系統調整為與硬件時鐘相同
# 以系統為準
-w –systohc 把硬件時鐘調整為與系統時鐘相同
4.12.date
# 日期的獲取
date OPTIONS [FORMAT]
# 獲取當前年份,按指定方式輸出
date +"%Y-%m-%d"
date +'%Y-%m-%d %H:%M:%S'
# 獲取當前時間戳
date +"%s"
# 將時間戳轉換成當前時
date -d @1361542596 +"%Y-%m-%d %H:%M:%S"
# 將時間轉換成時間戳
date -d "20161111" +"%s"
date -d '2013-2-22 22:14' +%s
# 修改系統時間
date -s "2016-11-11"
5.獲取幫助
# 方式一
* help COMMAND
# 方式二
* COMMAND -h|–help (長格式幫助及短格式幫助)
# 方式三
* man COMMAND
# 方式四
* info COMMAND
# 方式五
* 安裝的程序 readme:程序的相關信息
* 安裝成續的 CHANGES:版本迭代時的改動信息
# 方式六
* 主流發行版本的官方文檔
* http://www.redhat.com/doc
# 方式七
* 程序的官方文檔,常用英文Document表示
# 方式八
* 使用google搜索
keyword
keyword filetype:pdf
keyword site:magedu.com
keyword tld:top+level+domain
5.1.man手冊使用詳解
# 使用格式
man COMMAND
# 基本段落說明
SECTION 簡要說明
SYNOPSIS 命令語法使用格式
DESCRIPTION 描述
OPTIONS 選項
EXAMPLES 使用示例
AUTHOR 作者
BUGS 報告程序BUG的方式
SEE ALSO 參考
# SYNOPSIS語法說明
[] 代表可選內容
<> 必須提供的內容
a|b 表示多選一
… 同類內容可出現多個
{} 輔助性分組的
# man手冊存放位置
/usr/share/man/{man1|man2|man3……}
說明:
man1: 用戶命令
man2:系統調用(程序員才會用到的)
man3:C庫調用
man4:設備文件及特殊文件
man5:文件格式說明(配置文件)
man6:游戲的使用幫助
man7:雜項
man8:管理工具及守護進程
man [1-8] COMMAND [man CHAPTER COMMAND]
# 查看命令再哪個章節有幫助信息
whatis COMMAND
# 如果新安裝的命令,也許有可能不能正常的查詢出來,使用如下命令重新刷新whatis數據庫
makewhatis 【不建議使用,消耗系統資源較為嚴重】
# man手冊使用時的快捷鍵
翻屏:
空格鍵: 向文件尾部翻一屏
b: 想文件首部翻一屏
ctrl+d: 向文件尾部翻半屏(ctrl downword)
ctrl+u: 向文件首部翻半屏(ctrl upword)
回車鍵: 向文件尾部翻一行
k: 向文件首部翻一行
G: 表示跳轉至最后一行
#G: 跳轉至指定行
1G: 跳轉至文件首部
文本搜索功能:(查找時不區分大小寫)
/keyword: 從文件首部向文件尾部依次查找
?keyword: 從文件尾部想文件首部依次查找
n:與查找命令方向相同
N:與查找命令方向相反
退出:
q:quit
6.linxu發行版的基礎目錄名規范
# 文件系統的標準規范(FHS)
文件系統層級結構標準(Filesystem Hierarchy Standard)
簡單描述文件層級結構
## /bin
供所有用戶使用的基本程序文件 (Essnetial user command binaries)
## /sbin
工系統管理使用的工具程序 (System binaries)
## /boot
引導加載器必須用到的各靜態文件
kernel
initramfs(initrd)
grub等
## /dev
存儲特殊文件或設備文件
字符設備|線性設備 `!有時序`
塊設備|隨機設備 `!無時序`
## /etc
系統程序的靜態配置文件
## /home
普通用戶家目錄的集中位置
## /root
管理員的家目錄
## /lib
為系統啟動或根文件系統上的應用程序(/bin,/sbin等)提供共享庫,以及為內核提供內核模塊
libc.so.* `動態鏈接C庫`
ld* `運行時鏈接器加載器`
modules `用于存放內核模塊的目錄`
## /lib64
64位系統特有的存放64位共享庫的路徑
## /media
便攜性設備掛在點
cdrom
floppy
等
## /mnt
其他文件系統的臨時掛載點
## /opt
附加應用程序的安裝位置(通常稱為第三方程序)
## /srv
當前主機為服務提供的數據(特有的)
## /tmp
為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄,可提供所有用戶執行寫入操作 `有特殊權限`
## /usr
全局共享的只讀數據路徑(自己也存在層級結構)
/bin
/sbin
/lib
/lib64
/include #C程序的頭文件
/share #命令手冊和自帶文檔等架構特有的文件存儲位置
/local #另一個層級目錄
/src # 程序源碼的存放位置
## /usr/local
讓系統管理員安裝本地應用程序,通常用于安裝第三方程序(常用)
## /var/
存放常發生變化的數據的目錄
cache 緩存數據
lib 狀態數據
local 提供/usr/local的狀態信息相關的額
lock 鎖文件相關的
log 日志相關的
opt 第三方應用相關的額
run 進程中相關的信息
spool 管道信息
temp 系統重啟后依然需要留存文件
## /proc
基于內存的虛擬文件系統,內核和進程信息的虛擬文件系統(內核級進程存儲其相關信息,它們多為內核參數)
示例
net.ipv4.ip_forward -> 虛擬-> net/ipv4/ip_forward
路徑 /proc/sys/
完整的路徑 /proc/sys/net/ipv4/ip_forward
## /sys
sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑
主要作用:為管理linux設備提供一種統一模型的接口
原創文章,作者:Yorick,如若轉載,請注明出處:http://www.www58058.com/62625
總結的很好,有例子有說明,加油