系統結構、文件尋址、文件管理、正則表達式

一、linux系統結構

1.linux是一個倒樹結構
linux中所有的東西都是文件
這些文件都在系統頂級目錄“/” /就是根目錄
/目錄以下爲二級目錄這些目錄都是系統裝機時系統自動建立的


2.二級目錄的作用
/bin
存放系統文件,如cat、mkdir、mv、cp、tar、chmod等
/boot
存放開機所需的文件,開機時載入開機程序,並影像到內存中
/dev
存放設備的文件,如sidk、dvd、hdc等
/etc
存放絕大多數linux系統引導所需的配置文件,如yum、conf、hosts、gconf等
/home
存放用戶賬號,系統管理員添加時,在此目錄下創建並默認有Desktop目錄
/lib
存放系統程序文件,含c編譯程序需要的數據庫,是一組二進制文件,如iptable
/mnt
常用掛載點,專門外掛系統文件的,裏面可能含有cdrom、hgfs、floopy
/opt
第三方程序安裝目錄,如QQ、Linux、Linux opera等
/proc
存記錄系統狀態的文件,meminfo、devices、cpuinfo、version、partitions等
/root
管理員目錄,存放Desktop
/sbin
超級管理員專用的目錄,包含一些重要的目錄,如shutdown、dump
/tmp
臨時文件,臨時性存儲,存在中間產生的文件
/usr
含其他一些重要內容,如bin、sbin、lib、include,且bin下含有gcc、Python。
/var
存放系統定義表,以便在系統運行改變時備份目錄,如cache、ftp、mail、www

二、文件的尋址

1.絕對路徑
文件在系統的真實位置,文件名字以“/”開頭

下圖創建的文件file1在多級目錄下,/home/student/Desktop是絕對路徑。



2.相對路徑
文件相對與當前所在位置的一個名字的簡寫,這個名字不會以/開頭,而且名字會自動添加pwd顯示的值


三、文件的管理 

 1.touch               ## 建立文件或修改文件時間戳

touch file             ##創建文件

在下圖中建立文件,通過stat file命令來體驗touch建立文件或修改時間戳的作用。Access後面的時間表示file被訪問的時間;Modify表示file被修改的時間(包括修改內容、文件權限等),Modify包含Change的作用;Change表i示file被改變的時間,如:修改權限。

##訪問文件、修改文件內容、改文件權限並沒有在該shell中操作,圖中沒有這些操作的命令。第二次輸入state file,Access時間改變是因爲,文件被訪問;第三次輸入state file,Modify時間改變是由於修改文件內容;Change時間變化了是由於改文件權限了。

     

2.mkdir           ## 建立目錄  

mkdir directory  ##創建目錄
 -p                     ##上級目錄不存在自動建立

下圖中的mkdir -p westos/linux/file表示在westos目錄下的linux目錄下創建file目錄,westos和linux不存在,需要加上-p。

3.rm         ##刪除目錄或文件

rm   -f       ##強行刪除不提示
        -r      ##刪除目錄

如下圖所示刪除目錄需要加-r。目錄Unitiled Folder被單引號(英文 )引起來是因爲目錄名中間含有空格。


當不加參數-f時,會有提示,輸入y回車則刪除,如下圖所示。


4.查看文件內容 

cat                                     ##將文件所有內容輸出到屏幕
  -b                                    ##不顯示空行的行號
  -n                                    ##顯示所有的行號
 less                                  ##將文件內容按頁/分頁顯示;當文件後綴特殊無法查看
   head                              ##查看文件的前十行
   head  -n                        ##查看文件的前n行
   tail                                 ##查看文件的後十行

   tail -n                            ##查看文件的後n行

如下圖所示,用cat查看文件的內容。


如下圖less查看file內容(file內容已被修改,故查出來與cat查看結果不同)

head和tail查看文件的內容如下圖所示


查看文件的第5行至8行的內容:

(1)head   -n  8    file   |   tail   -n  4


(2)sed   -n      '4,8p'  file



5.查看日曆

cal                                  ##查當前日曆

cal    -j      日月年          ##查看某年某月某日是該年的第多少天

使用如下圖所示    

6.vim 文本方式編輯文件

vim filename 進入到命令模式
命令模式不能編輯文件,如果要編輯文件要進入插入模式
按"i"進入插入模式
如果完成編輯,按”esc“推出插入模式,輸入”:wq“ 保存退出

vim filename 如果文件名字不存在,會自動創建

vim 沒有操作對象直接打開,編輯文件後要 :wq filename

輸入vim filename回車後,界面如下圖所示:


輸入i後才能開始輸入文件內容,界面如下圖所示:


當編輯結束,按鍵盤上的ESC,然後輸入“:wq”保存,回車後即回到shell界面。若編輯結束不想保存文件,但是希望強制離開,則輸入“:q!”。

注意:當因爲計算機突然關機、誤關閉窗口等致使vim編輯文件中斷,重新用vim編輯該文件時會出現下圖界面:

按E鍵可將之前編輯的內容恢復至該文件中,此時會回到shell界面。再次編輯該文件依舊會出現上圖的界面,按Q按鍵,然i後便能正常編輯該文件。

7.cd 切換工作目錄

cd directory         ##切換工作目錄到指定目錄

cd -                     ##切換工作目錄到之前所在目錄

cd ~                    ##切換到自己的家目錄
cd ~usernmae    ##切換到指定用戶家目錄

cd ..                   ##進入到當前目錄的上級目錄

8.ls 列出目錄或文件信息

ls                                                 ##如果後面沒有目標那麼默認目標爲當前目錄
ls direcory|filename                 ##列出文件或目錄內容
ls -d direcotry                            ##列出目錄本身
ls -l  filename|dorectory           ##列出文件或目錄裏面內容的屬性
ls -ld directory                           ##列出目錄本身屬性
ls -a                                            ##顯示目錄中的所有內容,包括以"."開頭的隱藏文件
ls -R                                           ##第歸顯示目錄中的內容

在桌面創建有file1文件、file2目錄,使用ls如下圖所示

9.cp 文件複製

cp是新建文件的過程

cp file file1 file2 ... directory     ###把file  file1 file2 複製到 directory中
cp file test                                  ###建立test文件模板爲file
cp -r directory direcotry1         ###複製目錄

cp  -p                                         ##複製文件或者目錄的時間,權限,所屬用戶、組的屬性信息

cp命令使用如下圖所示。

10.mv 移動或重命名

相同磁盤的mv是重命名,不同磁盤的mv是剪切過程

mv file file1 direcotry              ##移動file file1到directory中
mv 存在文件 不存在文件      ##重命名文件
mv westos/linux   .                  ##把westos中的linux移動到當前目錄 .代表當前目錄

mv使用如下圖所示

##cp是一個新建的過程,mv 相當於windows中的剪切。

四、正則表達式

*                 ###匹配0到任意字符
?              ###匹配單個字符

*與?的作用如下圖所示,?只能匹配一個字符,*可以匹配多規格字符


[[:alpha:]]           ###匹配單個字母
[[:lower:]]           ###匹配單個小寫字母
[[:upper:]]          ###匹配單個大寫字母
[[:digit:]]            ###匹配單個數字
[[:alnum:]]         ###匹配單個數字或字母
[[:punct:]]          ###匹配單個符號
[[:space:]]         ###匹配單個空格

{}表示不存在的或者存在的
{1..9}                 ###1-9
{a..f}                  ###a-f
{1,3,5}              ###135
{a,c,e}              ###a c e
{1..3}{a..c}       ###1a 2a 3a 2a 2b 2c 3a 3b 3c


如下圖所示,touch file{1..5}新建了5個文件,rm -rf file[1-3]表示刪除存在的文件1或文件2或文件3,最後留下了文件4和文件5。

[]表示存在的
[a-C]              ###aA bB cC
[a-c]              ###aA或者bB或者c
[1-3]             ###1或者2或者3
[145]           ###1或者4或者5
[^abc]|[!abc]         ###除了a並且除了b並且除了c


如下圖,建立文件{a..f},通過角號與!刪除了建立的文件

當我們新建了文件file{1..15},刪除文件命令如下圖所示。刪除命令有兩個目標,前面的目標可以刪除file{1..9},file[1-9][0-9]則可以刪除文件名後綴爲兩位數字的文件。


~                       ###當前用戶家目錄
~username       ###指定的用戶家目錄
~+                     ###當前目錄
~-                      ###當前目錄之前所在目錄

.                         ###當前目錄
..                        ###當前目錄的上一級

使用情況見下圖






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