Linux基礎命令

本文主要介紹:1、修改命令提示符 2、執行命令(內部,外部) 3、命令別名 4、命令history

一、修改命令提示符

1、查看提示符格式:echo $PS1

 

2、修改提示符格式:

  • PS1=“\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]”
  • 1 :字體高亮? ? ? ?5 :閃爍? ? ? 41? :紅色背景
  • 33 :字體顏色(30黑31紅32綠33黃34藍35紫36青37白)
  • \h主機名簡稱? ? ? ? ? ? ? ? \H 主機名全稱
  • \w當前工作目錄? ? ? ? ? ?\W當前工作目錄基名
  • \$提示字符:#root用戶? ? ?$普通用戶
  • \[\e[0m\]提示符顏色到此結束(否則后續輸出的命令也會改變顏色)

 

3、保存:

  • 在/etc/profile.d目錄下創建一個后綴為.sh的文件(例如:/etc/profile.d/env.sh),將對 PS1的修改保存在該文件下,source?/etc/profile.d/env.sh重新讀取配置文件。

 

 

二、執行命令(1.內部命令,2.外部命令)

 

  • 區別指定命令是內部或外部:type command,外部命令會顯示路徑。

 

1、內部命令:由shell自帶

  • help command;command –help 可獲得幫助列表
  • enable -n cmd 禁用內部命令
  • enable cmd 啟用內部命令
  • enable -n 查看所有禁用的內部命令

 

2、外部命令:記錄在hash緩存表中

  • 查看路徑:which –skip-alias command;whereis
  • hash 顯示hash緩存
  • hash -l 顯示hash緩存,可作為輸入使用
  • hash -p path name 將命令全路徑path 起別名為name
  • hash -t cmd 打印緩存中cmd的路徑
  • hash -d cmd 清楚cmd緩存
  • hash -r 清除緩存

 

 

三、命令別名? alias

 

  • alias 顯示當前shell進程所有可用的命令別名
  • alias name=cmd 給cmd定義別名為name
  • unalias 撤銷別名
  • unalias -a取消所有別名
  • 若想永久保存別名,定義在配置文件中:1.僅對當前用戶:~/.bashrc;?2.對所有用戶用戶有效:/etc/bashrc
  • bash進程中重新讀取配置文件source 或.
  • 如果別名與原命令同名(例aliasname),想要執行原命令,使用:\aliasname 、“aliasname” 、‘ aliasname’ 、command aliasname 、/path/command

四、命令history:記錄歷史的文件~/.bash_history

 

1、history(管理歷史命令)

  • 語法:history? (選項)? (參數)
    選項:
    n? ? 列出最近的 n條命令
    -c? ? 清空所有歷史命令
    -d? n? ?刪除歷史命令中指定的編號n的命令
    -a? ? 追加本次會話中的新執行的命令歷史列表到歷史文件
    -n? ? 讀取歷史文件中未讀過的行到命令歷史列表
    -w ? 保存歷史列表到指定的歷史文件,把歷史文件另備份
    -p? ? 展開歷史參數成多行,但不存在歷史列表中
    -s? ? ?展開歷史參數成一行,附加在歷史列表后

2、運行特定的歷史命令:

  • 語法說明: [!number] [!command] [!!]
    參數說明:
    number :第幾個指令的意思;
    command :命令或命令開頭幾個字母
  • 用法介紹:
    !n? ? ?執行history命令輸出對應序號n的命令
    !-n? ? 執行history歷史中倒數第n個命令
    !string? ? ?重復前一個以“string”開頭的命令
    !?string? ? 重復前一個包含string的命令
    !string:p? ?僅打印命令歷史,而不執行
    !$:p? ?打印輸出(上一條命令的最后一個參數)的內容
    !*:p? ?打印輸出 (上一條命令的所有參數)的內容
    ^string? ?刪除上一條命令中的第一個string
    ^string1^string2? ?將上一條命令中的第一個string1替換為string2
    !:gs/string1/string2? ?將上一條命令中所有的string1都替換為string2
  • 使用up(向上)和down(向下)鍵來上下瀏覽從前輸入的命令
    ctrl+r:在命令歷史中搜索命令(reverse-i-search):
    ctrl+g:從歷史搜索模式退出

3、調用歷史參數

  • 調用前一個命令中最后一個參數:!$
  • Esc, .(點擊Esc鍵后松開,然后點擊 . 鍵)
    Alt+ .(按住Alt鍵的同時點擊 . 鍵)
    command !^? 利用上一個命令的第一個參數做cmd的參數
    command !$? ?利用上一個命令的最后一個參數做cmd的參數
    command !*? 利用上一個命令的全部參數做cmd的參數
    command !:n? ?利用上一個命令的第n個參數做cmd的參數
    command !n:^? ?調用第n條命令的第一個參數
    command !n:$? ?調用第n條命令的最后一個參數
    command !n:m? ?調用第n條命令的第m個參數
    command !n:*? ?調用第n條命令的所有參數
    command !string:^? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的第一個參數
    command !string:$? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的最后一個參數
    command !string:n? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的第n個參數
    command !string:*? ?從命令歷史中搜索以 string 開頭的命令,并獲取它的所有參數

4、命令歷史相關環境變量:

 

  • HISTSIZE? ? 命令歷史記錄的條數,默認1000
  • HISTFILE? ? 指定歷史文件,默認為~/.bash_history
  • HISTFILESIZE? ? 命令歷史文件記錄歷史的條數
  • HISTTIMEFORMAT=“%F %T “ 歷史記錄顯示時間
  • HISTIGNORE=“str1:str2*:… “ 忽略str1命令以及str2開頭的所有命令

 

  • HISTCONTROL環境變量:

ignoredups 默認,忽略重復的命令,連續且相同為“重復”

ignorespace 忽略所有以空白開頭的命令

ignoreboth 相當于ignoredups, ignorespace的組合

history命令相關的配置文件存放在 /etc/profile 或 ~/.bash_profile,更改之后永久有效

 

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

(2)
bican813bican813
上一篇 2018-04-01
下一篇 2018-04-01

相關推薦

  • w3-用戶管理及文本處理

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@centos7 ~]#who | cut -d ” ” -f 1 | sort -u centos root wang 2、取出最后登錄到當前系統的用戶的相關信息。 [root@centos7 ~]#last | head -1 c…

    Linux筆記 2018-07-08
  • Linux系統計劃任務

    在生活、生產環境中,我們可能遇到這樣的場景,想在某個時刻,或者固定某個時間周期的在Linux系統中執行某項任務,例如,定時關機,定期自動清理垃圾文件等,at,crontab等命令就是幫你實現這樣功能的。

    2018-05-06
  • grep命令 | 正則表達式

    date -s “2018-4-7”

    2018-04-07
  • Linux故障修復

    軟件包故障一、庫文件丟失破壞:rm –rf /lib64/libacl.so.1故障狀態:依賴這個庫的命令不可用;系統不可啟動 修復:如果丟失的是軟鏈接文件;方法:1、進入救援模式2、創建軟件鏈接cd /mnt/sysimageln –s libc.2-17.so.6 libc.so.6如果刪除的是文件,只能從其它主機拷貝一份到本機二、rpm故障1、rpm文…

    2018-05-17
  • selinux 和 awk的使用

    selinux 和 awk的使用

    Linux筆記 2018-05-15
  • 腳本基礎課后練習

    (1)編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPv4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小 #!/bin/bash echo “MY hostname is `hostname`”echo “My IPv4 address is `ifconfig …

    Linux筆記 2018-04-13
欧美性久久久久