linux腳本判斷文件是否存在
A. linux編寫shell腳本實現查詢 /home/test文件夾下是否存在a這個文件
if [ -f "/home/test/a" ]; then
echo myfile exists
else
echo myfile dose not exists
fi
[ -e FILE ] 如果 FILE 存在則為真。
[ -f FILE ] 如果 FILE 存在且是一個普通文件則為真。
B. 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、測試效果如下圖所示
C. linux腳本開發-關於壓縮文件腳本的判斷修改
你可以判斷文件是否為空,如果為空不壓縮,如果不為空則可以壓縮,,if [[ ! -s filename ]] <==如果文件存在且為空,-s代表存在不為空,!將他取反
then
ok
fi你自己把代碼再改改..
D. linux下利用test命令的判斷文件屬性的功能編寫一個shell腳本
對於文件是否有讀寫許可權,這個沒有涉及
#!/bin/bash
read -p "please input the file name:" file
if [ ! -n "$file" ];
then
echo please input the file name please
exit 0
fi
ls $file > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo file exist
cp $file $file.bak
vi $file
else
echo file not exist!
fi
E. 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
F. 關於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
G. linux中怎麼查找文件夾是否存在
linux中使用find命令來查找文件夾,使用find
/
-name
要查找的文件夾名
-type
d方式來查找。
find命令說明
語法
find(選項)(參數)
選項
-amin<分鍾>:查找在指定時間曾被存取過的文件或目錄,單位以分鍾計算;
-anewer<參考文件或目錄>:查找其存取時間較指定文件或目錄的存取時間更接近現在的文件或目錄;
-atime<24小時數>:查找在指定時間曾被存取過的文件或目錄,單位以24小時計算;
-cmin<分鍾>:查找在指定時間之時被更改過的文件或目錄;
-cnewer<參考文件或目錄>查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
-ctime<24小時數>:查找在指定時間之時被更改的文件或目錄,單位以24小時計算;
-daystart:從本日開始計算時間;
-depth:從指定目錄下最深層的子目錄開始查找;
-expty:尋找文件大小為0
byte的文件,或目錄下沒有任何子目錄或文件的空目錄;
-exec<執行指令>:假設find指令的回傳值為true,就執行該指令;
-false:將find指令的回傳值皆設為false;
-fls<列表文件>:此參數的效果和指定「-ls」參數類似,但會把結果保存為指定的列表文件;
-follow:排除符號連接;
-fprint<列表文件>:此參數的效果和指定「-print」參數類似,但會把結果保存成指定的列表文件;
-fprint0<列表文件>:此參數的效果和指定「-print0」參數類似,但會把結果保存成指定的列表文件;
-fprintf<列表文件><輸出格式>:此參數的效果和指定「-printf」參數類似,但會把結果保存成指定的列表文件;
-fstype<文件系統類型>:只尋找該文件系統類型下的文件或目錄;
-gid<群組識別碼>:查找符合指定之群組識別碼的文件或目錄;
-group<群組名稱>:查找符合指定之群組名稱的文件或目錄;
-help或——help:在線幫助;
-ilname<範本樣式>:此參數的效果和指定「-lname」參數類似,但忽略字元大小寫的差別;
-iname<範本樣式>:此參數的效果和指定「-name」參數類似,但忽略字元大小寫的差別;
-inum<inode編號>:查找符合指定的inode編號的文件或目錄;
-ipath<範本樣式>:此參數的效果和指定「-path」參數類似,但忽略字元大小寫的差別;
-iregex<範本樣式>:此參數的效果和指定「-regexe」參數類似,但忽略字元大小寫的差別;
-links<連接數目>:查找符合指定的硬連接數目的文件或目錄;
-iname<範本樣式>:指定字元串作為尋找符號連接的範本樣式;
-ls:假設find指令的回傳值為ture,就將文件或目錄名稱列出到標准輸出;
-maxdepth<目錄層級>:設置最大目錄層級;
-mindepth<目錄層級>:設置最小目錄層級;
-mmin<分鍾>:查找在指定時間曾被更改過的文件或目錄,單位以分鍾計算;
-mount:此參數的效果和指定「-xdev」相同;
-mtime<24小時數>:查找在指定時間曾被更改過的文件或目錄,單位以24小時計算;
-name<範本樣式>:指定字元串作為尋找文件或目錄的範本樣式;
-newer<參考文件或目錄>:查找其更改時間較指定文件或目錄的更改時間更接近現在的文件或目錄;
-nogroup:找出不屬於本地主機群組識別碼的文件或目錄;
-noleaf:不去考慮目錄至少需擁有兩個硬連接存在;
-nouser:找出不屬於本地主機用戶識別碼的文件或目錄;
-ok<執行指令>:此參數的效果和指定「-exec」類似,但在執行指令之前會先詢問用戶,若回答「y」或「y」,則放棄執行命令;
-path<範本樣式>:指定字元串作為尋找目錄的範本樣式;
-perm<許可權數值>:查找符合指定的許可權數值的文件或目錄;
-print:假設find指令的回傳值為ture,就將文件或目錄名稱列出到標准輸出。格式為每列一個名稱,每個名稱前皆有「./」字元串;
-print0:假設find指令的回傳值為ture,就將文件或目錄名稱列出到標准輸出。格式為全部的名稱皆在同一行;
-printf<輸出格式>:假設find指令的回傳值為ture,就將文件或目錄名稱列出到標准輸出。格式可以自行指定;
-prune:不尋找字元串作為尋找文件或目錄的範本樣式;
-regex<範本樣式>:指定字元串作為尋找文件或目錄的範本樣式;
-size<文件大小>:查找符合指定的文件大小的文件;
-true:將find指令的回傳值皆設為true;
-typ<文件類型>:只尋找符合指定的文件類型的文件;
-uid<用戶識別碼>:查找符合指定的用戶識別碼的文件或目錄;
-used<日數>:查找文件或目錄被更改之後在指定時間曾被存取過的文件或目錄,單位以日計算;
-user<擁有者名稱>:查找符和指定的擁有者名稱的文件或目錄;
-version或——version:顯示版本信息;
-xdev:將范圍局限在先行的文件系統中;
-xtype<文件類型>:此參數的效果和指定「-type」參數類似,差別在於它針對符號連接檢查。
參數
起始目錄:查找文件的起始目錄。
示例:
根據文件類型進行搜索
find
.
-type
類型參數
類型參數列表:
f
普通文件
l
符號連接
d
目錄
c
字元設備
b
塊設備
s
套接字
p
fifo