這5個基本思想對理解Linux會頗有幫助。正則表達式
界面通常分爲:算法
CLI是Linux的使用基礎。在Linux上須要拋棄許多Windows使用的習慣。一般使用CLI每每比GUI更高效。CLI本質上是一個shell程序。shell
centos上默認安裝的GUI程序爲GNOME。前提是,安裝系統時已經安裝了該程序。數據庫
若啓動爲CLI界面,即startx & 開啓GUI界面。小程序
圖像桌面,能夠啓動多個。centos
例:啓動第二個桌面。使用「--:2」就啓動第三個桌面。以此類推。bash
# startx -- :1 &函數
注意:通常不要使用生產環境下的管理員登陸系統。由於管理員太過於強大,同時咱們通常都會存在誤操做。工具
登陸系統時,Linux使用login應用程序使用戶登陸。學習
Login程序在輸入密碼是不會有任何顯示的。
用戶登陸後,能夠看到以下文字與光標。
root是當前有效用戶。
centos是主機名的簡寫。FQDN的第一段。
~:波浪線,表示當前目錄,又稱爲工做目錄。每一個用戶進入系統中後,都處於一目錄中,當前所處的目錄,即工做目錄。此處顯示錶示基名。
prompt:命令提示符。此處顯示的#號。即在命令提示符後能夠輸入命令。
註銷命令:logout
Linux不是Unix,是類Unix。Unix-like: Mainframe: 大型機 多用戶、多任務
Linux提供多任務,多用戶。
終端:terminal,顯示設備+輸入設備。Linux提供多個終端。Linux登陸提示符與終端一一對應。
有顯卡的終端爲VGA終端,沒有顯卡的終端爲Serial終端(串行終端)。
系統啓動默認直接關聯的終端稱爲控制檯,Console。當內核初始化完成後,控制檯記錄了內核其餘的信息。系統纔可使用應用程序,便可以開始使用多個終端了。
終端類型:
使用ctrl+alt+F(1~n)。能夠在不一樣終端間不斷切換。
在centos的桌面系統中,右擊鼠標,點擊Open in Terminal 。
顯示一個終端。這是一個模擬終端,也是一個僞終端。
1. ctrl+shift+t 增長一個僞終端,同時新增一個標籤。
2. Ctrl+Shift+PgUp / Ctrl+Shift+PgDn 切換標籤。
3. Ctrl+Shift+C / Ctrl+Shift+V 複製選中的內容 / 粘貼。
4. Shift+PgUp / Shift+PgDn 向上/向下翻頁。
shell以命令的形式爲用戶提供操做Linux的接口。提供一個CLI環境與計算機使用者交互。
shell程序嚴格區分大小寫。
Linux Shell命令的語法格式
基本格式:
COMMAND options arguments 即 命令名稱 選項 參數
參數:
定義命令的做用對象。
選項:
定義命令的執行特性。選擇間用空格隔開。
多個短選項能夠組合。如:-h, -l, -a 可組合爲 -hla。有些選項也能夠帶參數。
說明:
shell本質是一個命令解釋器,其負責調用外部程序或執行shell內置的命令。
因此,shell命令有兩類:
輸入:clear
或使用快捷鍵【Ctrl】+【L】
whoami 命令顯示當前用戶名。
使用type命令 查看命令類型
使用which命令查看外部命令的執行程序所在的路徑。
例,查看ls命令程序的路徑。
# which ls
例,查看history命令程序的路徑。
# which history
顯示不存在。
一、history命令:顯示此前的命令。# history
命令歷史是保存在文件中的,保存於~/.bash_history文件中(~爲家目錄,即不一樣用戶用於不一樣的.bash_history文件)。因此只要是正常退出,該文件就保持以前全部命令,再次登陸,以前的命令依然可使用history命令顯示。
Linux中「.」開頭的文件名的文件都是隱藏的。使用ls -a 命令能夠查看當前路徑下的全部文件。
~/.bash_history該文件由環境變量HISTFILE所定義。
二、命令參數的使用
# history 3 顯示最後使用的3條命令記錄。
# history -c 刪除history的命令記錄。
# history -w 手動保存history,追加保存命令
# history -d 3 刪除第3條命令記錄。
三、shell中利用命令歷史的一些技巧:
!# 執行history中的第#條;
!-#: 執行history中的倒數第#條;
!!: 命令history中的最後一條命令;
!string: 執行命令history中最近一條以「string」開頭的命令;
【Alt】+【.】
按一下【Esc】鬆開,再按一下【.】
一、date命令 日期命令
date:
顯示天
顯示月
顯示年
顯示小時
顯示年-月-日
顯示小時:分鐘:秒
可否修改時間?若是能夠,如何使用?
date系統時間命令
(1)顯示日,月,年(2位)
(2)顯示指定格式的時間。
(3)顯示年月日。
(4)顯示當前時分秒。
(5)使用date設定時間
date 07091203 表示修改成當前年7月9日12:03:00。
date 07091203.31 表示修改成當前年7月9日12:03:31
說明:Linux有兩套時間:硬件時鐘。系統時鐘。Linux在啓動時系統時間會參考郵件時間。以後各走各的。因此這兩個時間可能不一致。這與Windows不一樣。
二、hwclock命令 硬件時間
使用hwclock命令查看硬件時間。
調整,以期在的某個時間爲準
hwclock -s 以系統時鐘爲準,將硬件時鐘修改成系統時間。注意修改完仍可能有小小偏差。
hwclock -w 以硬件時鐘爲準,將系統時間修改成硬件時間。
三、cal命令 日曆命令
輸入cal
補充知識
HASH表
hash,又稱哈希,散列。
hash算法,基本思想分析數據的特徵,計算爲一串字符串。hash碼可能重複。
hash表,key,hash碼。value:數據。
hash查找,在hash表中,利用hash碼匹配查找。hash查找的時間複雜度爲O(1)的,所以速度很是快。
應用hash
MySQL的索引技術。
shell程序使用hash表存儲以及使用過的外部命令。
使用hash命令查看shell程序的hash存儲。
hits表示命中。在hash表中查找到一次,表示命中。
使用格式:# help COMMAND
例:查看history命令的幫助
# help history
help命令返回信息的意義:
Linux命令大概要學習200多個,工做中經常使用大概幾十個。各個命令參數各不相同。所以命令幫助必不可少。
獲取外部命令幫助:
一、manual: 使用手冊, man COMMAND
二、info: 信息頁, info COMMAND
三、簡要使用幫助: COMMAND --help
四、官方文檔:google
五、額外的文檔:README、INSTALL、ChangeLog
redhat這些文檔存放於/usr/share/doc/ls-VERSION
六、發行版官方文檔,http://www.redhat.com/docs/
一、man命令
man手冊:分章節
程序:配置文件(用於定義程序的工做特性)
對於不一樣類別的命令或配置等的手冊位於不一樣的章節中;
使用格式:
man [章節數] 命令
章節數可選。若爲未指定章節,則使用第一次出現指定命令的章節中的資料。
例:使用man命令查看ls命令的使用手冊
man ls
例:使用命令查看系統調用write()函數
man 2 write
例:若是知道本身要查詢的內容是哪一個章節,使用 -a 選項。根據提示查看章節內容。
「printf」便是命令名稱,也是函數名稱。
若只使用 man printf查詢,則只會顯示命令的printf幫助文檔。
使用 man -a printf ,便可查詢出全部printf相關文檔。
例:查詢man命令自己的幫助文檔。
man man
二、man的控制命令
滾動翻屏:
文本查找:
匹配通常會匹配多個,使用n,N查找上一個和下一個。
n: 跟當前查找命令相同方向的下一個匹配;
N:跟當前查找命令相反方向的下一個匹配;
例:查找手冊中「command」字符。輸入/command 。
command查找到後會反色顯示。
例:查看 passwd 命令。
man passwd 顯示第一章中的passwd。
例:查看配置文件的使用幫助。配置文件位於第5章。
passwd命令有一個配置文件。位於/etc/passwad。
# man 5 passwd
三、獲取命令所在章節 whatis 命令。
whatis COMMAND 顯示相應幫助所在的章節,及其簡要說明;
初裝的系統whatis命令可能不能用。由於whatis是在數據庫中查找的。但初裝系統無相應數據庫。
生產數據庫
# makewhatis
等待數據庫生成時間。
例:查看passwd命令所在章節與簡要說明。
若出現亂碼則須要修改字符集。將語言設置爲英文。# export LANG=en
四、info命令
info命令,較少使用。例:info ls
info翻頁:
補充:關於man手冊的文件
每一個命令的man手冊是有對應文件中的。
man1,man2等表示第一章,第二章的man。其餘表示語言包。
進入man1 。cd man1;ls便可查看該目錄下的文件。裏面是命令手冊的壓縮文件。當須要查看某命令的文件時,會將手冊臨時解壓出來以供查看。