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 : 顯示系統上的全部登錄會話以及正在執行的操做 ------------------------------------------------------------------------------------------------------------------------------------------