日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在linux中判斷變量或文件是否為空(linux判斷不為空)

如何在Linux中判斷變量或文件是否為空

在Linux系統(tǒng)中,判斷變量或文件是否為空是一項很常見的任務(wù)。無論是在腳本編程中,還是在系統(tǒng)維護或日常操作中,判斷變量或文件是否為空都是必要的。本文將介紹如何在Linux中判斷變量或文件是否為空,并提供實用的代碼示例。

一、判斷變量是否為空

在Linux中,我們可以通過使用“test”命令或“[ ]”來判斷變量是否為空。下面是一些實用的代碼示例:

1.使用“test”命令判斷變量是否為空:

“`

if test -z $var; then

echo “變量為空”

fi

“`

2.使用“[ ]”來判斷變量是否為空:

“`

if [ -z $var ]; then

echo “變量為空”

fi

“`

二、判斷文件是否為空

判斷一個文件是否為空可以使用以下命令:

“`

if [ ! -s $file ];then

echo “$file文件為空”

fi

“`

其中, “-s”選項表示文件存在且大小大于0。

判斷一個文件是否為空還可以使用以下命令:

“`

if [ ! -s $file ]; then

echo “$file文件為空”

fi

“`

其中, “-s”選項表示文件存在且大小大于0。

三、結(jié)語

在Linux中,判斷變量或文件是否為空是一項非?;A(chǔ)的任務(wù),但卻是非常重要的。通過使用本文所提供的例子,可以有效地判斷變量或文件是否為空。此外,在編寫腳本或進行系統(tǒng)管理時,這些技能也是非常必要的。

相關(guān)問題拓展閱讀:

  • linux正則,匹配非空字符
  • linux awk取值為空
  • Linux常用命令詳解 | find

linux正則,匹配非空字符

. 匹蘆森世配單個字符

* 匹配任意長度的字符串陪肢

XXX之間是或關(guān)春旅系

linux awk取值為空

a=`sed -n ‘/^GATEWAY/p’ /etc/sysconfig/network-scripts/ifcfg-eth0 | awk -F ‘=’ ‘{print $2}’`

echo $a

如果這樣還是為空的話,請檢查啟賣你的ifcfg-eth0文件里搏宴面是不是有基旁銀以 GATEWAY開頭的行

如果ifcfg-eth0文件中沒有GATEWAY這一項鋒凱,echo $a 顯示為空。

不滿足 /^GATEWAY/ 條件就不會打印任何東西。

加個判斷即可。

a=”`awk -F= ‘/^GATEWAY/{print $2}’ /etc/sysconfig/network-scripts/ifcfg-eth0`”

if ; then #變量a不為空(文件中存在GATEWAY這項)

    # Do sth.

else 旅辯#變量a為空(文件中不存在GATEWAY這項)

    # Do sth. else

fi

一般來說會返回空值的

而且你上面這語句不太對

Linux常用命令詳解 | find

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

find 命令手冊

: man find

find 命令中的 -name 選項可以根據(jù)文件名稱進行檢索(

區(qū)分大小寫

)。如需要忽略文件名中的大小寫,可以使用 -iname 選項。

-name 和 -iname 兩個選項都支持

wildcards

。如:

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

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

例3:查以大寫字母開頭的文件

例4:查以兩個小寫字母和兩個數(shù)字開頭的txt文件

類似的還有:

-lname -ilname

-path -ipath

-regx -iregx

有些時候,你需要在搜索時匹配某個文件或目錄的

完整路徑

,而不僅僅是匹配文件名??梢允褂?-path 或 -ipath 選項。

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

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

例3:在當前目錄,不再子目錄中,查找txt文件

如果只想搜索得到文件

目錄,即不想它們同時出現(xiàn)在結(jié)果中??梢允褂?-type 選項指定文件類型。

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

例:檢索 /usr 下所有文件名以 python 開頭的目錄

find 命令支持 -empty 選項用來檢索

為空

的文件或目錄??瘴募次募餂]有任何內(nèi)容,空目錄即目錄中沒有任何文件或子目錄。

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

find 命令也允許用戶對當前的匹配條件進行

“反義”

(類似于

邏輯非

操作)。

如需要檢索 /usr 下所有文件名

以 .txt 為后綴的文件??梢允褂靡韵旅睿?/p>

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

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

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

類似于 -user 選項, -group 選項則可以根據(jù)文件或目錄的

屬組

進行檢索。

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

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

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

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

檢索 /usr 下兩天前被修改過的文件

如果覺得 -mtime 等選項以

為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。

查找比 aa.txt

的文件

查找比 aa.txt

的文件

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

-size 選項允許用戶通過文件大小進行搜索(只適用于文件,目錄沒有大小……)。

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

另外,還可以使用 + 或 – 符號表示

大于

小于

當前條件。

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

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

9.1使用符號形式

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

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

很多時候,我們只想匹配文件權(quán)限的一個睜櫻

子集

。比如,檢索可以直接被任何友慎用戶執(zhí)行的文件,即只關(guān)心文悉告叢件的執(zhí)行權(quán)限,而不用管其讀寫權(quán)限是什么。

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

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

9.2使用數(shù)字形式

例如:搜索 /usr 目錄下權(quán)限為

644

(即 rwxr-xr-x )的文件

find 命令默認是以

遞歸

的方式檢索項目的,這有時候會導(dǎo)致得到的結(jié)果數(shù)量非常巨大??梢允褂?-maxdepth 限制 find 命令遞歸的層數(shù)。

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

在之前的例子中有出現(xiàn)多個搜索條件的

組合

以及對某個搜索條件的

反轉(zhuǎn)

實際上 find 命令支持

“and”

“or”

兩種邏輯運算,對應(yīng)的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進行更復(fù)雜的組合。

此外還可以使用

小括號

對搜索條件進行

分組

。注意 find 命令中的小括號常需要用

單引號

包裹起來。因小括號在 Shell 中有特殊的含義。

如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件

該命令等同于:

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

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

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

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

-delete 選項可以用來刪除搜索到的文件和目錄。

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

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

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

其中的

大括號

( {} )作為檢索到的文件的

占位符

,而分號( ; )作為命令結(jié)束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉(zhuǎn)義符 \ 。

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

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

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

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

實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令

每次

發(fā)現(xiàn)一個音頻文件,都會再執(zhí)行一次 -exec 選項后面的壓縮命令。導(dǎo)致先前生成的壓縮包被覆蓋。

可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的

文件列表

傳遞給后面的壓縮命令。完整的命令如下:

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

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

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

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

例1:查找以ap或may開頭的文件

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

例3:查找含特定字符串的文件。查找當前目錄下含有”the string you want find…”字符串的文件:

例4:從根目錄開始查tmpfile,一旦查到馬上刪除

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

A Guide to the Linux “Find” Command

關(guān)于linux 判斷不為空的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。


文章標題:如何在linux中判斷變量或文件是否為空(linux判斷不為空)
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/cdjgjep.html