計算機組成和功能
按照Von Neumann的理解 [1],計算機分為以下幾部分:
輸入 (Input Device, 用于提供給計算機待處理的數據)
e.g. 鍵盤,…
CPU (Central Processing Unit, 用于處理輸入數據)
控制單元 (Control Unit, IR+PC, 存放當前系統狀態)
運算邏輯單元 (Arithmetic/Logic Unit, 算數)
記憶 (存1和0的)
e.g. 硬盤,RAM, …
輸出 (輸出系統狀態或運算結果等)
顯示器,紙帶, …
實際上的計算機需要其他輔助硬件組件,如供電模塊,主板等。具體可參見Wikipedia [2]
[1] Von Neumann architecture, https://en.wikipedia.org/wiki/Von_Neumann_architecture
[2] Computer hardware, https://en.wikipedia.org/wiki/Computer_hardware
Linux發行版
debian
Knoppix
便攜式OS, 提供較廣的硬件支持
ubuntu (African word, "humanity to others", 更好的語言支持)
Mint 更注重用戶體驗,提供多媒體解碼支持,等
Gentoo
有叫 Portage 的軟件包管理系統
slackware (Goal: 方便使用,穩定)
openSUSE (Software und System-Entwicklung, 提供更好的開發者體驗)
Arch
pacman 軟件包管理系統
ABS, arch build system
Fedora
RHEL
CentOS (免費版,國內用得多
各發行版詳細信息: http://distrowatch.com/
Linux發行版大圖: https://en.wikipedia.org/wiki/Linux_distribution
Linux哲學思想并描述
-
一切皆文件
IO設備有對應文件,RAM有對應文件,就連進程都有對應文件(夾)。一切皆文件意味著OS運行更透明,定制更靈活
-
由眾多功能單一程序組成
高復用性
減少重復開發
-
盡量避免與用戶交互(自動化)
程序設計時避免用戶交互,以后需要交互可再加。但若是開始就搞成需要用戶交互,之后想自動化往往會變得很丑陋
-
使用文本文件保存配置信息
方便用簡單腳本讀寫
高可讀性
Linux系統上命令的使用格式, 常用指令
使用格式:
[path]command [parameters]
e.g. /bin/ls -l
[path]為命令所在路徑名,若command在$PATH (echo "$PATH") 中可省略
ifconfig
查看本機網絡接口信息(ip, MAC, etc)
[root@CentOS68 1]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:71:B3:79 inet addr:192.168.153.128 Bcast:192.168.153.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe71:b379/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:52659 errors:0 dropped:0 overruns:0 frame:0 TX packets:101141 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11545520 (11.0 MiB) TX bytes:9622411 (9.1 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:512 (512.0 b) TX bytes:512 (512.0 b)
echo
輸出參數到標準輸出
[root@CentOS68 1]# echo "PATH=$PATH" PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
tty
輸出當前terminal
[root@CentOS68 1]# tty /dev/pts/0
startx
打開圖形界面
[root@CentOS68 1]# startx & 就不試了
export
管理環境變量
[root@CentOS68 1]# export some_var=123 [root@CentOS68 1]# export -p | grep some_var #-p 顯示所有 declare -x some_var="123" [root@CentOS68 1]# export -n some_var #-n 刪除 [root@CentOS68 1]# export -p | grep some_var [root@CentOS68 1]#
pwd
顯示當前路徑
[root@CentOS68 ~]# pwd /root [root@CentOS68 ~]# cd .. [root@CentOS68 /]# pwd /
history
管理最近運行過的指令歷史
[root@CentOS68 /]# history 1 help history 2 history [root@CentOS68 /]# history -d 1 #刪除第一條歷史記錄 [root@CentOS68 /]# history 1 history 2 history -d 1 3 history [root@CentOS68 /]# history -c #清空加載的歷史記錄 [root@CentOS68 /]# history 1 history
shutdown
關機 重啟等
[root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'& #五分鐘后重啟機器 [1] 4600 [root@CentOS68 /]# Broadcast message from root@CentOS68 (/dev/pts/0) at 10:33 ... The system is going down for reboot in 5 minutes! System will shut down after 5min [root@CentOS68 /]# shutdown -c shutdown: Shutdown cancelled [1]+ Done shutdown -r 5 'System will shut down after 5min' [root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'& [1] 4605 [root@CentOS68 /]# Broadcast message from root@CentOS68 (/dev/pts/0) at 10:34 ... The system is going down for reboot in 5 minutes! System will shut down after 5min [root@CentOS68 /]# shutdown -c 'no way' #取消 shutdown: Shutdown cancelled [1]+ Done shutdown -r 5 'System will shut down after 5min' [root@CentOS68 /]# Broadcast message from root@CentOS68 (/dev/pts/0) at 10:34 ... no way [root@CentOS68 /]#
poweroff / reboot
關機/重啟
hwclock 管理硬件時鐘 date 管理系統時鐘 [root@CentOS68 /]# date Sun Sep 25 10:40:22 PDT 2016 [root@CentOS68 /]# date 09260940 #改系統時間 Mon Sep 26 09:40:00 PDT 2016 [root@CentOS68 /]# hwclock #不影響硬件時鐘 Sun 25 Sep 2016 10:42:35 AM PDT -0.173872 seconds [root@CentOS68 /]# hwclock -s #設置系統時間為硬件時鐘 [root@CentOS68 /]# date #變回來了 Sun Sep 25 10:42:47 PDT 2016 [root@CentOS68 /]# hwclock --set --date="9/22/16 09:00:00" #改硬件時鐘 [root@CentOS68 /]# hwclock #硬件時鐘變了 Thu 22 Sep 2016 09:00:05 AM PDT -0.094523 seconds [root@CentOS68 /]# date #不影響系統時間 Sun Sep 25 10:44:49 PDT 2016 [root@CentOS68 /]# hwclock -w #設置硬件時鐘為系統時間 [root@CentOS68 /]# hwclock #變回來了 Sun 25 Sep 2016 10:44:59 AM PDT -0.266375 seconds
Linux幫助信息
內置命令: help <command>
外部命令:
<command> –help
man <command>
文檔儲存在/usr/share/man
壓縮格式的文件,有章節之分
/usr/shared/man/man1, man2, …
1: 用戶命令 (ls
2: 系統調用 (open, read
3: C庫調用 (exec
4: 設備文件及特殊文件 (mouse, console
5: 文件格式 (/etc/crontab
6: 游戲使用幫助
7: 雜項 (ISO…
8: 管理工具 (arp
info <command>
在線文檔
/usr/share/doc/command-version/
有時存有些許文檔
Linux發行版基礎目錄命名法和功能規定
/ ├── bin #一般命令 ├── boot #開機相關 ├── dev #設備 ├── etc #配置 ├── home #一般用戶home folder ├── lib #庫 ├── lib64 #64位庫 ├── media #掛載的移動存儲 ├── mnt #其他掛載點 ├── opt #Optional軟件 ├── proc #系統進程相關 基于內存的文件系統 ├── root #root用戶home folder ├── sbin #系統命令 ├── srv #服務數據 ├── sys #設備相關 基于內存的文件系統 ├── tmp #臨時文件 ├── usr #全局共享只讀文件 │ ├── local #一般用于安裝本地第三方文件 └── var #可變文件 ├── log #日志 ├── www #本地靜態頁面
原創文章,作者:b_stick,如若轉載,請注明出處:http://www.www58058.com/49241