shell--鸟哥私房菜(1)

来源:互联网 发布:淘宝账号销号 编辑:程序博客网 时间:2024/06/05 07:49
  1. shell
    shell

  2. 检查shell
    /etc/shells目录下

    • /bin/sh (已經被 /bin/bash 所取代)
    • /bin/bash (就是 Linux 預設的 shell)
    • /bin/tcsh (整合 C Shell ,提供更多的功能)
    • /bin/csh (已經被 /bin/tcsh 所取代)


      shells
  3. 為什麼我們系統上合法的 shell 要寫入 /etc/shells

    系統某些服務在運作過程中,會去檢查使用者能夠使用的 shells ,而這些 shell 的查詢就是藉由 /etc/shells

    登入的時候,系統就會給我一個 shell 讓我來工作了。 而這個登入取得的 shell 就記錄在 /etc/passwd 。讓使用者無法以其他服務登入主機,就得將那些怪怪的 shell 寫到 /etc/shells 當中了。

    获取shell

  4. 记忆使用过的指令

    在~/.bash_history 可找到,注意.bash_history记录的是前一次登入所执行的指令,这一次的指令存在记忆体中,当你退出系统后才会保存到.bash_history中!

  5. 命令别名的设定 –alias

    alias lm=’ls -al’

  6. 查询指令是否为bash shell的内建命令:
    type

  7. 『 \ [Enter] 』
    转义

  8. 删除长指令

    [ctrl]+u 從游標處向前刪除指令串
    [ctrl]+k 向後刪除指令串

  9. echo变量

    echo $HOME 或者是 echo ${HOME}
    echo $MAIL 或者是 echo ${MAIL}

    echo

    变量与变量内容用‘=’连接;myname=VBird

    等号两边不能直接接空白字符;myname = VBird或myname=VBird Tsai

    变量内容若有空白可用“ 或者‘ 将内容结合起来;双引号内的$ 可保持原有特性,单引号内$ 为纯文字;

    ”\“将特殊符号转义;myname=VBird\ Tsai

    一串指令中还需额外指令提供资讯,使用反单引号`或$();version=$(uname -r) 再 echo $version

    可用 “$变量名” 或 ${变量} 累加內容;PATH="$PATH":/home/bin 或 PATH=${PATH}:/home/bin

    一个变量要在其他程序中使用需要export,来变为环境变量;export PATH

    取消變數的方法為使用 unset;unset myname

    echo2
    echo3
    echo4

  10. 若你有一個常去的工作目錄名稱為:/cluster/server/work/taiwan_2015/003/,如何進行該目錄的簡化?

    [dmtsai@study ~]$ work=”/cluster/server/work/taiwan_2015/003/”
    [dmtsai@study ~]$ cd $work\

    注:可以在 bash 的設定檔(~/.bashrc)中直接指定,那我每次登入只要執行cd $work 就可以了

  11. env
    env

  12. RANDOM – 随机数(介於 0~32767 之間)
    random

  13. set
    set

    • PS1 – 提示符

      \d :可顯示出『星期 月 日』的日期格式,如:”Mon Feb 2”

      \H :完整的主機名稱。舉例來說,鳥哥的練習機為『study.centos.vbird』

      \h :僅取主機名稱在第一個小數點之前的名字,如鳥哥主機則為『study』後面省略

      \t :顯示時間,為 24 小時格式的『HH:MM:SS』

      \T :顯示時間,為 12 小時格式的『HH:MM:SS』

      \A :顯示時間,為 24 小時格式的『HH:MM』

      \@ :顯示時間,為 12 小時格式的『am/pm』樣式

      \u :目前使用者的帳號名稱,如『dmtsai』;

      \v :BASH 的版本資訊,如鳥哥的測試主機版本為 4.2.46(1)-release,僅取『4.2』顯示

      \w :完整的工作目錄名稱,由根目錄寫起的目錄名稱。但家目錄會以 ~ 取代;

      \W :利用 basename 函數取得工作目錄名稱,所以僅會列出最後一個目錄名。

      # :下達的第幾個指令。

      $ :提示字元,如果是 root 時,提示字元為 # ,否則就是 $ 囉~

      PS1

    • $ (shell的PID)

    • ?:(關於上個執行指令的回傳值)
      ?
原创粉丝点击