當前位置:首頁 » 操作系統 » linuxshell判斷是文件

linuxshell判斷是文件

發布時間: 2023-11-04 02:22:03

1. linux shell 如何判斷一個文件是否存在

了解你的意思,首先,test命令是判斷某一個特定的文件相關信息,也就是當你使用test這個命令的時候,你是清楚它叫什麼名字的(只是你不知道它的相關信息)。如果你要判斷比如你說的以hbc*開頭的一類文件,最好就是使用ls命令或者find命令來作。你可以參考一下,下面的小測試。
mike >>> ls -d ??? 12-04-20 23:15
acp/ apc/ scl tmp/ xmy/

mike >>> test -d x?? 12-04-20 23:15

mike >>> echo $? 12-04-20 23:16
0
mike >>> test -d x* 12-04-20 23:16
test: too many arguments
使用find命令能很好查找已hbc開頭的文件或者目錄,但是它不能判斷有沒有這樣的文件,因為你不能通過find的命令執行狀態來判斷是否有這樣的文件,但是可以把find的輸出導向到一個文件,從而對文件進行判斷。如下:
mike >>> find ./ -type d -name "FUK*" -print 12-04-20 23:24
mike >>> echo $? 12-04-20 23:24
0

2. linux shell程序,如何輸入一個文件名判斷它是文件夾還是文件

//是目錄不是文件夾
#! /bin/bash
# filename:FileType.sh

read -p "Please input the filename :" filename
fpath=$filename
if [ -d $fpath ];
then
echo "$fpath is a direstory.";
elif [ -e $fpath ];
then
echo "$fpath is a file.";
else
echo "$fpath is NOT a file or direstory.";
fi

3. 關於linux,shell腳本中怎樣判斷文件是否有內容

可以用「test 條件表達式」進行測試,如:test -f /etc/fstab 測試文件/etc/fstab文件是否存在

-e File 如果文件File存在(Exist),則為True
-s File 如果文件File存在且文件大小(Size)大於零,則為True
-f File 如果文件File存在且是普通文件(File),則為True
-d File 如果文件File存在且是目錄(Directory),則為True
-b File 如果文件File存在且是塊(Block)特殊文件,則為True
-c File 如果文件File存在且是字元(Character)特殊文件,則為True
-L File 如果文件File存在且是符號鏈接(Link)文件,則為True
-r File 如果文件File存在且是可讀的(Readable),則為True
-w File 如果文件File存在且是可寫的(Writable),則為True
-x File 如果文件File存在且是可執行的(Executable),則為True
-O File 如果文件File存在且屬於當前用戶(Owner),則為True
-G File 如果文件File存在且屬於當前用戶組(Group),則為True
File1 -nt File2 如果文件File1新於(Newer Then) File2,則為True
File2 -ot File2 如果文件File1舊於(Older Then) File2,則為True

4. linux shell 指令 諸如-d, -f, -e之類的判斷表達式

文件比較運算符-e filename

  • 如果 filename存在,則為真 [ -e /var/log/syslog ]-d filename

  • 如果 filename為目錄,則為真 [ -d /tmp/mydir ]-f filename

  • 如果 filename為常規文件,則為真 [ -f /usr/bin/grep ]-L filename

  • 如果 filename為符號鏈接,則為真 [ -L /usr/bin/grep ]-r filename

  • 如果 filename可讀,則為真 [ -r /var/log/syslog ]-w filename

  • 如果 filename可寫,則為真 [ -w /var/mytmp.txt ]-x filename

  • 如果 filename可執行,則為真 [ -L /usr/bin/grep ]filename1-nt filename2

  • 如果 filename1比 filename2新,則為真 [ /tmp/install/etc/services -nt /etc/services ]filename1-ot filename2

  • 如果 filename1比 filename2舊,則為真 [ /boot/bzImage -ot arch/i386

/boot/bzImage ]字元串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)

  • -z string 如果 string長度為零,則為真 [ -z "$myvar" ]-n string 如果 string長度非零,則為真 [ -n "$myvar" ]

  • string1= string2 如果 string1與 string2相同,則為真 [ "$myvar" = "one two three"]

  • string1!= string2 如果 string1與 string2不同,則為真 [ "$myvar" != "one two three" ]

算術比較運算符num1-eq num2 等於 [ 3 -eq $mynum ]

  • num1-ne num2 不等於 [ 3 -ne $mynum ]num1-lt num2 小於 [ 3 -lt $mynum ]

  • num1-le num2 小於或等於 [ 3 -le $mynum ]num1-gt num2 大於 [ 3 -gt $mynum ]

  • num1-ge num2 大於或等於 [ 3 -ge $mynum ]

拓展資料:

Linux操作系統

是基於UNIX操作系統發展而來的一種克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

5. linux shell 判斷文件是否存在 存在就刪除

1、linux shell中判斷文件是否存在,可以使用test命令的-a參數。藉助於if結構進行判斷即可。

2、以~/t/thello.py為例,檢測這個文件,如果存在將其刪除,示例代碼如下:

if[[-a~/t/hello.py]];then
echo"存在文件";
rm-f~/t/hello.py
fi;

3、測試效果如下圖所示

熱點內容
手機編寫腳本軟體 發布:2024-11-30 12:41:02 瀏覽:872
學php如何 發布:2024-11-30 12:36:48 瀏覽:857
家庭電腦改網盤伺服器 發布:2024-11-30 12:32:13 瀏覽:105
電腦伺服器組裝系統 發布:2024-11-30 12:32:11 瀏覽:998
在線顯示wifi密碼是什麼 發布:2024-11-30 12:30:53 瀏覽:726
觸動精靈安卓腳本 發布:2024-11-30 12:30:47 瀏覽:80
phpmd5加密代碼 發布:2024-11-30 12:29:35 瀏覽:899
蘋果手機鎖屏怎麼取消密碼 發布:2024-11-30 12:28:08 瀏覽:860
老娘也要當間諜ftp 發布:2024-11-30 12:23:17 瀏覽:131
家裡如何安裝文件伺服器 發布:2024-11-30 12:15:35 瀏覽:352