腳本檢測大小是什麼意思
A. matlab中編寫一個腳本,判斷輸入值的大小
創建兩個變數,賦值後採用if語句來判斷大小,若成功則輸入變數1>變數2,反之輸入變數2>變數1。
腳本是最簡單的一種matlab程序並且腳本是一個包含多行連續的matlab命令和函數調用的文件。在命令行中鍵入腳本名稱即可運行該腳本。
B. linux的shell 腳本里怎麼用if 判斷文件大小呀
find有一個參數 -size +10000M
你可以定義一個變數 它的值為
查找目錄下 是否滿足同時名字叫123.cap 並且尺寸大於10000M的
是就賦予var
先執行tcpmp 後台運行
然後做一個循環 每隔一秒判斷這個var
var=$(find . -name "123.cap" -size +10000M)
判斷這個var是否不為空
當不為空 那麼代表文件超出10g了 那麼就完畢吧 exit
思路這樣 你自己試試看
在用PHP進行文件上傳的操作中,需要知道怎麼控制上傳文件大小的設置,而文件可傳大小是受到多種因素制約的,現總結如下:
1、php.ini:upload_max_filesize 所上傳的文件的最大大小。默認值2M。
2、php.ini:memory_limit 本指令設定了一個腳本所能夠申請到的最大內存位元組數,默認值8M。如果不需要任何內存上的限制,必須將其設為 -1。如果內存不夠,則可能出現錯誤:Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)
3、php.ini:post_max_size 設定POST數據所允許的最大大小。此設定也影響到文件上傳。要上傳大文件,該值必須大於 upload_max_filesize。
4、php.ini:max_execution_time = 30 ; Maximum execution time of each script, in seconds
5、php.ini:max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
6、如果用到mysql的BLOB進行二進制文件存儲,則需要設置my.ini:max_allowed_packet=xxM
7、httpd.conf
在 Apache 裡面有一個選項是 LimitRequestBody,這個選項可以限制用戶送出的 HTTP 請求內容。這個選項可以在 .htaccess 或 httpd.conf 里使用,而如果在 httpd.conf 內使用,分別可以用在 virtualhost 或目錄屬性設定。而 LimitRequestBody 的設定值是介乎 0 (無限制) 至 2147483647 (2GB)。
例如要在目錄 D:/AppServ/www 設定上傳限制為 100K,可以在 .htaccess 或 httpd.conf 加入以下語句:
LimitRequestBody 1024000000
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
LimitRequestBody 1024000000Options Indexes FollowSymLinks MultiViews ExecCGIAllowOverride AllOrder allow,denyAllow from all
如果透過 .htaccess 設定,儲存檔案後會立即生效;如透過 httpd.conf 設定,須要重新啟動 Apache。
PHP關於文件上傳部分,特別提到表單隱藏域:MAX_FILE_SIZE,意思是接收文件的最大尺寸。文檔中給出的例子如下:
<form enctype="multipart/form-data" action="_URL_" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
form>
Send this file:
這里設置MAX_FILE_SIZE = 30000,期待一種可能,使得瀏覽器在傳送文件之前能夠依此作出預先判斷,如果文件尺寸大於30000位元組,則不執行實際的POST動作。也就是不往伺服器發送文件內容,而是直接在客戶端提醒用戶「你試圖上傳的文件超過30000位元組」。
這的確是一個非常棒的主張,但在現實中卻暫時無法實現。不是因為這個限制可以「被簡單地繞過」,而是IE和FireFox這兩個主流瀏覽器都不支持這個特性。PHP的這個建議尚未被採納。
MAX_FILE_SIZE還有一個用場:後台PHP會判斷接收到的文件大小是否大於這個值,如果超出,$_FILES['thisfile']['error']會被設置為UPLOAD_ERR_FORM_SIZE(2),同時放棄保存臨時文件,將$_FILES['thisfile']['size']置0。
這個例子,沒問題,表現正常,當我試圖上傳一個40多K的文件時,PHP程序報告「文件超過MAX_FILE_SIZE」。
但是,如果我們將表單中的MAX_FILE_SIZE從30000減少到1000,情形又如何呢?
上傳800位元組的文件,正常;
上傳40K的文件,PHP報告文件過大,也正常;
上傳3000個位元組的文件,PHP未報告錯誤,它成功保存了文件!出乎意料!
問題就出在main/rfc1867.c中判斷文件是否超長的這部分代碼上。php每次從buffer中讀取FILLUNIT位元組長度的內容後,首先判斷「已經讀到的內容長度(total_bytes)」是否大於MAX_FILE_SIZE,然後再增加「已經讀到的內容長度(total_bytes)」。這樣一來,和預計的結果之間至多會有FILLUNIT位元組的誤差,而FILLUNIT=1024*5=5K。(點擊bug了解詳細內容)
這就是說,當MAX_FILE_SIZE<5K時,上傳一個大於MAX_FILE_SIZE,但是小於5K的文件是沒有問題的。
當然,因為這個設置很容易被繞過,所以伺服器端編程不應當依賴於MAX_FILE_SIZE。而且,5K到底是個很小的數值,對大多數上傳文件的表單來說沒有影響。
PHP中post_max_size,upload_max_filesize, MAX_FILE_SIZE的設置,和客戶端上傳給伺服器端的流量大小無關。
Apache伺服器從客戶端接收長度不超過LimitRequestBody位元組數的請求,然後傳送給php模塊,php模塊再決定是否保存成臨時文件,設置$_FILES全局變數,移交給script進一步處理。
這個Apache的LimitRequestBody選項預設值=0,允許Request body的最大位元組數是2G(Linux + Apache)
最後還要注意的是:
html本身能夠post數據也是有限制的,不能超過2G。
ftp客戶端有文件偏移指針的2GB邊界限制,未使用特殊編譯flag編譯的ftp伺服器端或者客戶端,無論在什麼FS中都不支持大於2GB的文件。不知道PHP會不會也有這種情況。
D. Shell腳本得到文件夾大小
ls -ld 文件夾路徑 | awk '{print int($5/1024)}'
或者:
-b 文件夾路徑 | awk '{print int($1/1024)}'
跟你上面計算文件大小類似,得到的都是以KB為單位的大小。
如果要以Byte為單位,不要除以1024也不要int取整就是了。
注意:Linux的ext2或ext3文件系統會給目錄分配一個inode塊(索引節點),用來記錄文件信息,所以文件夾的大小不是簡單地將其中文件大小累加就能得到的,還包括了這個索引節點的大小。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關系、磁碟中的位置等信息。
E. linux的shell 腳本里怎麼用if 判斷文件大小呀
需要幾個工具 基本上思路是 用 配合awk取得文件大小 ,然後if判斷
偽代碼如下
s=` -k logfile|awk '{print $1}'`
if [ $s -gt 1024000000 ]
then
停止oracle監聽進程
rm -rf logfile && touch logfile
啟動oracle監聽進程
else
continue
fi
F. linux shell腳本判斷文件大小,超過一定大小發送郵件報警
比如判斷文件大於1M
if [ `ls -s file|awk '{print $1}'` -gt 1024 ];then
send email
fi
G. bat腳本中怎麼獲取文件的大小
如果不用for命令,dir也可以,不過顯示出來的結果可能不是你願意看到的,雖然能顯示出大小,但太死板了,文件無論多大都是以位元組為單位,無法進行轉換,如果文件很大的話會顯示比較長的數字串,文件大小不能很直觀的體現出來,而且還顯示出許多其他的一些信息,但如果用for語句的話就比單獨用dir優越得多,以上這些問題都能解決掉,而且還可以加入一些條件語句使之更加靈活適用,如果一次顯示包含多個文件時就需要for和dir組合使用了,dir加個/s可以顯示目錄中所有文件及文件夾(不包括隱藏的),再加/a就包括隱藏文件與文件夾了,總之用dir列出目錄中所有文件,然後讓for來提取最後執行相關命令。