1. 程式人生 > >Linux目錄和檔案管理

Linux目錄和檔案管理

linux目錄結構:

FHS(filesystem hierachy standard 目標層次標準)定義了兩層規範:

第一層是“/”目錄下的各個目錄應該放什麼資料檔案。

第二層是針對/usr和/var這兩個目錄的子目錄來定義。

根目錄:

所有分割槽,目錄,檔案等的位置起點

整個樹形目錄結構中,使用獨立的一個''/"表示

常見子目錄及作用:

/root:系統管理員root的宿主目錄    (預設情況下只有root使用者的宿主目錄在根目錄下而不是在“/home”目錄下)

/bin:所有使用者可執行的命令 (絕對不可以單獨劃分一個分割槽掛載到它下面去)

/boot:系統核心,啟動檔案 (存放的是和系統啟動相關的檔案,可以劃分單獨的一個分割槽,也可以不單獨劃分。/boot不能出現在lvm邏輯卷分割槽裡)

/dev:裝置檔案 (不可單獨劃分一個分割槽)

/etc:配置檔案  (絕對不可以單獨劃分一個分割槽)

/home:普通使用者的宿主目錄  (用來儲存家目錄的目錄,不是家目錄)

/var:日誌檔案等  (存放資料庫和日誌檔案,以及一些快取檔案,存放都是經常變化型的檔案)

/usr:應用程式  (可以單獨劃分一個分割槽)

/sbin:管理員可執行的管理命令  (不可以單獨劃分一個分割槽)

檢視檔案內容cat命令

拓展:> 為覆蓋寫入   >>為追加寫入   皆為重定向符號

cat命令用途:顯示檔案內容

more命令用途:全屏方式分頁顯示檔案內容

more 【選項】 檔名..

less命令用途:與more命令相同,但是擴充套件功能更多

less 【選項】 檔名...

head命令用途:檢視檔案開頭的一部分內容(前10行)

tail命令用途:檢視檔案末尾的一部分內容(後10行)

cat 一次性顯示所以的內容  -n檔名  顯示檔案行數

more 分頁顯示

less 分頁顯示,但是有查詢功能

head 只顯示前幾行內容  預設是前10行

tail 只顯示檔案末尾的內容 預設是末尾10行  -f 跟蹤檔案尾部內容的動態更新

wc命令用途:統計檔案中的單詞數量等資訊

wc [選項]... 目標檔案...   -l 統計行數   -c 統計位元組數  -w統計單詞個數

grep命令用途:在檔案中查詢並顯示包含指定字串的行

grep [選項]...  查詢條件 目標檔案  -i 查詢時忽略大小寫  -v反轉查詢,輸出與查詢條件不相符的行

“^...”開頭  “...$”結尾  ^$表示空行

gzip命令 bzip2命令用途:製作壓縮檔案,解開壓縮檔案

常用命令:-9 最大級別   -d解壓縮

gzip -9 檔名...

bzip2 -9 檔名... 

gzip -d  目錄.gz

bzip2 -d 目錄 .bzip2

example:

find / -uid 101 -exec rm -rf {} \;

檢視系統裡面uid為1001的檔案,並執行下面操作:全部刪除

-exec:執行下面操作;

{}:前面命令的結果值;

"\;" :結尾固定命令格式

example2:

find / uid 1001 -exec mv {} /opt \;

將查詢到的內容全部全部移到opt

tar命令用途:製作歸檔檔案,釋放歸檔檔案 / 製作壓縮包檔案,解壓壓縮包檔案

tar 【選項】... 歸檔檔名  原始檔或目錄(製作壓縮包檔案的命令)

tar【選項】...歸檔檔名 【-C目錄目標】(解壓壓縮包檔案的命令)

選項:

c:建立.tar格式的包檔案 (壓縮)

x:解開.tar.格式的包檔案(解壓縮)

t:列表檢視包內的檔案(檢視壓縮後)

z:呼叫gzip程式進行壓縮或解壓

j:呼叫bzip2程式進行壓縮或解壓

v:輸出詳細資訊

f:表示使用歸檔檔案

P:打包時保留原始檔案及目錄的許可權

C:解包時指定釋放的目標資料夾

注:固定引數是vf

czvf為歸檔gzip檔案

cjvf為歸檔bzip2檔案

tjvf檢視bzip2格式檔案

tzvf檢視gzip格式檔案

xf  檔名.bz2  -C  /目錄 解壓bzip2檔案

xf  檔名.gz -C  /目錄  解壓gzip檔案

文字編輯器vi命令的作用:

建立或修改文字檔案

維護linux系統中的各種配置檔案

vi:類unix作業系統的預設文字表機器

vim:vim是vi文字編輯器(一般簡稱為vi編輯器)的增強版本

vi編輯器的三種工作模式:

命令模式,輸入模式,末行模式

不同模式的切換:

vi 檔名:命令模式

i,a,o Esc:輸入模式

:和Esc:末行模式

命令模式進入到輸入模式:

a:在游標後輸入內容

A:在當前行的末尾輸入內容

o:在當前行的下面輸入內容

O:在當前行的上面輸入內容

i:在游標處輸入內容

I(大寫i):在當前行的行首輸入內容

命令模式下的跳轉命令:

G(shift+g):跳到檔案的最後一行

gg/1G:回到檔案的第一行行首;example:10gg(調到檔案的第10行)

H:跳到當前螢幕的第一行

M:跳到當前螢幕的中間

L:跳到當前螢幕的最後一行

w:一個單詞一個單詞的向右跳

b:一個單詞一個單詞的向左跳

命令模式下的複製和貼上命令:

yy:複製當前行 example:10yy:從當前行開始向下複製十行

p:將緩衝區中的內容貼上到游標位置處之後

P:貼上到游標位置之前

命令模式下刪除\撤銷\替換命令:

dd:刪除當前行 example:10dd:從當前開始向下刪除10行

x/del:刪除游標處的一個字元

u:撤銷上一步

U:用於取消對當前所做的所有編輯

ZZ:儲存當前的檔案內容並退出vi編輯器
ctrl+r:反撤消
r b:把游標所在處的字元替換成b;r n:把游標處的字元替換成n
R:從游標處連續向右替換直到按esc鍵停止  (游標處開始替換模式)

命令模式下檔案內容查詢:
/word:從上而下在檔案中查詢字串“word”
?word:從下而上在檔案中查詢字串“word”
n:定位下一個匹配的被查詢的字串
N:定位上一個匹配的被查詢的字串

輸入模式
就是寫入文字內容

末行模式儲存和退出:
w:儲存
w  aa.log:把當前檔案另存為aa.log 放到當前目錄
w  /tmp/ab.log:把當前檔案另存為ab.log放到/tmp目錄
q:退出
wq:儲存後退出 和x一樣
q!:不儲存退出
1090,1096  w  1090.log :把當前檔案的1090行到1096行,另存到當前目錄的1090.log中
1085,1088s  /^/#/g:在1085行到1088行的行首輸入#
%s  /^/#/g:所有行的行首輸入#
1085,1088s  /^#//g:在1085行到1088行的行首去掉#
:set nu:顯示行號   (臨時顯示)
:set nonu:不顯示行號

開啟新檔案或讀入其他檔案內容
e  /home/a.txt:在當前檔案下,開啟新的檔案進行編輯;
q!:兩個檔案都退出來了
:r  aa.log:把當前目錄下的aa.log檔案讀取到當前檔案中,起到檔案合併的效果

:w 目錄:儲存

cat  /目錄  /目錄 >> / 目錄  儲存

檔案內容替換
s /old/new:將當前行中查詢到的第一個字串“old”替換為“new”
s /old/new/g:將當前行中查詢到的所有字串“old”替換為“new”
#,# s/old/new/g:在行號"#,#"範圍內替換所有的字串“old”為“new”
% s/old/new/g:在整個檔案範圍內替換所有的字串“old”為“new”
%s /^c/C/g:把當前文件中所有以c開頭的內容替換成C
s /old/new/c:在替換命令末尾加入c命令,將對每個替換動作提示使用者進行確認