本章內容
命令存放位置
命令幫助
help
man幫助
其它幫助
命令歷史
快捷鍵
一、命令存放位置
根據Linux的哲學思想:一切皆文件來說,在Linux系統中基本上什么都是文檔、應用軟件、甚至是硬件,當然命令也不例外(內部命令雖然沒有具體文件,但是都是內嵌在shell內部的,而shell本身是外部命令,也是文件),而我們有些情況就必須執行完整路徑格式的命令,所以我們必須大致知道命令都在那里,這樣才能更好的了解命令。
命令本身是一個可執行的程序文件:可執行二進制格式的文件,有可能調用共享庫文件
多數系統程序文件都存放在:/bin 、/sbin 、/usr/bin、/usr/sbin
如果安裝第三方應用程序或非標準系統自帶的程序也有 /usr/loacl/bin /usr/local/sbin
普通命令:/bin /usr/bin /usr/local/bin
管理命令:/sbin /usr/sbin /usr/local/sbin
共享庫(沒有執行入口) :多數存放在
32bits的庫 /lib /usr/lib /usr/local/lib
64bits的庫 (兼容32bits的庫)/lib64 /usr/lin64 /usr/local/lib64
注意:并非所有的命令都有一個在某目錄下與之對應的可執行程序文件
命令必須遵循特定格式規范;exe、msi、ELF(Linux)
#file /bin/ls 查看可執行程序文件的內容格式類型信息
#which COMMAND 查看外部命令的完整路徑
#whereis COMMAND 查看命令完整路徑和對應man幫助文件目錄
二、命令幫助
獲取命令的使用幫助:
內部命令:help COMMAND
man COMMAND(此命令為內部命令例如help命令本身,但是所查結果都是對應shell這個外部命令的幫助文件,比如bash)所以執行的實質是man bash
外部命令: (1) 命令自帶簡要格式的使用幫助#COMMAND –help
#COMMAND -h
(2) 使用手冊:manual #man COMMAND
(3) info在線信息文檔
(4) 自帶文檔(README、CHANGELOG、INSTALL)
(5) 官方文檔
(6)發行版的文檔
(7)Goolge、百度
三、help幫助(內部命令)與–help選項(外部命令相關)
help幫助
#help help
help [-dms] [PATTERN …]
顯示內嵌命令的相關信息。
顯示內嵌命令的簡略信息。如果指定了 PATTERN 模式,給出所有匹配 PATTERN 模式的命令的詳細幫助,否則打印一個幫助主題列表
選項:
-d輸出每個主題的簡短描述
-m以偽 man 手冊的格式顯示使用方法
-s為每一個匹配 PATTERN 模式的主題僅顯示一個用法簡介
參數:
PATTERNPattern 模式指定一個幫助主題
–help 選項
顯示用法總結和參數列表
使用的大多數,但并非所有的
例如
$ date –help
Usage: date [OPTION]… [+FORMAT] or: date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
[] 是可選的
CAPS或 或 <> 是變量
… 表示一個列表
x |y| z “ 的意思是“ x 或 y 或 z “
-abc的 的 意思是-a -b -c
四、manual使用手冊(man命令)
manual:使用手冊提供命令幫助的文件
手冊頁存放在/usr/share/man,并是壓縮格式的文件,man 頁面分組為不同的“章節”
幾乎每個命令都有man 的“頁面”
man 頁面分組為不同的 man1、man2、…
man 命令的配置文件:/etc/man.config | man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明新手冊文件搜索位置
# man – M /PATH/TO/SOMEWHERE COMMAND : 到指定位置下搜索 COMMAND 命令的手冊頁并顯示
man [OPTION…] [章節] 手冊頁…
man CHAPTER(代表數字) COMMAND
man1:用戶命令
man2:系統調用
man3:C庫調用
man4:設備文件及特殊文件
man5:文件格式(配置文件格式)
man6:游戲的玩法使用幫助
man7:雜項
man8:管理工具及守護進行(系統管理員手冊)
man9:Linux 內核API
man內容項:
SECTION:
NAME:功能性說明
SYNOPSIS:語法格式
DESCRIPTION:描述
OPTIONS:選項
EXAMPLES:使用示例
AUTHOR:作者
BUGS:報告程序bug的方式
SEE ALSO:參考
…
SYNOPSIS:
[]:可選內容(可省略)
<>:必須提供的內容
{}:分組輔助性的,用于分隔
a|b|c:多選一
…:同類內容可出現多個
注意:并非每個COMMAND在所有章節下都有手冊
查看COMMAND在哪個目錄下有手冊
~]#whatis COMMAND
注意:其執行過程是查詢數據庫進行的
手動更新數據庫:
~]#makewhatis (centos6)
~]#mandb(centos7)
man命令打開手冊以后的操作方法:使用less 命令實現
翻屏:
空格鍵:向文件尾部翻一屏
小 b:向文件首部翻一屏
Ctrl+d:向文件尾部翻半屏
Ctrl+u:向文件首部翻半屏
回車鍵:向文件尾部翻一行
小k:向文件首部翻一行
大G:跳轉至最后一行
#G:跳轉至指定行(#數字)
1G:跳轉至文件首部
文本搜索:
/keyword(關鍵詞):從文件首部向文件尾部依次查找
?keyword(關鍵詞):從文件尾首向文件部部依次查找
n:與查找命令方向相同翻
N:與查找命令方向相反翻
退出:
q:quit
四、其它幫助
whatis
顯示命令的簡短描述
每晚使用一個數據庫更新
剛安裝后不可立即使用
makewhatis | mandb 制作數據庫
whatis cal 或 man –f cal
info
# info COMMAND
man常用于命令參考GNU工具info適合通用文檔參考。
沒有參數, 列出所有的頁面
info 頁面的結構就像一個網站
每一頁分為“節點”
鏈接節點之前 *
info [ 命令 ]
導航info頁
方向鍵,PgUp ,PgDn 導航
Tab鍵 移動到下一個鏈接
d 顯示主題目錄
Home 顯示主題首部
Enter進入 選定鏈接
n/p/u/l 進入下/ 前/ 上一層/ 最后一個鏈接
s文字 文本搜索
q退出 info
通過本地文檔獲取幫助
點擊“系統”-> “文檔”:提供的官方使用指南和發行注記
/usr/share/doc 目錄
多數安裝了的軟件包的子目錄, 包括了這些軟件的相關原理說明
不適合其它地方的文檔的位置
配置文件范例
HTML/PDF/PS 格式的文檔
授權書詳情
通過在線文檔獲取幫助
第三方程序官方文檔
通過發行版官方的文檔光盤或網站可以獲得
安裝指南
部署指南
虛擬化指南
紅帽知識庫和官方在線文檔
http://kbase.redhat.com
http://www.redhat.com/docs
http://access.redhat.com
紅帽全球技術支持服務
rhn.redhat.com 或者本地衛星服務器/ 代理服務器
基于網絡管理的機器
RHN 代理服務器為RHN 流量提供緩存
RHN 衛星服務器提供自主的RHN
RHN 賬戶
為及其注冊和基于網絡管理的RHN 用戶
用于系統自動驗證的系統ID
sosreport
收集所有系統上的日志信息的工具,并自動打成壓縮包,方便技術支持人員和紅帽全球支持提供分析問題的依據
網站和搜索
http://tldp.org
http://www.slideshare.net
http://www.google.com
Openstack filetype:pdf
rhca site:redhat.com/docs
五、命令歷史
命令行歷史
保存你輸入的命令歷史??梢杂盟鼇碇貜蛨绦忻?/p>
登錄shell 時,會讀取命令歷史文件中記錄下的命令
~/.bash_history
登錄進shell 后新執行的命令只會記錄在緩存中;這些命令會用戶退出時“追加”至命令歷史文件中
重復前一個命令,有4 種方法:
使用PgUp\PgDn上方向鍵,并回車執行。
輸入!! 并回車執行。
輸入!-1 并回車執行。
按Ctrl+p 并回車執行。
! 字符串: 重復前一個以“字符串”開頭的命令
!num: 按照history 命令輸出中的序號重復對應命令
!? 字符串: 重復前一個包含abc 的命令
!-n : 重復n個命令之前的那個命令
命令行歷史
使用up(向上)和down(向下)鍵來上下瀏覽從前輸入
的命令
鍵入ctrl-r來在命令歷史中搜索命令
(reverse-i-search )`’:
要重新調用前一個命令中最后一個參數:
!$ 表示
Esc, . (點擊Esc鍵后松開,然后點擊 . 鍵)
Alt+ . (按住Alt鍵的同時點擊 . 鍵)
調用歷史參數
#CAMMOND !^ 利用上一個命令的第一個選項做CAMMOND的選項
#CAMMOND !$ 利用上一個命令的最后一個選項做CAMMOND的選項
#CAMMOND !* 利用上一個命令的全部選項做CAMMOND的選項
#CAMMOND !:n 利用上一個命令的第n個選項做CAMMOND選項
!n:^ 調用第n 條命令的第一個 參數
!n:$ 調用第n 條命令的最后一個 參數
!m:n 調用第m 條命令的第n個參數
!n:* 調用第n 條命令的所有
!string:^ 以 從命令歷史中搜索以string開頭的命令,并獲取它的第一個參數
!string:$ 以 從命令歷史中搜索以string開頭的命令, 并獲取它的最后一個參數
!string:n 以 從命令歷史中搜索以string開頭的命令,并獲取它的第n個參數
!string:* 以 從命令歷史中搜索以string開頭的命令,并獲取它的所有參數
六、命令history
#history 顯示當前歷史列表
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg…]
-c: 清空命令歷史
-d: 刪除歷史中指定的命令;
#: 顯示最近的# 條歷史
-a: 追加本次會話新執行的命令歷史列表至歷史文件
-n: 讀歷史文件中未讀過的行到歷史列表
-r: 讀歷史文件附加到歷史列表
-w: 保存歷史列表到指定的歷史文件
-p: 展開歷史參數成多個行(執行命令),但不存在歷史列表中
-s: 展開歷史參數成一行(不執行命令),附加在歷史列表后(偽造執行過程)
history命令最適合與歷史參數配合使用
命令歷史相關環境變量
HISTSIZE :命令歷史記錄的條數;默認為1000
HISTFILE :指定歷史文件,默認為~/.bash_history; ;
HISTFILESIZE :命令歷史文件記錄歷史的條數;默認為1000
HISTTIMEFORMAT=“%F %T“ 顯示命令歷史時格式前面增加時間
HISTIGNORE=“str1:str2:… “ 忽略有string1,string2 關鍵字歷史
控制命令歷史的記錄方式:
環境變量:HISTCONTROL
ignoredups :忽略重復的命令;連續且相同方為“重復”
ignorespace :忽略所有以空白開頭的命令
ignoreboth :ignoredups, ignorespace 等同于這兩者
erasedups: 刪除重復命令
HISTCONTROL="str1:str2:… " 可以多選項eg:HISCONTROL="ignoreboth:erasedups"
export 變量名=" 值“
命令歷史變量配置信息存放在 /etc/profile 或 ~/.bash_profile,若要配置信息永久有效則,寫入全局(對所有用戶)環境變量或特定用戶環境變量里
七、快捷鍵
Tab鍵
命令補全
內部命令:
外部命令:bash 根據PATH 環境變量定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文件,第一次找到的命令即為要執行的命令
用戶給定的字符串只有一條惟一對應的命令,直接補全,否則,再次Tab 會給出列表
路徑補全
把用戶給出的字符串當做路徑開頭,并在其指定上級目錄下搜索以指定的字符串開頭的文件名
如果惟一:則直接補全
否則:再次Tab 給出列表
注意:在centos7以前版本只能補全 命令 路徑;而centos7以后可以進行選項參數補全了!
bash 的快捷鍵
Ctrl+l 清屏,相當于clear 命令
Ctrl+c 取消命令的執行
Ctrl-a 會移動到命令行的最前面
Ctrl-e 會移動到命令行的最后面
Ctrl-u 會刪除到行首
Ctrl-k 會刪除到行尾
arrow ctrl-b ctrl-f 會向左或向右移動一個字符
Esc-b 左移一個單詞
Esc-f 右移一個單詞
gnome-terminal圖形界面
應用程序-> 附件-> 終端
支持多個“標簽”shell 的圖形化終端模擬器
Ctrl-Shift-t 創建一個標簽頁
Ctrl-PaUp/PgUn 切換到下一個/ 前一個標簽頁
Ctrl-Shift-c 復制選中的文本
Ctrl-Shift-v 把文本粘帖到提示符后
原創文章,作者:NameLess,如若轉載,請注明出處:http://www.www58058.com/28105