linux基礎命令

命令行擴展:$( ) 或``
把一個命令的輸出打印給另外一個命令的參數
echo"This system's name is $(hostname) "
This system's name is CentOS-6
echo "i am $(whoami) "
i am rootshell

wKioL1eZmhSAYE9NAAAZ_AGoxDw677.png-wh_50

大括號擴展:{ },打印重複字符串的簡化形式
echo file{1,3,5}
file1 file3 file5
echo file{1,2}{3,4}
file13 file14 file23 file24數據庫

wKiom1eZm0DghuYIAAAXx5eLVDg794.png-wh_50命令補全
內部命令:內部命令沒有具體的二進制程序,而是shell提供的
外部命令:bash根據PATH環境變量定義的路徑,自左而右在每一個路徑搜尋以給定命令名命名的文件,第一次找到的命令即爲要執行的命令
用戶給定的字符串只有一條唯一對應的命令,直接補全;不然,再次Tab會給出列表。
路徑補全
把用戶給出的字符串當作路徑開頭,並在其指定上級目錄下搜索以指定的字符串開頭的文件名
若是唯一:則直接補全;不然:再次Tab給出列表。

保存你輸入的命令歷史。能夠用它來重複執行命令
登陸shell時,會讀取命令歷史文件中記錄下的命令~/.bash_history
登陸進shell後新執行的命令只會記錄在緩存中;這些命令會用戶退出時「追加」至命令歷史文件中

重複前一個命令,有4種方法:
重複前一個命令使用上方向鍵,並回車執行。
按!! 並回車執行。
輸入!-1 並回車執行。
按Ctrl+p 並回車執行。緩存

wKiom1eZm7bj4hGmAAAixrX1emM834.png-wh_50!字符串:重複前一個以「字符串」開頭的命令
!#:執行history命令輸出中的序號爲#對應的命令
!?abc:重複前一個包含abc的命令
!-n:重複倒數第n個命令
使用up(向上)和down(向下)鍵來上下瀏覽從前輸入的命令
鍵入ctrl+r來在命令歷史中搜索命令
(reverse-i-search)`’:

要從新調用前一個命令中最後一個參數:
!$ 表示
Esc, .(點擊Esc鍵後鬆開,而後點擊. 鍵)
Alt+ .(按住Alt鍵的同時點擊. 鍵,須要在本機操做,遠程鏈接沒法使用)

cmd !^ : 利用上一個命令的第一個參數作cmd的參數
cmd !$ : 利用上一個命令的最後一個參數作cmd的參數
cmd !* : 利用上一個命令的所有參數作cmd的參數
cmd !:n : 利用上一個命令的第n個參數作cmd的參數

!n:^ 調用第n條命令的第一個參數
!n:$ 調用第n條命令的最後一個參數
!n:m 調用第n條命令的第m個參數
!n:* 調用第n條命令的全部參數

!string:^ 從命令歷史中搜索最近一個以string 開頭的命令,並獲取它的第一個參數
!string:$ 從命令歷史中搜索最近一個以string 開頭的命令,並獲取它的最後一個參數
!string:n 從命令歷史中搜索最近一個以string 開頭的命令,並獲取它的第n個參數
!string:* 從命令歷史中搜索最近一個以string 開頭的命令,並獲取它的全部參數

history [-c] [-d offset] [n]
history -anrw [filename]
history -psarg [arg...]
-c: 清空命令歷史
-d: 刪除歷史中指定的命令;
 n: 顯示最近的n條歷史
-a: 追加本次會話新執行的命令歷史列表至歷史文件
-n: 讀歷史文件中未讀過的行到歷史列表
-r: 讀歷史文件附加到歷史列表
-w: 保存歷史列表到指定的歷史文件
-p: 展開歷史參數成多個行,但不存在歷史列表中
-s: 展開歷史參數成一行,附加在歷史列表後

歷史命令相關變量設置
HISTSIZE:命令歷史記錄的條數(內存中);
HISTFILE:指定歷史文件,默認爲~/.bash_history;
HISTFILESIZE:命令歷史文件記錄歷史的條數(磁盤中);
HISTTIMEFORMAT=「%F %T「 顯示時間
HISTIGNORE=「str1:str2:… 「 忽略string1,string2歷史
控制命令歷史的記錄方式:
環境變量:HISTCONTROL=‘’str1:str2:…「設置多個變量的值
ignoredups:忽略重複的命令;連續且相同方爲「重複」
ignorespace:忽略全部以空白開頭的命令
ignoreboth:即ignoredups和 ignorespace
erasedups:刪除重複命令

設置環境變量
export 變量名="值「
配置文件存放在/etc/profile(全局設置)或~/.bash_profile(我的設置)

快捷鍵
Ctrl+l 清屏,至關於clear命令
Ctrl+c 取消命令的執行
Ctrl+a 會移動到命令行的最前面
Ctrl+e 會移動到命令行的最後面
Ctrl+u 會刪除到行首
Ctrl+k 會刪除到行尾
arrow ctrl+b ctrl+f會向左或向右移動一個字符
Esc+b左移一個單詞
Esc+f右移一個單詞

圖形界面應用程序->附件->終端
支持多個「標籤」shell的圖形化終端模擬器
Ctrl+shift+t 建立一個標籤頁
Ctrl+PaUp/PgUn切換到下一個/前一個標籤頁
Ctrl+Shift+c 複製選中的文本
Ctrl+Shift+v 把文本粘帖到提示符後

whatis
顯示命令的簡短描述,每晚使用一個數據庫更新,剛安裝後不可當即使用
製做whatis數據庫:CentOS 6  makewhatis ;CentOS 7 mandb
用法示例
whatis cal 或man –f calbash

apropos cal 或man -k cal

內部命令查找幫助的方法:
help COMMAND 簡單
man bash     詳細

外部命令:
(1) COMMAND --help 多數
    COMMAND -h     少數
(2) 使用幫助文檔手冊(manual)
     man COMMAND
(3) 信息頁
    info COMMAND
(4) 程序自身的幫助文檔
     README
     INSTALL
     ChangeLog
(5) 程序官方文檔
    官方站點:Documentation
(6) 發行版的官方文檔
(7) Google

命令顯示用法總結和參數列表(使用的大多數,但並不是全部的)
date--help
服務器

date[OPTION]...[+FORMAT]網絡

date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]
[]是可選的
CAPS或<>是變量
...表示一個列表
x |y| z的意思是「x或y或z「
-abc的意思是-a -b -cless

wKioL1eZoCeDQx1aAABoEMOsq_c454.png-wh_50顯示當前日期格式:2016-08-08              date +%F
顯示前天是星期幾                          date -d '-2 day' +%A
設置當前日期爲2008-08-0808:00             date 080808002008.00ide

wKiom1eZn-bwp3NmAAAlKL3UwfI288.png-wh_50


提供命令幫助的文件
手冊頁存放在/usr/share/man
幾乎每一個命令都有man的「頁面」
man頁面分組爲不一樣的「章節」
統稱爲Linux手冊

man [章節] 命令
man命令的配置文件:CentOS 6 /etc/man.config ;CentOS 7 /etc/man_db.conf
MANPATH /PATH/TO/SOMEWHERE: 指明新手冊文件搜索位置
man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手冊頁並顯示工具


1: 用戶命令
2: 系統調用
3: C庫調用
4:設備文件及特殊文件
5: 配置文件格式
6: 遊戲
7: 雜項
8: 管理類的命令
9:Linux 內核API

man –a keyword 列出全部幫助
搜索man手冊
man -k keyword列出全部匹配的頁面

man命令的操做方法:
使用less命令實現
Space, ^V, ^f, ^F: 向文件尾翻屏
b, ^B: 向文件首部翻屏
d, ^D: 向文件尾部翻半屏
u, ^U: 向文件首部翻半屏
RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行y or ^Y or ^P or k or ^K:向文件首部翻一行
q: 退出
#:跳轉至第#行
1G: 回到文件首部
G:翻至文件尾部

/KEYWORD:
以KEYWORD指定的字符串爲關鍵字,從當前位置向文件尾部搜索;不區分字符大小寫;
n: 下一個
N:上一個
?KEYWORD:
以KEYWORD指定的字符串爲關鍵字,從當前位置向文件首部搜索;不區分字符大小寫;
n: 跟搜索命令同方向,下一個
N:跟搜索命令反方向,上一個



做業:
1.字符終端登陸時,顯示當前登陸終端號,主機名和當前時間     
CentOS release 6.8 (Final)
Kernel \r on an \m
添加   \t  \l  
man 8 mingetty查得issue內的各代碼意義
\d 日期
\l 終端
\m 硬件等級
\n 主機名
\o 域名
\r 操做系統版本
\t 時間
\s 操做系統名稱網站

wKioL1eZoPPgnJy0AAAHd1ZP2r0005.png-wh_50

wKioL1eZoPOyWnXRAAAIrE_rRR4826.png-wh_50


2.今天17:30自動關機
shutdown -h 17:30

man經常使用於命令參考,GNU工具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
Openstackfiletype:pdf
rhcasite:redhat.com/docs

命令別名alias
臨時生效 alias 命令='命令別名'
取消臨時設置  unalias 命令
永久有效 寫入配置文件~/.bashrc 添加alias 命令='命令別名'

使用source ~/.bashrc 當即生效命令的執行順序絕對/相對路徑,命令別名,內部命令,hash緩存,PATH搜索路徑reset: 當bash出現亂碼時,修復bash

相關文章
相關標籤/搜索