新手必知linux基礎知識

1、用顏色代表不同文件

白色:普通文件

紅色:壓縮文件

藍色:目錄文件

淺藍色:鏈接文件

***:設備文件(/dev

綠色:可執行文件(/bin/sbin

粉紅色:圖片文件


2、目錄代表意義

符號

意義

.

當前工作目錄

..

父目錄

~

用戶家目錄

-

上個工作目錄


3、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

存放經常變動的數據,比如日誌、郵件等。


4、幾個特殊的文件系統

文件系統

掛載點

說明

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

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

用來創建虛擬內存,交換分區。

5、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.   ^     匹配行首,行首的字符序列必須是^後的字符序列
^a     abc      all   ......


4.   &     匹配行尾,行尾的字符序列必須是$前的字符序列
suda$      jijijijijiiijijsuda     lkokokokokjijhuhsuda   ......
特殊的  ^$      匹配一個空行
           ^.$    
匹配只有一個字符的空行(用於查看配置文件,^#|^$ .過濾掉空白和註釋)

            ^#    

5.   []    匹配字符集合中的任意一個字符(只匹配一個)
[a,b,c]      匹配a,b,c的任意一個字符

例:單詞trea可匹配。

注意:^放在[]裏面時,不再表示匹配行首,而是取反的意思
[^abc]  [^1-4]      
匹配不是a,b,c的任意一個字符
[a-z][A-Z]*  
匹配任意一個英文單詞

[0-9]代表數字(可利用與ip地址、郵件號等過濾)


6.   \     用於轉義元字符,使之成爲普通字符
\*       此時*表示一個普通字符


7.   \<\>     用於精確匹配
\<the>\      表示精確匹配the這個單詞,而不是them  then等等

8.\{\}系列符號
\{n\}      
匹配前面字符的n
\{n,\}      
匹配前面字符的至少n
\{n,m\}    
匹配前面字符的n-m次,至少n次,至多m


M\{3\}B    匹配MMMB
M\{3,\}B   匹配MMMB  MMMMB   ......
M\{3,6\}B  匹配MMMB  MMMMB   MMMMMB  ......


擴展的正則表達式中元字符的意義如下:
1.    
   匹配前面的那一個字符的0次或1
M?B      匹配   MB    MOB  MMOB

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的文件。


grep -E == egrep (擴展正則表達式)

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章