Linux中bash的一些命令


Linux——bash的簡單使用

bash及其特性:

1、bash實質上是一個可執行的程序,一個用戶的工作環境。

2、每一個shell下可以再打開一個shell,新打開的shell稱為子shell,每一個shell之間相互獨立。

3、可以使用pstree命令查看當前shell下的子shell個數

使用:

1、光標跳轉:

  Crtl + a : 跳到命令行行首

  Crtl + e : 跳到命令行行尾

  Crtl + d : 刪除光標所在字符

  Crtl + u : 刪除光標到命令行行首的字符

  Crtl + k :刪除光標到命令行行尾的字符

  Crtl + l : 清屏

  Crtl + "左/右箭頭" : 跳過整個單詞

2、命令歷史

  bash會自動記錄過去執行的命令,並緩存進內存。

  查看歷史命令: history

  清空歷史:-c

  刪除從第n個命令開始的m個字符,m默認為1:-d + n m

  保存命令歷史到歷史文件:-w

  顯示並執行第n條命令: !n

  執行歷史命令中倒數第n條命令:! -n

  執行上一條命令: !!

  執行命令歷史中的最近一個以指定字符串開頭的命令:!+"",例如之前有一條命令:source /etc/profile ,想再次執行時只需: ! source 即可。

  引用上一個命令的最后一個參數: !$

  當用戶正常退出時,內存中的命令歷史會被保存到用戶目錄中的bash history文件中,這是一個隱藏文件,bash history保存的歷史命令數量是有限的,最大為1000條,HISTSIZ 這是一個環境變量,表示命令歷史緩存區大小。

3、命令別名

  alias設置命令別名,例如 alias cls= 'clear'

  alias NAME = COMMAND [option] 相當於變量賦值。只能在當前shell聲明周期內有效,要想永久生效,需修改root下的.bashrc 文件,vi /root/.bashrc 然后把 alias cls= 'clear' 添加進去,再執行命令 souce /root/.bashrc(是修改立即生效) 即可。

  alias : 查看所有已經定義的命令別名

  ualias : 取消已經定義的命令別名

  如果加一個命令別名與一個命令的名稱相同,則使用時shell下運行的是該別名表示的命令,如果想要使用原命令,則使用\COMMAND表示命令本身。

4、命令替換

  將命令中的某個子命令替換為它的執行結果

  表示形式:command $(子命令) ,command `子命令` 此處是單反引號而不是單引號

  bash支持的引號:` ` 反引號,用於命令替換。" " 雙引號,弱引用,可以實現變量替換。' ' 單引號,強引用,不能實現變量替換。

5、文件通配   

  * 用於表示任意長度的任意字符串,任意長度包括0
  ? 用於表示任意單個字符
  [] 匹配任意指定范圍內的任意單個字符串
  [:space:]表示空白符號
  [:punct:]表示標點符號
  [:lower:]表示小寫字母
  [:upper:]表示大寫字母
  [:alpha:]表示所有大小寫字母
  [:digit:]表示數字
  [:alnum:]表示數字和字母
  [^] 表示匹配任意指定范圍外的單個字符

時間

#!/bin/bash
time=$(date "+%Y年%h%d日%H時%M分%S秒")
echo "hello world !開始執行 ${time}"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM