『壹』 linux shell 指令 諸如-d, -f, -e之類的判斷表達式
如果 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
-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-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 類操作系統,並且使用人數還在迅猛增長。
『貳』 Linux判斷當前機器是虛擬機還是物理機
可以從硬體型號上來判斷,虛擬機的硬體型號是特定的,而且就那麼幾種,從硬體型號上甚至還能知道是哪種虛擬機;還有驅動,虛擬機中有特定的驅動,也可以輔助判斷;另外還可以通過網關類型來判斷,比如VMware Workstation虛擬機的網關就很有特點(類似於vmnet-8這樣),物理機的網關絕對不會是VMware Workstation虛擬機那樣。
『叄』 linux 判斷一個目錄是不是為空的
while(dq = readdir(dir)){
if(strcmp(dq->d_name,".")==0||strcmp(dq->d_name,"..")==0)
continue;//這里可以忽略"."和".."
else if(dq->d_type == DT_DIR){
printf("目錄:%s\n",dq->d_name);
char buf[256]={};
sprintf(buf,"%s/%s",path,dq->d_name);
rmdir(buf);
del_dir(buf);
}
else
printf("文件:%s\n",dq->d_name);
}這里是遍歷整個目錄的代碼
給我13億個贊,不要多
『肆』 linux文件怎麼判斷屬性
Linux中的文件屬性可以通過ls -al指令來查看,下面的指令演示了如何在Linux系統中查看文件的屬性:letuknowit@ubuntu:/$ cd /tmpletuknowit@ubuntu:/tmp$ touch testletuknowit@ubuntu:/tmp$ ls -al test-rw-rw-r-- 1 letuknowit letuknowit 0 2012-03-08 04:33 test第1行:通過cd指令進入 /tmp 目錄第2行:通過touch指令新建一個文件,名為:test第3行:通過ls -al test指令查詢文件test的屬性,這里只列出了文件test的屬性,如果想列出當前目錄下所有文件的屬性,去掉test即可(ls -al),也可以將test換成系統中的某個路徑(ls -al /tmp),那麼就會列出該路徑下所有文件的屬性第4行:test文件的屬性,在Linux中,每個文件的屬性由七個部分組成,為了看的更清楚,下面把這7項分開點顯示:-rw-rw-r--???????? 1???????? letuknowit???????? letuknowit???????? 0???????? 2012-03-08 04:33???????? test 以上7項依次表示【文件的屬性】、【連接數】、【文件的擁有者】、【文件所屬的群組】、【文件大小】、【文件創建時間】和【文件名稱】。 紅色部分的 -rw-rw-r–?? 就是Linux系統下文件的屬性了,其決定著文件的擁有者、群組以及其他用戶對該文件的訪問許可權,藍色的letuknowit為該文件的擁有者,綠色的letuknowit是文件所屬的群組;由於是用touch指令創建的文件,所以文件的大小為0。
『伍』 關於linux中的判斷符號[ ]
[ -z "$HOME" ] 其實就等於 test -z "$HOME" ,所以 [ ] 裡面能用的選項和 test 語句能用的完全一樣,所以你可以通過 man test 來查看詳細信息。
『陸』 linux中怎麼查看文件是否存在
find命令
find是linux下用於查找文件的通用方法。
find語法: find [指定查找目錄] [查找規則] [查找完後執行的action]
例如:find /tmp -name wa* -type l ,是在/tmp下查找名為wa開頭且類型為符號鏈接的文件。找到就表示存在。
『柒』 如何判斷LINUX還是UNIX
很簡單。最根本的區別:linux不需要固定的硬體支持;unix需要特定的硬體支持。也就是說不是什麼電腦都可以裝unix,通俗點說就是想裝unix就需要按它的標準定製電腦。而linux不同,幾乎PC都可以裝,常見的筆記本電腦、台式機等等。
『捌』 linux shell編程中怎麼判斷時間相等
#!/bin/bash#格式化過期日期,格式化過期日期完整時間以當前時間作為參考!expday="2018-04-11 `date +%T`"echo "Expire day is $expday"#當前日期時間格式為stamp時間戳todays=`date +%s`echo "Today is $(date +"%F %T")"#以下2種方式做時間的四則運算,分別使用 let 或者 $(( ))#過期日期已格式化,規避整數運算的誤差(去余數)#let dayDiff=($(date -d "$expday" +%s)-$todays)/86400dayDiff=$(( ($(date -d "$expday" +%s)-$todays)/86400 ))echo "Diff day is $dayDiff days!"
其餘說明:
bash 不支持浮點運算,如果需要進行浮點運算,需要藉助bc,awk 處理。Linux命令需求的話可如下圖進行查詢
『玖』 linux中怎麼查看文件是否存在
兩個方式:find命令或者shell腳本。
1、find命令
find是linux下用於查找文件的通用方法。
find語法: find [指定查找目錄] [查找規則] [查找完後執行的action]
例如:find /tmp -name wa* -type l ,是在/tmp下查找名為wa開頭且類型為符號鏈接的文件。找到就表示存在。
2、shell腳本
在進行文件的自動處理中常常需要自動判別,下面的腳本判斷test.log是否存在,存在則顯示文件存在,否則顯示文件不存在。
例子:編輯一個腳本判斷文件是否存在
vi t.sh
#!/bin/bash
if [ -e /temp/test.log ];then //這里是判斷語句,-e表示進行比較結果為真則存在
echo "文件存在"
else
echo "文件不存在"
fi
保存退出
執行:
sh t.sh