Linux目錄與文件操作方式
一、Linux目錄
1.Linux目錄結(jié)構(gòu)
- Linux目錄結(jié)構(gòu)是樹(shù)形目錄結(jié)構(gòu)。

2.根目錄
- 是所有分區(qū)、目錄、文件的起始起點(diǎn)。
- 整個(gè)樹(shù)形結(jié)構(gòu)中,使用獨(dú)立的一個(gè)"/"表示
3.常見(jiàn)的子目錄與作用
| 目錄 | 作用 |
|---|---|
| /root | 管理員用戶root的宿主(家)目錄 |
| /home | 普通用戶的宿主(家)目錄 |
| /boot | 存放系統(tǒng)內(nèi)核、啟動(dòng)文件 |
| /dev | 存放設(shè)備文件(硬盤、光盤等) |
| /etc | 存放配置文件 |
| /bin | 存放所有用戶可執(zhí)行的命令文件 |
| /sbin | 存放管理員可執(zhí)行的命令文件 |
| /usr | 存放系統(tǒng)用戶工具和應(yīng)用程序 |
| /var | 存放可變化的文件、日志等文件 |
| /lib | 存放系統(tǒng)程序的的動(dòng)態(tài)鏈接共享庫(kù)文件(依賴等) |
| /media | 存放可卸載的的媒介掛載點(diǎn)(u盤、光驅(qū)等) |
| /proc | 存放映射系統(tǒng)信息的文件 |
| /mnt | 存放臨時(shí)掛載儲(chǔ)存設(shè)備 |
| /opt | 第三方應(yīng)用程序安裝的目錄 |
| /tmp | 存放系統(tǒng)臨時(shí)文件 |
二、文件操作
1.文件內(nèi)容操作命令
1.1 cat 命令 - 查看文件內(nèi)容
- 用于直接顯示出整個(gè)文件的內(nèi)容
ps:cat命令只能讀,不能寫入,全量展示。
cat "選項(xiàng)" "目標(biāo)文件"
例:
cat /etc/sysconfig/network cat hello.txt
| 常用選項(xiàng) | 解釋 |
|---|---|
| -n | 對(duì)所有輸出的行數(shù)進(jìn)行編號(hào) |
| -b | 對(duì)輸出的空白行之外的行數(shù)進(jìn)行編號(hào) |
| -s | 對(duì)所有連續(xù)的空行替換為一個(gè)空行 |
1.2 more 命令 - 查看文件內(nèi)容
- 用于以全屏方式分頁(yè)顯示文件內(nèi)容
more "選項(xiàng)" "目標(biāo)文件"
| 鍵盤操作 | 解釋 |
|---|---|
| Enter | 向下逐行滾動(dòng) |
| Space | 向下翻頁(yè) |
| b | 向上翻頁(yè) |
| q | 推出 |
ps:下翻到最后一頁(yè)后會(huì)自動(dòng)退出
結(jié)合管道操作使用時(shí)(例如ls -R /etc | more )無(wú)法向上翻頁(yè)
1.3 less 命令 - 查看文件內(nèi)容
- 與more命令相同,但擴(kuò)展功能更多。(更常用)
less "選項(xiàng)" "目標(biāo)文件"
| 鍵盤操作 | 解釋 |
|---|---|
| Page Up | 向上翻頁(yè) |
| Page Down | 向下翻頁(yè) |
| "↑"方向鍵 | 向上逐行滾動(dòng) |
| "↓"方向鍵 | 向下逐行滾動(dòng) |
| "/"鍵 | 查找內(nèi)容 |
|---|---|
| n | 下一個(gè)內(nèi)容 |
| N | 上一個(gè)內(nèi)容 |
其他功能與more命令基本一致
ps:下翻到最后一頁(yè)時(shí)不會(huì)自動(dòng)推出
結(jié)合管道操作可以向上翻頁(yè)
1.4 head、tail 命令 - 查找文件內(nèi)容
1.4.1 head 命令
- 用于查看文件開(kāi)頭的一部分內(nèi)容
head -n "行數(shù)" "目標(biāo)文件"
1.4.2 tail 命令
- 用于查看文件結(jié)尾的少部分內(nèi)容
tail "選項(xiàng)" "目標(biāo)文件"
| 選項(xiàng) | 解釋 | |
|---|---|---|
| -n | n=尾行數(shù)(例:tail -2 xxx) | 查看結(jié)尾n行的內(nèi)容 |
| -f | 或-nf ,n=尾行數(shù) | 跟蹤查看文件尾部動(dòng)態(tài)更新的尾行內(nèi)容 |
例:
tail -5f /var/log/messages
跟蹤查看messages文件內(nèi)結(jié)尾5行的動(dòng)態(tài)更新內(nèi)容
1.5 wc 命令 - 統(tǒng)計(jì)文件內(nèi)容
- 用于統(tǒng)計(jì)文件中的單詞數(shù)量、行數(shù)等信息
wc "選項(xiàng)" "目標(biāo)文件"
| 常用選項(xiàng) | 解釋 |
|---|---|
| -l | 統(tǒng)計(jì)行數(shù) |
| -w | 統(tǒng)計(jì)單詞個(gè)數(shù) |
| -c | 統(tǒng)計(jì)字節(jié)數(shù) |
ps:使用wc "文件"時(shí)(不帶選項(xiàng)),默認(rèn)同時(shí)使用 -l -w -c (-lwc)選項(xiàng)
1.6 grep 命令 - 檢索和過(guò)濾文件內(nèi)容
- 在文件中查找并顯示包含指定字符串的行
grep "選項(xiàng)" "查找條件" "目標(biāo)文件"
| 選項(xiàng) | 解釋 |
|---|---|
| -i | 查找時(shí)不區(qū)分大小寫 |
| -v | 顯示不包含匹配本文的所有行(反向查詢、反向匹配) |
| -n | 顯示匹配行及行號(hào) |
| -c | 只輸出匹配到的總行數(shù)(非匹配目標(biāo)的個(gè)數(shù)) |
| -e | 實(shí)現(xiàn)多個(gè)查找條件的匹配(邏輯or關(guān)系) |
| -E | 支持使用擴(kuò)展正則表達(dá)式,相當(dāng)于egrep命令 |
| -o | 只輸出匹配的文字內(nèi)容 |
| 查找條件 | 解釋 |
|---|---|
| "n" | 查找含有n的行 |
| "^n" | 匹配以n開(kāi)頭的行 |
| "n$" | 匹配以n結(jié)尾的行 |
| "^$" | 匹配空行 |
2.壓縮、解壓縮命令
2.1 gzip、bzip2 - 壓縮命令
制作壓縮文件:
- gzip "選項(xiàng)" "目標(biāo)文件"
- bzip2 "選項(xiàng)" "目標(biāo)文件"
| 常用選項(xiàng) | 解釋 | |
|---|---|---|
| -n | n=1~9中的數(shù)字(例:gzip -9 xxx) | 設(shè)置壓縮級(jí)別(壓縮比) |
| -d | 例:bzip2 -d xxx | 用于解壓縮文件 |
ps:壓縮后源文件會(huì)消失
2.2 gunzip、bunzip2 - 解壓縮命令
用于解壓縮文件
- gunzip "選項(xiàng)" "目標(biāo)文件"
- bunzip2 "選項(xiàng)" "目標(biāo)文件"
ps:gunzip 等同于 gzip -d 、bunzip2 等同于 bzip2 -d
解壓后的源壓縮文件會(huì)消失
2.3 tar 命令 - 歸檔命令
用于制作、釋放歸檔文件
- tar "選項(xiàng)" "歸檔文件名" "源文件、目錄"
- tar "選項(xiàng)" "歸檔文件名" -C "目標(biāo)目錄(絕對(duì)路徑)"
| 常用選項(xiàng) | 解釋 |
|---|---|
| -c | 創(chuàng)建.tar格式的包文件 |
| -x | 解開(kāi).tar格式的包文件 |
| -f | 表示使用歸檔文件 |
| -v | 輸出詳細(xì)信息 |
| -j | 調(diào)用 bzip2 程序進(jìn)行解壓或壓縮 |
| -z | 調(diào)用 gzip 成勛進(jìn)行解壓或壓縮 |
| -C | 指定目標(biāo)目錄(絕對(duì)路徑) |
例:
tar -cjvf documents.tar.bz2 -C /home/user/documents
調(diào)用bzip2程序?qū)?home/user/目錄下的documents文件打包壓縮成一個(gè)名為documents.tar.bz2的歸檔文件到當(dāng)前目錄并輸出詳細(xì)信息
tar -xzvf documents.tar.gz. -C /home/user/backup
調(diào)用gzip程序?qū)?dāng)前目錄下的documents.tar.gz歸檔文件解壓到/home/user/backup目錄下并輸出詳細(xì)信息
3.vi 命令 - 文本編輯器
3.1 常用的文本編輯器及其作用
3.1.1 Linux中最常用的文本編輯器
- vi文本編輯器:類UNIX操作系統(tǒng)的默認(rèn)文本編輯器
- vim(Vi IMproved):vim是vi文本編輯器的增強(qiáng)版本
3.1.2 文本編輯器的作用
- 創(chuàng)建或修改文本文件
- 維護(hù)Linux系統(tǒng)中的各種配置文件
3.2 vi編輯器的工作模式
- 三種工作模式:命令模式、輸入模式、末行模式
- 不同模式間的切換:

3.3 命令模式的基本操作
3.3.1 光標(biāo)移動(dòng)
| 鍵盤操作 | 解釋 |
|---|---|
| ↑、↓、←、→ | 上、下、左、右 |
| Page Down 或 Ctrl+F | 向下翻頁(yè) |
| Page Up 或 Ctrl+B | 向上翻頁(yè) |
| Home 或 ^ 或 0 | 跳轉(zhuǎn)至行首 |
| End 或 & | 跳轉(zhuǎn)至行尾 |
| 1G 或 gg | 跳轉(zhuǎn)至首行 |
| G | 跳轉(zhuǎn)至末行 |
| "#"G | 跳轉(zhuǎn)至#行 |
| :set nu | 顯示行號(hào) |
| :set nonu | 取消顯示行號(hào) |
3.3.2 復(fù)制、粘貼、刪除
| 鍵盤操作 | 解釋 |
|---|---|
| x 或 Delete | 刪除光標(biāo)處的單個(gè)字符 |
| dd | 刪除當(dāng)前光標(biāo)所在行 |
| #dd | 刪除從光標(biāo)所在行開(kāi)始的#行內(nèi)容 |
| d^ | 刪除當(dāng)前光標(biāo)之前到行首的所有字符 |
| d$ | 刪除當(dāng)前光標(biāo)處到行尾的所有字符 |
| yy | 復(fù)制光標(biāo)所在行整行的內(nèi)容到剪貼板 |
| #yy | 復(fù)制從光標(biāo)所在行開(kāi)始的#行內(nèi)容 |
| p | 將緩沖區(qū)中的內(nèi)容粘貼到光標(biāo)位置處之后 |
| P(大寫) | 粘貼到光標(biāo)位置處之前 |
3.3.3 基本操作
- 文件內(nèi)容查找:
鍵盤操作 | 解釋 |
|---|---|
/word | 從上而下在文件中查找字符串“word' |
?word | 從下而上在文件中查找字符串"word |
n | 定位下一個(gè)匹配的被查找字符串 |
N | 定位上一個(gè)匹配的被查找字符串 |
- 撤銷、編輯及保存退出
| 鍵盤操作 | 解釋 |
|---|---|
| u | 撤回一次操作;重復(fù)u鍵,恢復(fù)多步操作 |
| U(大寫) | 用于取消對(duì)當(dāng)前行所做的所有編輯 |
| ZZ(大寫) | 保存當(dāng)前的文件內(nèi)容并退出vi編輯器 |
3.4 末行模式的基本操作
3.4.1 保存文件及退出vi編輯器
| 命令 | 功能 |
|---|---|
| :w | 保存內(nèi)容 |
| :w /root/newfile | 另存為新文件 |
| :q | 未修改退出 |
| :q! | 放棄對(duì)文件的修改,并退出vi |
| :wq 或 x | 保存修改的內(nèi)容并退出 |
3.4.2 文件內(nèi)容替換
| 命令 | 功能 |
|---|---|
| :s /old/new | 將當(dāng)前行中查找到的第一個(gè)字符“old” 串替換為“new” |
| :s /old/new/g | 將當(dāng)前行中查找到的所有字符串“old”替換為“new' |
| :#1,#2 s/old/new/g | 將行號(hào)“#1,#2”范圍內(nèi)的所有字符串“old”替換為“new |
| :% s/old/new/g | 將整個(gè)文件范圍內(nèi)的所有字符串“old”替換為“new |
| :s /old/new/c | 提示用戶對(duì)每個(gè)替換動(dòng)作進(jìn)行確認(rèn) |
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux下使用fdisk進(jìn)行磁盤分區(qū)的操作流程
fdisk 是 Linux 系統(tǒng)中用于磁盤分區(qū)管理的經(jīng)典命令行工具,也是 Linux 磁盤管理的核心工具,功能強(qiáng)大且靈活,被系統(tǒng)管理員和運(yùn)維人員廣泛用于管理存儲(chǔ)設(shè)備,本文給大家介紹了Linux下使用fdisk進(jìn)行磁盤分區(qū)的操作流程,需要的朋友可以參考下2025-08-08
淺談Apache?Commons?Pool2池化技術(shù)
Apache?Commons?Pool2為開(kāi)發(fā)者提供了一套豐富的API和靈活的配置選項(xiàng),以實(shí)現(xiàn)對(duì)象的池化管理,本文就詳細(xì)的來(lái)介紹一下Apache?Commons?Pool2池化技術(shù),感興趣的可以了解一下2024-08-08
在 CentOS 8/RHEL 8 上安裝和使用 Cockpit的方法
Cockpit 是一個(gè)基于 Web 的服務(wù)器管理工具,可用于 CentOS 和 RHEL 系統(tǒng)。最近發(fā)布的 CentOS 8 和 RHEL 8,其中 cockpit 是默認(rèn)的服務(wù)器管理工具。這篇文章主要介紹了在 CentOS 8/RHEL 8 上安裝和使用 Cockpit的方法,需要的朋友可以參考下2019-10-10
Ubuntu 16.04設(shè)置PostgreSQL開(kāi)機(jī)啟動(dòng)的方法
由于PostgreSQL是編譯安裝的,需要設(shè)置開(kāi)機(jī)啟動(dòng)。這篇文章主要介紹了Ubuntu 16.04設(shè)置PostgreSQL開(kāi)機(jī)啟動(dòng)的方法,需要的朋友可以參考下2018-09-09
CentOS 7.2部署郵件服務(wù)器(Postfix)
這篇文章主要為大家詳細(xì)介紹了CentOS 7.2如何部署郵件服務(wù)器Postfix,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11

