姓名:宋子璇
學(xué)號:16020199060
轉(zhuǎn)載自:https://zhuanlan.zhihu.com/p/34603857
【嵌牛導(dǎo)讀】:Linux進(jìn)階命令詳解
【嵌牛鼻子】:Linux
【嵌牛提問】:Linux有哪些更復(fù)雜的命令?
【嵌牛正文】
第001節(jié)_ find查找文本
我們在Windows中搜索文件,一般查找文件需要傳入兩個條件:
1)在那些目錄中查找;
2)查找的內(nèi)容;
在Linux中,查找文件的也需要這兩個條件,不同于Windows使用搜索框查找,Linux中使用 find 命令查找文件。
find 命令:
*目的:查找符合條件的文件
*格式: find 目錄名 選項(xiàng) 查找條件
舉例1:
find /work/001_linux_basic/dira/ -name "test1.txt"
說明:
a)/work/001_linux_basic/dira/指明了查找的路徑
b)-name 表明以名字來查找文件
c)"test1.txt" 指明查找名為test1.txt的文件
舉例2:
find /work/001_linux_basic/dira/ -name "*.txt"
說明:
a)查找指定目錄下面所以以.txt結(jié)尾的文件,其中*是通配符。
舉例3:
find /work/001_linux_basic -name "dira"?
說明:
a)查找指定目錄下面是否存在dira目錄,dira是目錄名。
注意:
1)如果沒有指定查找目錄,則為當(dāng)前目錄。
find . -name "*.txt" 其中.代表當(dāng)前路徑
find -name "*.txt" 沒加路徑,默認(rèn)是當(dāng)前路徑下查找
2)find還有一些高級的用法,如查找最近幾天(幾個小時(shí))之內(nèi)(之前)有變動的文件
find /home -mtime -2 查找/home目錄下兩天內(nèi)有變動的文件
第002節(jié)__grep查找字符串
grep 命令:
目的:使用grep命令來查找文件中符合條件的字符串
格式:grep [選項(xiàng)] [查找模式] [文件名]??
假設(shè)dira目錄的test1.txt 和 dirb目錄的test1.txt都含有如下內(nèi)容:
aaa
AAAAAA
abc
abcabcabc
cbacbacba
match_pattern
nand->erase
通過查找字符串,希望顯示如下內(nèi)容:
所在的文件名—-grep查找時(shí)默認(rèn)已經(jīng)顯示目標(biāo)文件名
所在的行號——使用-n選項(xiàng)
可以使用以下命令:
grep -rn “字符串” 文件名
r(recursive):遞歸查找
n(number):顯示目標(biāo)位置的行號
字符串: 要查找的字符串
文件名: 要查找的目標(biāo)文件,如果是*則表示查找當(dāng)前目錄下的所有文件和目錄
舉例:
grep -n "abc" test1.txt 在test1.txt中查找字符串a(chǎn)bc
grep -rn "abc" * 在當(dāng)前目錄遞歸查找字符串a(chǎn)bc
注意:
1)可以加入-w全字匹配。
第003節(jié)__file查看文件類型
file 命令:
目的:識別文件類型
格式: file 文件名
在Linux中有一個非常重要的觀點(diǎn):”’Linux下一切皆文件”’。
舉例:
file ~/.bashrc 為ASCII 編碼的text類型
file ~/.vimrc 為UTF-8 Unicode 編碼的text類型
file ~/Pictures/* 如圖形文件JPEG/PNG/BMP格式
file ~/100ask/ 為directory表明這是一個目錄
file /bin/pwd 出現(xiàn) ELF 64-bit LSB executable,即為ELF格式的可執(zhí)行文件