Linux高頻命令精講(三)

【教程主題】:2.Linux高頻命令精講php

2.1Linux的運行方式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.4Linux的系統運行級別

0 - 系統關機狀態

1 - 單用戶工做狀態,用於維護。

2 - 多用戶模式(NFS未啓動

3 - 多用戶模式, 字符界面。

4 - 系統未使用,留給用戶自定義

5 – 多用戶模式,而且在系統啓動後運行X Window,給出一個圖形化的登陸窗口。

6 – 全部進程被終止,從新啓動

查看當前系統的運行級別

#runlevel

切換運行級別

#init[0123456]

2.5linux的目錄結構

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.42.6內核

sysfs

/sys

以文件系統的方式爲訪問系統內核數據的操做提供接口,2.6內核使用

tmpfs

/dev   /var/run

/var/lock

程序訪問共享內存資源時使用的文件系統

usbfs

/proc/bus/usb

訪問usb設備時使用的文件系統

devpts

/dev/pts

內核用來與僞終端(以遠程方式登錄)進行交互的文件系統

swap

內核使用的特殊文件系統,無掛載點

用來建立虛擬內存

2.6linux命令

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 一頁一頁的顯示檔案內容 

空格鍵 (space):表明向下翻一頁; 

Enter:表明向下翻『一行』; 

/字符串:表明在這個顯示的內容當中,向下搜索『字符串』這個關鍵詞; 

:f :馬上顯示出文件名以及目前顯示的行數; 

幫助

 [ctrl]-b :表明往回翻頁 

q:退出 

 

·  less  more 相似,less能夠往前翻頁! 

空格鍵:向下翻一頁; 

[pagedown]:向下翻一頁; 

 [pageup]:向上翻一頁; 

 /字符串:向下搜索『字符串』; 

?字符串 :向上搜索『字符串』; 

 n:重複前一個搜索 

N:反向的重複前一個搜索

h:幫助

 q:退出

 

head顯示文件開始幾行

用法:

head [options]  {file}

參數 :  n  number查看前幾行的值

tail顯示文件最後幾行

用法:

tail  [options]  {file}

參數 :  n  number 查看後幾行的值

             f    一直監視

 

7man 幫助文檔

路徑:/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裏面進行設置

10find

[root@www ~]# find [PATH] [option] [action] 

選項與參數: 

 

1. 不時間有關的選項:共有 -atime, -ctime 與 -mtime ,以 -mtime 說明 

   -mtime  n 爲數字,意義爲在 天以前的『一天以內』被更改過內容的文件

   -mtime +n :列出在 天以前(不含 天自己)被改動過內容的文件; 

   -mtime -n :列出在 天以內(天自己)被更改過內容的文件。 

   -newer file file 爲一個存在參照物,列出比 file 還要新的文件 

 

[root@www ~]# find / -mtime 0 

那個 是重點!表明目前的時間,因此,從如今開始到 24 小時前,有改動過內容的文件都會被列出來

find / -mtime 3  #3天內改動過的文件

find / -name file exec ls l {} \;

 

 

文件的 Access timeatime 是在讀取文件或者執行文件時更改的。

文件的 Modified timemtime 是在寫入文件時隨文件內容的更改而更改的。

文件的 Create timectime 是在寫入文件、更改全部者、權限或連接設置時隨 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 分割符 取第幾段

uniq 計數

wc 統計多少行

 

2.8linux中的正則

&&

||

幾個概念:
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]     匹配1234的任意一個字符
注意:^放在[]裏面時,再也不表示匹配行首,而是取反的意思
[^1234]  [^1-4]       匹配不是1234的任意一個字符
[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的文件。

相關文章
相關標籤/搜索