Linux的哲學思想:
1.一切皆文件:把幾乎所有資源統統抽象爲文件形式;包括硬件設備,甚至通信接口等;
open(), read(), write(), close(), delete(), create()
2.由衆多功能單一的程序組成;一個程序只做一件事,並且做好;組合小程序完成複雜任務;
3.儘量避免跟用戶交互;
目標:易於以編程的方式實現自動化任務;
4.使用文本文件保存配置信息;
Linux的哲學思想之一:一切皆文件
表現之一:硬件設備也通過文件表示
物理終端:/dev/console
虛擬終端:/dev/tty# [1,6]
串行終端:/dev/ttyS#
僞終端:/dev/pts/#
物理終端,控制檯:console
虛擬終端:6個,tty
Ctrl+Alt+F[1-6]
圖形終端:
CentOS 6:
Ctrl+Alt+F7
CentOS 7:
在哪個虛擬終端啓動,即位於哪個虛擬終端
串行終端:ttyS
僞終端:pty
查看終端設備:
[root@centos7 ~]# tty
/dev/pts/0
啓動GUI:
在某一虛擬終端接口運行命令:startx &
CLI接口:命令行接口
[root@centos7 ~]# COMMAND
說明:
root: 當登錄的用戶
centos7: 當前主機的主機名,非完整格式;若想查看完整格式:hostname 即可獲得
~:用戶當前所在的目錄(current directory),也稱爲工作目錄(working directory);相對路 徑;
#:命令提示符;
#:管理員賬號,爲root; 擁有最高權限,能執行所有操作;
$:普通用戶,非root用戶;不具有管理權限,不能執行系統管理類操作;
注意:建議使用非管理員賬號登錄;執行管理操作臨時切換至管理員,操作完成即退回。
命令的語法通用格式:
# 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)
命令分爲兩類:
由shell程序的自帶的命令:內置命令(builtin)
獨立的可執行程序文件,文件名即命令名:外部命令
shell程序是獨特的程序,負責解析用戶提供的命令;
環境變量:
PATH:從哪些路徑中查找用戶鍵入的命令字符串所對應的命令文件;查找次序:自左而右。
[root@centos7 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查看命令類型:
[root@test1 ~]# type cd(command)
cd is a shell builtin
OPTIONS:
選項有兩種表現形式:
短選項:-C, 例如-l, -d
注意:有些命令的選項沒有-;
如果同一命令同時使用多個短選項,多數可合併:-l -d = -ld
長選項:--word, 例如--help, --human-readable
注意:長選項不能合併;
注意:有些選項可以帶參數,此稱爲選項參數;(命令篇幅會體現)
ARGUMENTS:
命令的作用對象;命令對什麼生效;
注意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔;
例如:ls -ld /var /etc
/var和/etc就是作用對象
獲取命令的使用幫助:
內部命令:
[root@test1 ~]# help COMMAND
外部命令:
(1) 命令自帶簡要格式的使用幫助
[root@test1 ~]# COMMAND --help
(2) 使用手冊:manual
位置:/usr/share/man
[root@test1 ~]# man COMMAND
部分說明:
NAME:功能性說明
SYNOPSIS:語法格式
DESCRIPTION:描述
OPTIONS:選項
EXAMPLES:使用示例
AUTHOR: 作者
BUGS: 報告程序bug的方式
SEE ALSO: 參考
SYNOPSIS:
[]:可選內容;
<>:必須提供的內容;
a|b|c:多選一;
...:同類內容可出現多個;
使用手冊:壓縮格式的文件,有章節之分;/usr/share/man1, man2, ...
1:用戶命令;
2:系統調用;
3:C庫調用;
4:設備文件及特殊文件;
5:文件格式;(配置文件格式)
6:遊戲使用幫助;
7:雜項;
8:管理工具及守護進行;
~]# man CHAPTER(章節) COMMAND
示例:
[root@centos7 ~]# man 1 ls
注意:並非每個COMMAND在所有章節下都有手冊
如何查看命令在第幾章節有:
[root@centos7 ~]# whatis ifconfig
ifconfig (8) - configure a network interface
注意:其執行過程是查詢數據庫進行的;
手動更新數據庫:
[root@test1 ~]# makewhatis
man命令打開手冊以後的操作方法:
翻屏操作:
空格鍵:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回車鍵:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳轉至最後一行;
#G: 跳轉至指定行;
1G:跳轉至文件首部;(g也是可以跳至首都)
文本搜索:
/keyword:從文件首部向文件尾部依次查找;不區分字符大小寫;
?keyword:從文件尾部向文件首部依次查找;
n: 與查找命令方向相同;
N: 與查找命令方向相反;
退出:
q: quit
選項:
-M /PATH/TO/SOMEDIR:到指定目錄下查找命令手冊並打開之;
(3) info COMMAND
獲取命令的在線文檔;
(4) 很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION
README:程序的相關的信息;
INSTALL: 安裝幫助;
CHANGES:版本迭代時的改動信息;
(5) 主流發行版官方文檔
http://www.redhat.com/doc
(6) 程序官方的文檔:
官方站點上的“Document”
(7) 搜索引擎
如何使用收索功能:
keyword filetype:pdf(文件類型搜索)
keyword site:domain.tld(域名搜索)
Linux文件系統:
1、文件名名稱嚴格區分字符大小寫;
2、文件可以使用除/以外任意字符;
3、文件名長度不能超過255字符;
4、以.開頭的文件爲隱藏文件;
特殊兩個目錄(每一個目錄下都存在):
.: 當前目錄;
..: 當前目錄的上一級目錄;
示例:
目錄:/etc/sysconfig/
.: sysconfig
..: /etc