真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux的條件命令 linux條件語(yǔ)句

Linux命令之篩選條件

grep (過(guò)濾)

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)西豐免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

過(guò)濾需要的內(nèi)容,

-v 需要排除的內(nèi)容,

-i不分辨大小寫(xiě),

-n匹配的內(nèi)容在其行首顯示行號(hào),

-A (after)顯示匹配字符串及其后n行,

-B (before)顯示匹配字符串及其前n行,

-C(context)顯示匹配字符串

下邊是想湊字?jǐn)?shù)的啦啦

Linux sed 命令詳解

sed命令行格式:sed [options] 'command' file(s)

options常用選項(xiàng):

-n或--quiet或——silent:僅顯示script處理后的結(jié)果;

-e:以選項(xiàng)中的指定的script來(lái)處理輸入的文本文件;

-f:以選項(xiàng)中指定的script文件來(lái)處理輸入的文本文件;

-r∶sed 的動(dòng)作支援的是延伸型正規(guī)表示法的語(yǔ)法;

-i∶直接修改讀取的檔案內(nèi)容,而不是由螢?zāi)惠敵?

-h或--help:顯示幫助;

-V或--version:顯示版本信息。

Command常用命令:

a:新增,a 的后面可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(目前的下一行);

c:取代,c 的后面可以接字符串,這些字符串可以取代 n1,n2 之間的行;

d:刪除,d 后面通常不接任何字符串;

i:插入,i 的后面可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(目前的上一行);

p:列印,亦即將某個(gè)選擇的資料印出。通常 p 會(huì)與參數(shù) sed -n 一起運(yùn)作;

s:取代,可以直接進(jìn)行取代的工作,通常與正規(guī)表達(dá)式搭配使用。

實(shí)例說(shuō)明:

新增操作:a命令

sed '/^bird/a\test' file將test追加到 以bird開(kāi)頭的行后面

刪除操作:d命令

sed '/^$/d' file #刪除空白行;

sed '2d' file #刪除第二行;

sed '2,$d' file #刪除第2行到最后一行;

sed '$d' file #刪除最后一行;

sed '/^bird/'d file #刪除所有開(kāi)頭是bird的行;

插入操作:i命令

sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird

替換文本中的字符串:s命令

sed 's/bird/birds/' file #將文本中的bird替換成birds;

sed -i 's/ bird / birds /g' file #將file文件中每一行的第一個(gè)bird替換為birds;

Linux命令大全

linux命令格式:

說(shuō)明:command: 命令名,相應(yīng)功能的英文單詞或單詞的縮寫(xiě) [-options]:選項(xiàng),可用來(lái)對(duì)命令進(jìn)行控制,也可以省略,[]代表可選 parameter1 …:傳給命令的參數(shù):可以是零個(gè)一個(gè)或多個(gè)

一般是linux命令自帶的幫助信息

如:

man是linux提供的一個(gè)手冊(cè),包含了絕大部分的命令、函數(shù)使用說(shuō)明

該手冊(cè)分成很多章節(jié)(section),使用man時(shí)可以指定不同的章節(jié)來(lái)瀏覽。

例:man ls ; man 2 printf

man中各個(gè)section意義如下:

man是按照手冊(cè)的章節(jié)號(hào)的順序進(jìn)行搜索的。

man設(shè)置了如下的功能鍵:

在敲出命令的前幾個(gè)字母的同時(shí),按下tab鍵,系統(tǒng)會(huì)自動(dòng)幫我們補(bǔ)全命令

當(dāng)系統(tǒng)執(zhí)行過(guò)一些命令后,可按上下鍵翻看以前的命令,history將執(zhí)行過(guò)的命令列舉出來(lái)

ls是英文單詞list的簡(jiǎn)寫(xiě),其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,它類(lèi)似于DOS下的dir命令。

Linux文件或者目錄名稱最長(zhǎng)可以有265個(gè)字符,“.”代表當(dāng)前目錄,“..”代表上一級(jí)目錄,以“.”開(kāi)頭的文件為隱藏文件,需要用 -a 參數(shù)才能顯示。

ls常用參數(shù):

Linux允許將命令執(zhí)行結(jié)果重定向到一個(gè)文件,本應(yīng)顯示在終端上的內(nèi)容保存到指定文件中。

如:ls test.txt ( test.txt 如果不存在,則創(chuàng)建,存在則覆蓋其內(nèi)容 )

注意: 輸出重定向會(huì)覆蓋原來(lái)的內(nèi)容,輸出重定向則會(huì)追加到文件的尾部。

查看內(nèi)容時(shí),在信息過(guò)長(zhǎng)無(wú)法在一屏上顯示時(shí),會(huì)出現(xiàn)快速滾屏,使得用戶無(wú)法看清文件的內(nèi)容,此時(shí)可以使用more命令,每次只顯示一頁(yè),按下空格鍵可以顯示下一頁(yè),按下q鍵退出顯示,按下h鍵可以獲取幫助。

管道:一個(gè)命令的輸出可以通過(guò)管道做為另一個(gè)命令的輸入。

管道我們可以理解現(xiàn)實(shí)生活中的管子,管子的一頭塞東西進(jìn)去,另一頭取出來(lái),這里“ | ”的左右分為兩端,左端塞東西(寫(xiě)),右端取東西(讀)。

clear作用為清除終端上的顯示(類(lèi)似于DOS的cls清屏功能),也可使用快捷鍵:Ctrl + l ( “l(fā)” 為字母 )。

在使用Unix/Linux的時(shí)候,經(jīng)常需要更換工作目錄。cd命令可以幫助用戶切換工作目錄。Linux所有的目錄和文件名大小寫(xiě)敏感

cd后面可跟絕對(duì)路徑,也可以跟相對(duì)路徑。如果省略目錄,則默認(rèn)切換到當(dāng)前用戶的主目錄。

使用pwd命令可以顯示當(dāng)前的工作目錄,該命令很簡(jiǎn)單,直接輸入pwd即可,后面不帶參數(shù)。

通過(guò)mkdir命令可以創(chuàng)建一個(gè)新的目錄。參數(shù)-p可遞歸創(chuàng)建目錄。

需要注意的是新建目錄的名稱不能與當(dāng)前目錄中已有的目錄或文件同名,并且目錄創(chuàng)建者必須對(duì)當(dāng)前目錄具有寫(xiě)權(quán)限。

可使用rmdir命令刪除一個(gè)目錄。必須離開(kāi)目錄,并且目錄必須為空目錄,不然提示刪除失敗。

可通過(guò)rm刪除文件或目錄。使用rm命令要小心,因?yàn)槲募h除后不能恢復(fù)。為了防止文件誤刪,可以在rm后使用-i參數(shù)以逐個(gè)確認(rèn)要?jiǎng)h除的文件。

常用參數(shù)及含義如下表所示:

Linux鏈接文件類(lèi)似于Windows下的快捷方式。

鏈接文件分為軟鏈接和硬鏈接。

軟鏈接:軟鏈接不占用磁盤(pán)空間,源文件刪除則軟鏈接失效。

硬鏈接:硬鏈接只能鏈接普通文件,不能鏈接目錄。

使用格式:

如果沒(méi)有-s選項(xiàng)代表建立一個(gè)硬鏈接文件,兩個(gè)文件占用相同大小的硬盤(pán)空間,即使刪除了源文件,鏈接文件還是存在,所以-s選項(xiàng)是更常見(jiàn)的形式。

注意:如果軟鏈接文件和源文件不在同一個(gè)目錄,源文件要使用絕對(duì)路徑,不能使用相對(duì)路徑。

Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,grep允許對(duì)文本文件進(jìn)行模式查找。如果找到匹配模式, grep打印包含模式的所有行。

grep一般格式為:

在grep命令中輸入字符串參數(shù)時(shí),最好引號(hào)或雙引號(hào)括起來(lái)。例如:grep‘a(chǎn) ’1.txt。

常用選項(xiàng)說(shuō)明:

find命令功能非常強(qiáng)大,通常用來(lái)在特定的目錄下搜索符合條件的文件,也可以用來(lái)搜索特定用戶屬主的文件。

常用用法:

cp命令的功能是將給出的文件或目錄復(fù)制到另一個(gè)文件或目錄中,相當(dāng)于DOS下的copy命令。

常用選項(xiàng)說(shuō)明:

用戶可以使用mv命令來(lái)移動(dòng)文件或目錄,也可以給文件或目錄重命名。

常用選項(xiàng)說(shuō)明:

計(jì)算機(jī)中的數(shù)據(jù)經(jīng)常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個(gè)大文件中,也可以把檔案文件解開(kāi)以恢復(fù)數(shù)據(jù)。

tar使用格式 tar [參數(shù)] 打包文件名 文件

tar命令很特殊,其參數(shù)前面可以使用“-”,也可以不使用。

常用參數(shù):

tar與gzip命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮。 tar只負(fù)責(zé)打包文件,但不壓縮,用gzip壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz。

gzip使用格式如下:

gzip [選項(xiàng)] 被壓縮文件

常用選項(xiàng):

tar與bzip2命令結(jié)合使用實(shí)現(xiàn)文件打包、壓縮(用法和gzip一樣)。

tar只負(fù)責(zé)打包文件,但不壓縮,用bzip2壓縮tar打包后的文件,其擴(kuò)展名一般用xxxx.tar.gz2。

在tar命令中增加一個(gè)選項(xiàng)(-j)可以調(diào)用bzip2實(shí)現(xiàn)了一個(gè)壓縮的功能,實(shí)行一個(gè)先打包后壓縮的過(guò)程。

壓縮用法:tar -jcvf 壓縮包包名 文件...(tar jcvf bk.tar.bz2 *.c)

解壓用法:tar -jxvf 壓縮包包名 (tar jxvf bk.tar.bz2)

通過(guò)zip壓縮文件的目標(biāo)文件不需要指定擴(kuò)展名,默認(rèn)擴(kuò)展名為zip。

壓縮文件:zip [-r] 目標(biāo)文件(沒(méi)有擴(kuò)展名) 源文件

解壓文件:unzip -d 解壓后目錄文件 壓縮文件

whoami該命令用戶查看當(dāng)前系統(tǒng)當(dāng)前賬號(hào)的用戶名。可通過(guò)cat /etc/passwd查看系統(tǒng)用戶信息。

由于系統(tǒng)管理員通常需要使用多種身份登錄系統(tǒng),例如通常使用普通用戶登錄系統(tǒng),然后再以su命令切換到root身份對(duì)傳統(tǒng)進(jìn)行管理。這時(shí)候就可以使用whoami來(lái)查看當(dāng)前用戶的身份。

who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息。

常用選項(xiàng):

如果是圖形界面,退出當(dāng)前終端;

如果是使用ssh遠(yuǎn)程登錄,退出登陸賬戶;

如果是切換后的登陸用戶,退出則返回上一個(gè)登陸賬號(hào)。

在Unix/Linux中添加用戶賬號(hào)可以使用adduser或useradd命令,因?yàn)閍dduser命令是指向useradd命令的一個(gè)鏈接,因此,這兩個(gè)命令的使用格式完全一樣。

useradd命令的使用格式如下:

useradd [參數(shù)] 新建用戶賬號(hào)

在Unix/Linux中,超級(jí)用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶口令。用戶也可以直接使用該命令來(lái)修改自己的口令,而無(wú)需在命令后面使用用戶名。

可以通過(guò)su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在于,su -切換到對(duì)應(yīng)的用戶時(shí)會(huì)將當(dāng)前的工作目錄自動(dòng)轉(zhuǎn)換到切換后的用戶主目錄:

注意:如果是ubuntu平臺(tái),需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無(wú)需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平臺(tái)下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個(gè)工具,減少了root 用戶的登陸和管理時(shí)間,提高了安全性。

方法一:

方法二:

groupadd 新建組賬號(hào) groupdel 組賬號(hào) cat /etc/group 查看用戶組

使用方法:usermod -g 用戶組 用戶名

新創(chuàng)建的用戶,默認(rèn)不能sudo,需要進(jìn)行一下操作

-g用來(lái)制定這個(gè)用戶默認(rèn)的用戶組

-G一般配合'-a'來(lái)完成向其它組添加

chmod 修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。

字母法:chmod u/g/o/a +/-/= rwx 文件

cal命令用于查看當(dāng)前日歷,-y顯示整年日歷

設(shè)置時(shí)間格式(需要管理員權(quán)限):

date [MMDDhhmm[[CC]YY][.ss]] +format

CC為年前兩位yy為年的后兩位,前兩位的mm為月,后兩位的mm為分鐘,dd為天,hh為小時(shí),ss為秒。如: date 010203042016.55。

顯示時(shí)間格式(date '+%y,%m,%d,%H,%M,%S'):

進(jìn)程是一個(gè)具有一定獨(dú)立功能的程序,它是操作系統(tǒng)動(dòng)態(tài)執(zhí)行的基本單元。

ps命令可以查看進(jìn)程的詳細(xì)狀況,常用選項(xiàng)(選項(xiàng)可以不加“-”)如下:

top命令用來(lái)動(dòng)態(tài)顯示運(yùn)行中的進(jìn)程。top命令能夠在運(yùn)行后,在指定的時(shí)間間隔更新顯示信息。可以在使用top命令時(shí)加上-d 來(lái)指定顯示信息更新的時(shí)間間隔。

在top命令執(zhí)行后,可以按下按鍵得到對(duì)顯示的結(jié)果進(jìn)行排序:

kill命令指定進(jìn)程號(hào)的進(jìn)程,需要配合 ps 使用。有些進(jìn)程不能直接殺死,這時(shí)候我們需要加一個(gè)參數(shù)“ -9 ”,“ -9 ” 代表強(qiáng)制結(jié)束.

使用格式:

kill [-signal] pid

df命令用于檢測(cè)文件系統(tǒng)的磁盤(pán)空間占用和空余情況,可以顯示所有文件系統(tǒng)對(duì)節(jié)點(diǎn)和磁盤(pán)塊的使用情況。

du命令用于統(tǒng)計(jì)目錄或文件所占磁盤(pán)空間的大小,該命令的執(zhí)行結(jié)果與df類(lèi)似,du更側(cè)重于磁盤(pán)的使用狀況。

du命令的使用格式如下: du [選項(xiàng)] 目錄或文件名

Linux命令

命令格式: 命令 [-選項(xiàng)] [參數(shù)]

如:ls -la /usr

**說(shuō)明: **

大部分命令遵從該格式

多個(gè)選項(xiàng)時(shí),可以一起寫(xiě) eg:ls –l –a à ls –la

簡(jiǎn)化選項(xiàng)與完整選項(xiàng)(注:并非所有選項(xiàng)都可使用完整選項(xiàng)) eg:ls –all à ls –a

作用:切換用戶身份

語(yǔ)法:su [選項(xiàng)] 用戶名

-c 僅執(zhí)行一次命令,而不切換用戶身份

$ su – root

env

$ su – root –c “useradd longjing”

文件或目錄的CRUD

英文:change directory 命令路徑:內(nèi)部命令 執(zhí)行權(quán)限:所有用戶

作用: 切換目錄

語(yǔ)法:cd [目錄](méi) / 切換到根目錄

.. 回到上一級(jí)目錄

. 當(dāng)前目錄

~ 當(dāng)前用戶的宿主目錄(eg:# cd ~用戶名 進(jìn)入某個(gè)用戶的家目錄)

英文:list 命令路徑:/bin/ls 執(zhí)行權(quán)限:所有用戶

作用:顯示目錄文件

語(yǔ)法:ls [-alrRd] [文件或目錄](méi)

-a all 顯示所有文件,注意隱藏文件,特殊目錄.和..

-l(long) 顯示詳細(xì)信息

-R(recursive) 遞歸顯示當(dāng)前目錄下所有目錄

-r (reverse) 逆序排序

-t(time) 按修改時(shí)間排序(降序)

英文:print working directory 命令路徑:/bin/pwd 執(zhí)行權(quán)限:所有用戶

作用:顯示當(dāng)前工作目錄

語(yǔ)法:pwd [-LP]

-L 顯示鏈接路徑,當(dāng)前路徑,默認(rèn)

-P 物理路徑

eg:# cd /etc/init.d

英文:make directories 命令路徑:/bin/mkdir 執(zhí)行權(quán)限:所有用戶

作用:創(chuàng)建新目錄

語(yǔ)法:mkdir [-p] 目錄名

-p 父目錄不存在情況下先生成父目錄 (parents)

eg: mkdir linux/test 如果目錄linux不存在,則報(bào)錯(cuò),使用參數(shù)-p即可自動(dòng)創(chuàng)建父目錄。

命令路徑:/bin/touch 執(zhí)行權(quán)限:所有用戶

作用:創(chuàng)建空文件或更新已存在文件的時(shí)間

語(yǔ)法:touch 文件名

eg:touch a.txt b.txt touch {a.txt,b.txt} 同時(shí)創(chuàng)建多個(gè)文件

創(chuàng)建帶空格的文件 eg:touch "program files" 在查詢和刪除時(shí)也必須帶雙引號(hào)

注意:生產(chǎn)環(huán)境中,文件名,一定不要加空格

英文:copy 命令路徑:/bin/cp 執(zhí)行權(quán)限:所有用戶

作用:復(fù)制文件或目錄

語(yǔ)法:cp [–rp] 源文件或目錄 目的目錄

-r -R recursive 遞歸處理,復(fù)制目錄

-p 保留文件屬性 (原文件的時(shí)間不變)

eg:

1,相對(duì)路徑 cp –R /etc/* . cp –R ../aaa ../../test/

2,,絕對(duì)路徑 cp –R / ect/service /root/test/aa/bb

英文:move 命令路徑:/bin/mv 執(zhí)行權(quán)限:所有用戶

作用:移動(dòng)文件或目錄、文件或目錄改名

語(yǔ)法:mv 源文件或目錄 目的目錄

英文:remove 命令路徑:/bin/rm 執(zhí)行權(quán)限:所有用戶

作用:刪除文件

語(yǔ)法: rm [-rf] 文件或目錄

-r (recursive)刪除目錄,同時(shí)刪除該目錄下的所有文件

-f(force) 強(qiáng)制刪除文件或目錄 即使原檔案屬性設(shè)為唯讀,亦直接刪除,無(wú)需逐一確認(rèn)

注意:工作中,謹(jǐn)慎使用rm –rf 命令。

擴(kuò)展點(diǎn) :刪除亂碼文件

一些文件亂碼后使用rm -rf 依然無(wú)法刪除

此時(shí),使用ll -i 查找到文件的inode節(jié)點(diǎn)

然后使用find . -inum 查找到的inode編號(hào) -exec rm {} -rf ;

就能順利刪除了

英文:concatenate 命令路徑:/bin/cat 執(zhí)行權(quán)限:所有用戶

作用:顯示文件內(nèi)容

語(yǔ)法:cat [-n] [文件名]

-n 顯示行號(hào)

eg:cat /etc/services

命令路徑:/bin/more 執(zhí)行權(quán)限:所有用戶

作用:分頁(yè)顯示文件內(nèi)容

語(yǔ)法:more [文件名]

空格或f 顯示下一頁(yè)

Enter鍵 顯示下一行

q或Q 退出

命令路徑:/usr/bin/head 執(zhí)行權(quán)限:所有用戶

作用:查看文件前幾行(默認(rèn)10行)

語(yǔ)法:head [文件名]

-n 指定行數(shù)

eg:head -20 /etc/services head –n 3 /etc/services

命令路徑:/usr/bin/tail 執(zhí)行權(quán)限:所有用戶

作用:查看文件的后幾行

語(yǔ)法:tail [文件名]

-n 指定行數(shù)

-f (follow) 動(dòng)態(tài)顯示文件內(nèi)容

獲取一個(gè)大文件的部分文件,可使用head或tail命令

head -n 100 /etc/services config.log

英文: link 命令路徑:/bin/ln 執(zhí)行權(quán)限:所有用戶

作用:產(chǎn)生鏈接文件

語(yǔ)法:

ln -s [源文件] [目標(biāo)文件] 創(chuàng)建軟鏈接 源文件 使用 絕對(duì)路徑

ln [源文件] [目標(biāo)文件] 創(chuàng)建硬鏈接

eg:ln -s /etc/service ./service.soft

創(chuàng)建文件/etc/service的軟鏈接service.soft

eg:/etc/service /service.hard

創(chuàng)建文件/etc/service的硬鏈接/service.hard

軟連接類(lèi)似于windows下的快捷方式

軟連接文件格式:

lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service - /etc/services

1 硬鏈接數(shù)量,如果該文件沒(méi)有硬鏈接,就只有本身一個(gè)硬鏈接。

13鏈接文件的長(zhǎng)度

格式解析(特征):

1, 軟連接的文件類(lèi)型是 l(軟連接),軟連接文件的權(quán)限 都是 lrwxrwxrwx

2,- 箭頭指向到源文件

真正的權(quán)限取決于對(duì)源文件的權(quán)限

時(shí)間值為創(chuàng)建軟連接的時(shí)間

軟連接可以跨文件系統(tǒng)生成

硬鏈接特征

1,相當(dāng)于 cp -p +同步更新

2,通過(guò)i節(jié)點(diǎn)識(shí)別,與源文件有相同的inode節(jié)點(diǎn)

3,硬鏈接不能跨分區(qū),ln /home/test/issuels /boot/test (錯(cuò)誤)

4,不能針對(duì)目錄使用 ln /tmp/ aa.hard (無(wú)法將目錄/tmp 生成硬鏈接)

刪除軟連接

rm -rf symbolic_name

英文:manual 命令路徑:/usr/bin/man 執(zhí)行權(quán)限:所有用戶

作用:獲取命令或配置文件的幫助信息

語(yǔ)法:man [命令/配置文件]

eg:man ls man services

(查看配置文件時(shí),不需要配置文件的絕對(duì)路徑,只需要文件名即可)

調(diào)用的是more命令來(lái)瀏覽幫助文檔,按空格翻下一頁(yè),按回車(chē)翻下一行,按q退出。

使用/加上關(guān)鍵的參數(shù)可直接定位搜索, n 查找下一個(gè),shift+n 查找上一個(gè)

eg: /-l 直接查看-l的介紹

擴(kuò)展:man的級(jí)別 (幫助文檔的類(lèi)型, 了解1 5即可)

man man-pages 查看每一種類(lèi)型代表的含義 man文檔的類(lèi)型(1~9)

1是命令,5是配置文件 man優(yōu)先顯示命令,可指定幫助類(lèi)型

eg:man 5 passwd (5代表配置文件級(jí)別)

[圖片上傳失敗...(image-6718d2-1624438708895)]

help 查看shell內(nèi)置命令的幫助信息

eg:help cd

內(nèi)置命令,使用whereis,which,man都不能查看

type 命令 查看內(nèi)部命令還是外部命令

命令名 --help 列舉該命令的常用選項(xiàng)

eg: cp --help

命令路徑:/bin/find 執(zhí)行權(quán)限:所有用戶

作用:查找文件或目錄

語(yǔ)法:find [搜索路徑] [匹配條件]

如果沒(méi)有指定搜索路徑,默認(rèn)從當(dāng)前目錄查找

find命令選項(xiàng)

-name 按名稱查找 精準(zhǔn)查找

eg:find /etc -name “init” 在目錄/etc中查找文件init

-iname 按名稱查找

find查找中的字符匹配:

*:匹配所有

?:匹配單個(gè)字符

eg:find /etc -name “init???” 在目錄/etc中查找以init開(kāi)頭的,且后面有三位的文件

模糊匹配的條件,建議使用單引號(hào)或雙引號(hào)括起來(lái)。如果*被轉(zhuǎn)義,可使用 單雙引號(hào)括住查詢條件,或者使用*。

eg: # find . –name *g

-size ****按文件大小查找

以block為單位,一個(gè)block是512B, 1K=2block +大于 -小于 不寫(xiě)是等于

eg:find /etc -size -204800 在etc目錄下找出大于100MB的文件

100MB=102400KB=204800block

**-type ** 按文件類(lèi)型查找

f 二進(jìn)制文件l 軟連接文件 d 目錄 c 字符文件

eg: find /dev -type c

find****查找的基本原則 :

占用最少的系統(tǒng)資源,即查詢范圍最小,查詢條件最精準(zhǔn)

eg:

如果明確知道查找的文件在哪一個(gè)目錄,就直接對(duì)指定目錄查找,不查找根目錄/

命令路徑:/bin/grep 執(zhí)行權(quán)限:所有用戶

作用:在文件中搜尋字串匹配的行并輸出

語(yǔ)法:grep [-cinv] '搜尋字符串' filename

選項(xiàng)與參數(shù):

-c :輸出匹配行的次數(shù)(是以行為單位,不是以出現(xiàn)次數(shù)為單位)

-i :忽略大小寫(xiě),所以大小寫(xiě)視為相同

-n :顯示匹配行及行號(hào)

-v :反向選擇,顯示不包含匹配文本的所有行。

eg:grep ftp /etc/services

eg:#grep -v ^# /etc/inittab 去掉文件行首的#號(hào)

eg:# grep -n “init”/etc/inittab 顯示在inittab文件中,init匹配行及行號(hào)

eg:# grep -c“init”/etc/inittab 顯示在inittab文件中,init匹配了多少次

命令路徑:/usr/bin/which 執(zhí)行權(quán)限:所有用戶

作用: 顯示系統(tǒng)命令所在目錄(絕對(duì)路徑及別名)

which命令的作用是,在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果。也就是說(shuō),使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令

alias ls='ls --color=auto'

/bin/ls

/usr/bin/which: no zs in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ch/bin)

命令路徑:/usr/bin/whereis 執(zhí)行權(quán)限:所有用戶

作用:**搜索命令所在目錄 配置文件所在目錄 及幫助文檔路徑 **

eg: which passwd 和 whereis passwd

eg:查看/etc/passwd配置文件的幫助,就用 man 5 passwd

英文:GNU zip 命令路徑:/bin/gzip 執(zhí)行權(quán)限:所有用戶

作用:壓縮(解壓)文件,壓縮文件后綴為.gz

gzip只能壓縮文件,不能壓縮目錄;不保留原文件

語(yǔ)法:gzip 文件

-d將壓縮文件解壓(decompress)

解壓使用gzip –d或者 gunzip

命令路徑:/usr/bin/bzip2 執(zhí)行權(quán)限:所有用戶

作用: 壓縮(解壓)文件,壓縮文件后綴為.bz2

語(yǔ)法:bzip2 [-k] [文件]

-k:產(chǎn)生壓縮文件后保留原文件(壓縮比高)

-d 解壓縮的參數(shù)(decompress)

解壓使用bzip2 –d或者 bunzip2

命令路徑:/usr/bin/zip 執(zhí)行權(quán)限:所有用戶

作用: 壓縮(解壓)文件,壓縮文件后綴為.zip

語(yǔ)法:zip 選項(xiàng)[-r] [壓縮后文件名稱] [文件或目錄](méi)

-r壓縮目錄

eg:zip services.zip /etc/services 壓縮文件;

zip -r test.zip /test 壓縮目錄

如果不加-r選項(xiàng),壓縮后的文件沒(méi)有數(shù)據(jù)。

解壓使用unzip

命令路徑:/bin/tar 執(zhí)行權(quán)限:所有用戶

作用:文件、目錄打(解)包

語(yǔ)法:tar [-zcf] 壓縮后文件名 文件或目錄

-c 建立一個(gè)壓縮文件的參數(shù)指令(create),后綴是.tar

-x 解開(kāi)一個(gè)壓縮文件的參數(shù)指令(extract)

-z 以gzip命令壓縮/解壓縮

-j 以bzip2命令壓縮/解壓縮

-v 壓縮的過(guò)程中顯示文件(verbose)

-f file 指定文件名,必選項(xiàng)

1, 單獨(dú)的打包 ,解包 tar –cf tar –xf

2, 打包之后,進(jìn)行壓縮 gzip bzip2

3, 一步到位 tar –zcvf tar -zxvf

tar -cf -xf 單獨(dú) 壓縮 解壓縮

tar -z 以gzip打包目錄并壓縮 文件格式.tar.gz(.tgz)

tar -j 以bzip2打包目錄并壓縮 文件格式.tar.bz2

eg:tar -zcvf dir1.tar.gzdir1 使用gzip將目錄dir1壓縮成一個(gè)打包并壓縮文件dir1.tar.gz

eg: tar -cvf bak.tar . 將當(dāng)前目錄的文件打包為bak.tar

eg: tar -xvf bak.tar 解壓

eg: tar -zcvf bak.tar.gz bak.tar 或 gzip bak.tar使用gzip將打包文件bak.tar壓縮為bak.tar.gz

eg: tar -jcvf bak.tar.bz2 bak.tar 或 bzip2 bak.tar 使用bzip2將打包文件bak.tar壓縮為bak.tar.bz2

eg: tar -rvf bak.tar /etc/password 將/etc/password追加文件到bak.tar中(r)

eg:tar -cjvf test.tar.bz2 test 生成test.tar.bz2的壓縮文件

eg:tar -xjf test.tar.bz2 解壓

最常用: tar + gzip

tar –zcvf 壓縮

tar –zxvf 解壓

補(bǔ)充:

1,文件路徑, 壓縮包帶文件路徑

2,源文件是保留的,不會(huì)被刪除

**shutdown **[選項(xiàng)] 時(shí)間

選項(xiàng): -c: 取消前一個(gè)關(guān)機(jī)命令

-h:關(guān)機(jī)

-r:重啟

eg:

shutdown -h now 立即關(guān)機(jī) shutdown -h 20:30 定時(shí)關(guān)機(jī)

其他關(guān)機(jī)命令 halt poweroff init 0

其他重啟命令

**reboot **重啟系統(tǒng) reboot -h now立即重啟

init 6

注意:生產(chǎn)環(huán)境中,關(guān)機(jī)命令和重啟命令謹(jǐn)慎執(zhí)行。

善于查看man help等幫助文檔

利用好Tab鍵 自動(dòng)補(bǔ)全

掌握好一些快捷鍵

ctrl + c(停止當(dāng)前進(jìn)程)

ctrl + z 掛起當(dāng)前進(jìn)程,放后臺(tái)

ctrl + r(查看命令歷史) history

ctrl + l(清屏,與clear命令作用相同)

方向箭頭 上 下 可以查看執(zhí)行過(guò)的命令

ctrl + a 行首 ctrl + e 行尾

ctrl + k 清除 ctrl+ w 清除單詞

vim/vi是Unix / Linux上最常用的文本編輯器而且功能非常強(qiáng)大。

只有命令,沒(méi)有菜單。

《大碗》編輯器版

周?chē)耐虏皇怯肰I就是Emacs,你要是用UltraEdit都不好意思跟人家打招呼...什么插件呀、語(yǔ)法高亮呀、拼寫(xiě)檢查呀,能給它開(kāi)的都給它開(kāi)著,就是一個(gè)字:酷!你說(shuō)這么牛X的一東西,怎么著學(xué)會(huì)也得小半年吧。半年???入門(mén)都遠(yuǎn)著呢!能學(xué)會(huì)移動(dòng)光標(biāo)就不錯(cuò)了,你還別說(shuō)耗不起,就這還是左右移動(dòng)?。?!

:

[圖片上傳失敗...(image-a08366-1624438708894)]

命令模式:又稱一般模式

編輯模式:又稱底行模式,命令行模式

|

命令

|

作用

|

|

a

|

在光標(biāo)后附加文本

|

|

A(shift + a)

|

在本行行末附加文本 行尾

|

|

i

|

在光標(biāo)前插入文本

|

|

I(shift+i)

|

在本行開(kāi)始插入文本 行首

|

|

o

|

在光標(biāo)下插入新行

|

|

O(shift+o)

|

在光標(biāo)上插入新行

|

|

命令

|

作用

|

|

:set nu

|

設(shè)置行號(hào)

|

|

:set nonu

|

取消行號(hào)

|

|

gg

G

|

到第一行

到最后一行

|

|

nG

|

到第n行

|

|

:n

|

到第n行

|

|

命令

|

作用

|

|

:w

|

保存修改

|

|

:w new_filename

|

另存為指定文件

|

|

:w a.txt

|

內(nèi)容追加到a.txt文件中 文件需存在

|

|

:wq

|

保存修改并退出

|

|

shift+zz(ZZ)

|

快捷鍵,保存修改并退出

|

|

:q!

|

不保存修改退出

|

|

:wq!

|

保存修改并退出(文件所有者可忽略文件的只讀屬性)

|

不保存并退出:

1, 有修改,但是修改后的內(nèi)容是不保存的

2, 有突發(fā)情況,導(dǎo)致窗口退出。修改文件之后,直接刪除同名的.swp文件

|

命令

|

作用

|

|

x

|

刪除光標(biāo)所在處字符 nx 刪除光標(biāo)所在處后n個(gè)字符

|

|

dd

|

刪除光標(biāo)所在行,ndd刪除n行

|

|

:n1,n2d

|

刪除指定范圍的行(eg :1,3d 刪除了123這三行)

|

|

dG

|

刪除光標(biāo)所在行到末尾的內(nèi)容

|

|

D

|

刪除從光標(biāo)所在處到行尾

|

|

命令

|

作用

|

|

yy、Y

|

復(fù)制當(dāng)前行

|

|

nyy、nY

|

復(fù)制當(dāng)前行以下n行

|

|

dd

|

剪切當(dāng)前行

|

|

ndd

|

剪切當(dāng)前行以下n行

|

|

p、P

|

粘貼在當(dāng)前光標(biāo)所在行下 或行上

|

|

命令

|

作用

|

|

r

|

取代光標(biāo)所在處字符

|

|

R(shift + r)

|

從光標(biāo)所在處開(kāi)始替換字符,按Esc結(jié)束

|

|

u

|

undo,取消上一步操作

|

|

ctrl+r

|

redo,返回到undo之前

|

|

命令

|

作用

|

|

/string

|

向后搜索指定字符串 搜索時(shí)忽略大小寫(xiě) :set ic

|

|

?string

|

向前搜索指定字符串

|

|

n

|

搜索字符串的下一個(gè)出現(xiàn)位置,與搜索順序相同

|

|

N(Shift + n)

|

搜索字符串的上一個(gè)出現(xiàn)位置,與搜索順序相反

|

|

:%s/old/new/g

|

全文替換指定字符串

|

|

:n1,n2s/old/new/g

|

在一定范圍內(nèi)替換指定字符串

|

% 指全文,s 指開(kāi)始,g 指全局替換

eg: :41,44/yang/lee/c 從41行到44行,把yang替換為lee,詢問(wèn)是否替換

eg: :41,44/yang/lee/g 同上,不詢問(wèn),直接替換

使用替換命令來(lái)添加刪除注釋

:% s/^/#/g 來(lái)在全部?jī)?nèi)容的行首添加 # 號(hào)注釋

:1,10 s/^/#/g 在1~10 行首添加 # 號(hào)注釋

vi里面怎么查命令??

:!which cp

vi里面怎么導(dǎo)入命令的結(jié)果?

:r !which cp

v 可視字符模式

V****(shift+v) 可視行模式,選擇多行操作

**ctrl+v **可視塊模式(列模式),操作列

I或者O進(jìn)入插入模式。

1,圖形化界面

2,setup 命令虛擬界面

3,修改配置文件(以網(wǎng)絡(luò)方式為NAT示例)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.2.129

NETMASK=255.255.255.0

GATEWAY=192.168.2. 2 #網(wǎng)段2任意,IP地址2固定,網(wǎng)段為vmnet8的設(shè)置的IP網(wǎng)段

DNS1=114.114.114.114

DNS2=8.8.8.8

重啟網(wǎng)絡(luò)生效:

service network restart

命令路徑:/bin/ping 執(zhí)行權(quán)限:所有用戶

作用:測(cè)試網(wǎng)絡(luò)的連通性

語(yǔ)法:ping 選項(xiàng) IP地址

-c 指定發(fā)送次數(shù)

ping 命令使用的是icmp協(xié)議,不占用端口

eg: # ping -c 3 127.0.0.1

英文:interface configure 命令路徑:/sbin/ifconfig 執(zhí)行權(quán)限:root

作用:查看和設(shè)置網(wǎng)卡網(wǎng)絡(luò)配置

語(yǔ)法:ifconfig [-a] [網(wǎng)卡設(shè)備標(biāo)識(shí)]

-a:顯示所有網(wǎng)卡信息

ifconfig [網(wǎng)卡設(shè)備標(biāo)識(shí)] IP地址 修改ip地址

英文:network statistics 命令路徑:/bin/netstat 執(zhí)行權(quán)限:所有用戶

作用:主要用于檢測(cè)主機(jī)的網(wǎng)絡(luò)配置和狀況

-a all顯示所有連接和監(jiān)聽(tīng)端口

-t (tcp)僅顯示tcp相關(guān)選項(xiàng)

-u (udp)僅顯示udp相關(guān)選項(xiàng)

-n 使用數(shù)字方式顯示地址和端口號(hào)

-l (listening) 顯示監(jiān)控中的服務(wù)器的socket

eg:# netstat -tlnu 查看本機(jī)監(jiān)聽(tīng)的端口

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN

協(xié)議 待收數(shù)據(jù)包 待發(fā)送數(shù)據(jù)包 本地ip地址:端口 遠(yuǎn)程IP地址:端口

netstat –antpl

臨時(shí)生效:

hostname 主機(jī)名

[圖片上傳失敗...(image-ceed36-1624438708893)]

永久生效:修改配置文件

vi /etc/sysconfig/network

[圖片上傳失敗...(image-2b9d9e-1624438708893)]

修改主機(jī)名和ip地址之間的映射關(guān)系

vi /etc/hosts

192.168.2.120 node-1.edu.cn node-1

可配置別名

[圖片上傳失敗...(image-ec86cf-1624438708893)]

進(jìn)程和程序的區(qū)別:

1、程序是靜態(tài)概念,本身作為一種軟件資源長(zhǎng)期保存;而進(jìn)程是程序的執(zhí)行過(guò)程,它是動(dòng)態(tài)概念,有一定的生命期,是動(dòng)態(tài)產(chǎn)生和消亡的。

2、程序和進(jìn)程無(wú)一一對(duì)應(yīng)關(guān)系。一個(gè)程序可以由多個(gè)進(jìn)程共用;另一方面,一個(gè)進(jìn)程在活動(dòng)中有可順序地執(zhí)行若干個(gè)程序。

進(jìn)程和線程的區(qū)別:

進(jìn)程: 就是正在執(zhí)行的程序或命令,每一個(gè)進(jìn)程都是一個(gè)運(yùn)行的實(shí)體,都有自己的地址空間,并占用一定的系統(tǒng)資源。

線程: 輕量級(jí)的進(jìn)程;進(jìn)程有獨(dú)立的地址空間,線程沒(méi)有;線程不能獨(dú)立存在,它由進(jìn)程創(chuàng)建;相對(duì)講,線程耗費(fèi)的cpu和內(nèi)存要小于進(jìn)程。

進(jìn)程管理的作用?

判斷服務(wù)器的健康狀態(tài)

查看系統(tǒng)所有的進(jìn)程

殺死進(jìn)程

作用:查看系統(tǒng)中的進(jìn)程信息

語(yǔ)法:ps [-auxle]

常用選項(xiàng)

查看系統(tǒng)中所有進(jìn)程

ps應(yīng)用實(shí)例 # ps -u or ps -l 查看隸屬于自己進(jìn)程詳細(xì)信息

作用: 查看當(dāng)前進(jìn)程樹(shù)

語(yǔ)法:pstree [選項(xiàng)]

-p 顯示進(jìn)程PID

-u 顯示進(jìn)程的所屬用戶

作用:查看系統(tǒng)健康狀態(tài)

顯示當(dāng)前系統(tǒng)中耗費(fèi)資源最多的進(jìn)程,以及系統(tǒng)的一些負(fù)載情況。

語(yǔ)法:top [選項(xiàng)]

-d 秒數(shù),指定幾秒刷新一次,默認(rèn)3秒(動(dòng)態(tài)顯示)

作用:關(guān)閉進(jìn)程

語(yǔ)法:kill [-選項(xiàng)] pId

kill -9 進(jìn)程號(hào)(強(qiáng)行關(guān)閉) 常用

kill -1 進(jìn)程號(hào)(重啟進(jìn)程)

添加用戶

語(yǔ)法:useradd [選項(xiàng)] 用戶名

修改密碼命令

語(yǔ)法:passwd [選項(xiàng)] [用戶名]

用戶密碼:生產(chǎn)環(huán)境中,用戶密碼長(zhǎng)度8位以上,設(shè)置大小寫(xiě)加數(shù)字加特殊字符,要定期更換密碼。

ys^h_L9t

刪除用戶

-r 刪除賬號(hào)時(shí)同時(shí)刪除宿主目錄(remove)

作用:用于查看Linux文件系統(tǒng)的狀態(tài)信息,顯示各個(gè)分區(qū)的容量、已使用量、未使用量及掛載點(diǎn)等信息??词S嗫臻g

語(yǔ)法:df [-hkam] [掛載點(diǎn)]

-h(human-readable)根據(jù)磁盤(pán)空間和使用情況 以易讀的方式顯示 KB,MB,GB等 -k  以KB 為單位顯示各分區(qū)的信息,默認(rèn)

-M 以MB為單位顯示信息 -a  顯示所有分區(qū)包括大小為0 的分區(qū)

作用:用于查看文件或目錄的大?。ù疟P(pán)使用空間)

語(yǔ)法:du [-abhs] [文件名目錄](méi)

-a 顯示子文件的大小

-h以易讀的方式顯示 KB,MB,GB等

-s summarize 統(tǒng)計(jì)總占有量

eg:

du -a(all) /home  顯示/home 目錄下每個(gè)子文件的大小,默認(rèn)單位為kb

du -b /home  以bytes為單位顯示/home 目錄下各個(gè)子目錄的大小

du -h /home 以K,M,G為單位顯示/home 文件夾下各個(gè)子目錄的大小

du -sh /home  以常用單位(K,M,G)為單位顯示/home 目錄的總大小 -s summarize

df命令和du命令的區(qū)別:

df命令是從文件系統(tǒng)考慮的,不僅考慮文件占用的空間,還要統(tǒng)計(jì)被命令或者程序占用的空間。

du命令面向文件,只計(jì)算文件或目錄占用的空間。

作用:查看內(nèi)存及交換空間使用狀態(tài)

語(yǔ)法: free [-kmg]

選項(xiàng):

-k: 以KB為單位顯示,默認(rèn)就是以KB為單位顯示

-m: 以MB為單位顯示

-g: 以GB為單位顯示

清理緩存命令:

echo 1 /proc/sys/vm/drop_caches

Linux常用命令詳解 | find

find 命令的基本結(jié)構(gòu)如下:

find 命令手冊(cè) : man find

find 命令中的 -name 選項(xiàng)可以根據(jù)文件名稱進(jìn)行檢索( 區(qū)分大小寫(xiě) )。如需要忽略文件名中的大小寫(xiě),可以使用 -iname 選項(xiàng)。

-name 和 -iname 兩個(gè)選項(xiàng)都支持 wildcards 。如:

例1:查找 /usr 目錄下所有文件名以 .txt 結(jié)尾的文件

例2:查找 /usr 目錄下所有文件名剛好為 4 個(gè)字符的文件

例3:查以大寫(xiě)字母開(kāi)頭的文件

例4:查以兩個(gè)小寫(xiě)字母和兩個(gè)數(shù)字開(kāi)頭的txt文件

類(lèi)似的還有:

-lname -ilname

-path -ipath

-regx -iregx

有些時(shí)候,你需要在搜索時(shí)匹配某個(gè)文件或目錄的 完整路徑 ,而不僅僅是匹配文件名??梢允褂? -path 或 -ipath 選項(xiàng)。

例1:如查找 /usr 下所有文件名以 .txt 結(jié)尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:

例2:在當(dāng)前目錄除aa之外的子目錄內(nèi)搜索 txt文件

例3:在當(dāng)前目錄,不再子目錄中,查找txt文件

如果只想搜索得到文件 或 目錄,即不想它們同時(shí)出現(xiàn)在結(jié)果中??梢允褂? -type 選項(xiàng)指定文件類(lèi)型。

-type 選項(xiàng)最常用的參數(shù)如下:

例:檢索 /usr 下所有文件名以 python 開(kāi)頭的目錄

find 命令支持 -empty 選項(xiàng)用來(lái)檢索 為空 的文件或目錄??瘴募次募餂](méi)有任何內(nèi)容,空目錄即目錄中沒(méi)有任何文件或子目錄。

例:檢索用戶主目錄下所有的空目錄

find 命令也允許用戶對(duì)當(dāng)前的匹配條件進(jìn)行 “反義” (類(lèi)似于 邏輯非 操作)。

如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件??梢允褂靡韵旅睿?/p>

也可以“翻轉(zhuǎn)”任何其他的篩選條件,如:檢索 /usr 下所有內(nèi)容不為空的文件

為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項(xiàng)。

例:檢索根目錄下所有屬主為 starky 的文件

類(lèi)似于 -user 選項(xiàng), -group 選項(xiàng)則可以根據(jù)文件或目錄的 屬組 進(jìn)行檢索。

有些時(shí)候,需要根據(jù)文件創(chuàng)建或修改的時(shí)間進(jìn)行檢索。

Linux 系統(tǒng)中,與文件相關(guān)聯(lián)的時(shí)間參數(shù)有以下三種:

與此對(duì)應(yīng)的是 find 命令中的 -mtime , -atime 和 -ctime 三個(gè)選項(xiàng)。

這三個(gè)選項(xiàng)的使用遵循以下示例中的規(guī)則:

檢索 /usr 下兩天前被修改過(guò)的文件

如果覺(jué)得 -mtime 等選項(xiàng)以 天 為單位時(shí)間有點(diǎn)長(zhǎng),還可以使用 -mmin , -amin , -cmin 三個(gè)選項(xiàng)。

查找比 aa.txt 新 的文件

查找比 aa.txt 舊 的文件

查找比aa.txt新,比bb.txt舊的文件

-size 選項(xiàng)允許用戶通過(guò)文件大小進(jìn)行搜索(只適用于文件,目錄沒(méi)有大小……)。

表示文件大小的單位由以下字符組成:

另外,還可以使用 + 或 - 符號(hào)表示 大于 或 小于 當(dāng)前條件。

檢索文件大小高于 1 GB 的文件

find 命令可以使用 -perm 選項(xiàng)以文件權(quán)限為依據(jù)進(jìn)行搜索。

9.1使用符號(hào)形式

例1:如需要檢索 /usr 目錄下權(quán)限為 rwxr-xr-x 的文件,可以使用以下命令:

例2:搜索 /usr 目錄下所有權(quán)限為 r-xr-xr-x (即系統(tǒng)中的所有用戶都只有讀寫(xiě)權(quán)限)的文件和目錄,可以使用以下命令:

很多時(shí)候,我們只想匹配文件權(quán)限的一個(gè) 子集 。比如,檢索可以直接被任何用戶執(zhí)行的文件,即只關(guān)心文件的執(zhí)行權(quán)限,而不用管其讀寫(xiě)權(quán)限是什么。

上述的需求可以通過(guò)以下命令實(shí)現(xiàn):

其中 a=x 前面的 / 符號(hào)即用來(lái)表示只匹配權(quán)限的某個(gè)子集(執(zhí)行權(quán)限),而不用關(guān)心其他權(quán)限的具體設(shè)置。

9.2使用數(shù)字形式

例如:搜索 /usr 目錄下權(quán)限為 644 (即 rwxr-xr-x )的文件

find 命令默認(rèn)是以 遞歸 的方式檢索項(xiàng)目的,這有時(shí)候會(huì)導(dǎo)致得到的結(jié)果數(shù)量非常巨大??梢允褂? -maxdepth 限制 find 命令遞歸的層數(shù)。

例如:搜索時(shí)向下遞歸的層數(shù)最大為 3

在之前的例子中有出現(xiàn)多個(gè)搜索條件的 組合 以及對(duì)某個(gè)搜索條件的 反轉(zhuǎn) 。

實(shí)際上 find 命令支持 “and” 和 “or” 兩種邏輯運(yùn)算,對(duì)應(yīng)的命令選項(xiàng)分別是 -a 和 -o 。通過(guò)這兩個(gè)選項(xiàng)可以對(duì)搜索條件進(jìn)行更復(fù)雜的組合。

此外還可以使用 小括號(hào) 對(duì)搜索條件進(jìn)行 分組 。注意 find 命令中的小括號(hào)常需要用 單引號(hào) 包裹起來(lái)。因小括號(hào)在 Shell 中有特殊的含義。

如檢索 /usr 下文件名以 python 開(kāi)頭且類(lèi)型為目錄的文件

該命令等同于:

更復(fù)雜的組合形式如:

例4:在除dir0及子目錄以外的目錄下查找txt后綴文件

說(shuō)明:-a 應(yīng)該是and的縮寫(xiě),意思是邏輯運(yùn)算符‘與’(); -o應(yīng)該是or的縮寫(xiě),意思是邏輯運(yùn)算符‘或’(||), -not 表示非.

命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,‘與’邏輯表達(dá)式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個(gè)目錄以外的目錄下查找txt后綴文件并打印出來(lái);如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,‘與’邏輯表達(dá)式為假,則在當(dāng)前目錄下查找所有txt后綴文件。

-delete 選項(xiàng)可以用來(lái)刪除搜索到的文件和目錄。

例如:刪除 home 目錄下所有的空目錄:

-exec 選項(xiàng)可以對(duì)搜索到的結(jié)果執(zhí)行執(zhí)行該參數(shù)所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當(dāng) find 命令檢索到一個(gè)符合條件的文件,會(huì)使用其完整路徑取代命令中的 {} ,然后執(zhí)行 -exec 后面的命令一次。

例1:如需要將 home 目錄下所有的 MP3 音頻文件復(fù)制到移動(dòng)存儲(chǔ)設(shè)備(假設(shè)路徑是 /media/MyDrive ),可使用下面的命令:

其中的 大括號(hào) ( {} )作為檢索到的文件的 占位符 ,而分號(hào)( ; )作為命令結(jié)束的標(biāo)志。因?yàn)榉痔?hào)是 Shell 中有特殊含義的符號(hào),所以需要使用單引號(hào)括起來(lái)或前面加上轉(zhuǎn)義符 \ 。

例2:查看當(dāng)前目錄下的所有普通文件,并在 - exec 選項(xiàng)中使用 ls -l 命令將它們列出

例3:在多個(gè)文件中檢索某個(gè)指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:

創(chuàng)建 Gzip 格式的壓縮文件的命令為:

現(xiàn)在假設(shè)需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺(jué)是,其命令應(yīng)為如下形式:

實(shí)際情況是,這樣得到的 music.tar.gz 其實(shí)只包含一個(gè) MP3 文件。原因是 find 命令 每次 發(fā)現(xiàn)一個(gè)音頻文件,都會(huì)再執(zhí)行一次 -exec 選項(xiàng)后面的壓縮命令。導(dǎo)致先前生成的壓縮包被覆蓋。

可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:

如果想瀏覽搜索到的文件(目錄)的詳細(xì)信息(如權(quán)限和大小等),可以直接使用 -ls 選項(xiàng)。

例如:瀏覽所有 1G 以上大小的文件的詳細(xì)信息

與exec作用相同,區(qū)別在于,在執(zhí)行命令之前,都會(huì)給出提示,讓用戶確認(rèn)是否執(zhí)行

與 exec 作用相同 ,起承接作用。區(qū)別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復(fù)制、移動(dòng)、重命名等

例1:查找以ap或may開(kāi)頭的文件

例2:查硬連接數(shù)大于2的文件或目錄

例3:查找含特定字符串的文件。查找當(dāng)前目錄下含有"the string you want find…"字符串的文件:

例4:從根目錄開(kāi)始查tmpfile,一旦查到馬上刪除

例5:如何用find查找某一天更改的文件?可以使用這一行命令來(lái)實(shí)現(xiàn):

A Guide to the Linux “Find” Command


標(biāo)題名稱:linux的條件命令 linux條件語(yǔ)句
文章位置:http://weahome.cn/article/hjdpds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部