1. 程式人生 > >Linux學習文件

Linux學習文件

一、 linux檔案系統 
linux使用標準的目錄結構,在安裝的時候,安裝程式就已經為使用者建立了檔案系統和完整而固定的目錄組成形式,並指定了每個目錄的作用和其中的檔案型別。 
檔案系統樹狀結構如下: 
/  根目錄 
┏━━━┳━━━┳━━━┳━━┳━━━┳━━┳━━┳━━┳━━━┳━━━━━┳━━┓ 
bin   home     dev     etc     lib      sbin   tmp    usr    var  lost+found    root 
linux採用的是樹型結構。最上層是根目錄,其他的所有目錄都是從根目錄出發而生成的。微軟的DOS和windows也是採用樹型結構,但是在DOS和windows中這樣的樹型結構的根是磁碟分割槽的碟符,有幾個分割槽就有幾個樹型結構,他們之間的關係是並列的。但是在linux中,無論作業系統管理幾個磁碟分割槽,這樣的目錄樹只有一個。從結構上講,各個磁碟分割槽上的樹型目錄不一定是並列的。 

下面列出linux的一些主要目錄的功用 
/bin: 存放使用者命令檔案。 
/home:存放使用者主目錄檔案。     
/dev:存放裝置特殊檔案 。          
/etc:存放系統管理和配置檔案。 
/etc/rc.d:存放啟動的配置檔案和指令碼    
/lib: 存放標準程式設計庫,又叫動態連結共享庫。類似windows裡的.dll檔案 
/sbin:存放系統管理命令。   
/tmp:存放公用的臨時檔案儲存點。 
/root:存放系統管理員的使用者檔案。     
/mnt:存放讓使用者臨時掛載其他的檔案系統。 
/lost+found:用於存放系統非正常關機產生的零散檔案。 

/proc:存放虛擬的目錄,是系統記憶體的對映。 
/var:存放某些大檔案的溢位區,比方說各種服務的日誌檔案 。  
/usr:存放最龐大的目錄,要用到的應用程式和檔案幾乎都在這個目錄。 
Linux核心支援十多種不同型別的檔案系統,對於Red Hat Linux,系統預設使用ext2或ext3和swap檔案系統,下面對Linux常用的檔案系統作一個簡單介紹。 
ext2、ext3與swap檔案系統介紹: 
ext是第一個專門為Linux設計的檔案系統型別,稱為擴充套件檔案系統,在Linux發展的早期,起過重要的作用。由於穩定性,速度和相容性方面存在許多缺陷,ext現已很少使用。 
ext2是為解決ext檔案系統存在的缺陷而設計的可擴充套件、高效能的檔案系統,稱為二級擴充套件檔案系統。ext2於1993年釋出,在速度和CPU利用率上具有較突出的優勢,是GNU/Linux系統中標準的檔案系統,支援256個位元組的長檔名,檔案存取效能極好。 

ext3是ext2的升級版本,相容ext2,在ext2的基礎上,增加了檔案系統日誌記錄功能,稱為日誌式檔案系統。日誌式檔案系統在因斷電或其他異常事件而停機重啟後,作業系統會根據檔案系統的日誌,快速檢測並恢復檔案系統到正常的狀態,並可提高系統的恢復時間,提高資料的安全性。若對資料有較高安全性要求,建議使用ext3檔案系統。
swap檔案系統用於Linux的交換分割槽。在Linux中,使用整個交換分割槽來提供虛擬記憶體,其分割槽大小一般應是系統實體記憶體的2倍,在安裝Linux作業系統時,就應創分交換分割槽,它是Linux正常執行所必需的,其型別必須是swap,交換分割槽由作業系統自行管理。 

二、 linux命令介紹 
1. 檢視linux版本資訊 
1) uname –a 

2) lsb_release –a 

3) cat /proc/version 

4) cat /etc/issue 


2. ls 列出當前目錄內容 
格式:ls  [選項]   目錄或檔名 
-a:列出隱藏目錄和檔案。 
-c:按檔案最後修改時間排序。 
-t:按最後修改的時間排序(新的在前,舊的在後)。 
-l:列出檔案或目錄的詳細資訊。 

1) ls -al:以詳細方式列出所有檔案。 

2) ll:同ls -l類似 

3) ls /boot直接顯示boot目錄下檔案資訊 
4) ls / 顯示根目錄資訊 

5) ls -R 遞迴顯示所有目錄 

6) ls –ltr檢視目錄的所有檔案資訊(包括許可權資訊,同時排序) 
3. pwd 列出當前使用者所在目錄路徑 
格式:pwd 

1) pwd:顯示當前路徑。 


4. cd更改當前目錄路徑。 
1) cd:     返回到當前使用者的主目錄。注意cd後面緊跟冒號 
2) cd ..    返回到當前目錄的上一層目錄,例當前目錄為/home/user,使用該命令後將當前的目錄返回到/home下。注意cd後面有空格。 
3) cd ~   返回到當前使用者的主目錄,適合任何使用者。 
4) cd /    返回到根目錄 /目錄。 
5) cd ../..返回到當前目錄的父目錄,cd ../../..返回當前目錄的父目錄的父目錄,該命令可以類推。 

5. mkdir    建立目錄 
格式:mkdir   [選項]    目錄名 

-m: 數字 設定目錄許可權。 
-p:  建立父目錄並建立子目錄。 
1) mkdir -p li/document     如果li目錄不存在,則建立li目錄和document目錄。 

6. rmdir    刪除空目錄 
格式:rmdir   [選項]   目錄名 

1) rmdir –pv link/doc:刪除指定目錄和該目錄的祖先目錄(路徑中的目錄必須非空,只要有任何一級目錄不為空,則刪除目錄就會失敗) 

rm -rfv:遞迴刪除目錄(r表示遞迴刪除目錄及其內容,f表示ignore nonexistent files, never prompt, v表示詳細顯示進行的步驟) 

7. cp    複製目錄或檔案 
格式:cp   [選項]   原始檔目錄    目標檔案目錄 

-a: 複製目錄時保持檔案屬性。 
-f: 目標檔案存在時,則不加提示的覆蓋目標檔案。 
-i: 目標檔案存在時,則會讓使用者輸入"Y"來確認是否覆蓋。 
-r: 若源是一個目錄,那麼 cp將遞迴複製該目錄下所有子目錄和檔案。 

1) cp -arf:遞迴複製該目錄下的所有子目錄和檔案,且不加提示,同時保持檔案屬性。 

8. mv    移動或重新命名檔案或目錄 
格式:mv   [選項]    原始檔目錄    目標檔案目錄 

-f: 覆蓋目標檔案時不加提示。 
-i: 互動式操作,覆蓋時詢問。 

1) mv –vf test2 test3將test2檔名修改為test3,且打印出詳細資訊。 

2) mv –vf mulu2 mulu1將mulu2移動到mulu1中,且打印出詳細資訊。 

9. rm    刪除檔案或目錄 
格式:rm   [選項]    檔案目錄名 

-f: 刪除時不加提示。 
-r: 刪除目錄包括子目錄。 
-i: 互動式刪除。 
1) rm –rf 檔案或者資料夾名稱:刪除該目錄以及子目錄,且忽略不存在的檔案。 

2) rm –rfv doc1:刪除該目錄以及子目錄,且忽略不存在的檔案,同時打印出詳細資訊。 

10. cat    顯示檔案 
格式:cat    [選項]   檔名 


11. vi    全螢幕編輯器 
格式:vi   [引數]   [檔案] 

1) 重複操作命令 
Ctrl+r:重做上一個動作。(常用) 

2) 撤銷命令 
u:復原前一個動作。(常用) 

3) 進入vi的命令 
vi filename :開啟或新建檔案,並將游標置於第一行首 
vi +n filename :開啟檔案,並將游標置於第n行首 
vi + filename :開啟檔案,並將游標置於最後一行首 
vi +/pattern filename:開啟檔案,並將游標置於第一個與pattern匹配的串處 
vi -r filename :在上次正用vi編輯時發生系統崩潰,恢復filename 
vi filename....filename :開啟多個檔案,依次編輯 

4) 移動游標類命令 
h 或 向左方向鍵(←) :游標左移一個字元 
l 或 向右方向鍵(→) :游標右移一個字元 
k 或 向上方向鍵(↑) 或 Ctrl+p :游標向上移動一行 
j 或 向下方向鍵(↓) 或 Ctrl+n :游標向下移動一行 
0:(注意是數字零)游標移至當前行首 
$:游標移至當前行尾 
G:游標移至檔案最後一行首 
gg:游標移至第一行首 
nG:游標移至第n行首 
space:游標右移一個字元 
Backspace:游標左移一個字元 
Enter :游標下移一行 
w或W :游標右移一個字至字首 
b或B :游標左移一個字至字首 
e或E :游標右移一個字j至字尾 
) :游標移至句尾 
( :游標移至句首 
}:游標移至段落開頭 
{:游標移至段落結尾 
n+:游標下移n行 
n-:游標上移n行 
n$:游標移至第n行尾 
H :游標移至螢幕頂行 
M :游標移至螢幕中間行 
L :游標移至螢幕最後行 

5) 螢幕翻滾類命令 
Ctrl+b;向檔案首翻一屏 
Ctrl+f:向檔案尾翻一屏 
Ctrl+u:向檔案首翻半屏 
Ctrl+d:向檔案尾翻半屏 
nz:將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部。 

6) 插入文字類命令 
Esc:退出插入命令使用其他命令 
i,I:在目前的游標所在處插入輸入之文字,已存在的文字會向後 
a,A:a 為從目前游標所在的下一個字元處開始插入, A 為從游標所在行的最後一個字元處開始插入。(常用) 
o,O:o 為在目前游標所在的下一行處插入新的一行, O 為在目前游標所在處的上一行插入新的一行!(常用) 
r, R:r替換當前字元,R替換當前字元及其後的字元,直至按ESC鍵 
s,S:從當前游標位置處開始,以輸入的文字替代指定數目的字元,S刪除指定數目的行,並以所輸入文字代替之
ncw或nCW:修改指定數目的字 
nCC:修改指定數目的行 

7) 刪除命令 
x或X:刪除一個字元,x刪除游標後的,而X刪除游標前的 
Ctrl+u:刪除輸入方式下所輸入的文字 
dd:刪除遊標所在的那一整列(常用) 
ndd:n 為數字。刪除游標所在的向下 n 列,例如 20dd 則是刪除 20 列 (常用) 
ndw或ndW:刪除游標處開始及其後的n-1個字 
do:刪至行首 
d$:刪至行尾 
ndd:刪除當前行及其後n-1行 

8) 複製命令 
yy:複製遊標所在的那一行(常用) 
nyy:n 為數字。複製游標所在的向下 n 列,例如 20yy 則是複製 20 列(常用) 
y1G:複製游標所在列到第一列的所有資料 
yG:複製游標所在列到最後一列的所有資料 
y0:複製游標所在的那個字元到該行行首的所有資料 
y$:複製游標所在的那個字元到該行行尾的所有資料 
p, P:p 為將已複製的資料在游標下一行貼上,P 則為貼在遊標上一行! 舉例來說,我目前游標在第 20 行,且已經複製了 10 行資料。則按下 p 後, 那 10 行資料會貼在原本的 20 行之後,亦即由 21 行開始貼。但如果是按下 P 呢? 那麼原本的第 20 行會被推到變成 30 行。 (常用) 


9) 搜尋及替換命令 
/pattern:從游標開始處從上到下搜尋pattern 
?pattern:從游標開始處從下到上搜索pattern 
n:在同一方向重複上一次搜尋命令 
ddp:上下兩行的內容互換 
N:在反方向上重複上一次搜尋命令 
:s/p1/p2/g:將當前行中所有p1均用p2替代 
:n1,n2s/p1/p2/g:將第n1至n2行中所有p1均用p2替代 
:g/p1/s//p2/g:將檔案中所有p1均用p2替換 
:1,$s/word1/word2/g:n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字串,並將該字串取代為 word2  !舉例來說,在 100 到 200 行之間搜尋 vbird 並取代為 VBIRD 則: 『:100,200s/vbird/VBIRD/g』。(常用) 
:1,$s/word1/word2/g:從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2  !(常用) 
:1,$s/word1/word2/gc:從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2  !且在取代前顯示提示字元給使用者確認 (conform) 是否需要取代!(常用) 

10) 最後行方式命令 
:w              :儲存當前檔案 
:x              :儲存當前檔案並退出 
:q              :退出vi 
:q!             :不儲存檔案並退出vi 
:wq!            :強制寫入並儲存(前提是當前使用者有許可權改變檔案寫入許可權) 
:n1,n2 co n3:將n1行到n2行之間的內容拷貝到第n3行下 
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下 
:n1,n2 d :將n1行到n2行之間的內容刪除 
:e filename:開啟檔案filename進行編輯 
:!command:執行shell命令command 
:n1,n2 w!command:將檔案中n1行至n2行的內容作為command的輸入並執行之,若不指 
定n1,n2,則表示將整個檔案內容作為command的輸入 
:r!command:將命令command的輸出結果放到當前行 。 
12. grep   在文字中搜索指定的字串 
格式:grep  [options] [pattern] [檔案] 
[options]主要引數: 
-c:只輸出匹配行的計數。 
-I:不區分大小寫(只適用於單字元)。 
-h:查詢多檔案時不顯示檔名。 
-l:查詢多檔案時只輸出包含匹配字元的檔名。 
-n:顯示匹配行及行號。 
-s:不顯示不存在或無匹配文字的錯誤資訊。 
-v:顯示不包含匹配文字的所有行。 

[pattern]主要引數: 
\:忽略正則表示式中特殊字元的原有含義。 
^:匹配正則表示式的開始行。 
$: 匹配正則表示式的結束行。 
\<:從匹配正則表示式的行開始。 
\>:到匹配正則表示式的行結束。 
[ ]:單個字元,如[A]即A符合要求 。 
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。 
。:所有的單個字元。 
* :有字元,長度可以為0。 

1) grep –i [要搜尋的字串] [要搜尋的檔案],注意i表示忽略大小寫。例如:grep –i wo test.txt 

2) grep –l [要搜尋的字串] [要搜尋的檔案],注意l表示列出匹配的檔名。例如:grep -l wo test.txt 

相關推薦

Linux學習-管理(1)

詳細信息 src 最長 mod 展開 重新啟動 upper 填充 虛擬 文件管理——當你使用Linux時,大部分時間都會和文件打交道,我們需要了解基本的文件操作,如創建文件、刪除文件、復制文件、重命名文件以及為文件創建鏈接等。目錄 文件的組成 目錄結構

Linux學習-管理(2)

mdi 批量 字符 nbsp ren 交互 替換 mkdir -p txt 九、移動、重命名文件 mv 移動文件 格式:mv+源文件+目標 -i 交互式,覆蓋前提示 -f 強制覆蓋 rm 刪除文件和目錄 -i

linux學習(一)

很快就要去公司實習了,所以最近在惡補linux作業系統的東西。之前學校有專門的作業系統的課程,從作業系統的發展開始講起,然後講解作業系統的程序排程,記憶體管理,檔案系統等等知識。同時也有與之相匹配的作業系統課程設計實驗課,做了幾個小實驗。但現在好多linux的命令都忘光了,

Linux學習

一、 linux檔案系統  linux使用標準的目錄結構,在安裝的時候,安裝程式就已經為使用者建立了檔案系統和完整而固定的目錄組成形式,並指定了每個目錄的作用和其中的檔案型別。  檔案系統樹狀結構如下:  /  根目錄  ┏━━━┳━━━┳━━━┳━━┳━━━┳━

Linux(RedHat)基礎學習尋址與管理

fcc 強制 表示 命名 mv命令 追加內容 size tar tro 1.系統結構 Linux系統目錄結構 /:根目錄,linux系統中最高層目錄。在根目錄下的目錄叫

Linux(RadHat)基礎學習權限

chgrp 訪問 用戶權限 文件屬性 vpd 冒險位 images ont use 文件權限的意義:系統最底層安全設定方法之一,保證文件可以被可用的用戶作相應操作 1.文件屬性的查看 ls -l filename 等同於 ll filename (文件屬性) ls

Linux(RadHat)基礎學習傳輸

文件歸檔 路徑 遠程同步 syn code tar.xz mnt 文件上傳 進行 1.scp傳輸 scp:遠程復制傳輸,速度很慢 目錄上傳: scp -r 目錄 用戶名@主機ip:絕對路徑 文件上傳 scp 文件 用戶名@主機ip:絕對路徑 遠程下

linux centos7 掛載學習記錄

沒有 app 找不到 highlight root logical proc fir page 概念 我理解掛載就是將磁盤和目錄關聯起來,當然也可以目錄和目錄關聯 使用 通過fdisk可以查看磁盤分區情況 fsdisk -l   查詢結果 [root@lazy ~]#

linux 縮減系統大小 LVM

linux 文件系統 縮減   lvreducelinux縮減文件系統大小 LVM實驗環境:(1)操作系統:centos6.7 i686(2)VMware Workstation 12版本(3)實驗硬盤大小5G先查看下當前磁盤使用情況:增加大小為5G的虛擬硬盤:建立文件系統:(1)主要步驟如下:

Linux C,讀寫函數

err urn view stdlib.h ungetc put stream end linu C標準庫提供的用於讀寫文件的函數非常多,大多數函數都在stdio.h中聲明. fread/fwrite,fgets/fputs,fgetchar/fputchar,fprint

linux根目錄夾的作用

etc 查看 應用程序 linu 重啟 系統 通用 fdisk 情況 1.如何查看磁盤分區和使用情況   fdisk:查看硬盤分區表   df:查看分區使用情況   du:查看文件占用空間情況 2.根目錄文件作用介紹 / 根目錄 /bin 做為基礎系

linux-統計中相同行的數量

bsp linux tro nbsp strong images src 統計文件 png cat sorttest | sort | uniq -c sorttest文件內容如下 linux-統計文件中相同行的數量

Linux夾的作用

獲取系統信息 linux中 普通用戶 中新 linux 系統 系統識別 selinux srv 已經有一個星期沒有寫隨筆了,上個星期項目上線再加上研究了一個星期的mysql,所以上個星期沒有更新隨筆。以後一定要堅持更新!! -------------------------

Linux最大連接數

最大 -a 打開 當前 線程 class 重啟 連接 style Too many open files ==================================== 查看當前操作系統連接數設置 ulimit -a ========

[CentOS 7系列]linux系統類型

linux 文件夾 而且 ls命令是linux下最常用的命令。ls命令就是list的縮寫。通過ls 命令不僅可以查看linux文件夾包含的文件,而且可以查看文件權限(包括目錄、文件夾、文件權限)查看目錄信息等等。1.命令格式: ls [選項] [目錄名]2.命令功能: 列出目標目錄中所

Linux統計行數

分析 demo 過濾 同時 fin inux gre 舉例 令行 語法:wc [選項] 文件… 說明:該命令統計給定文件中的字節數、字數、行數。如果沒有給出文件名,則從標準輸入讀取。wc同時也給出所有指定文件的總統計數。字是由空格字符區分開的最大字符串。 該命令各選項含義如

linux 判斷被其他進程占用

電視 網絡端口 max amp 原因 opendir 結果 lose href 客戶需要將轉碼器中電視直播頻道的hls切片轉存出來,在拷貝文件時,需要判斷該切片文件是否正在被寫入,否則拷貝出來的切片文件不完整。 linux下程序fuser有這個功能,源碼在psmisc包裏,

<Linux> 夾右下角有鎖,解鎖

text https href user targe vps amp 路徑 pyw sudo chown -R $USER 文件夾路徑 例如:sudo chown -R $USER ~/scala<Linux> 文件夾右下角有鎖,解鎖

Linux日誌utmp、wtmp、lastlog、messages

退出 truct utmp 運行 字段 ... 會話 都是 cond 1、有關當前登錄用戶的信息記錄在文件utmp中;==who命令  2、登錄進入和退出紀錄在文件wtmp中;==w命令  3、最後一次登錄文件可以用lastlog命令察看;  4、messages====

Linux新建和目錄

linux 入門 命令本篇博客如果有寫的不足的地方還望讀者不吝賜教介紹一下博客裏的符號:[]裏的東西都不是固定的,...表示可以有多個! 文件的基本知識文件的元數據:非文件的組成部分,包括:文件名、大小、類型、權限、屬主屬組、文件的時間戳文件的數據:文件裏的內容(文件的組成部分) 文件的三個時間戳access