一、Linux的命令使用格式
命令的語法通用格式:
~]# COMMAND OPTIONS ARGUMENTS 命令 選項 參數
1. 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,它們分為32位和64位的庫文件,32位使用于32位的操作系統,64位使用于64位的操作系統,64位兼容32位,而32不兼容64
32位庫:存放在/lib,/usr/lib,/usr/local/lib
64位庫:存放在/lib64,/usr/lib64,/usr/local/lib64
命令分為兩類:
由shell自帶的命令,叫作內嵌命令(builtin)
獨立的可執行程序文件,文件名即命令名,叫作外部命令
查看命令的類型:
type命令: 例:~]# type COMMAND
[root@app1 ~]# type mkdir mkdir is /bin/mkdir [root@app1 ~]# type alias alias is a shell builtin
2. OPTIONS,選項: 指定命令的運行特性,有兩種表現形式:
短選項:-C,例如 ls -l ,-d 注:有的命令選項沒有 – ,同一命令同時使用多個短選項可合并:ls -ld
長選項:–word,例如 ls –help,有時候選項也帶參數,例:du -h –max-depth=1 注:長選項不能合并
3. ARGUMENTS,參數:命令的作用對象,命令對什么生效,例:ls /etc ,作用在/etc 。注:有些命令可以可同時帶多個參數,以空白分隔
二、常用命令介紹
1. ifconfig
OPTIONS -a 顯示所有可用網絡接口狀態信息 -s 簡單顯示網絡狀態,類似netstat –i Interface 只顯示$interface的配置信息及網絡狀態 up/down 用法是:ifconfig interface up/down 啟動/關閉interface接口 FOR EXAMPLE: [root@app1 ~]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:50:56:84:0D:85 inet addr:10.88.158.84 Bcast:10.88.158.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe84:d85/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13271001 errors:0 dropped:0 overruns:0 frame:0 TX packets:12381904 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3830321889 (3.5 GiB) TX bytes:2327742771 (2.1 GiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:261858897 errors:0 dropped:0 overruns:0 frame:0 TX packets:261858897 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:238693595641 (222.3 GiB) TX bytes:238693595641 (222.3 GiB) [root@app1 ~]# ifconfig -s Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 13271022 0 0 0 12381924 0 0 0 BMRU lo 65536 0 261859213 0 0 0 261859213 0 0 0 LRU [root@app1 ~]# ifconfig lo lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:261859889 errors:0 dropped:0 overruns:0 frame:0 TX packets:261859889 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:238693742990 (222.3 GiB) TX bytes:238693742990 (222.3 GiB)
2. echo:回顯
echo $PATH
[root@app1 ~]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/roo t/bin
3. tty:查看當前的終端設備
[root@app1 ~]# tty
/dev/pts/1
4. startx:打開圖形界面(前提是Linux系統已經安裝圖形界面)
啟動GUI:在某一虛擬終端接口運行命令:startx &
5. export:環境變量賦值,查看環境變量
(1) export name=value
(2) name=value
export name
[root@app1 ~]# export name=wlm [root@app1 ~]# echo $name wlm
6. pwd:printing working directory 顯示工作目錄
7. history:定制history的功能,可通過環境變量實現:
HISTSIZE:shell進程可保留的命令歷史的條數;
HISTFILE:持久保存命令歷史的文件;.bash_history(用戶家目錄下)
HISTFILESIZE:命令歷史文件的大??;
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
或 history -ps 參數 [參數…]
-c: 清空命令歷史;
-d offset:刪除指定命令歷史
-r: 從文件讀取命令歷史至歷史列表中;
-w:把歷史列表中的命令追加至歷史文件中;
history #:顯示最近的#條命令;
調用命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令;
!!:再一次執行上一條命令;
!STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;
注意:命令的重復執行有時候需要依賴于冪等性;
調用上一條命令的最后一個參數:
快捷鍵:ESC, .
字符串:!$
控制命令歷史記錄的方式:
環境變量:HISTCONTROL
ignoredups:忽略重復的命令;
ignorespace:忽略以空白字符開頭的命令;
ignoreboth:以上兩者同時生效;
8. 關機命令
CentOS 7:
systemctl poweroff 關機
systemctl reboot 重啟
CentOS 6
poweroff
reboot
9. hwclock, clock:硬件時鐘
顯示或設定硬件時鐘
-s, –hctosys:以硬件為準,把系統調整為與硬件時間相同;
-w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同;
10. date:系統時鐘
顯示日期時間:date [OPTION]… [+FORMAT]
FORMAT:格式符
%F:以年-月-日顯示時間
%Y:顯示年
%m:顯示月
%d:顯示日
%H:顯示小時
%M:顯示分鐘
%S:顯示秒
%s:從1970年1月1號(unix元年)0點0分0秒到命令執行那一刻經歷的秒數;
設定時間:date [MMDDhhmm[[CC]yy][.ss]]
[root@app1 ~]# date Sun Sep 18 15:58:50 CST 2016 [root@app1 ~]# date +%F 2016-09-18 [root@app1 ~]# date +%Y%m%d%H%M%S 20160918155914 [root@app1 ~]# date +%s 1474185561
三、Linux上獲取命令幫助信息
獲取命令的使用幫助:
內部命令:help COMMAND
外部命令:
(1) 命令自帶簡要格式的使用幫助
# COMMAND –help
(2) 使用手冊:manual
位置:/usr/share/man
# man COMMAND
SECTION:
NAME:功能性說明
SYNOPSIS:語法格式
DESCRIPTION:描述
OPTIONS:選項
EXAMPLES:使用示例
AUTHOR: 作者
BUGS: 報告程序bug的方式
SEE ALSO: 參考
SYNOPSIS:
[]:可選內容;
<>:必須提供的內容;
a|b|c:多選一;
…:同類內容可出現多個;
使用手冊:壓縮格式的文件,有章節之分;
/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基礎目錄功用及命名規則
FHS(Filesystem Hierarchy Standard)規定了類Unix系統的各個系統目錄的功能及存儲文件,下面我們來解讀下linux系統中的目錄
/: Root directory 根目錄,Linux內核掛載的起始位置
/bin: Essential user command binaries (for use by all users) 基本的用戶命令文件,任何用戶均可調用,比如:cp、date、dd、rm
/boot: Static files of the boot loader 系統引導加載程序的靜態文件,系統進入用戶模式之前的加載文件均在這里
/dev: Device files 系統的設備文件 存儲著關于各部分硬件設備的資料,比如:tty、pts、mem(不可讀)
/etc:Host-specific system configuration 主機的系統配置文件,幾個特殊的目錄如下:
X11/ Configuration for the X Window system (optional)
sgml/ Configuration for SGML (optional)
xml/ Configuration for XML (optional)
/home: User home directories (optional) 用戶的家目錄,創建用戶默認生成,一般目錄名同用戶名。例如:/home/USERNAME
/lib:Essential shared libraries and kernel modules 基本的共享庫及內核模塊。
/lib(qual):Alternate format essential shared libraries (optional) 交替格式共享庫。例如lib32、lib64
/media:Mount point for removable media 可移動介質的掛載點,可以認為是擴展掛載點。與/mnt類似
/mnt:Mount point for a temporarily mounted filesystem 其他臨時系統文件的掛載點。
/opt:Add-on application software packages 留給附加的應用程序軟件包的
/root:Home directory for the root user (optional) 超級管理員root的家目錄
/run:Run-time variable data 運行時的變量數據,這個目錄包含系統信息數據描述了系統自啟動。這個目錄下的文件必須被清除(刪除或截斷)在引導過程的開始。
/sbin:System binaries 管理員命令存儲目錄,沒有子目錄且不能隨意創建
/srv:Data for services provided by this system 系統服務的相關數據
/tmp:Temporary files 臨時文件存儲。
/usr: shareable, read-only data,must not be written to。屬于系統文件的最主要部分(/除外),符合FHS用戶共用此目錄,其子目錄解讀如下:
bin/ Most user commands 大部分的用戶命令,比如:perl,python,tclsh
include/ Directory for standard include files 一些可能系統調用的C相關的文件
lib/ Libraries for programming and packages 庫程序和包
local/ Local hierarchy 本地的層級目錄,bin/,sbin/,lib/,lib64/,share/,src/,games/,include/等
sbin/ Non-essential standard system binaries 只有管理員調用的非標準的系統函數
share/ Architecture-independent data 系統雜項,但是有幾個重要的目錄
man/ Manual pages 使用手冊目錄
doc/ 程序的說明文檔
zeroinfo/ Timezone information and configuration (optional) 時區信息和配置信息
src/ Source code (optional)源代碼文件可以存儲在這里,僅供參考
/sys:Kernel and system information virtual filesystem 主要存儲的是硬件信息、驅動、個別內核信息
/proc:Kernel and process information virtual filesystem 看解釋跟/sys一樣,只是此文件目錄存儲的是實際標準的流程和系統信息,比如CPU、內存等信息
/var:/var contains variable data files. This includes spool directories and files, administrative and logging data, and transient and temporary files.
主要包括一些緩存文件、管理的log文件、動態生成的臨時文件、spoool、mail文件,也是比較重要的目錄
文件和目錄的命名規則:
1、文件名名稱嚴格區分字符大小寫;
2、文件可以使用除/以外任意字符;
3、文件名長度不能超過255字符;
4、以.開頭的文件為隱藏文件;
.: 當前目錄;
..: 當前目錄的上一級目錄;
原創文章,作者:dawning,如若轉載,請注明出處:http://www.www58058.com/47435