1. 程式人生 > >計算機構成簡介與Linux基礎知識

計算機構成簡介與Linux基礎知識

Linux基礎知識

◆?命令—Linux學習的基礎,而基礎就是核心。
????◆?沒有基礎就只如空中樓閣,每次處理問題的時候,都需要向外界的力量求教,而缺乏自己解決問題的能力。
????◆?學習比較被動,知識的儲備速度不能緊跟使用需求。
????◆?SO,夯實基礎反而成為重中之重。想要萬丈高樓平地起,就先打好地基,在人們還看不見的時候,揮灑著汗水;而時間會給你成長的回報!
一、計算機構成與功能簡介

??????計算機(computer),也稱電腦。

???1、?五大硬件:

??????????????●?控制器
??????????????●?運算器
??????????????●?存儲器
??????????????●?輸入設備

??????????????●?輸出設備

??????※註釋※:???●?輸入設備(Input)跟輸出設備(Output)合稱I/O設備

???2、?設備功能:

??????????????●?控制器:計算機的指揮系統,獲取、分析指令完成復雜任務;
??????????????●?運算器:完成其中算術及邏輯運算;即對數據進行加工;
??????????????●?存儲器:易失性存儲器,為計算機運行時存儲數據;
??????????????●?輸入設備:輔助人類把指令、文字、數據傳輸給計算機的設備;
??????????????●?輸出設備:向人類展示運算結果的設備。

???3、?設備名稱:

??????????????●?控制器:CPU

??????????????●?運算器:CPU
??????????????●?存儲器:內存
??????????????●?輸入設備:鍵盤
??????????????●?輸出設備:顯示器

??????※註釋※:?? ?●?上述為舉例,並非1對1關系;

???4、?關聯記憶:

??????????????●?控制器:理解力、分析力
??????????????●?運算器:心算能力
??????????????●?存儲器:記憶力
??????????????●?輸入設備:眼睛、耳朵
??????????????●?輸出設備:嘴巴

??????※註釋※:?? ?●?上述解釋是為方便記憶而形容。

二、Linux簡史及發行版

????◆?Unix商業化,源碼不提供給學術研究;
????◆?GNU計劃:理查·斯托曼在麻省理工學院發起《GNU宣言》,理由之一就是“要重現當年軟件界合作互助的團結精神”,為軟件界的共產主義運動;
????◆?GNU是“GNU is not Unix”的遞歸縮寫;它開發了大批的自由軟件;
????◆?GNU軟件為保證自由的“使用、復制、修改和發布”;
????◆?GNU通用公共許可證(GNU General Public License,GPL協議):包含一份在禁止其他人添加任何限制的情況下,授權所有權利給任何人的協議條款;
????◆?OS上一直使用著Unix,這就使得GNU迫切需要一款OS來代替Unix;
????◆?Minix-OS:迷你版的Unix,安德魯·斯圖爾特·塔能鮑姆教授在Unix商業化後,為教學開發的OS;
????◆?Linux誕生:Minix-OS林納斯·托瓦茲靈感,他開始設計並開發了一款操作系統內核,後被起名為:Linux。
????◆?因GPL協議的源碼可以自由使用,使得林納斯·托瓦茲決定用GPL協議來代替他原先的協議;大大加速了Linux的流行。

?????Linux發行版

????◆?這裏先簡單解釋一下OS的狹義跟廣義之分:狹義OS:Kernel(內核);廣義OS:Kernel+Application(應用);
????◆?GNU/Linux,Linux是kernel,GNU提供APP;
????◆?GNU提供的是源碼格式,需編譯成二進制格式(為計算機識別),方可在Linux上安裝;
????◆?商業公司(社區)通過自己的理解方式將源碼編譯成二進制格式(解決絕大多數普通用戶無編譯能力),並對外發布;這就發行版;
????◆?目前Linux現在三大主流發行版系列:Debian、RedHat、S.U.S.E。
????◆?基於Dpkg系列
??????&?商業發行版:
????????∈?Ubantu,特點:漂亮的桌面環境(Ubantu為Debian的二次發行版);
??????&?社區發行版:
????????∈?Debian,特點:安裝軟件,需自行編譯,難度較大,適合高水平用戶;
????????∈?kubantu,特點:使用KDE桌面的ubantu;
????????∈?Linux Mint,特點:Ubantu的二次發行版,與之兼容;
????◆?Red Hat系列
??????&?商業發行版:
????????∈?Red Hat Enterprise Linux(RHEL),特點:流行於北美和中國;每3年更新;
??????&?社區發行版:
????????∈?CentOS,特點:RHEL的二次發行版,與RHEL完全兼容;目前已被紅帽公司收購;
????????∈?Fedora,特點:RHEL的試驗田;每6個月更新;
????◆?Slackware系列
??????&?商業發行版:
????????∈?S.U.S.E,特點:Slackware二次發行版,流行於歐洲;
????????∈?OpenSUSE,特點:S.U.S.E的著名二次發行版;

三、Linux的哲學思想

????①:?一切皆文件、一切皆文件、一切皆文件(重要的事情說三遍);Linux把幾乎所有資源統統抽象為文件形式:包括硬件設備、通信接口等;(這裏,譬如設備文件存儲在/dev目錄下)
????②:?由眾多功能單一的程序組成;一個程序只做一件事,並將其做好;組合小程序完成復雜任務;(如,用管道的方式,將命令1的輸出結果傳遞給命令2當作命令的輸入條件)
????③:?盡量避免跟用戶交互;目標:易於以編程的方式實現自動化任務;(如shell腳本編程,設定好計劃任務,可以做到譬如自動巡檢、自動備份等功能)
????④:?使用文本文件保存配置信息;

四、Linux命令詳解(後期隨時補充):

????◆?Linux命令的語法通用格式:COMMAND OPTIONS ARGUMENTS

????※註釋※:????COMMAND:?? ●?命令?●
???????????? OPTIONS:??? ●?選項?●
?????????????ARGUMENTS:? ●?參數?●

????◆?COMMAND:發起一命令:請求內核將某個二進制程序運行為一個進程;
??????&?程序—->進程
??????&?靜態—->動態(具體生命周期)
????◆?OPTIONS:有2種表現形式:
??????&?短選項:-C,例:-l,-d,多數可合並:-l -d = -ld;
??????&?長選項:-?-word,例:-?-help

????※註釋※:?? ●?短選項有些沒有-,還有是+,如date +%F
???????????●?長選項不能合並;
???????????●?有些選項可以帶參數,此稱為選項參數;如:tail -n 20 /etc/passwd,這裏的20就是 選項參數;

????◆?命令詳解

????◆?命令名稱:?●?ifconfig
????◆?語法格式:?●?ifconfig [interface]
??????????? ●?ifconfig interface [aftype] options | address …
????◆?命令說明:?●?命令用來查看和配置網絡接口;當網絡環境發生改變時可通過此命令對網絡進行相應配置。
????◆?常用參數:? ●?up:啟動指定網絡設備/網卡;
????????????●?down:關閉指定網絡設備/網卡;
????????????●?arp:設置指定網卡是否支持ARP協議;
????????????●?-a:顯示全部接口信息;
????????????●?-s;顯示摘要信息;
????????????●?add:添加指定網卡的IPv6地址;
????????????●?del:刪除指定網卡的IPv6地址;
????????????●?address:為網卡設置IPv4地址;
????◆?實例之一:?
????????????●?[root@magedu ~]# ifconfig
????????????●?ens33: flags=4163 < UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
????????????●?inet 10.10.10.152 netmask 255.255.255.0 broadcast 10.10.10.255
????????????●?inet6 fe80::d58f:eab4:c3c5:cfec prefixlen 64 scopeid 0x20< link>
????????????●?ether 00:0c:29:d1:cc:c4 txqueuelen 1000 (Ethernet)
????????????●?RX packets 706 bytes 70318 (68.6 KiB)
????????????●?RX errors 0 dropped 0 overruns 0 frame 0
????????????●?TX packets 482 bytes 55976 (54.6 KiB)
????????????●?TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

????????????●?lo: flags=73 mtu 65536
????????????●?inet 127.0.0.1 netmask 255.0.0.0
????????????●?inet6 ::1 prefixlen 128 scopeid 0x10
????????????●?loop txqueuelen 1 (Local Loopback)
????????????●?RX packets 36 bytes 4212 (4.1 KiB)
????????????●?RX errors 0 dropped 0 overruns 0 frame 0
????????????●?TX packets 36 bytes 4212 (4.1 KiB)
????????????●?TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
????◆?分析說明:
????????????●?ens33:網卡名稱
????????????●?inet:IP地址
????????????●?netmask:子網掩碼
????????????●?ether:Mac地址
????????????●?lo:主機回環地址
????????????●?RX:接收數據包情況
????????????●?TX:發送數據包情況
????◆?實例之二:?
????????????●?啟動網卡:ifconfig ens33 up
????????????●?關閉網卡:ifconfig ens33 down
????◆?分析說明:
????????????●?如通過ssh方式連接,關閉網卡後,ssh通道將斷開,只能通過其余終端開啟,除非有多塊網卡;
????◆?實例之三:?
????????????●?啟動arp協議:ifconfig ens33 arp
????????????●?關閉arp協議:ifconfig ens33 -arp

????◆?命令名稱:?●?echo
????◆?語法格式:?●?echo[OPTION]… [STRING]…
????◆?命令說明:?●?回顯命令
????◆?常用參數:?●?-n:不輸出行尾的換行符.
??????????? ●?-e:允許對下面列出的加反斜線轉義的字符進行解釋.
??????????? ●?-E:禁止對在STRINGs中的那些序列進行解釋.
????????????●?-?-help:顯示幫助並退出(須單獨運行)
????????????●?-?-version:輸出版本信息並退出(須單獨運行)
????◆?實例之一:?
????????????●?[root@magedu ~]# echo $PATH
????????????●?/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
????◆?分析說明:
????????????●?顯示出當前環境變量,$PATH為環境變量路徑
????◆?實例之二:?
????????????●?[root@magedu ~]# echo $?
????????????●?0
????◆?分析說明:
????????????●?echo $?表示顯示上次執行命令的結果,0表示正確,1-255表示錯誤;
????◆?實例之三:?
????????????●?[root@magedu ~]# echo ifconfig | grep inet | awk ‘{print $2}’ | head -1 hostname >> /etc/hosts
????????????●?[root@magedu ~]# tail -1 /etc/hosts
????????????●?10.10.10.152 magedu.study
????◆?分析說明:
????????????●?上述命令中的反引號裏表示命令引用,意思是先執行反引號裏的命令,並將命令結果給echo命令後再保存至hosts文件;

????◆?命令名稱:?●?tty
????◆?語法格式:?●?tty [OPTION]…
????◆?命令說明:?●?顯示連接標準輸入的終端的文件名
????◆?常用參數:?●?-s, —silent, —quiet:什麽都不顯示, 僅僅返回一個退出狀態
????????????●?-?-help:顯示幫助信息
????????????●?-?-version:顯示版本信息
????◆?實例演示:?
????????????●?[root@magedu ~]# tty
????????????●?/dev/pts/1
????◆?分析說明:
????????????●?串行終端:ttyS
????????????●?偽終端:pty

????◆?命令名稱:?●?startx
????◆?語法格式:?●?startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]
????◆?命令說明:?●?初始化一個X會話
????◆?分析說明:
????????????●?startx 命令簡化了啟動 X 會話的過程。

????◆?命令名稱:?●?export
????◆?語法格式:?●?exprot [-fnp][變量名稱]=[變量設置值]
????◆?命令說明:?●?用於將shell變量輸出為環境變量,或者將shell函數輸出為環境變量;
????◆?常用參數:?●?-f:代表[變量名稱]中為函數名稱;
??????????? ●?-n:刪除指定的變量。變量實際上並未刪除,只是不會輸出到後續指令的執行環境中;
????????????●?-p:列出所有的shell賦予程序的環境變量。
????◆?實例演示:?
????????????●?[root@magedu ~]# export -n USER=”root”
????????????●?[root@magedu ~]# export
????????????●?…前面省略
????????????●?declare -x TERM=”xterm”
????????????●?declare -x XDG_RUNTIME_DIR=”/run/user/0”

????◆?命令名稱:?●?pwd
????◆?語法格式:?●?pwd [-LP]
????◆?命令說明:?●?打印當前工作目錄;
????◆?常用參數:?●?-L:打印 $PWD 變量的值,如果它命名了當前的工作目錄;
????????????●?-P:打印當前的物理路徑,不帶有任何的符號鏈接;
????◆?實例演示:?
????????????●?lrwxrwxrwx. 1 root root 11 2月 16 18:02 init.d -> rc.d/init.d
????????????●?[root@magedu etc]# cd init.d/
????????????●?[root@magedu init.d]# pwd
????????????●?/etc/init.d
????????????●?[root@magedu init.d]# pwd -L
????????????●?/etc/init.d
????????????●?[root@magedu init.d]# pwd -P
????????????●?/etc/rc.d/init.d
????????????●?[root@magedu ~]# export

????◆?命令名稱:?●?history
????◆?語法格式:?●?history [-c] [-d offset] [n]
??????????? ●?history -awrn [filename]
??????????? ●?history -ps arg [arg…]
????◆?命令說明:?●?顯示或操縱歷史列表。
????◆?常用參數:?●?-c:清空命令歷史;
??????????? ●?-d offset:刪除指定命令歷史條目;
??????????? ●?n:顯示最近n條歷史記錄;
??????????? ●?-a:將當前緩存中的歷史記錄追加到.bash_history文件中;
????????????●?-n:從歷史文件中讀取未被讀取的行;
????????????●?-r:讀取歷史文件並將內容追加到歷史列表中;
????????????●?-w:讀取歷史文件並將內容追加到歷史列表中;

????◆?實例之一:?
????????????●?[root@magedu init.d]# history 5
????????????●?1048 help history
????????????●?1049 history
????????????●?1050 echo $HISTCONTROL
????????????●?1051 history -d 1048
????????????●?1052 history 5
????????????●?[root@magedu init.d]# history -d 1050
????????????●?[root@magedu init.d]# history 4 | head -1
????????????●?1050 history -d 1048
????◆?分析說明:
????????????●?上述演示刪除了1048條命令,經兩次查詢,1048條命令已經不同,並演示了顯示最近5條歷史記錄的使用方法;

????◆?命令名稱:? ●?history
????◆?語法格式:? ●?history [-c] [-d offset] [n]
????????????●?history -awrn [filename]
????????????●?history -ps arg [arg…]
????◆?命令說明:? ●?顯示或操縱歷史列表。
????◆?常用參數:? ?

????◆?實例之二:?
????????????●?[root@magedu init.d]# history -c
????????????●?[root@magedu init.d]# history
????????????●?55 history
????????????●?[root@magedu init.d]# history -r
????????????●?[root@magedu init.d]# history 3
????????????●?1050 ifconfig
????????????●?1051 tty
????????????●?1052 history 3

????◆?分析說明:
????????????●?使用-c選項清空了換成裏的歷史列表,後使用-r選項將歷史文件裏的記錄同步到了歷史列表裏。

????◆?實例之三:?
????????????●?[root@magedu ~]# tail -2 .bash_history
????????????●?ifconfig
????????????●?tty
????????????●?[root@magedu init.d]# history 3
????????????●?1050 ifconfig
????????????●?1051 tty
????????????●?1052 history 3
????????????●?[root@magedu init.d]# ls
????????????●?functions netconsole network README
????????????●?[root@magedu init.d]# echo $?
????????????●?0
????????????●?[root@magedu init.d]# history -w
????◆?分析說明:
????????????●?使用-w命令將緩存裏的命令歷史添加到歷史文件當中;
????◆?使用技巧:
????????????●?!#:再一次執行歷史列表中的第#條命令
????????????●?!!:再一次執行上一條命令(同向上箭頭鍵)
????????????●?!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;(非常有用)
????◆?實例之四:?
????????????●?[root@magedu init.d]# !l
????????????●?ls
????????????●?functions netconsole
????????????●?network README
????????????●?[root@magedu init.d]# !1051
????????????●?tty
????????????●?/dev/pts/4
????????????●?[root@magedu init.d]# !!
????????????●?tty
????????????●?/dev/pts/4
????◆?分析說明:
????????????●?註意:命令的重復執行時有時候需要依賴於冪等性;

????◆?命令名稱:?●?shutdown
????◆?語法格式:?●?/sbin/shutdown [-t sec] [-arkhncfF] time [warning-message]
????◆?命令說明:?●?關機
????◆?常用參數:?●?-k:向所有人顯示警告信息;
????????????●?-r:重啟;
????????????●?-h:關機;
????????????●?-f:重啟時跳過磁盤檢測;
????????????●?-F:重啟時強制磁盤檢測;
????????????●?-c:取消運行中的shutdown進程,無法指定time參數;
????????????●?time:關機時間;
????◆?實例之一:?
????????????●?[root@magedu ~]# shutdown -h 5
????????????●?Shutdown scheduled for 二 2018-03-27 09:45:25 CST, use ‘shutdown -c’ to cancel.
????????????●?[root@magedu ~]#
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:40:25 CST):
????????????●?The system is going down for power-off at Tue 2018-03-27 09:45:25 CST!
????????????●?[root@magedu ~]# shutdown -c
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:41:06 CST):
????????????●?The system shutdown has been cancelled at Tue 2018-03-27 09:42:06 CST!
????◆?分析說明:
????????????●?-c可以在關機(重啟)的等待時間內將其取消;
????????????●?now為立即執行
????????????●?hh:mm(幾點幾分執行)
????????????●?+m為m分鐘後執行
????◆?實例之一:?
????????????●?[root@magedu ~]# shutdown -k 5
????????????●?Shutdown scheduled for 二 2018-03-27 10:03:49 CST, use ‘shutdown -c’ to cancel.
????????????●?[root@magedu ~]#
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:58:49 CST):
????????????●?The system is going down for power-off at Tue 2018-03-27 10:03:49 CST!
????????????●?Broadcast message from [email protected] (Tue 2018-03-27 09:59:49 CST):
????????????●?The system is going down for power-off at Tue 2018-03-27 10:03:49 CST!
????????????●?…後面省略
????◆?分析說明:
????????????●?-k選項會沒隔1分鐘通知一次,如需取消可使用Ctrl+c;

????◆?命令名稱:? ●?poweroff
????◆?語法格式:? ●?poweroff [OPTIONS…]
????◆?命令說明:? ●?關機,並切斷電源,只有管理員可以使用;
????◆?常用參數:? ●?-n:關閉操作系統時不執行sync操作;
????????????●?-w:不真正關閉操作系統,僅在日誌文件“/var/log/wtmp”中;
????????????●?-d:關閉操作系統時,不將操作寫入日誌文件“/var/log/wtmp”中添加相應的記錄;
????????????●?-f:強制關閉操作系統;
????????????●?-i:關閉操作系統之前關閉所有的網絡接口;
????????????●?-h:關閉操作系統之前將系統中所有的硬件設置為備用模式。

????◆?命令名稱:? ●?halt
????◆?語法格式:? ●?halt [OPTIONS…]
????◆?命令說明:? ●?關機,只有管理員可以使用;
????◆?常用參數:?
????????????●?-p : 當關機的時候,順便做關閉電源(poweroff)的動作;
????◆?分析說明:
????????????●?-n、-w、-d、-f、-i選項與poweroff命令相同;

????◆?命令名稱:?●?reboot
????◆?語法格式:?●?reboot [OPTIONS…]
????◆?命令說明:?●?重啟,只有管理員可以使用;
??????????? ●?-n、-w、-d、-f、-i選項與poweroff命令相同;

????◆?命令名稱:?●?date
????◆?語法格式:?●?date [OPTION]… [+FORMAT]
????◆?命令說明:?●?查詢系統時間;
????◆?常用參數:?
????????????●?%a:當前區域的星期幾的簡寫 (Sun..Sat)
????????????●?%A:當前區域的星期幾的全稱 (不同長度) (Sunday..Saturday)
????????????●?%B:當前區域的月份的全稱(變長) (January..December)
????????????●?%c:當前區域的日期和時間 (Sat Nov 04 12:02:33 EST 1989)
????????????●?%d:(月份中的)幾號(用兩位表示) (01..31)
????????????●?%D:日期(按照 月/日期/年 格式顯示) (mm/dd/yy)
????????????●?%F:日期(按照 年-月-日期格式顯示)(yyyy-dd-mm)
????????????●?%h:當前區域的月份的簡寫 (Jan..Dec)
????????????●?%H:小時(按 24 小時制顯示,用兩位表示) (00..23)
????????????●?%I:小時(按 12 小時制顯示,用兩位表示) (01..12)
????????????●?%j:(一年中的)第幾天(用三位表示) (001..366)
????????????●?%m:月份(用兩位表示) (01..12)
????????????●?%M:分鐘數(用兩位表示) (00..59)
????????????●?%n:換行
????????????●?%p:當前時間是上午 AM 還是下午 PM
????????????●?%r:時間,按 12 小時制顯示 (hh:mm:ss [A/P]M)
????????????●?%s:從 1970年1月1日0點0分0秒到現在歷經的秒數 (GNU擴充)
????????????●?%S:秒數(用兩位表示)(00..60)
????????????●?%T:時間,按 24 小時制顯示(hh:mm:ss)
????????????●?%U:(一年中的)第幾個星期,以星期天作為一周的開始(用兩位表示) (00..53)
????????????●?%V:(一年中的)第幾個星期,以星期一作為一周的開始(用兩位表示) (01..52)
????????????●?%w:用數字表示星期幾 (0..6); 0 代表星期天
????????????●?%x:按照 (mm/dd/yy) 格式顯示當前日期
????????????●?%X:按照 (%H:%M:%S) 格式顯示當前時間
????????????●?%y:年的後兩位數字 (00..99)
????????????●?%Y:年(用 4 位表示) (1970…)
????◆?實例之一:?
????????????●?linux-fa67:~ #
????????????●?date +”%F %X %a”
????????????●?2018-03-27 11:59:55 Tue
????◆?分析說明:
????????????●?date命令裏調用多個參數需要將所有參數用“”或‘’進行引用;

????◆?語法格式:?●?date [-u|—utc|—universal] [MMDDhhmm[[CC]YY][.ss]]
????◆?命令說明:?●?設定系統時間;
????◆?常用參數:?●?-d, —date=STRING:顯示由 STRING 指定的時間, 而不是當前時間;
????????????●?-r, —reference=FILE:顯示 FILE 的最後修改時間;
????????????●?-s, —set=STRING:根據 STRING 設置時間
????????????●?-u, —utc, —universal:顯示或設置全球時間(格林威治時間)
????◆?實例之二:?
????????????●?[root@magedu ~]# date 040512152017.16
????????????●?2017年 04月 05日 星期三 12:15:16 CST
????◆?實例之三:?
????????????●?[root@magedu ~]# date -s 2018-03-27
????????????●?2018年 03月 27日 星期二 00:00:00 CST
????????????●?[root@magedu home]# date -s 12:27:00
????????????●?2018年 03月 27日 星期二 12:27:00 CST
????◆?分析說明:
????????????●?上述兩種實例為設置時間的兩種方式,但第一種無需加參數-s,後一種則必須添加-s參數;
????◆?實例之四:?
????????????●?[root@magedu home]# date -u
????????????●?2018年 03月 26日 星期一 16:06:28 UTC
????◆?實例之五:?
????????????●?[root@magedu home]# date -r hosts
????????????●?2018年 03月 06日 星期二 18:55:44 CST
????????????●?[[root@magedu home]# stat hosts | grep 最近
????????????●?最近訪問:2018-03-27 12:34:43.691979286 +0800
????????????●?最近更改:2018-03-06 18:55:44.073971393 +0800
????????????●?最近改動:2018-03-27 12:34:43.691979286 +0800
????◆?分析說明:
????????????●?經驗證,date -r與stat命令的mtime時間相符

????◆?命令名稱:?●?hwclock
????◆?語法格式:?●?hwclock [function] [option…]
????◆?命令說明:?●?查詢和設置硬件時間;
????◆?常用參數:?
????????????●?-s?-?-hctosys: 以硬件為準,把系統時間調整為與硬件時間相同;
????????????●?-w?-?-systohc: 以系統為準,把硬件時間調整為與系統時間相同;
????◆?實例演示:?
????????????●?linux-fa67:~ # date
????????????●?Tue Mar 27 12:44:27 EDT 2018
????????????●?linux-fa67:~ # hwclock
????????????●?Tue Mar 27 09:21:58 2018 -0.969610 seconds
????????????●?linux-fa67:~ # hwclock?-w?-?-systohc
????????????●?linux-fa67:~ # hwclock
????????????●?Tue Mar 27 12:45:10 2018 -0.454103 seconds
????◆?分析說明:
????????????●?-s跟-w使用方法類似,就不做演示;
????◆?命令名稱:? ●?clock
????◆?命令說明:? ●?clock為hwclock命令的符號鏈接
????????????●?[root@magedu sbin]# ls -lih hw*
????????????●?34282438 -rwxr-xr-x. 1 root root 49K 8月 4 2017 hwclock
????????????●?[root@magedu sbin]# ls -ilh cl
????????????●?34282427 lrwxrwxrwx. 1 root root 7 2月 16 18:04 clock -> hwclock
????◆?分析說明:
????????????●?符號鏈接與文件本身的inode值不同;並有些Linux上並沒有clock命令,如S.U.S.E;

五、幫助獲取方式

?????Linux命令分為內建命令跟外部命令兩種:

????◆?內建命令:shell自帶的命令
????◆?外部命令:不包含在shell中,在需要使用時才會被調入內存
????◆?命令type:用來查詢一個命令是內建命令還是外部命令
????◆?用法:type COMMAND
????◆?內建命令獲取幫助的方式:help COMMAND
????◆?外部命令獲取幫助的方式:
??????●?COMMAND –help(命令自帶的簡要幫助)
??????●?man COMMAND(manual手冊:位置/usr/share/man)
??????●?man章節劃分:
???????????????①:使用者在shell中可以操作的指令或可執行檔
???????????????②:系統調用
???????????????③:一些常用的函數(function)與函數庫(library),大部分是C的函數庫(libc)
???????????????④:裝置檔案的說明,通常在/dev下的檔案
???????????????⑤:設定檔或者是某些檔案的格式
???????????????⑥:遊戲使用幫助
???????????????⑦:雜項
???????????????⑧:系統管理員可用的管理指令
???????????????⑨:跟kernel有關的文件
??????●?SYNOPSIS:
???????????????①:[?]: 可選內容;
???????????????②:<?>: 必須提供的內容;
???????????????③:a|b|c:多選一;
???????????????④:…?: 同類內容可出現多個;

????※註釋※:????? ?●?NAME: 功能性說明
???????????????●?SYNOPSIS: 語法格式
???????????????●?DESCRIPTION: 描述
???????????????●?OPTIONS: 選項
???????????????●?EXAMPLES: 使用示例
???????????????●?AUTHOR:作者
???????????????●?BUGS: 報告程序bug的方式
???????????????●?SEE ALSO: 參考
???????????????●?…

六、Linux發行版的基礎目錄名稱及功用

????◆?目錄名 功用
????◆?/bin 所有用戶可用的基本命令程序文件;
????◆?/sbin 共系統管理使用的工具程序;
????◆?/boot 引導加載器必須用到的各靜態文件:kernel,initramfs(initrd),grub等;
????◆?/dev 存儲設備文件或特殊文件;
????◆?/etc 系統程序的配置文件,只能為靜態;
????◆?/home 普通用戶的家目錄;
??????(/home/USERNAME)
????◆?/root 管理員家目錄;
????◆?/lib 庫文件;
????◆?/lib64 64位系統特有的共享庫;
????◆?/media 便攜式設備掛載點;
????◆?/mnt 其它文件系統臨時掛載點;
????◆?/opt 附加應用程序的安裝位置;
????◆?/srv 當前主機為服務提供的數據;
????◆?/tmp 臨時文件目錄;
????◆?/usr 全局共享的只讀數據路徑;
????◆?/usr/local 安裝本地應用或第三方程序;
????◆?/var 存儲常發生變化的數據的目錄;
????◆?/proc 基於內存的偽文件系統,用於存儲內核及進程存儲相關信息;
????◆?/sys 管理Linux設備提供一種統一模式的接口;

計算機構成簡介與Linux基礎知識