【教程主題】:2.Linux高頻命令精講php
【2.1】Linux的運行方式node
圖形運行方式linux
- 本地使用KDE/Gnome集成環境正則表達式
- 運行X Server遠程使用圖形環境shell
命令行(字符運行)方式安全
- 本地虛擬終端bash
- 使用Telnet遠程登陸服務器
- 使用SSH遠程登陸網絡
【2.2】字符界面的使用less
爲何要使用字符工做方式
- 能夠高效率的完成任務
- 遠程登陸操做均使用字符界面
- 節省系統資源
進入字符模式的方法
- 圖形環境下,右鍵桌面 —> 終端
- 系統啓動後直接進入字符模式
- 遠程telnet(明文)或SSH(加密)登錄字符模式
【2.3】本地登陸和遠程登錄
本地登陸
Ø 虛擬控制檯
在系統啓動時直接進入字符工做方式後,系統提供了多個(默認爲6個)虛擬控制檯。每一個虛擬控制檯能夠互相獨立使用,互不影響。
可使用Alt+F1~Alt+F6進行多個虛擬控制檯之間的切換。
Ø 字符界面下登錄Linux
Linxu系統是嚴格區分大小寫的,不管用戶名,仍是文件名、設備名都是如此。
基於安全的考慮,通常應該使用普通用戶登陸系統,不要使用root用戶登陸,當須要進行超級用戶的工做時 可使用 su – 命令切換爲超級用戶身份。
logout登出 exit退出 都是註銷操做
命令提示符後 #爲root用戶 $爲普通用戶
遠程登錄
Ø Linux下遠程登陸另外一臺Linux服務器
Linux下的ssh命令是OpenSSH的客戶端程序。要登錄遠程Linux系統,必須保證遠程Linux系統上啓動了OpenSSH服務器。使用ssh命令登錄遠程OpenSSH服務器的命令格式是:
$ssh 遠程主機上的用戶名@遠程主機的ip地址或主機名
$ssh IP地址
Ø Windows下利用SSH工具登陸一臺linux服務器
SecureCRT.exe
http://baike.baidu.com/view/489722.htm 百度百科介紹
xshell
【2.4】Linux的系統運行級別
0 - 系統關機狀態
1 - 單用戶工做狀態,用於維護。
2 - 多用戶模式(NFS未啓動)
3 - 多用戶模式, 字符界面。
4 - 系統未使用,留給用戶自定義
5 – 多用戶模式,而且在系統啓動後運行X Window,給出一個圖形化的登陸窗口。
6 – 全部進程被終止,從新啓動
查看當前系統的運行級別
#runlevel
切換運行級別
#init[0123456]
【2.5】linux的目錄結構
Linux文件系統是呈樹形結構,瞭解Linux文件系統的目錄結構,對於咱們駕馭Linux仍是有必要的。
目錄 |
說明 |
/ |
Linux文件系統的入口,也是處於最高一級的目錄 |
/bin |
基本系統所須要的命令。功能和/usr/bin相似,這個目錄中的文件都是可執行的,普通用戶均可以使用的命令 |
/boot |
內核和加載內核所須要的文件。通常狀況下,GRUB系統引導管理器也位於這個目錄 |
/dev |
設備文件存儲目錄,好比終端、磁盤等 |
/etc |
全部的系統配置文件 |
/home |
普通用戶家目錄的默認存放目錄 |
/lib |
庫文件和內核模塊所存放的目錄 |
/media |
即插即用型存儲設備的掛載點自動在這個目錄下建立,好比u盤、CDROM/DVD自動掛載後,也會在這個目錄中建立一個目錄。 |
/mnt |
臨時文件系統的掛載點目錄 |
/opt |
第三方軟件的存放目錄 |
/root |
Linux超級權限用戶root的家目錄 |
/sbin |
基本的系統維護命令,只能由超級用戶使用 |
/srv |
該目錄存放一些服務啓動以後須要提取的數據 |
/tmp |
臨時文件目錄 |
/usr |
存放用戶使用系統命令和應用程序等信息,好比命令、幫助文件等。 |
/var |
存放常常變更的數據,好比日誌、郵件等。 |
幾個特殊的文件系統
文件系統 |
掛載點 |
說明 |
root |
/ |
Linux系統運行的基點,根文件系統不能被卸載 |
proc |
/proc |
以文件系統的方式爲訪問系統內核數據的操做提供接口,適用於2.4和2.6內核 |
sysfs |
/sys |
以文件系統的方式爲訪問系統內核數據的操做提供接口,2.6內核使用 |
tmpfs |
/dev /var/run /var/lock |
程序訪問共享內存資源時使用的文件系統 |
usbfs |
/proc/bus/usb |
訪問usb設備時使用的文件系統 |
devpts |
/dev/pts |
內核用來與僞終端(以遠程方式登錄)進行交互的文件系統 |
swap |
內核使用的特殊文件系統,無掛載點 |
用來建立虛擬內存 |
【2.6】linux命令
Linux命令的習慣
- 命令及參數區分大小寫
- 程序能否執行與擴展名無關
- 使用tab鍵來補全命令
$command [-options] parameter1 parameter2 …
指令 選項 參數1 參數2
說明:
0. 一行指令中第一個輸入的絕對是‘指令(command)’或‘可執行文件’
1. command 爲指令的名稱,例如變換路徑的指令爲 cd 等等;
2. 中刮號[]並不存在於實際的指令中,而加入參數設定時,一般爲 - 號,例如 -h; 有時候完整參數名稱會輸入 -- 符號,例如 --help;
3. parameter1 parameter2.. 爲依附在 option 後面的參數, 或者是 command 的參數;
4. command, -options, parameter1.. 這幾個中間以空格來區分,不論空幾格 shell 都視爲一格;
5. 按下 [Enter] 按鍵後,該指令就當即執行。
6. 指令太長的時候,可使用 \ 符號來跳脫 [Enter] 符號, 使指令連續到下一行。注意! \ 後就馬上接特殊字符。
7. 在 Linux 系統中,英文大小寫字母是不同的。舉例來講, cd 與 CD 並不一樣。
經常使用命令介紹
pwd
查看當前工做目錄
cd
更換目錄
用法:
cd [目錄]
符號 |
意義 |
. |
當前工做目錄 |
.. |
父目錄 |
~ |
用戶家目錄 |
- |
上個工做目錄 |
ls
顯示目錄
用法: ls [參數] [目錄名]
ls 參數:
-a:顯示全部文件,包括隱藏文件(以.開頭的文件)
-l:以長格式顯示
-t:按修改時間前後顯示
-R:顯示目錄及下級子目錄結構(遞歸)
-m: 橫向輸出文件名,並以「,」做分格符。
-S: 以文件大小排序。
用顏色表明不一樣文件
白色:普通文件
紅色:壓縮文件
藍色:目錄文件
淺藍色:連接文件
黃色:設備文件(/dev)
綠色:可執行文件(/bin、/sbin)
粉紅色:圖片文件
mkdir
創建目錄
用法: mkdir [參數] {目錄名}
參數: -p 能夠一次性建立整個目錄樹
rmdir
刪除目錄
用法: rmdir [參數] {目錄名}
• 若是目錄是空的,此命令會刪除他們,若是目錄中有內容,則會產生錯誤信息且不能刪除目錄,可是他會繼續刪除其他的空目錄。注意,只包括一個子目錄的目錄不是空的。
rm
刪除文件和文件夾
用法: rm [參數] {文件}
參數:
-r 刪除整個目錄樹
-f 強制執行
tree
顯示文件和目錄樹
用法: tree [參數] {文件}
參數: -a 不隱藏任何以.字符開始的條目
-d 只顯示目錄不顯示文件
-f 每一個文件都顯示路徑
-t 根據最後修改時間排序
-L n 只顯示n層目錄 (n爲數字)
touch
建立空文件和更改時間戳
用法:touch [參數] {文件}
參數: -d 更改時間戳爲定義值 (後面加年月日,格式:20101212)
cp
複製目錄
用法: cp [參數] {原文件…} {目標文件}
參數: -r 遞歸執行 (可複製目錄樹)
mv
移動或重命名文件
用法: mv [參數] {原文件} {目標文件} 把原文件改名爲目標文件
mv [參數] {原文件…} {目標文件} 把一個或多個文件同時移動到目標文件中
查看文檔:
cat 由第一行開始顯示文件的內容
cat命令顯示文件時會同時顯示全部內容。大型文件在屏幕上一晃而過,難以閱讀。因此他比較適合小於一屏的文件。
用法:
cat [option] filename
tac 從最後一行開始顯示
file顯示文件類型
file [option] filename
more 一頁一頁的顯示檔案內容 :
l 空格鍵 (space):表明向下翻一頁;
l Enter:表明向下翻『一行』;
l /字符串:表明在這個顯示的內容當中,向下搜索『字符串』這個關鍵詞;
l :f :馬上顯示出文件名以及目前顯示的行數;
l h 幫助
l b 或 [ctrl]-b :表明往回翻頁
l q:退出
· less 與 more 相似,less能夠往前翻頁! :
l 空格鍵:向下翻一頁;
l [pagedown]:向下翻一頁;
l [pageup]:向上翻一頁;
l /字符串:向下搜索『字符串』;
l ?字符串 :向上搜索『字符串』;
l n:重複前一個搜索
l N:反向的重複前一個搜索
l h:幫助
l q:退出
head顯示文件開始幾行
用法:
head [options] {file…}
參數 : –n number查看前幾行的值
tail顯示文件最後幾行
用法:
tail [options] {file…}
參數 : –n number 查看後幾行的值
–f 一直監視
【7】man 幫助文檔
路徑:/usr/share/man
用法: man [參數] [查詢名]
/ 來查找
q退出
其餘得到幫助的方法
--help
-h
info 命令
help 內置命令
readme
【8】關機
將數據同步寫入硬盤:sync
shutdown命令
shutdown命令的格式爲:
#shutdown [參數] 時間 [警告信息]
-t sec :送出警告信息和刪除信息之間要延遲多少秒
- k:並不真正關機而只是發出警告信息給全部用戶
- r:關機後當即從新啓動
- h:關機後中止系統
init 0
重啓:reboot init6
【9】別名
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ls='ls --color=auto'
alias ll='ls -lh --color=auto'
alias l='ls --color=auto'
alias grep='grep --color=auto'
debian系統的時候要在/etc/profile裏面進行設置
【10】find
[root@www ~]# find [PATH] [option] [action]
選項與參數:
1. 不時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明
-mtime n :n 爲數字,意義爲在 n 天以前的『一天以內』被更改過內容的文件
-mtime +n :列出在 n 天以前(不含 n 天自己)被改動過內容的文件;
-mtime -n :列出在 n 天以內(含n 天自己)被更改過內容的文件。
-newer file :file 爲一個存在參照物,列出比 file 還要新的文件
[root@www ~]# find / -mtime 0
# 那個 0 是重點!0 表明目前的時間,因此,從如今開始到 24 小時前,有改動過內容的文件都會被列出來
find / -mtime 3 #3天內改動過的文件
find / -name file –exec ls –l {} \;
文件的 Access time,atime 是在讀取文件或者執行文件時更改的。
文件的 Modified time,mtime 是在寫入文件時隨文件內容的更改而更改的。
文件的 Create time,ctime 是在寫入文件、更改全部者、權限或連接設置時隨 Inode 的內容更改而更改的。
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
【11】查看命令歷史
history
【12】環境變量
PATH命令搜索的路徑
export PATH=/usr/bin:/usr/local/zabbix/bin:/usr/local/php5/bin
【2.7】管道
grep
-c 只輸出匹配行的計數。
-i 不區分大小寫(只適用於單字符)。
-h 查詢多文件時不顯示文件名。
-l 查詢多文件時只輸出包含匹配字符的文件名。
-n 顯示匹配行及行號。
-s 不顯示不存在或無匹配文本的錯誤信息。
-v 顯示不包含匹配文本的全部行。
sort -r 反向排序
cut –d ‘分割符’ –f 取第幾段
uniq –c 計數
wc –l 統計多少行
【2.8】linux中的正則
&&且
||或
幾個概念:
1.基本正則表達式 擴展的正則表達式 (由普通字符+元字符組成)
2.通配 (由普通字符+元字符組成)
3.元字符
注意:正則表達式中元字符的意義和通配中元字符的意義有區別的
bash shell自己不支持正則表達式,使用正則表達式的是shell的一些命令和工具,如grep,sed,awk等等
可是bash可使用正則表達式中的一些元字符實現通配的功能,此時的這些元字符叫通配符。
此時通配中元字符的意義跟正則表達式中元字符的意義就不同了。
通配是指:將一個包含通配符的非具體的文件名擴展爲計算機,服務器,網絡上的一批具體的文件名的過程。
基本正則表達式中元字符的意義以下:
1. * 匹配*前面的那一個字符的0次或屢次
如hel*o heo helo hello helllo ......
2. . 匹配任意一個字符(只匹配一個,能夠是空格)
如ab. abc abd ab3 ab ......
3. ^ 匹配行首,行首的字符序列必須是^後的字符序列
如^suda sudahuhuhuuuuuhuuh sudaokokokokokoko ......
4. & 匹配行尾,行尾的字符序列必須是$前的字符序列
如suda$ jijijijijiiijijsuda lkokokokokjijhuhsuda ......
特殊的 ^$ 匹配一個空行
^.$ 匹配只有一個字符的空行
5. [] 匹配字符集合中的任意一個字符(只匹配一個)
如[1234] [1-4] 匹配1,2,3,4的任意一個字符
注意:^放在[]裏面時,再也不表示匹配行首,而是取反的意思
[^1234] [^1-4] 匹配不是1,2,3,4的任意一個字符
[a-z][A-Z]* 匹配任意一個英文單詞
6. \ 用於轉義元字符,使之成爲普通字符
如\* 此時*表示一個普通字符
7. \<\> 用於精確匹配
如\<the>\ 表示精確匹配the這個單詞,而不是them then等等
8.\{\}系列符號
\{n\} 匹配前面字符的n次
\{n,\} 匹配前面字符的至少n次
\{n,m\} 匹配前面字符的n-m次,至少n次,至多m次
如JO\{3\}B 匹配JOOOB
如JO\{3,\}B 匹配JOOOB JOOOOB ......
如JO\{3,6\}B 匹配JOOOB JOOOOB JOOOOOB JOOOOOOB
擴展的正則表達式中元字符的意義以下:
1. ? 匹配前面的那一個字符的0次或1次
如JO?B 匹配 JB JOB JOOB
2. + 匹配前面的那一個字符的1次或屢次
如JO+B 匹配 JOOB JOOOB ......
3. |與()一般結合使用,表示一組可選的字符集合
如re(a|o|e)d 匹配read reod reed
等同於re[aoe]d
通配中的元字符的意義以下:
1. * 表示任意多的任意字符
2. ? 表示一個任意字符
3. ^ 表示取反
4. [] 同正則表達式的用法
5. {} 表示一組表達式的集合 {}中表達式是或的關係
如ls -l {*.cpp , [1234]*.c} 列出知足表達式*.cpp或者[1234]*.c的文件。