回覆列表
-
1 # 何以笙丶丶
-
2 # 沙沫的
可以用“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),則為TrueFile1 -nt File2如果文件File1新於(Newer Then) File2,則為TrueFile2 -ot File2如果文件File1舊於(Older Then) File2,則為True
-
3 # 番茄107772036356
使用-e 判斷,例如if [ -e $FILE ] then echo $FILE 作為文件或文件夾是存在的fi判斷文件是否存在if [ -f filename ]判斷目錄是否存在if [ -d directory }
ls -ld 文件夾路徑 | awk "{print int($5/1024)}"
或者:
du -b 文件夾路徑 | awk "{print int($1/1024)}"
跟你上面計算文件大小類似,得到的都是以KB為單位的大小。
如果要以Byte為單位,不要除以1024也不要int取整就是了。
注意:Linux的ext2或ext3文件系統會給目錄分配一個inode塊(索引節點),用來記錄文件信息,所以文件夾的大小不是簡單地將其中文件大小累加就能得到的,還包括了這個索引節點的大小。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、權限、所屬關系、磁盤中的位置等信息。