1. 程式人生 > >Linux運維基礎

Linux運維基礎

ctrl 運維基礎 裝包 root用戶 用途 例如 技術分享 ... 不同的

  • Linux操作系統
    技術分享圖片

    技術分享圖片

      1. Linux哲學思想
        一切皆文件(包括硬件),99.9%
        小型,單一用途的程序
        鏈接程序,共同完成復雜的任務
        避免令人困惑的用戶界面
        配置數據存儲在文本中
        1.2linux用戶
        1.2.1root用戶
        一個特殊的管理帳戶
        也被稱為超級用戶
        root已接近完整的系統控制
        對系統損害幾乎有無限的能力
        除非必要,不要登錄為?root?
  • 1.2.2普通(?非特權?)用戶
    權限有限
    造成損害的能力比較有限
    技術分享圖片

    2.1 SHELL
    技術分享圖片

    2.1.1bash shell
    GNU Bourne-Again Shell(bash)是GNU計劃中重要的工具軟件之一,目前也是 Linux標準的shell,與sh兼容

    CentOS默認使用
    顯示當前使用的shell
    echo ${SHELL}
    顯示當前系統使用的所有shell
    cat /etc/shells
    3.linux命令

    3.1 命令提示符
    技術分享圖片

    3.2執行命令
    輸入命令後回車
    提請shell程序找到鍵入命令所對應的可執行程序或代碼,並由其分析後提交給內核分配資源將其運行起來
    在shell中可執行的命令有兩類
    內部命令:由shell自帶的,而且通過某命令形式提供
    help 內部命令列表
    enable cmd 啟用內部命令
    enable –n cmd 禁用內部命令
    enable –n 查看所有禁用的內部命令
    外部命令:在文件系統路徑下有對應的可執行程序文件
    查看路徑:which -a |--skip-alias ; whereis

    區別指定的命令是內部或外部命令
    type COMMAND

    3.3命令別名
    顯示當前shell進程所有可用的命令別名
    alias
    定義別名NAME,其相當於執行命令VALUE
    alias NAME=‘VALUE‘
    在命令行中定義的別名,僅對當前shell進程有效
    如果想永久有效,要定義在配置文件中
    僅對當前用戶:~/.bashrc
    對所有用戶有效:/etc/bashrc
    編輯配置給出的新配置不會立即生效
    bash進程重新讀取配置文件
    source /path/to/config_file
    . /path/to/config_file
    撤消別名:unalias
    unalias [-a] name [name ...]
    -a 取消所有別名
    如果別名同原命令同名,如果要執行原命令,可使用

    \ALIASNAME
    “ALIASNAME”
    ’ALIASNAME’
    command ALIASNAME
    /path/commmand

    3.命令格式
    COMMAND [OPTIONS...] [ARGUMENTS...]
    選項:用於啟用或關閉命令的某個或某些功能
      短選項:-c  例如:-l, -h
      長選項:--word 例如:--all, --human-readable
    參數:命令的作用對象,比如文件名,用戶名等

    註意:
    多個選項以及多參數和命令之間使用空白字符分隔
    取消和結束命令執行:Ctrl+c,Ctrl+d
    多個命令可以用;符號分開
    一個命令可以用\分成多行

    4 命令
    tab鍵
    命令補全
    內部命令:
    外部命令:bash根據PATH環境變量定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文件,第一次找到的命令即為要執行的命令
    用戶給定的字符串只有一條惟一對應的命令,直接補全
    否則,再次Tab會給出列表
    路徑補全
    把用戶給出的字符串當做路徑開頭,並在其指定上級目錄下搜索以指定的字符串開頭的文件名
    如果惟一:則直接補全
    否則:再次Tab給出列表

    history
    history [-c] [-d offset] [n]
    history -anrw [filename]
    history -ps arg [arg...]
    -c: 清空命令歷史
    -d offset: 刪除歷史中指定的第offset個命令
    n: 顯示最近的n條歷史
    -a: append, 追加本次會話新執行的命令歷史列表至歷史文件
    -r: 讀歷史文件附加到歷史列表
    -w: 保存歷史列表到指定的歷史文件
    -n: 讀歷史文件中未讀過的行到歷史列表
    -p: 展開歷史參數成多行,但不存在歷史列表中
    -s: 展開歷史參數成一行,附加在歷史列表後

    Bash
    Bash的使用技巧
    命令行展開:{}, ~
    命令替換:$(command), command
    命令補全:$PATH
    路徑補全:從指定的起始位置進行路徑搜索,
    命令歷史:.bash_history

    HISTCONTROL
    ignoredups
    ignorespace
    ignoreboth

    whatis
    顯示命令的簡短描述
    使用數據庫
    剛安裝後不可立即使用
    makewhatis | mandb制作數據庫
    使用示例:
    whatis?cal 或 man –f cal

    help

    顯示用法總結和參數列表
    使用的大多數,但並非所有的
    示例:
    date?--help
    Usage:?date?[OPTION]...?[+FORMAT]?or: date?[-u|--utc|--universal]?[MMDDhhmm[[CC]YY][.ss]]
    []?表示可選項
    CAPS或?<>?表示變化的數據
    ?...?表示一個列表
    x |y| z?的意思是“?x?或?y?或?z?“
    -abc的?意思是-a -b –c
    { } 表示分組

    man
    提供命令幫助的文件

    手冊頁存放在/usr/share/man
    幾乎每個命令都有man的“頁面”
    man頁面分組為不同的“章節”
    統稱為Linux手冊
    man命令的配置文件:/etc/man.config | man_db.conf
    MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
    man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手冊頁並顯示
    中文man需安裝包man-pages-zh-CN

    info
    man常用於命令參考?,GNU工具info適合通用文檔參考。
    沒有參數,列出所有的頁面
    info ?頁面的結構就像一個網站
    每一頁分為“節點”
    鏈接節點之前?*
    info [?命令?]

    Linux運維基礎