一、Linux的命令
(一)、概念和意義:
發起一個命令:請求內核將某個二進制程序運行為一個進程;
程序 –> 進程
靜態 –> 動態(有生命周期)
命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;
多數系統程序文件存放目錄:
普通命令:/bin, /usr/bin, /usr/local/bin
管理命令:/sbin, /usr/sbin, /usr/local/sbin
共享庫存放目錄:
32bits的庫:/lib, /usr/lib, /usr/local/lib
64bits的庫:/lib64, /usr/lib64, /usr/local/lib64
注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件
(二)、遵循特定格式規范:
exe, msi, ELF(Linux)
~]# file /bin/ls
查看命令規范
(二)、分類
(1):由shell程序的自帶的命令:內置命令(builtin)
shell程序是獨特的程序,負責解析用戶提供的命令
解析流程:從環境變量PATH存儲的目錄中自左往右尋找執行的命令對應的二進制程序,并調用之。
環境變量PATH的查看方法:
~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查找次序:自左而右;
(2):獨立的可執行程序文件,文件名即命令名:外部命令
查看命令類型:
type COMMAND
(三)、書寫格式或者是使用方法
# COMMAND OPTIONS ARGUMENTS
COMMAND:
執行命令的名稱
OPTIONS:
(1) 指定命令的運行特性:
比如命令執行需要返回的那些參數等等,不同的命令有不同的特性區分。
(2) 表現形式:
短選項:-C, 例如-l, -d
注意:有些命令的選項沒有-;
如果同一命令同時使用多個短選項,多數可合并:-l -d = -ld
長選項:–word, 例如–help, –human-readable
注意:長選項不能合并;
注意:有些選項可以帶參數,此稱為選項參數;
ARGUMENTS:
命令的作用對象;命令對什么生效;一般為文件、數據等
注意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔;
二、獲取某個命令的使用幫助
內部命令和外部命令不同:
(一)、內部命令
help COMMAND
(二)、外部命令
(1) 命令自帶簡要格式的使用幫助
# COMMAND –help
(2) 使用手冊:manual
位置:/usr/share/man
# man COMMAND
打開某個命令手冊后的使用介紹:
NAME:功能性說明
SYNOPSIS:語法格式
[]:可選內容;
<>:必須提供的內容;
a|b|c:多選一;
…:同類內容可出現多個;
DESCRIPTION:描述
OPTIONS:選項
EXAMPLES:使用示例
AUTHOR: 作者
BUGS: 報告程序bug的方式
SEE ALSO: 參考
…
使用手冊:手冊是壓縮格式的文件,里面章節之分;
/usr/share/man
man1, man2, …
1:用戶命令;
2:系統調用;
3:C庫調用;
4:設備文件及特殊文件;
5:文件格式;(配置文件格式)
6:游戲使用幫助;
7:雜項;
8:管理工具及守護進程;
~]# man CHAPTER COMMAND
查看命令在某個章節下的手冊
注意:并非每個COMMAND在所有章節下都有手冊;
查看命令在哪個章節:
~]# whatis COMMAND
注意:其執行過程是查詢數據庫進行的;
手動更新數據庫:
~]# makewhatis
man命令打開手冊以后的操作方法:
翻屏:
空格鍵:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回車鍵:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳轉至最后一行;
#G: 跳轉至指定行;
1G:跳轉至文件首部;
文本搜索:
/keyword:從文件首部向文件尾部依次查找;不區分字符大小寫;
?keyword:從文件尾部向文件首部依次查找;
n: 與查找命令方向相同;
N: 與查找命令方向相反;
退出:
q: quit
選項:
-M /PATH/TO/SOMEDIR:到指定目錄下查找命令手冊并打開之;
(3) info COMMAND
獲取命令的在線文檔;
(4) 很多應用程序會自帶幫助文檔:/usr/share/doc/APP-VERSION
README:程序的相關的信息;
INSTALL: 安裝幫助;
CHANGES:版本迭代時的改動信息;
(5) 主流發行版官方文檔
(6) 程序官方的文檔:
官方站點上的“Document”
(7) 搜索引擎
keyword filetype:pdf
keyword site:domain.tld
三、Linux文件系統
(一)、概念
文件系統是Linux中有索引的層級結構的一張倒叉樹結構。
原始起點為/,稱為根目錄。
(二)、分類
(1) 目錄:路徑映射
路徑表示方法分類兩種:
[1]:相對路徑
[2]:決定路徑
(1) 文件:存儲空間存儲的一段流式數據,對數據可以做到按名存取
(三)、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:命令手冊頁和自帶文檔等架構特有的文件的存儲位置
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
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設備提供一種統一模型的的接口;
參考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/
(四)、Linux文件類型
[1]、- 常規文件即f(file)
[2]、d directory,目錄文件;
[3]、b block device,塊設備文件,支持以“block”為單位進行隨機訪問
[4]、c character device,字符設備文件,支持以“character”為單位進行線性訪問
major number:主設備號,用于標識設備類型,進而確定要加載的驅動程序
minor number:次設備號,用于標識同一類型中的不同的設備;
8位二進制:0-255
[5]、l symbolic link,符號鏈接文件;
[6]、p pipe,命名管道;
[7]、s socket,套接字文件;
(五)、文件名(目錄也屬于文件的一種)使用法則:
[1]、嚴格區分字符大小寫:file1, File1, FILE1
[2]、目錄也是文件,在同一路徑下,兩個文件不能同名;
[3]、支持使用除/以外的任意字符【但是不推薦使用特殊字符】
[4]、最長不能超過255個字符;
原創文章,作者:小江,如若轉載,請注明出處:http://www.www58058.com/34856