Linux運維之基本命令

CLI(Command Line Interface)接口 : 命令行接口
    命令提示符 : 提醒用戶已經能夠進行輸入
        # : root用戶
        $ : 普通用戶
---------------------------------------------------------------------------------------------------------------------------------------
命令的基本格式 : 
    Command [+Options] Args
    Options : 修正命令的執行方式,也即雖然一個命令其大體內容或者方向相似,但其具體執行方式,卻可能存在很大差異,如ls命令,ls命令的做用是列出當前或者指定目錄的全部內容,但執行方式有不少種,
              如都是列出當前或指定目錄的全部內容,但既能夠只列出文件或目錄的名稱,也能夠把文件或目錄的全部元數據都列出來;既能夠只列出當前或指定目錄下的內容,但也能夠當前或指定目錄的目錄中
              的內容也一併列出來.所以,可見即便只是一個命令,但由於咱們的需求不一樣,照樣能夠有諸多執行方式或延展;
        選項的分類 : 
            短選項 : -char,短選項一般可組合使用,如-a -b = -ab
            長選項 : --word,不能夠組合使用
    Args : 命令的執行對象;
---------------------------------------------------------------------------------------------------------------------------------------
使用憑證(用戶登陸) : 識別用戶身份或者用戶能夠調用的資源;
---------------------------------------------------------------------------------------------------------------------------------------
終端 : 用戶和主機交互必然要用到的一些設備;
    物理終端 : 直接接入主機的顯示器,鍵盤等設備;
    虛擬終端 : 模擬多用戶環境,並且有多個顯示器.在計算機還並非很廣泛的時候,每每是在一臺主機上提供多個接口,用戶僅需一個顯示器,外設等,便可實現與主機的通訊,進而實現多個用戶共同使用一個主機,
        而虛擬終端就是在模擬這樣的一個過程;
        設備路徑 : /dev/tty[1~6]
           虛擬終端的切換 : ^Alt + [F1~F6]
    模擬終端 : 在圖形界面打開的終端即輸入模擬終端;
               設備路徑 : /dev/pts[0~inf]
    圖形終端 : 附加在物理設備上以軟件方式模擬的終端,但額外提供了桌面環境;
    查看當前終端設備 : tty
    交互式接口 : 啓動終端後,在終端上附加的一個交互式程序;
---------------------------------------------------------------------------------------------------------------------------------------
GUI ; 圖像界面
    1,Gnome : C開發的
    2,KDE : C++開發的
    3,XFace : 便捷的,適用於嵌套式平臺上的,輕量級的桌面系統
---------------------------------------------------------------------------------------------------------------------------------------
CLI ; 命令行界面
    1,bash
    2,Csh
    3,Zsh
    4,Ksh
    5,tcsh
---------------------------------------------------------------------------------------------------------------------------------------
基礎命令 :
    用戶切換 : su : switch user
        命令格式 : su USRNAME
    ---------------------------------------------------------------------------------------------------------------------------------------
    修改管理員用戶密碼 : passwd
        密碼複雜性原則 : 
            1,數字,小寫字母,大寫字母,特殊字符四類字符中至少要使用其中三種;
            2,足夠長(>7位)
            3,最好使用隨機字符串
            4,按期更換
            5,循環週期要足夠長,即再次啓動之前用過的密碼之間的時間間隔要足夠長,即通常而言,不一樣密碼再次使用之間要相隔24個不一樣的密碼
       ---------------------------------------------------------------------------------------------------------------------------------------
       pwd(printing working directory) : 顯示當前工做目錄
           注 : 相關環境變量
               $PWD : 保存了工做路徑或當前路徑
               $OLDPWD : 保存了上一次所在路徑;
       ---------------------------------------------------------------------------------------------------------------------------------------
       ls(list) : 列出當前或指定目錄下的全部文件及相關信息;
           注 : 文件的組成部分 : 文件內容(content) + 文件的元數據(metadata);
           -l(long) : 顯示當前目錄或指定目錄下的文件或文件夾的詳細信息
               屬性一 : 共有十列
                   第一列 : 文件類型
                       - : 普通文件
                       b(block) : 塊設備文件
                       c(char) : 字符設備文件
                       l(link) : 符號連接文件(軟連接文件)
                       d(directory) : 文件夾
                       p(pipe) : 命令管道文件
                       s(socket) : 套接字文件
                   後九列,每三列爲一組,爲文件的管理權限,r(readable) : 可讀;w(writable) : 可寫; x : 可執行;
               屬性二 : 文件硬連接的次數
               屬性三 : 文件的屬主(owner)
               屬性四 : 文件的屬組(group)
               屬性五 : 文件的大小(默認單位爲字節)
               屬性六 : 文件最近一次被修改的時間
                   time stamps : 時間戳
                       atime : access time,訪問時間,即文件最近一次被訪問的時間
                       mtime : modify time,修改時間,即文件內容最近一次被修改的時間
                       ctime : change time,改變時間,即文件元數據最近一次被改變的時間
                       注 : 屬性六之因此是文件的修改時間,由於其相對而言相對較爲穩定,只有文件內容發生改變時,纔會改變;而改變時間,由於記錄的是文件的元數據的改變時間,
                            哪怕只是訪問了一次文件,其元數據也會發生改變,因此,其是及其不穩定的,會頻繁發生改變.
               屬性七 : 文件名或文件夾名
             -h(human readable) : 以人類已讀的方式顯示,其實就是對長格式下的屬性五文件的大小進行單位換算;
             -a(all) : 顯示全部文件,包括linux中以"."開頭的隱藏文件;
                 注 :  在所顯示的文件當中,"." : 表示當前目錄;".." : 表示當前目錄的上一級目錄
             -A(almost) : 顯示全部的文件,但包括"."和".."
             -d(directory) : 顯示目錄自身的屬性信息(元數據)
             -i(index node) : 顯示文件的索引節點號;
                 索引節點號 : 人類依靠文件名識別文件,而計算機則是依靠索引節點號即數字,識別文件,且效率更高,所以每個文件都有一個本身的惟一的索引節點號
             -r(reverse) : 按照字母表逆序顯示文件
             -R(recursion) : 遞歸顯示文件,也即若是在當前目錄下存在文件夾,將文件夾裏的內容也顯示出來,依次遞推,直至葉子節點,也即文件
      ---------------------------------------------------------------------------------------------------------------------------------------
      cd(change directory) : 切換目錄
          無參數 : 自動切換至當前活躍用戶的家目錄(主目錄 : home directory)
        ~USERNAME : 切換至指定用戶的家目錄(管路員操做)
        - : 在前一次所在目錄和當前目錄之間來回進行切換   
      ---------------------------------------------------------------------------------------------------------------------------------------
      命令的分類 : 
          內建命令(builtin) : shell自帶,並以命令形式提供;
          外部命令 : 在當前系統的某文件目錄下,對應的可執行程序文件(which,whereis : 可查看命令所在文件路徑)
          查看命令類型 : type ARGS
      查看當前所使用的shell : echo $SHELL
      取消命令的執行 : ^C
      環境變量 : 定義用戶當前工做環境,如 : 當在shell中調用某一個命令時,shell首先回到shell自建的命令中查找該命令,若是找不到,再到$PATH中保存的路徑(這些路徑以":"進行分隔)
                 從左往右依此進行查找,一旦找到,則中止查找過程;
      ---------------------------------------------------------------------------------------------------------------------------------------
      hash : 查看已經緩存的命令,shell會在啓動伊始,自動分配一塊內存空間,專門記錄執行過了的命令以及命令所在的路徑,所以當調用某一個命令時,會先到該內存中,查找是否存在該命令,若是
             存在,則直接找到該命令所在路徑,而後執行;若是沒有,則按照$PATH中保存的路徑依次進行查找;
      ---------------------------------------------------------------------------------------------------------------------------------------
      clear : 清空shell頁面內容
      ---------------------------------------------------------------------------------------------------------------------------------------
      Linux的時間實現方式 : 
          晶體振盪器 : 按照徹底相同的頻率進行震盪,因爲晶體振盪器必需要有電纔可以進行震盪,所以在主板上,專門有一塊電池爲其供電;
      rtc(real time clock) : 實時時鐘,硬件時鐘,每次開機的時候,操做系統就會自動從晶體振盪器處讀取時間,設置爲系統時間,而後以軟件方式模擬振盪器,而再也不使用硬件時鐘,這個時鐘被稱爲
                             系統時鐘.系統時鐘僅僅是以軟件的方式的進行模擬,所以,當系統比較繁忙,顧不上系統時鐘時,可能會致使以硬件時鐘不一致
      clock/hwclock : 查看或管理硬件時鐘
          -s : 設置系統時間,也即讀取硬件時鐘,設置爲系統時鐘
          -w : 設置硬件時鐘,也即讀取系統時鐘,設置爲硬件時鐘
      date : 顯示當前系統時間或用於管理時間
      ---------------------------------------------------------------------------------------------------------------------------------------
      獲取命令幫助 : 
          1,內部命令 : help COMMAND
            外部命令 : COMMAND --help
          2,通用的命令幫助 : man(manual命令手冊) : 顯示詳細的幫助信息,命令手冊目錄位置 : /usr/share/man
            man命令幫助手冊是分章節 :
                章節一 : 全部用戶均可以調用的命令(目錄位置 : /bin,/usr/bin,/usr/local/bin)
                章節二 : 系統調用
                章節三 : 庫調用
                章節四 : 特殊文件(設備文件),其自己並不存儲任何數據,僅做爲一個設備的訪問入口
                章節五 : 文件格式,某一個程序的執行可能須要大量選項配合使用,而文件格式中記錄的就是這些選項
                章節六 : 遊戲
                章節七 : 雜項
                章節八 : 管理類命令(只有管理員才能夠調用)(目錄位置 : /sbin,/usr/sbin,/usr/local/sbin)
            whatis COMMAND : 查看命令都有在那些章節中出現
            man NUM COMMAND : 看到指定章節的命令幫助文件
            man -M /PATH/TO/SOMEWHERE COMMAND : 到指定路徑下查找指定命令的幫助文件
            命令幫助文件中特殊符號的含義 : "[]" : 表可省略;"|" : 表多選一;"<>" : 表在執行該命令時,必須給出;"..." : 表該位置可填入多項;"{}" : 表分組,列出該位置可填入的全部內容
            man中幫助信息的具體說明 :
                NAME : 命令名稱
                SYNOPSIS : 命令的基本使用格式
                DESCRIPTION : 命令功能的詳細說明以及每個選項的含義
                OPTIONS : 說明每個選項的意義
                FILES : 與此命令相關的配置文件
                EXAMPLES : 使用示例
                SEE ALSO : 另外參見
            man命令幫助文件的操做 :
                翻屏 : 向後翻一屏 : SPACE
                       向前翻一屏 : b
                       向後翻一行 : ENTER
                       向前翻一行 : k
                       向後翻半屏 : d
                       向前翻半屏 : u
                       快速跳轉文件第N行 : N + ENTER
                       回到文件首部 : G
                查找 : 
                    / keyword : 從當前位置向下查找關鍵字
                    ? keyword : 從當前位置向上查找關鍵字
                    n : 跳轉至下一個關鍵字所在位置
                    N : 跳轉至上一個關鍵字所在位置
                q : 退出幫助文檔
           3,查看命令在線幫助文檔 : info COMMAND
             注 : /usr/share/doc : 存有大多數命令的使用手冊和說明的相關文檔
           4,程序自身的幫助文檔
           5,程序的官方文檔 : Documentation
           6,發行版的官方文檔
           7,Google
           ---------------------------------------------------------------------------------------------------------------------------------------
           cal(Calender) : 顯示日曆
           ---------------------------------------------------------------------------------------------------------------------------------------
           echo : 打印一行文本,至關於print函數
               "" : 弱引用,即若是文本中有變量,會將變量的值輸出來
               '' : 強引用,即若是文本中有變量,不會取出變量值,也即輸入即輸出
               -n : 在輸出文本後,不自動換行
               -e : 在文本中使用"\"轉義符,不然在文本中,\t(水平製表符),\b(退格符),\n(換行符),\v(垂直製表符)
           ---------------------------------------------------------------------------------------------------------------------------------------
           history : 顯示或管理歷史命令,登入shell時,會將歷史命令保存在緩存中,一旦登出,將之追加至~/.bash_history歷史命令文件中
               -a : 將緩存中的命令歷史手動追加至命令歷史文件中
               -d offset : 刪除命令歷史中指定索引的歷史命令\
               -c : 清空緩存中的歷史命令
               參數 : 
                   history_size : 指定緩存中可以緩存的歷史命令的條數上限
                   history_file_size : 指定命令歷史文件中可以緩存的歷史命令的條數上限
               快捷操做 : 
                   !! : 再次調用上次調用的命令
                   !index : 調用命令歷史中指定索引的命令
                   !string : 調用命令歷史中最近一次以string開頭的命令
          ---------------------------------------------------------------------------------------------------------------------------------------
          文件查看命令 : 
              cat(concatenate) : 鏈接(當有多個參數時)並顯示文件
              tac : 鏈接並逆序顯示文件
                  -E : 在行的末尾顯示行結束符
                  -T : 顯示TAB爲^I
                  -v : 顯示非打印字符,即空白字符
                  -n : 爲顯示的每一行文本編號
              注 : cat的特殊用法 : 當cat後不跟有任何內容時,cat會獲取用戶輸入,並進行輸出,^C結束輸入;
          ---------------------------------------------------------------------------------------------------------------------------------------
          文件類型查看命令 :
              file /PATH/TO/SOMEWHERE
          ---------------------------------------------------------------------------------------------------------------------------------------
          顯示命令對應的程序文件位置 :
              which COMMAND
                  顯示命令對應的程序文件位置
                  注 : --skip-alias 不予顯示別名
              whereis COMMAND
                  顯示的信息會更爲詳細,會顯示該命令出現的全部目錄位置
           ---------------------------------------------------------------------------------------------------------------------------------------
           查看命令在man幫助手冊中的哪些章節中出現 :
               whatis COMMAND
                   注 : mkwhatis可將當前系統下的所欲幫助手冊以及與之對應的關鍵字(包括該命令功能的簡要說明)建立一個數據庫
           ---------------------------------------------------------------------------------------------------------------------------------------
           系統管理類命令 : 
               關機類命令 : 
                   halt,poweroff,shutdown,init 0 :  
                       -f : 強制關機
                       -p : 切斷電源
               重啓類命令 :
                   reboot,shutdown,init 6 
                   shutdown : 
                       -r : reboot
                       -h : halt
                       -c : cancel 取消關機或重啓操做
                       參數 : TIME : 
                                now : 馬上
                                +m : m分鐘後執行操做
                                hh:mm : 指定具體執行操做時間
                              WALL : 在執行操做前發佈警告信息
               跟用戶登錄相關命令 :
                   who : 顯示當前系統的全部的登錄會話
                   whoami : 顯示當前登錄的有效(活躍)用戶
                   w : 顯示系統上的全部登錄會話以及正在執行的操做
            ------------------------------------------------------------------------------------------------------------------------------------------
相關文章
相關標籤/搜索