linux命令格式,獲取幫助及其目錄結構簡要理解
我們都知道,一臺計算機要是沒通電,和一堆廢鐵沒什麽區別。那麽,通電開機進入系統後,會進入交互界面,等待用戶操作,人與計算機交互界面有兩種:
GUI:圖形用戶接口。如我們平時使用的Windows ,linux的X window,有KDE和GOME.
CLI:命令行接口,使用的SHELL類型有bash ,csh,tcshell,zshell等。
例如:[[email protected] ~]# commandbin
root:當前登錄的用戶名。
dxlcentOS:當前主機的主機名。@是一個分隔符號,把root和後面的主機名分開,
~:是當前用戶所在的工作目錄
#:表示為當前登錄的為管理員賬號root
$:表示為當前登錄的為非root用戶,是普通用戶,不具有管理權限,不能操作系統管理類命令。
命令語法通用格式
# COMMAND PTIONS 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
命令運行時會調用許多庫文件,我們稱之為共享庫。庫是一種二進制格式文件保存在磁盤,不能單獨運行。
32bits的庫保存目錄:/lib, /usr/lib, /usr/local/lib
64bits的庫保存目錄:/lib64, /usr/lib64, /usr/local/lib64
註意:並非所有的命令都有一個在某目錄與之對應的可執行程序文件。
命令必須遵循特定格式規範命:如Windows的可執行文件格式是exe, msi。 Linux是ELF。
Linux命令分類
內部命令:由shell程序的自帶的命令:內置命令(builtin)。
例如 :~]# type cd
cd is a shell builtin
外部命令:獨立的可執行程序文件,文件名即命令名。
例如 ~]# type man
man is /usr/bin/man
查看命令類型:~]# type command
OPTIONS:
指定命令的運行特性;選項有兩種表現形式:
短選項:-C, 例如-l, -d。註意:有些命令的選項沒有-;如果同一命令同時使用多個短選項,多數可合並:-l -d = -ld。
長選項:–word, 例如–help, –human-readable。註意:長選項不能合並;
註意:有些選項可以帶參數,此稱為選項參數;例如
長選項的參數通常需要用‘=’,比如–size=1G,
ARGUMENTS:
命令的作用對象;命令對什麽生效;
註意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔; 例如:ls -ld /var /etc, cat /tmp/1.txt 2.txt
獲取命令使用幫助
內部命令獲取幫助方法:help COMMAND
外部命令獲取幫助方法:
(1) 命令自帶簡要格式的使用幫助,例如:# COMMAND –help
(2) 使用手冊:manual。手冊文件保存的位置:/usr/share/man。例如:# man COMMAND
執行man COMMAND後英文說明:
SECTION:
NAME:功能性說明
SYNOPSIS:語法格式
DESCRIPTION:描述
OPTIONS:選項
EXAMPLES:使用示例
AUTHOR: 作者
BUGS: 報告程序bug的方式
SEE ALSO: 參考
SYNOPSIS:
[]:可選內容;
<>:必須提供的內容;
a|b|c:多選一;
同類內容可出現多個;
使用手冊:壓縮格式的文件,有章節之分;文件保存在/usr/share/man,man1, man2, …
~]# man man
-a:在所有的man幫助手冊中搜索
-f:等同於whatis,顯示給定關鍵字的簡短描述信息
-P:指定內容時使用分頁程序
-M:指定man手冊搜索的路徑
手冊章節說明:
man1:用戶命令;
man2:系統調用;
man3:C庫調用;
man4:設備文件及特殊文件;
man5:文件格式;(配置文件格式)
man6:遊戲使用幫助;
man7:雜項;
man8:管理工具及守護進行;
~]# man CHAPTER COMMAND
註意:並非每個COMMAND在所有章節下都有手冊;
可以用whatis查看:
~]# whatis COMMAND
註意:其執行過程是查詢數據庫進行的;
手動更新數據庫:
~]# makewhatis
man命令打開手冊以後的操作方法:
翻屏:
空格鍵:向文件尾翻一屏;
b: 向文件首部翻一屏;
Ctrl+d:向文件尾部翻半屏;
Ctrl+u:向文件首部翻半屏;
回車鍵:向文件尾部翻一行;
k: 向文件首部翻一行;
G:跳轉至最後一行;
#G: 跳轉至指定行;
1G:跳轉至文件首部;
文本搜索:
/keyword:從文件首部向文件尾部依次查找;不區分字符大小寫;
?keyword:從文件尾部向文件首部依次查找;
n: 與查找命令方向相同;
N: 與查找命令方向相反;
退出:q: quit
man選項:
-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) 應用 google搜索引擎
linux目錄結構
我們用過windows都知道,進入我點電腦裏面會看見C,D,E等的盤符,其文件路徑方式是E:\xxx\xxx\,以盤符為起點,每個盤都是獨立自治的。那麽linux是怎麽樣的呢?我看下面的一張圖。
linux的文件層級結構是一個倒置樹狀結構,“/”根是一切文件的起點。我們先看看文件路徑。
絕對路徑:以“根/”起點,你所到達的目錄為終點。例如/etc/yum/vars
相對路徑:以當前工作目錄為起點,達到目錄為終點,例如假設當前目錄在etc下,要到yum目錄,直接
cd yum即可。
那麽linux根“/”下面重要的目錄和文件有哪些呢:看下:# ls /
/bin:所有用戶可用的基本命令二進制程序文件;
/sbin:供系統管理使用的工具程序;只允許系統管理root執行。
/boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;
/dev:存儲特殊文件或設備文件;
設備有兩種類型:字符設備(線性設備),例如鍵盤。塊設備(隨機設備),例如硬盤。
/etc:系統程序的配置文件,只能為靜態;
/home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;
/root:管理員的家目錄;可選;
/lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊。類似windows下面的.dll文件
libc.so.*:動態鏈接的C庫;
ld*:運行時鏈接器/加載器;
modules:用於存儲內核模塊的目錄;
/lib64:64位系統特有的存放64位共享庫的路徑;
/media:便攜式設備掛載點,例如U盤,cdrom, floppy等;
/mnt:其它文件系統的臨時掛載點;一般情況下這個目錄是空的,而在我們將要掛載分區時在這個目錄下建立目錄,再將我們將要訪問的設備掛載在這個目錄上,這樣我們就可訪問文件了。
/opt:附加應用程序的安裝位置;可選路徑;
/srv:當前主機為服務提供的數據;
/tmp:為那些會產生臨時文件的程序提供的用於存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;
/usr:usr Hierarchy,全局共享的只讀數據路徑;/usr的作用與現在的/home相同。而目前其通常被認為是 User System Resources 的縮寫,其中通常是用戶級的軟件等,與存放系統級文件的根目錄形成對比。
bin, sbin 多數日常應用程序存放的位置
lib, lib64 系統的庫文件
include:C程序頭文件;
share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置
local:另一個層級目錄;
X11R6:X-Window程序的安裝位置
src:程序源碼文件的存儲位置
/usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用於安裝第三方程序;
/var:/var Hierarchy,存儲常發生變化的數據的目錄;包括了一些數據文件,如系統日誌等。
/var/cache Application cache data應用程序的緩存文件
/var/lib Variable state information應用程序的信息、數據。如數據庫的數據等都存放在此文件夾
/var/local /usr/local中程序的信息、數據
/var/lock Lock files 鎖文件
/var/log Log files and directories日誌文件
/var/opt Variable data for /opt中程序的信息、數據
/var/run Data relevant to running processes正在執行著的程序的信息,如PID文件應存放於此
/var/spool Application spool data存放程序的假脫機數據(即spool data)
/var/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/
本文由馬哥及教育學員N27_dxldeng 原創,首發於運維部落
本文出自 “馬哥Linux培訓” 博客,請務必保留此出處http://mageedu.blog.51cto.com/4265610/1966355
linux命令格式,獲取幫助及其目錄結構簡要理解