計算機與操作系統
計算機就是電腦,操作系統就是管理計算機硬件跟軟件的計算機程序。
CPU:運算器,控制器,寄存器,緩存
儲存器:內存,RAM(Random Access Memory)
Input:下指令,提供數據
Output:輸出數據加工的結果
程序是由指令加數據組成, 指令和數據全部都存放在內存中。通常是算法家數據結構。
舉例:內存的編制方式,32位cpu就是一次可以存取的最大數據為2^32,約為4GB內存。
Linux歷史
1991年8月:Linus Torvalds成立Linux。Unix僅僅是工作在硬件之上的監控程序,他只是把底層硬件資源虛擬化,切分分給其他程序使用。Linux其實只是操作系統的內核kernel。GNU組件和其他程序是運行在Linux內核上的.
Linux發行版
為一般使用者預先整合好的Linux操作系統一級各種應用程序。一般使用者不需要重新編譯直接安裝就可以使用。
1. RedHat
開始是個人桌面版,后來開始做企業版,Redhat 9.0之后,變成兩個分支: RHEL和Fedora Core。
CentOS是基于RedHat企業版(RHEL)的二次發行版。(其實是RHEL的山寨版)
Fedora也是RedHat企業版的分支
2. Debian
三大發行版中唯一以社區方式運作的。高手黑客用的多一點
Knopix: 以安全著稱
Ubuntu是基于Debian的二次發行版
3. Slackware
最著名的是SuSE,還有OpenSUSE
其他版本
Gentoo, ArchLinux新貴
Linux的主要哲學思想
- 一切皆文件,包括硬件設備, 所有資源在Linux上都已以文件方式存在
- 開源,自由,分享
免費使用,讓用戶參與開發,用戶測試,用戶分享進步 - 組合小程序完成復雜任務:每個程序只實現小功能,借助不同程序之間的交互實現各種功能
- 文本文件保存配置信息:將程序的配置信息以文本文件的形式保存
- 盡量避免與用戶交互:通過配置后,穩定運行,不需要過多人參與
Linux命令使用格式
COMMAND OPTIONS ARGUMENTS
無論指令,選項還是參數,一定注意大小寫
Command:命令
Options:確認命令的運行特性(段選項 -c, 短選項:-help, -human)
Arguments:命令的作用對象,命令對什么生效
ifconfig
ifconfig是用于顯示或配置網絡設備的命令
-a: 顯示當前使用所有接口
-s:顯示網卡信息
tty
tty用來查看終端設備文件名
-version:顯示版本信息并退出
startx
startx用來在某一個虛擬終端啟動gui
export
export用來設置或顯示環境變量
history
history查看命令的歷史記錄
-c:清空歷史記錄
-d:從指定的位置刪除 history -d #
-r:從文件讀取命令歷史到歷史列表中
-w:將歷史列表中的命令追加到文件中
:顯示最近#條的命令history
shutdown
關機或重啟
-h關機后并關電源
-c停止目前正在執行的關機程序
-r重啟
poweroff
關機
-f:強制關機
reboot
重啟
hwlock
hwlock顯示與設定硬件的時間
-s -hctosys 以硬件時間為準
-w -systohc 以系統時間為準
data
查看或修改系統時鐘
顯示: data [OPTION] ... [+FORMAT]
設定: data [MMDDHHmm[[CC]YY][.ss]]
可以分開顯示
date +%Y 顯示年
date +%T 顯示當前時間
...
設定時間data [MMDDHHmm[[CC]YY][.ss]]
MM:月,DD日,HH小時,mm分鐘 [CC]YY, 年, ss秒
cat
查看文本文件的內容,從第一行輸出至最后一行
-n 顯示行號
-A 顯示特殊字符
tac命令, 從最后一行開始往第一行輸出
pwd
print name of current working directory, 即打印當前的目錄(光標所在目錄的絕對路徑),此命令無參數
cd
change directory, 改變目錄
cd [絕對路徑]:切換至絕對路徑
cd .. 切換至上層目錄
cd ~ 切換至家目錄
cd - 切換至上次執行cd指令時所處目錄
ls
列出所在目錄下各種類型文件及目錄
-l 列出文件或目錄的詳細屬性(權限,,用戶名,所屬組,大小,最后修改日期)
-r 逆序排列
-R 遞歸列出子目錄下所有文件
-h 將文件大小以人類可讀形式顯示
-d 只顯示目錄名
-a 列出所有文件及目錄包含隱藏文件
-A 不顯示"."和".."文件
-t 用文件和目錄的更更改時間排序
file
file [FILE] ..... 查看文件內容類型
echo
echo [SHORT-OPTION] ... [STRING] ...
echo將參數寫入標準輸出
STRING可以使引號
單引號:強引用,變量引用不執行替換
~]# echo '$SHELL'
雙引號:弱引用,變量引用會被替換
~]# echo "$SHELL"
變量引用的正規符號:${name}
-n:不換行
-e:讓轉義字符生效( \n 換行,\t 制表)
如何獲取使用幫助
- help --help, man, info
- 自帶文檔(README, CHANGELOG, INSTALL), 官方文檔
- Google
-Linux Kerenl: Documentation
man # KEYWORD (#代表章節)
控制命令:
Space向后翻一頁, b向前翻一頁
Enter向后翻一行, k向前翻一行
Ctrl+d向后翻半屏, Ctrl+u向前半屏
q退出
#G 跳至某行
/keyword
?keyword
n下一個搜索同方向
N下一個搜索反方向