08 linux檔案檢索和編輯
阿新 • • 發佈:2020-12-08
1. 檢索命令
1.1 檢索檔案內容
1.1.1 cat
作用 : 顯示檔案全部資訊
常用引數 :
cat -n 檔案 # 顯示行號和內容
[root@ymn ~]# cat -n ymn.txt
1 ymn
2 nihaiyigedahaoren
3 dheugfymnchdg
4 hahah
5 ymn
6 nihai
補充 : nl 檔案
實現一樣的顯示行號和內容
1.1.2 head
作用 : 只顯示檔案前幾行資訊,預設前10行
常用引數 :
head -n 檔案 # 顯示檔案前n行內容
[root@ymn ~]# head num.txt 1 2 3 4 5 6 7 8 9 10 [root@ymn ~]# head -3 num.txt 1 2 3
1.1.3 tail
作用 : 只顯示檔案後幾行資訊,預設後10行
常用引數 :
tail -n 檔案 # 顯示檔案後n行內容
tail -f 檔案 # 阻塞住,一直顯示檔案新追加的內容,一般用作監聽日誌
[root@ymn ~]# tail num.txt
1
2
3
4
5
6
7
8
9
10
[root@ymn ~]# tail -3 num.txt
18
19
20
1.1.4 grep
作用 : 根據關鍵詞匹配檔案內容,以行的形式顯示
常用引數 :
引數 | 作用 |
---|---|
-A n | 檢索關鍵資訊包含後n行 |
-B n | 檢索關鍵資訊包含前n行 |
-C n | 以檢索資訊為中心顯示上下n行 |
-i | 忽略大小寫 |
-E | 識別特殊符號 |
-v | 忽略掉檢索到的資訊,返回剩下的資訊 |
[root@ymn ~]# grep 'mn' ymn.txt dheugfymnchdg ymn [root@ymn ~]# grep -A 2 'mn' ymn.txt # 檢索關鍵資訊,包括後兩行 dheugfymnchdg hahah cnjdehfur ymn jvfrehgut nihai [root@ymn ~]# grep -B 2 'mn' ymn.txt jhuwgfuedvfh nihaiyigedahaoren dheugfymnchdg hahah cnjdehfur ymn [root@ymn ~]# grep -C 2 'mn' ymn.txt # 檢索關鍵資訊,包括前後兩行 jhuwgfuedvfh nihaiyigedahaoren dheugfymnchdg hahah cnjdehfur ymn jvfrehgut nihai [root@ymn ~]# grep -i 'Mn' ymn.txt dheugfymnchdg ymn [root@ymn ~]# grep -E '^ymn' ymn.txt ymn [root@ymn ~]# grep -Ev '^ymn' ymn.txt jhuwgfuedvfh nihaiyigedahaoren dheugfymnchdg hahah cnjdehfur jvfrehgut nihai kcjfruiehf vjirjei vrgrt
1.1.5 more和less
作用 : 逐行或者逐頁顯示檔案內容
一般常用於大的文字檔案的檢視
1.2 檢索檔案
1.2.1 find
作用 : 通過關鍵字查詢對應的檔案
常用引數 :
引數 | 作用 |
---|---|
-name | 按照檔名查詢 |
-iname | 忽略檔名的大小寫 |
-type | 按照型別查詢 |
-size | 按照大小查詢 |
-mtime | 按照天數查詢 |
-mmin | 按照分鐘查詢 |
# 查詢當前路徑下以.txt結尾的檔案,*是萬用字元
[root@ymn ~]# find ./ -name "*.txt" #./可以不寫
./test.txt
./num.txt
./d1/res.txt
./ymn.txt
# 查詢當前路徑下所有的檔案
[root@ymn ~]# find ./ -type f
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg
./.bash_history
./test.txt
./num.txt
./d1/res.txt
./ymn.txt
./.viminfo
# 查詢當前路徑下所有的目錄
[root@ymn ~]# find ./ -type d
.
./d1
# 查詢/etc/下大於5m的檔案
[root@ymn ~]# find /etc/ -type f -size +5M #-5M是小於5m,5M是等於5m
/etc/udev/hwdb.bin
[root@ymn ~]# ls -lh /etc/udev/hwdb.bin
-r--r--r--. 1 root root 7.6M Nov 30 10:16 /etc/udev/hwdb.bin
# 查詢/etc/下7天以前的檔案
[root@ymn ~]# find /etc/ -type f -mtime +7
/etc/selinux/targeted/modules/active/README.migrated
/etc/firewalld/zones/public.xml
/etc/firewalld/zones/public.xml.old
# 查詢/etc/下7天以內的檔案
[root@ymn ~]# find /etc/ -type f -mtime -7
/etc/selinux/targeted/modules/active/README.migrated
/etc/firewalld/zones/public.xml
/etc/firewalld/zones/public.xml.old
# 查詢/etc/下2分鐘以內的檔案 一般用於檢測是否有新檔案產生
[root@ymn ~]# find /etc/ -type f -mmin -2
2. vim編輯器
linux作業系統下預設是沒有vim編輯器的,在有網路的情況下可以通過命令下載 , 安裝
yum install vim -y
2.1 什麼是vim
vim是linux系統下的一款編輯器,被稱之為上古神器,但是學會如何使用有一定的門檻,常常勸退一些自認為
自己很牛逼的點點程式設計師
2.2 vim可以幹什麼
vim可以擺脫滑鼠,只通過鍵盤就能編輯文字,學會並熟練使用vim可以十分高效的在linux系統下完成文字的編輯
那如何使用vim呢,我們來從他的三種模式下學習如何使用vim
2.3 vim三種模式
2.3.1 普通模式
vim 檔名(如果檔案不存在,會建立一個新檔案並開啟)
普通模式下只能移動游標是無法編輯文字的
普通模式下游標移動快捷鍵
快捷鍵 | 作用 |
---|---|
G | 將游標移動到文字最後一行 |
gg | 將游標移動到文字第一行 |
0 | 將游標移到行頭 |
$ | 將游標移到行尾 |
ctrl + ( | 將游標移動到第一個字元位置 |
ctrl + ) | 將游標移動到最後一個字元位置 |
n回車 | 將游標向下移到n行 |
ngg | 將游標移動到第n行 |
h,j,k,l | 左下上右 |
普通模特是下的複製,貼上,刪除
快捷鍵 | 作用 |
---|---|
yy | 複製當前行 |
nyy | 複製n行 |
p | 貼上 |
dd | 刪除當前行 |
ndd | 刪除n行 |
u 撤銷,類似windows的上一步
ctrl + r 取消撤銷操作
. 下一步之類的
2.3.2 編輯模式
快捷鍵 | 作用 |
---|---|
i | 在當前游標處插入文字 |
esc | 退出編輯模式,回到命令列模式 |
2.3.3 命令列模式
快捷鍵 | 作用 |
---|---|
:q | 退出,不儲存 |
:q! | 強制退出,不儲存 |
:wq | 儲存並退出 |
:wq! | 強制儲存並退出 |
:set nu | 顯示行號 |
:set nonu | 取消顯示行號 |