Linux的終端及date echo相關命令的理解

  1. 用戶分類

    root用戶:特權用戶,超級用戶,對系統有完全的掌握權限

    普通用戶:權限有限,操作有一定的限制

    wKiom1ecDV7jIFrdAAAO5gRHQls926.gif

  2. 終端terminal

    物理終端:直接接在本機的顯示器和鍵盤設備 /dev/console

    虛擬終端:附加在物理終端的以軟件方式虛擬實現的

    設備文件路勁/dev/tty#

    wKioL1ecDZOgK-SjAAAqhbnMcBA096.gif

    Ctrl+Alt+F[1,6]可以實現相互切換

    模擬終端:以圖形界面打開的命令行以及基於ssh或telnet協議等遠程打開的界面,設備件:/dev/pts/[0...]

    查看當前終端設備:tty

    wKioL1ecDarySswOAAAGtPx88Gg195.gif

    交互式接口

    GUIGraphic(圖形的) User Interface

       GNOME(C,圖形庫gtk)

       KDE  (C++,圖形庫gt)  

       XFCE (輕量級桌面)

    wKiom1ecDcbh5zJbAALK5spLkjU512.gif


    CLI:Command Line Interface 命令行接口

       shell程序:sh(bourn) csh tcsh ksh(korn) bash(bourn again shell) GPL zsh

  3. BASH:GNU Bourne-Again Shell,linux標準shell,兼容sh

       顯示當前使用的shell: echo ${SHELL} echo $SHELL

       顯示當前系統使用的所有shell: cat /etc/shells

    wKioL1ecDgSx8UNlAAALErVKpEM009.gif

    命令分類:

       內部命令:由shell自帶,可以通過enable命令啓用或禁用命令

       外部命令:在當前系統的某文件系統路徑下有相對應的可執行程序文件,

       which whereis可以對命令進行查看,獲取命令執行文件的路徑和幫助文檔

       type Command:可以查看命令的類型,內部還是外部命令。

    wKioL1ecDjHglm5YAAAJVMVex-U152.gif

  4. hash命令:

       搜索到的外部命令路徑結果緩存在kv鍵值(key-value)存儲中

       hash 顯示hash緩存 hash -r 清除緩存

    wKiom1ecDl2R7NyEAAAHEPPh88w843.gif

    命令格式:

      COMMAND [OPTIONS...][ARGUMENTS...]

      多選項,多參數和命令之間用空白字符分割

      取消和結束命令執行:Ctrl+c, Ctrl+d

      多個命令可以用;符號分開

      一個命令可以用\分成多行

  5. date:顯示時間和日期

      系統時鐘:由Linux內核通過CPU工作頻率決定的

      硬件時鐘:主板上的時間 hwclock clock

            -s: --hctosys 以硬件時鐘爲準,校準系統時鐘

            -w: --systohc 以系統時鐘爲準,校準硬件時鐘

    wKiom1ecDpLSl24xAAAK0gL0ZMQ563.gif


    -d(--date):顯示後面描述的時間 "yesterday" "X days ago",當X爲正數時,表示前X天的時間,當X爲負數時,表示後X天的時間

    -s(--set):設置時間

    wKioL1ecDvaSme55AAAZanV826c557.gif

    %H:小時        %M:分鐘         %s:從1970.1.1到現在經歷的秒數     %S:秒

    %d:一個月第幾天   %D:日期(mm/dd/yy)  %X:時間(%H%M%S)              %y:年(16)

    %j:一年的第幾天   %w:一個星期第幾天  %W:一年的第幾個星期           %Y:年(2016)

    cal 顯示日曆

    nano 文本編輯

  6. screen命令:

      打開新的screen: screen -S

      加入會話: screen -x

      退出並關閉screen: exit

      剝離當前screen: Ctrl+a,d

      顯示所有已經打開的screen: screen -ls

      恢復某個screen: screen -r

    wKiom1ecEAPDLEWgAAAHeY7IBS0749.gif

  7. ECHO:顯示字符

     echo "$var_name":變量會替換,雙引號表現爲弱引用

     echo '$var_name':變量不會被替換,單引號爲強引用

     echo `command`(反引號):輸出命令執行結果

     echo $(command):同於反引號,輸出命令結果

    wKiom1ecEBbSnnILAAAGj6BBFFE163.gif

    wKiom1ecECnjRS_8AAAGwaOxMmQ195.gif

         -n:不在字符的最後自動換行

         -e:打印轉義字符

           \a 發出警告聲                

           \b 退格鍵

           \c 最後不加上換行符號

           \n 換行且光標移至行首

           \r 光標移至行首但不換行

           \t 插入tab

           \\ 插入\字符

           \0nnn 插入nnn(八進制)所代表的ASCII字符

           \xHH 插入HH(十六進制)所代表的ASCII字符

  8. 登錄shell時,會讀取歷史命令文件中記錄下的命令 ~/.bash_history  

      ~/.bash_history 記錄歷史命令  

      ~/bashrc 用戶的bash shell的bash信息,當登錄時或者打開新的shell時,該文件會被讀取

      ~/bash_profile 用戶可以使用該文件寫入自己使用的shell信息,用戶登錄,該文件只執行一次,默認情況下,設置一些變量,執行用戶的.bashrc文件

      ~/bash_logout 每次退出系統時,執行該文件。

      文件執行順序: /etc/profile--> (~/.bash_profile | ~/.bash_login | ~/.profile)-->~/.bashrc-->/etc/bashrc-->~/.bash_logout

  9. 重複上一個命令:

       方向鍵 + enter

       按!! + enter

       !-1 + enter

       按Ctrl + p + enter


    !字符串:重複前一個以"字符串"開頭的命令

    !num:按輸出的序號重複對應的命令

    !?字符串:重複前一個包含字符串的命令

    !-n:重複n個命令之前的那個命令

    Ctrl + r:在命令歷史中搜索 


  10. 調用歷史參數

    wKiom1ecEZ-Q_EQ_AAAOYFPtvu0873.gif

    wKiom1ecEX6CvmWMAAAOIBpxCJk027.gif

      cmd !^ 上一個命令的第一個參數做cmd參數   cmd !$ 上一個命令的最後一個參數做cmd參數

      cmd !* 上一個命令的所有參數做cmd參數    cmd !:n 上一個命令的第n個參數做cmd參數

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

      !m:n  調用第m條命令的第 n個參數       !n:* 調用第n條命令的所有參數

      !string:^ 搜索以string開頭的第一個參數   !string:$ 以string開頭的最後一個參數

      !string:n 以string開頭的第n個參數      !string:* 以string開頭的所有參數

    wKioL1ecEZGRqN45AAAP4yWC5o8501.gif



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章