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是怎么樣的呢?我看下面的一張圖。

149404C5044J0-25N0

linux的文件層級結構是一個倒置樹狀結構,“/”根是一切文件的起點。我們先看看文件路徑。

絕對路徑:以“根/”起點,你所到達的目錄為終點。例如/etc/yum/vars

相對路徑:以當前工作目錄為起點,達到目錄為終點,例如假設當前目錄在etc下,要到yum目錄,直接

 

QQ圖片20170915105107

cd yum即可。

那么linux根“/”下面重要的目錄和文件有哪些呢:看下:# ls ?/

111

/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/

 

 

 

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.npownk.tw/87190

聯系我們

400-080-6560

在線咨詢

工作時間:周一至周五,9:30-18:30,節假日同時也值班

QR code
安徽十一选五分布走势