linux 基礎命令學習(1)

查看幫助
首先使用type 查看命令是外部還是內部命令
內部命令:help COMMAND? 或 man bash
外部命令:1、COMMAND –help 或 COMMAND -h
? ? ? ? ? ? ? ? ?2、使用手冊? man? COMMAND
?? ??? ??? ?? ? ?3、信息頁? ?info COMMAND
? ? ? ? ? ? ? ? ?4、程序官方文檔
?? ??? ??? ?? ? ?5、GOOGLE
其中man 命令一共有9個章節
Image [3]
???? ??? ??? ??? ?1: 用戶命令
?? ??? ??? ??? ???2: 系統調用
?? ??? ??? ?? ? ??3: C庫調用
?? ??? ??? ?? ? ??4: 設備文件及特殊文件
?? ??? ??? ?? ? ??5: 配置文件格式
?? ??? ??? ?? ? ??6: 游戲
?? ??? ??? ?? ? ??7: 雜項
?? ??? ??? ??? ???8: 管理類的命令
?? ??? ??? ??? ???9:Linux 內核API
通過whatis? keyword 或man -f keyword 查看命令所在章節
通過man [章節] keyword? 查看
或者通過?man –a keyword 查看命令全部內容
幫助手冊中的段落說明:????????????????? ????man命令的操作方法:
????NAME 名稱及簡要說明?????????????????? ??? ???space, ^v, ^f, ^F: 向文件尾翻屏
????SYNOPSIS 用法格式說明? ? ? ? ? ??? ??? ??? ??b, ^b: 向文件首部翻屏
? [] 可選內容???????????????????????? ??? ??? ??? ??? ??? ??d, ^d: 向文件尾部翻半屏
? <> 必選內容? ? ? ? ? ? ? ? ? ? ? ?? ??? ??? ??? ??? ??? u, ^u: 向文件首部翻半屏
? a|b 二選一?????????????????????????? ??? ??? ??? ??? ??? ?RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行
? { } 分組????????????????????????????? ??? ??? ??? ??? ??? ???y or ^Y or ^P or kor ^K:向文件首部翻一行
? … 同一內容可出現多次??????????????? ??? ??? ??? ??or ^K:向文件首部翻一行
????DESCRIPTION 詳細說明??????????????? ??? ??? ? q: 退出
????OPTIONS 選項說明???????????????????? ??? ??? ????#:跳轉至第#行
????EXAMPLES 示例??????????????????????? ??? ??? ??? ??1G: 回到文件首部
????FILES 相關文件??????????????????????? ??? ??? ??? ??? ?G:翻至文件尾部
????AUTHOR 作者
????COPYRIGHT 版本信息
????REPORTING BUGS bug信息
????SEE ALSO 其它幫助參考
man 搜索
/KEYWORD:
以KEYWORD指定的字符串為關鍵字,從當前位置向文件尾部搜索;不區分字符大小寫;n: 下一個?N:上一個

PS(Prompt Sign): 是指命令提示符。根據個人喜好可以對命令提示符進行修改
man bash? 使用/PS1 按N 一直到最后一個PS1 可看到幫助
Image
\d :代表日期,格式為weekday month date,例如:”Mon Aug1″
\H:完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux
\h :僅取主機的第一個名字,如上例,則為fc4,.linux則被省略
\t :顯示時間為24小時格式,如:HH:MM:SS
\T :顯示時間為12小時格式
\A :顯示時間為24小時格式:HH:MM
\u :當前用戶的賬號名稱
\v :BASH的版本信息
\w :完整的工作目錄名稱。家目錄會以 ~代替
\W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄
\# :下達的第幾個命令
\$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$
?
?
如果需要修改ROOT的指命令提示符,可編輯/root/.basbrc進行添加,普通用戶需在各自家目錄下進行修改例如編輯/home/test/.bashrc進行修改。如過需要所有用戶都使用統一的話,需要在/etc/bashrc里添加。
我們可以通過設置PS1變量使提示符成為彩色。
前景 背景 顏色?????????????????代碼? 意義
30????40???黑色? ? ? ? ? ? ? ? ?0? ? ? ?OFF
31????41???紅色? ? ? ? ? ? ? ? ?1? ? ? ?高亮顯示
32????42???綠色? ? ? ? ? ? ? ? ?4? ? ? ?underline
33????43???黃色? ? ? ? ? ? ? ? ?5? ? ? ?閃爍
34????44???藍色? ? ? ? ? ? ? ? ?7? ? ? ?反白顯示
35????45???紫紅色??????????????8? ? ? ?不可見
36????46???青藍色
37????47???白色
也可以設置多種顏色? 例如 :PA1=\[\e[1;39m\][\[\e[1;31m\]\u\[\e[1;33m\]@\[\e[1;34m\]\H \[\e[1;32m\]\W\[\e[1;39m\]]\[\e[1;35m\]\$\[\e[1;39m\]
Image [2]
如果結尾不添加 \[\e[m\]? 會導致最后一個顏色之后包括輸入的文字也是最后一個的顏色。

?? ?history:
?history [-c] [-d offset] [n]
?history -anrw [filename]
?history -ps arg [arg…]
?? ??? ?-c: 清空命令歷史
Image [5]
?? ??? ?-d N: 刪除歷史中指定的第N條命令
Image [6]
?? ??? ???n: 顯示最近的n條歷史
Image [7]
?? ??? ?-a: 追加本次會話新執行的命令歷史列表至歷史文件
?? ??? ?-r: 讀歷史文件附加到歷史列表
?? ??? ?-w: 保存歷史列表到指定的歷史文件
?? ??? ?-n: 讀歷史文件中未讀過的行到歷史列表
?? ??? ?-p: 展開歷史參數成多行,但不存在歷史列表中
Image [9]
?? ??? ?-s: 偽造歷史,且命令不執行
Image [8]
命令歷史相關環境變量
????HISTSIZE:命令歷史記錄的條數
????HISTFILE:指定歷史文件,默認為~/.bash_history
????HISTFILESIZE:命令歷史文件記錄歷史的條數? ; 默認不設置為500條
????HISTTIMEFORMAT=“%F %T “ 顯示時間
??? Image [4]
????HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2開頭的歷史
????控制命令歷史的記錄方式:
?? ??? ?環境變量:HISTCONTROL
?? ??? ??? ?ignoredups 默認,忽略重復的命令,連續且相同為“重復”
?? ??? ??? ?ignorespace 忽略所有以空白開頭的命令
?? ??? ??? ?ignoreboth 相當于ignoredups, ignorespace的組合
?? ??? ??? ?erasedups 刪除重復命令
????export 變量名=”值“
????存放在 /etc/profile 或 ~/.bash_profile
命令行歷史操作方法
重復前一個命令,有4種方法
????????重復前一個命令使用上方向鍵,并回車執行
????????按 !! 并回車執行
????????輸入 !-1 并回車執行
????????按 Ctrl+p 并回車執行
!:0 執行前一條命令(去除參數)
Ctrl + n 顯示當前歷史中的下一條命令,但不執行
Ctrl + j 執行當前命令
!n 執行history命令輸出對應序號n的命令
!-n 執行history歷史中倒數第n個命令
!string 重復前一個以“string”開頭的命令
!?string 重復前一個包含string的命令
!string:p 僅打印命令歷史,而不執行
!string:^ 從命令歷史中搜索以 string 開頭的命令,并獲取它的第一個參數
Image [10]
!string:$ 從命令歷史中搜索以 string 開頭的命令,并獲取它的最后一個參數
Image [11]
!string:n 從命令歷史中搜索以 string 開頭的命令,并獲取它的第n個參數
!string:* 從命令歷史中搜索以 string 開頭的命令,并獲取它的所有參數
Image [12]
^string 刪除上一條命令中的第一個string
Image [13]
^string1^string2 將上一條命令中的第一個string1替換為string2
Image [14]
!:gs/string1/string2 將上一條命令中所有的string1都替換為 string2
Image [15]
!$:p 打印輸出 !$ (上一條命令的最后一個參數)的內容
!*:p 打印輸出 !*(上一條命令的所有參數)的內容

screen命令:
????創建新screen會話
????????screen –S [SESSION]
????顯示所有已經打開的screen會話
????????screen -ls
提示為Detached為表示為中途退出的會話需使用 screen -r 進行恢復
Image [17]
?如果提示為Attached的需要使用 screen -x 進行加入
Image [16]
echo $STY? ?檢查自己是否是在一個screen會話里 如果在會顯示會話號及會話名稱,反則為空
????退出并關閉screen會話
??Image [22]
? Image [23]
?exit? 或著只有一個會話窗口的話可以用 C+a K 退出
?Image [18]
Image [19]
????剝離當前screen會話
????????Ctrl+a,d
screen 進階
Ctrl+a ?? 顯示所有 鍵位信息
Image [21]
在連接screen會話后 可以在里面再創建多個窗口 例如一臺機器不同tty類似
  Ctrl+a c :創建窗口? ?或使用命令 screen -m
  Ctrl+a w :窗口列表
  Ctrl+a n :下一個窗口
  Ctrl+a p :上一個窗口
  Ctrl+a 0-9 :在第0個窗口和第9個窗口之間切換
  Ctrl+a K(大寫) :關閉當前窗口,并且切換到下一個窗口(當退出最后一個窗口時,該終端自動終止,并且退回到原始shell狀態)
?? ?? ? Ctrl+a S 水平分割
?? Image [20]
? ? ? ? Ctrl+a | 垂直分割? ?低版本無法執行
? ? ? ? Image [31]
?? ??? ?Ctrl+a TAB 切換
?? ??? ?C-a X 關閉當前焦點所在的屏幕區塊(并不會真的關閉)例如分割后取消分割
?? ??? ?C-a Q 關閉除當前區塊之外其他的所有區
? ? ? ??screen -X -S ID quit 可以刪除會話
? ? ? Image [24]

????Hash緩存表
系統初始hash表為空,當外部命令執行時,默認會從PATH路徑下尋找該命
令,找到后會將這條命令的路徑記錄到hash表中,當再次使用該命令時,shell解
釋器首先會查看hash表,存在將執行之,如果不存在,將會去PATH路徑下尋找。
利用hash緩存表可大大提高命令的調用速率
????hash常見用法
hash 顯示hash緩存
hash –l 顯示hash緩存,可作為輸入使用
hash –p path name 將命令全路徑path起別名為name
hash –t name 打印緩存中name的路徑
hash –d name 清除name緩存
hash –r 清除緩存

echo命令
????功能:顯示字符
????語法:echo [-neE][字符串]
????說明:echo會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開,
并在最后加上換行號
????選項:
???? -E (默認)不支持 \ 解釋功能
???? -n 不自動換行
???? -e 啟用 \ 字符的解釋功能
????顯示變量
echo “$VAR_NAME“ 變量會替換,弱引用
echo ‘$VAR_NAME‘ 變量不會替換,強引用
啟用命令選項-e,若字符串中出現以下字符,則特別加以處理,而不會將它當成
一般文字輸出
\a 發出警告聲
\b 退格鍵
\c 最后不加上換行符號
Image [33]
\n 換行且光標移至行首
\r 回車,即光標移至行首,但不換行,且替換本行內容
Image [32]
\t 插入tab
\\ 插入\字符
\0nnn 插入nnn(八進制)所代表的ASCII字符
\xHH插入HH(十六進制)所代表的ASCII字
echo -e ‘\033[43;31;5m666666\033[0m’
Image [30]
把一個命令的輸出打印給另一個命令的參數
echo “This system’s name is $(hostname) “
Image [25]
echo “i am `whoami` “
Image [26]
?? ?括號擴展:{ }
打印重復字符串的簡化形式
echo file{1,3,5}
Image [29]
echo {a..z}
Image [28]
echo {001..20..3}? ? {起始數..結尾數..間隔}
Image [27]
echo “hello”? >或>>? file? 也可以將內容輸出到文本 > 清空并寫入 >> 追加

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

(0)
StouyStouy
上一篇 2018-03-30
下一篇 2018-03-30

相關推薦

欧美性久久久久