-
計算機的組成及其功能
-
Linux的發行版介紹
-
Linux的哲學思想
-
Linux命令格式及一些基礎命令
-
在Linux系統上獲取命令的幫助信息
-
Linux發行版的基礎目錄
計算機的組成及其功能
簡單來說,計算機系統是由 硬件系統(hardware system)和 軟件系統(software system)兩部分組成。
硬件的基本組成: 運算器、存儲器、控制器、輸入輸出設備。
-
運算器:運算器的功能是對數據進行各種算術運算和邏輯運算,即對數據進行加工處理
-
控制器: 是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等
-
存儲器: 存儲器的功能是存儲程序、數據和各種信號、命令等信息,并在需要時提供這些信息
-
輸入輸出設備:輸入設備是計算機的重要組成部分,輸入設備與輸出設備合稱為外部設備,簡稱外設,輸入設備的作用是將程序、原始數據、文字、字符、控制命令或現場采集的數據等信息輸入到計算機.輸出設備與輸入設備同樣是計算機的重要組成部分,它把外算機的中間結果或最后結果、機內的各種數據符號及文字或各種控制信號等信息輸出出來.
軟件: 主要分為系統軟件和應用軟件
-
系統軟件: 系統軟件是指控制和協調計算機及外部設備,支持應用軟件開發和運行的系統,是無需用戶干預的各種程序的集合,主要功能是調度,監控和維護計算機系統;負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作.
-
應用軟件: 應用軟件是用戶可以使用的各種程序設計語言,以及用各種程序設計語言編制的應用程序的集合,分為應用軟件包和用戶程序.應用軟件包是利用計算機解決某類問題而設計的程序的集合,供多用戶使用。
Linux的發行版介紹
因為并不是每個人都具有源碼安裝各種軟件的能力,滿足各種用戶需求的Linux發行版應運而生,發展的蓬蓬勃勃,到今天已經達數百種之多。其中最為主流的有以下幾個分支。
-
Redhat
在該分支中主要有RHEL(商業收費版),CentOS((RHEL的社區克隆版本,免費),Fedora Core(桌面版,免費) -
slackware
slackware下最有名的分支當屬SuSe,SuSE有SLES(企業版)和openSUSE(社區版) -
Debian
Debian是社區類Linux的典范,是迄今為止最遵循GNU規范的Linux系統。Debian最具特色的是apt-get / dpkg包管理方式。
Debian下比較有名的分支有Ubuntu,Mint -
Gentoo
追求極限的配置、性能,以及頂尖的用戶和開發者社區,都是Gentoo體驗的標志特點。Gentoo的哲學是自由和選擇。 -
ArchLinux
Arch Linux(或稱Arch)是一種以輕量簡潔為設計理念的Linux發行版。
Linux的哲學思想
-
一切皆文件,把幾乎所有資源統統抽象為文件形式,包括硬件設備,甚至通信接口等;
資源(文件,硬件設備)的管理更加簡單,方便。 -
由眾多功能單一的程序組成;一個程序只做一件事,并且做好;組合小程序完成復雜任務;
-
盡量避免跟用戶交互
目標:易于以編程的方式實現自動化任務; -
使用文本文件保存配置信息
配置信息可以持久保存,極大的發揮了文本編輯器的作用
Linux命令格式及一些基礎命令
命令的語法通用格式:
COMMAND OPTIONS ARGUMENTS
COMMAND:
發起一命令:請求內核將某個二進制程序運行為一個進程; 程序 –> 進程 靜態 –> 動態(有生命周期)
-
命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;
-
多數系統程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin
普通命令:/bin, /usr/bin, /usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin
共享庫:多個程序都用到的公共部分
/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
32bits的庫:/lib, /usr/lib, /usr/local/lib
64bits的庫:/lib64, /usr/lib64, /usr/local/lib64
注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件
-
命令必須遵循特定格式規范:exe, msi, ELF(Linux)
~]# file /bin/ls 查看文件內容格式類型 -
命令分為兩類:
由shell程序的自帶的命令:內置命令(builtin)
獨立的可執行程序文件,文件名即命令名:外部命令
查看命令類型:
type COMMAND
OPTIONS:
指定命令的運行特性
選項有兩種表現形式:
-
短選項:-C, 例如-l, -d
注意:有些命令的選項沒有-;
如果同一命令同時使用多個短選項,多數可合并:-l -d = -ld -
長選項:–word, 例如–help, –human-readable
注意1:長選項不能合并;
注意2:有些選項可以帶參數,此稱為選項參數; 短選項用空格分割, 長選項用等號分割
ARGUMENTS:
命令的作用對象;命令對什么生效;
注意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔
基礎命令
-
ifconfig: 查看、配置、啟用或禁用網絡接口;
注意: 命令立即生效,重啟失效ifconfig #處于激活狀態的網絡接口 ifconfig -a #所有配置的網絡接口,不論其是否激活 ifconfig eth0 #顯示eth0的網卡信息 ifconfig eth0 down #關閉eth0網卡 ifconfig eth0 up #開啟eth0網卡 ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE #修改MAC地址 ifconfig eth0 192.168.1.56 netmask 255.255.255.0 #給eth0網卡配置IP地址,并加上子掩碼 ifconfig eth0 mtu 1500 #設置能通過的最大數據包大小為 1500 bytes
示例:
配置網卡ip地址并啟動 [root@node1 ~]# ifconfig eno16777736 172.16.0.150 netmask 255.255.0.0 up 添加網卡別名 [root@node1 ~]# ifconfig eno16777736:0 172.16.0.151 netmask 255.255.0.0 [root@node1 ~]# ifconfig eno16777736:1 192.168.0.100 netmask 255.255.255.0 保留網卡別名信息 1. 將增加ip別名的命令填寫到/etc/rc.local文件中,這個方法最方便,但不太可靠,有時會失靈。 2. 手動編寫ip別名的網卡配置文件 所有網卡的配置文件都保存在/etc/sysconfig/network-scripts目錄中,一個網卡對應一個配置文件 [root@node1 network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777736:0 [root@node1 network-scripts]# vim ifcfg-eno16777736:0 清除別名 [root@node1 network-scripts]# ifconfig eno16777736:0 down [root@node1 network-scripts]# ifconfig eno16777736:1 down
-
echo 回顯
格式: echo [SHORT-OPTION]… [STRING]…
-n: 不進行換行;
-e:讓轉義符生效;
\n:換行
\t:制表符
[root@node1 network-scripts]# echo -e "hello \nworld" hello world
-
tty 查看當前的終端設備
[root@node1 network-scripts]# tty /dev/pts/2
-
startx 啟動圖形化界面
在某一虛擬終端接口運行命令:startx & -
export 顯示和設置環境變量值
設置環境變量
export JAVA_HOME=/usr -
pwd 顯示工作目錄
-P 符號鏈接時,顯示真實路徑[root@node1 ~]# pwd /root
-
history 命令歷史
shell進程會其會話中保存此前用戶提交執行過的命令
定制history的功能,可通過環境變量實現:
HISTSIZE:shell進程可保留的命令歷史的條數;
HISTFILE:持久保存命令歷史的文件;
HISTFILESIZE:命令歷史文件的大小;
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 參數 [參數…]
常用參數:
-c: 清空命令歷史(內存中的);
-d offset:刪除指定命令歷史
-r: 從文件讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史文件中; history #:顯示最近的#條命令;
調用命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;
調用上一條命令的最后一個參數:
快捷鍵:ESC, . 按esc,放開,按.
示例: 顯示最近的兩條命令
histroy 2
-
shutdown 關機或重啟命令
shutdown [OPTIONS…] [TIME] [WALL…]
OPTIONS:
-h: halt 關機
-r:reboot 重啟
-c:cancel 取消關機或重啟(未到時間)
TIME:
now 現在
hh:mm 幾點幾分
+m 幾分鐘后
+0相當于now 現在
WALL 給所有終端發送的告警信息
示例:
現在關機: shutdown -h now 現在重啟: shutdown - r now 取消關機或重啟: shutdown -c
-
poweroff 關機
-
reboot 重啟
-
hwclock 顯示或設定硬件時鐘,clock是hwclock的軟連接
hwclock : 顯示硬件時鐘
-s, –hctosys:以硬件為準,把系統調整為與硬件時間相同;
-w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同;
示例:
以硬件為準,把系統調整為與硬件時間相同; [root@node1 ~]# date 2016年 12月 01日 星期四 01:44:07 CST [root@node1 ~]# hwclock 2016年12月01日 星期四 01時43分50秒 -0.621642 秒 [root@node1 ~]# hwclock -s [root@node1 ~]# hwclock 2016年12月01日 星期四 01時44分37秒 -0.849592 秒 [root@node1 ~]# date 2016年 12月 01日 星期四 01:44:40 CST
-
date 顯示日期時間
格式: date [OPTION]… [+FORMAT]
FORMAT:格式符 %F 相當于%Y-%m-%d %T 相當于 %H:%M:%S %Y 年 %m 月 %d 日 %H 時 %M 分 %S 秒 %s: 從1970年1月1號(unix元年)0點0分0秒到命令執行那一刻經過的秒數;
示例:
~]# date +%F 2016-11-17 ~]# date +%T 23:22:07 ~]# date +%F-%T 2016-11-17-23:22:48 ~]# date +"%Y-%m-%d %H:%M:%S" 2016-11-17 23:25:52 ~]# date +%s 1479396446
在Linux系統上獲取命令的幫助信息
內部命令:
help COMMAND
外部命令:
(1) 命令自帶簡要格式的使用幫助
COMMAND –help
(2) 使用手冊:manual
# man COMMAND SECTION: NAME:功能性說明,簡要說明 SYNOPSIS:語法格式 DESCRIPTION:描述 OPTIONS:選項 EXAMPLES:使用示例 AUTHOR: 作者 BUGS: 報告程序bug的方式 SEE ALSO: 參考 ... SYNOPSIS: []:可選內容; <>:必須提供的內容; a|b|c:多選一; ...:同類內容可出現多個; 注意:并非每個COMMAND在所有章節下都有手冊; 查看命令在那些章節有手冊: ~]# whatis COMMAND 注意:其執行過程是查詢數據庫進行的; 手動更新數據庫 Centos 6: ~]# makewhatis centos7: ~]# mandb man命令打開手冊以后的操作方法: 翻屏: 空格鍵:向文件尾翻一屏; b: 向文件首部翻一屏; Ctrl+d 或d:向文件尾部翻半屏; Ctrl+u 或 u:向文件首部翻半屏; 回車鍵:向文件尾部翻一行; k: 向文件首部翻一行; G:跳轉至最后一行; #G: 跳轉至指定行; 1G:跳轉至文件首部; 文本搜索: 不區分字符大小寫 /keyword:從文件首部向文件尾部依次查找;不區分字符大小寫; ?keyword:從文件尾部向文件首部依次查找; n: 與查找命令方向相同; N: 與查找命令方向相反; 退出: q: quit man手冊可以放到任意目錄下,需要指定 選項: -M /PATH/TO/SOMEDIR:到指定目錄下查找命令手冊并打開之;
(3) info COMMAND
獲取命令的在線文檔;man手冊的補充;
(4) 很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION
README:程序的相關的信息; INSTALL: 安裝幫助; CHANGES:版本迭代時的改動信息;
(5) 主流發行版官方文檔
http://www.redhat.com/doc
(6) 程序官方的文檔:
(7) 搜索引擎 google
keyword filetype:pdf
keyword site:domain.tld
man手冊的章節是如何劃分的?
-
用戶命令
-
系統調用
-
C庫調用
-
設備文件及特殊文件
-
文件格式(配置文件格式)
-
游戲使用幫助
-
雜項
-
管理工具及守護進行
使用示例:
~]# man CHAPTER COMMAND man 8 lvcreate man 1 passwd man 5 passwd
Linux發行版的基礎目錄
FHS: Filesystem Hierarchy Standard 文件系統層級結構標準
/bin:所有用戶可用的基本命令程序文件; /sbin:供系統管理使用的工具程序; /boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等; /dev:存儲特殊文件(軟件模擬設備)或設備文件; 設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備); /etc:系統程序的配置文件,只能為靜態; /home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME; /root:管理員的家目錄;可選; /lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊 libc.so.*:動態鏈接的C庫; ld*:運行時鏈接器/加載器; modules:用于存儲內核模塊的目錄; /lib64:64位系統特有的存放64位共享庫的路徑; /media:便攜式設備掛載點,cdrom, floppy等; /mnt:其它文件系統的臨時掛載點; /opt:附加應用(第三方應用)程序的安裝位置;可選路徑;早期使用比較多 /srv:當前主機為服務提供的數據;一般用不到 /tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限; /usr:usr Hierarchy,全局共享的只讀數據路徑; bin, sbin 非系統啟動所需要的 lib, lib64 庫文件 include:C程序頭文件; share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置 ,/usr/share/man /usr/share/doc local:另一個層級目錄; X11R6:X-Window程序的安裝位置 src:程序源碼文件的存儲位置 可選 /usr/local:Local hierarchy,讓系統管理員安裝本地應用程序(與系統程序不沖突);也通常用于安裝第三方程序; /var:/var Hierarchy,存儲常發生變化的數據的目錄; cache Application cache data 緩存數據 lib Variable state information 狀態數據 local Variable data for /usr/local 變化數據(/usr/local) lock Lock files 鎖文件 log Log files and directories 日志文件 opt Variable data for /opt run Data relevant to running processes spool Application spool data 暫存隊列數據 tmp Temporary files preserved between system reboots 重啟后需要留存的數據 /proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;內核參數虛擬為文件 /sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口;主要用來管理硬件設備
原創文章,作者:hansj,如若轉載,請注明出處:http://www.www58058.com/62023