Linux--目錄和文件管理(linux目錄結構,查看、統計及檢索文件,備份及恢復文檔,VI文本編輯器)

前言:

關於linux常用基礎命令,可以看一下之前寫的博客
鏈接: https://blog.csdn.net/m0_47219942/article/details/106669959.

一:Linux目錄結構

1.1:樹形目錄結構

FHS(Filesystem Hierarchy Standard,目錄層次標準)定義了兩層規範:

第一層是“/”目錄下的各個目錄應該放什麼數據文件。例如,/etc目錄下放置系統的配置文件,而/bin 和/sbin 放置程序及系統命令。

第二層是針對/usr 和/var 這兩個目錄的子目錄來定義,例如:/var/log下放置系統日誌文件等。

CentOS系統中的目錄和文件數據被組織爲一個樹形目錄結構,所有的分區,目錄,文件等都具有一個相同的位置起點—根目錄。CentOS系統定位文件或目錄位置時,使用斜槓“/”進行分隔(區別於Windows系統中的反斜槓“")。整個樹形目錄結構中,使用獨立的一個”/“表示根目錄,根目錄是CentOS文件系統的起點,其所在的分區稱爲根目錄。根目錄下,CentOS系統將默認建立一些特殊的子目錄,分別具有不同的用途。

1.2:根目錄

1.所有分區,目錄,文件等的位置七點

2.整個樹形目錄結構中,使用獨立的一個“/”表示

1.3:常見的子目錄及其作用

子目錄 作用
/root 系統管理員root的宿主目錄
/home 普通用戶的宿主目錄
/bin 所有用戶可執行的命令。bin是binary的縮寫,這一目錄存放了所有用戶都可以執行的且經常使用的命令。如cp,ls
/sbin 管理員可執行的管理命令。存放系統中最基本的管理命令
/boot 系統內核、啓動文件。啓動分區(grub啓動菜單,壓縮內核等。)此目錄是系統內核存放的目錄,同時也是系統啓動時所需文件的存放目錄。
/usr 應用程序。啓動程序目錄。存放其他的用戶應用程序,通常還被劃分成很多子目錄,用於存放不同類型的應用程序。
/etc 配置文件目錄。此目錄保存有關係統設置與管理的文件。
/var 日誌文件等。可變長文件(日誌),存放系統中經常需要變化的一些文件,如系統日誌文件,用戶郵箱目錄等。
/dev 設備文件目錄(磁盤,光驅等)。此目錄保存了接口設備文件。
/tmp 臨時文件
/proc 硬件信息(CPU,內存)
/lib 服務管理文件(systemctl)/lib/systemd/sysem/

二:查看及檢索文件

2.1:查看文件內容

2.1.1:Cat命令查看文件內容—顯示並連接(concatenate)文件的內容

Cat /etc/hosts
Cat /etc/sysconfig/network
Cat /redhat-release
Cat /proc/version
cat命令用途 cat命令短板
顯示出文件的內容。cat命令本來用於連接多個文件的內容,但在實際使用中更多的用於查看文件內容。cat命令是應用最爲廣泛的文件內容查看命令。 無法翻頁,當文件中內容較多時,很可能只能看到最後一部分信息,而前面的內容來不及看到。
cat命令的基本使用格式
cat [選項]文件名  可以同時查看多個文件的內容,可以添加多個文件路徑作爲查看對象。
例如:查看網卡配置文件中的內容,並瞭解其配置信息。
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
例如:查看多個文件內容
[root@localhost ~]# cat /etc/passwd /etc/passwd-

在這裏插入圖片描述

2.1.2:more命令

使用cat命令可以非常簡單的直接顯示出整個文件的內容,但是當文件中的內容較多時,很可能只能看到最後一部分信息,而文件前面的大部分內容卻來不及看到。這時候就出現了more和less命令,通過採用全屏的方式分頁顯示文件,便於我們從頭到尾仔細的閱讀文件內容。

more命令是較早出現的分頁顯示命令,表示文件內容還有更多(more)的意思。less命令是較晚出現的分頁顯示命令,提供了比早期more命令更多的一些擴展功能。兩個命令的用法基本相同。

more命令的基本使用格式
more [選項]文件名
例如:分屏查看/etc/passwd 的內容
[root@localhost ~]# more /etc/passwd
more命令交互操作方法 功能
Enter鍵 向下逐行滾動
空格鍵 向下翻一屏
b鍵 向上翻一屏
q鍵 退出
more命令用途 分屏顯示
全屏方式分頁顯示文件內容,解決了無圖形化界面只能看到尾頁信息的問題。 在左下角顯示當前內容在整個文件中的百分比。

在這裏插入圖片描述

2.1.3:Less命令查看文件內容

與more命令相同,但more左下角顯示的是百分之幾的內容,在最後一頁時會直接退出,此時無法向上查看文件的內容,而less不會顯示百分之幾,不會直接退出可以向上翻看,擴展功能更多

less命令交互操作方法 功能
Page Up鍵/Page Down鍵 向上翻頁/向下翻頁
/鍵 查找內容
n鍵 下一個內容
N鍵 上一個內容

其他功能與more命令基本相似

less命令的基本使用格式
less [選項]文件名
例如:分屏查看 /etc/passwd 的內容
[root@localhost ~]# less /etc/passwd

在這裏插入圖片描述

2.1.4:head命令

head 和tail是一對作用相反的命令,前者用於顯示文件開頭的一部分內容,後者用於顯示文件末尾的一部分內容,可以使用“n”選項(n爲具體的行數)指定需要顯示多少行的內容。若不指定行數,默認只顯示十行。

head命令的基本使用格式
head -n 文件名
例如顯示目標文件“/etc/passwd的頭四行”
[root@localhost ~]# head -4 /etc/passwd

在這裏插入圖片描述

2.1.5:tail命令

tail命令與head命令正好相反,用戶查看文件末尾的內容。tail命令通常用來查看系統日誌(因爲較新的日誌記錄總是添加到文件最後),以便觀察網絡訪問,服務調試等相關信息。配合“-f”選項使用時,還可以跟蹤文件尾部內容 的動態更新,便於實時監控文件內容的變化。

例如,一下操作可以查看系統公共日誌文件/var/log/message的最後十行內容,並在末尾跟蹤顯示改文件中的新紀錄的內容。(按Ctrl + C 組合鍵終止)。

[root@localhost ~]# tail -f /var/log/messages
tail命令的基本使用格式
tail -n 文件名 或者 tail -f  文件名

2.1.6:init命令功能(Linux操作系統補充命令)

命令 功能
init 0 關機
init 1 單用戶模式(系統維護,破解密碼)
init 2 多用戶模式沒有網絡
init 3 多用戶有網絡
init 4 保留
init 5 多用戶模式圖形化界面,且有網絡
init 6/reboot 重啓

2.2:統計和檢索文件內容

在維護Linux系統的過程中,除了查看文件內容以外,有時候還需要對文件內容進行統計,或者查找符合條件的文本內容。

2.2.1:wc命令—統計文件內容

wc命令用於統計文件內容中包含的行數,單詞數,字節數等信息,使用文件名作爲參數,可以同時統計多個文件。

wc命令交互操作方法 功能
-c 統計文件中內容的字節數
-l 統計文件內容中的行數
-w 統計文件內容中的單詞個數(以空格或製表位作爲分隔)

在這裏插入圖片描述
使用不帶任何選項的wc命令時,默認將統計指定文件的字節數,行數,單詞個數(相當於同時使用-c , -l , -w 三個選項)

例如
[root@localhost ~]# wc /etc/passwd
41   79 2136 /etc/passwd
wc命令使用基本格式
wc [選項] 目標文件

當文件的行數,單詞數或字節數具有特定的意義時,使用wc命令可以巧妙的獲得一些特殊信息。

例如,Linux系統中的用戶賬號數據保存在/etc/passwd文件中,其中每一行記錄對應一個用戶,則我們可以統計出當前Linux系統中擁有的用戶賬號數量。

[root@localhost ~]# wc -l /etc/passwd
41 /etc/passwd

若將wc命令與管道符號一起使用,還可以對命令輸出結果進行統計,例如,若要統計/etc/目錄下包含多少個擴展名爲“.conf"的文件,可以先通過”find /etc-name"*conf 命令找出符合條件的文件位置,由於find命令輸出結果也是每行一個文件記錄,因此只需結合管道符號執行“wc -l”操作即可的粗符合條件的文件數量。

[root@localhost ~]# find /etc-name"*.conf" | wc -l

2.2.2:檢索和過濾文件內容grep命令

grep命令用於在文件中查找並顯示包含指定字符串的行,可以直接指定關鍵字符串作爲查找條件,也可以使用複雜的條件表達式(例如,“^word”標識以word開頭,“wordKaTeX parse error: Expected group after ‘^’ at position 14: "“表示以word結尾,”^̲"表示空行)。

grep命令的使用基本格式
grep [選項] 查找條件目標文件
例如:在文件中查找包含“a”字符串的行
[root@localhost ~]# grep "a" /etc/passwd 
grep命令交互操作方法 功能
-i 查找內容時忽略大小寫
-v 反轉查找,即輸出與查找條件不相符的行
查找條件設置(要查找的字符佔以雙引號括起來) 解釋
“^…"" 表示以…開頭
”…$“ 表示以…結尾
“^$” 表示空行

在這裏插入圖片描述

三:備份與恢復文檔

在Linux系統中,最簡單的文件和目錄備份工具就是cp複製命令。但是當需要備份的文件,目錄數量較多時,僅僅使用cp命令就力不從心,且備份出來的文件數量及空間都會對服務器你產生不小的壓力。面對這種情況,我們選擇壓縮和歸檔。

gzip和bzip2是Linux系統中使用最多的兩個壓縮工具,這兩個命令都可以壓縮指定的文件,或者將已經壓縮過的文件進行解壓。

3.1:gzip壓縮命令

使用gzip製作的壓縮文件默認的擴展名爲“.gz”。

gzip 和 bzip 2命令交互操作方法 功能
-9 壓縮文件
-d 解壓文件
gunzip= gzip -d 解壓文件
gzip * 對該目錄下所有文件進行壓縮

例:gzip -9 11.txt.gz ####對壓縮包進行壓縮 -9表示高壓縮比

gzip -d 11.txt.gz ####對壓縮包進行解壓縮
在這裏插入圖片描述

3.2:bzip壓縮命令

yum  -y install bzip2^C         如果是沒有安裝bzip2,要安裝   

bzip2 -9 12.txt          ###對12.txt 進行壓縮 變爲12.txt.bz2  -9表示高壓縮比

bzip2 -d 12.txt.bz2      ###12.txt.bz2進行解壓縮

在這裏插入圖片描述

3.3:Zip壓縮命令

還有一種壓縮是微軟下常用的如XX.zip,這個如何解壓縮呢?

yum -y install unzip ###安裝解壓縮

yum -y install zip ###安裝壓縮

zip -r opt.zip /opt ###將/opt/目錄壓縮成opt.zip壓縮文件,放在/opt目錄下

unzip -n opt.zip -d /tmp  ###將壓縮文件opt.zip在指定目錄/tmp下壓縮,如果已有相同的文件存在,要求unzip命令不覆蓋原先文件

unzip 1.zip  ###將1.zip解壓到當前目錄下

在這裏插入圖片描述

3.4:tar命令—歸檔

tar命令主要用於對目錄和文件進行歸檔。

在實際的備份工作中,通常在歸檔的同時也會將包文件進行壓縮(gzip或bzip2),以便節省磁盤空間。

使用tar命令時,選項前的“-”號可以省略。

命令 解釋
-c(小c) 創建tar格式的包文件(常用)
-x 解開.tar格式的包文件(常用)
-v 顯示詳細信息(常用)
-f 執行(常用)
-t 列表查看包內的文件
-z 調用gzip程序進行壓縮或解壓(常用)
-j 調用bzip2程序進行壓縮或解壓(常用)
-C(大C) 解壓時指定釋放的目標文件夾(常用)
-p 打包時保留文件及目錄權限(小p)
-P 打包是保留文件及目錄的絕對路徑(大p)
案例 現在需要將/opt 進行打包壓縮 格式爲123.tar.bz2,打包文件放到/mnt
tar jcvf /mnt/123.tar.bz2 /opt/
案例 現在需要將123.tar.bz2 解壓到/mnt/123目錄下
tar jxvf /mnt/123.tar.bz2 -C /mnt/123
案例 現在需要將/opt 進行打包壓縮 格式爲123.tar.gz,打包文件放到/mnt
tar zcvf /mnt/123.tar.gz /opt/
案例 現在需要將123.tar.gz 解壓到/mnt/123目錄下
tar zxvf /mnt/123.tar.gz -C /mnt/123

在這裏插入圖片描述

四:VI文本編輯器

4.1:文本編輯器的作用

●創建或修改文本文件

●維護Linux系統中的各種配置文件

4.2:Linux中最常用的文本編輯器

●vi:類UNIX操作系統的默認文本編輯器
●vim: vim是vi文本編輯器(一般簡稱爲vi編輯器)的增強版本。

4.3:vi編輯器的工作模式

在這裏插入圖片描述

VI編輯器的工作模式 功能
命令模式 啓動vi編輯器後默認進入命令模式。在該模式中主要完成如光標移動,字符串查找,以及刪除,複製,粘貼文件內容等相關操作。
輸入模式 該模式中主要的操作就是錄入文件內容,可以對文本文件正文進行修改或添加新內容。處於輸入模式時,vi編輯器的最後一行會出現“–INSERT–”的狀態提示信息。
末行模式 該模式中可以設置vi編輯環境,保存文件,退出編輯器,以及對文件內容進行查找,替換等操作。處於末行模式時,vi編輯器的最後一行會出現冒號“:”提示符。
vi 123.txt            #編輯文本
鍵盤的上下左右鍵       #控制在哪裏編輯的
i                     #在哪裏插入的
刪除鍵(backspace)   #刪除內容的    
esc                   #退出編輯模式
:wq                   #保存並且退出
q!                    #不保存退出
<1>命令模式 (vi 文件名,就進入了命令模式。退出命令模式,可以在未行模式中輸入q)
        可以使用以下命令:
          dd:刪除一行                                            #常用
          u:撤回				#常用
          yy:複製一行
          p:小寫的p,將複製的行粘貼在光標所在行的下一行                    #常用
          P:大寫的p,將複製的行粘貼在光標所在行的上一行            
          x:刪除光標所在處字符(按着不動,先刪光標後面,在刪前面)  #常用
          r:替換光標所在處字符                                   #常用
          ZZ:保存退出                                               ##shift +z+z
          #G:可跳轉到文件中的第#行
          G:可跳轉到文件的最後一行
          1G或者gg:可跳轉到文件內容的第一行
          u:小寫的u,取消最近一次的操作
          U;:大寫的U,取消對當前行所做的所有編輯
 按(i、I、a、A,o,O就進入了編輯模式。退出編輯模式,按ESC退到命令模式)
        在此模式下可像在記事本中一樣,修改文件內容。
          a: 將在光標所在位置之後插入文本(append)           #常用
          A: 將在光標所在行末插入文本
          i: 將在光標所在位置之前插入文本(insert)           #常用
          I: 將在光標所在行的第一個非空字符前插入文本         # 通常是用來插入#鍵的 
          o: 將在光標所在行的下一行開始插入文本(open)       #常用
          O: 將在光標所在行的上一行開始插入文本               #常用
          g: 按2次,光標移動到文本首行
          G: 按1次,光標移動到文本末行                       #常用
<3>末行模式 (在命令模式中輸入:就進入了末行模式。退出編輯模式,按ESC退到命令模式)
    可以使用以下命令:
      :q退出命令模式      #不常用
      :w保存修改內容      #不常用
      :wq保存退出         #常用
      :q!不保存退出       #常用
    :set nu顯示行號       #常用
     :/abc查找abc這個字符,按n查找下一個,按N查找上一個    #常用 
     :e 新的文件。將直接打開當前用戶宿主目錄中的新的文件進行編輯
     :r 其他文件。在當前文件中讀入其他文件內容
     :[替換範圍] sub /舊的內容/新的內容[/g]
     例如:5,15 sub /initdefault/DEFAULT/g        若要將文檔中第5~15行中的“initdefault”字符串替換爲“DEFAULT”
     :% sub              使用%符號表示全部替換

4.4:命令模式中的基本操作

4.4.1:光標移動

操作類型 操作鍵 功能
方向移動 ↑ ,↓,←,→ 上,下,左,右
翻頁 Page Down 或Ctrl + F 向下翻動一整夜內容
翻頁 Page Up 或 Ctrl + B 向上翻動一整夜內容
行內快速跳轉 Home 鍵 或 “^“. 數字”0” 跳轉時行首
行內快速跳轉 End鍵 或 “$“ 跳轉到行尾
行間快速跳轉 1G 或 gg 跳轉到文件的首行
行間快速跳轉 G 跳轉到文件的末尾行
行間快速跳轉 #G 跳轉到文件中的第#行
行號顯示 :set nu 在編輯器中顯示行號
行號顯示 :set nonu或setno! 取消編輯器中的行號顯示

4.4.2:複製,粘貼,刪除

操作類型 操作鍵 功能
刪除 x 或 Del 刪除光標處的單個字符
刪除 dd 刪除當前光標所在行
刪除 #dd 刪除從光標所在行開始的#行內容
刪除 d^ 刪除當前光標之前到行首的所有字符
刪除 d$ 刪除當前光標處到行尾的所有字符
複製 yy 複製當前行整行的內容到剪切板
複製 #yy 複製從光標所在行開始的#行內容
粘貼 p(小寫的) 將緩衝區中的內容粘貼到光標位置處之後
粘貼 P(大寫的) 粘貼到光標位置處之前

4.4.3:文件內容查找

操作鍵 功能
/word 從上而下在文件中查找字符串“word”
?word 從下而上在文件中查找字符串“word”
n 定位下一個匹配的被查找字符串
N 定位上一個匹配的被查找字符串

4.4.4:撤銷編輯及保存退出

操作鍵 功能
u 按一次取消最近的操作,重複u鍵,恢復多步操作
U 用於取消對當前行所做的所有編輯
ZZ 保存當前的文件內容並退出vi編輯器

4.5:末行模式的基本操作

4.5.1:保存文件及退出vi編輯器

功能 命令 備註
保存文件 :w 保存修改的內容
保存文件 :w /root/newfile 另存爲其他文件
退出vi :q 未修改退出
退出vi :q! 放棄對文件內容的修改,並退出vi
保存文件退出 vi :wq 保存修改的內容並退出

4.5.2:打開新文件或讀入其他文件內容

命令 功能
:e ~/install.log 打開新的文件進行編輯
:r /etc/filesystens 在在當前文件中讀入其他文件內容

4.5.3:文件內容替換

命令 功能
:s /old/new 將當前行中查找到的第一個字符“old”串替換爲“new”
:s /old/new/g 將當前行中查找到的左右字符串“old”替換爲“new”
:#,# s/old/new/g 在行號“#,#”範圍內替換所有的字符串“old”爲“new”
:s /old/new/c 在替換命令末尾加入c命令,將對每個替換動作提示用戶進行確認
:% s/old/new/g 在整個文件範圍內替換所有的字符串“old”爲“new”
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章