[20210624]find -mtime +N N -N的時間範圍問題.txt
[20210624]find -mtime +N N -N的時間範圍問題.txt
--//今天再次遇到使用find問題。以前的連結:
--//http://blog.itpub.net/267265/viewspace-2766983/ => [20210408]使用linux find注意.txt
# date
Thu Jun 24 09:03:10 CST 2021
# ls -ltr | head
total 54052
-rw-r----- 1 oracle oinstall 780 2021-06-22 10:38:35 dbcndg2_ora_7123_20210622103835767385143795.aud
-rw-r----- 1 oracle oinstall 779 2021-06-22 10:41:23 dbcndg2_ora_8364_20210622104123871801143795.aud
-rw-r----- 1 oracle oinstall 769 2021-06-22 10:42:36 dbcndg2_ora_8423_20210622104236323093143795.aud
-rw-r----- 1 oracle oinstall 769 2021-06-22 10:42:36 dbcndg2_ora_8421_20210622104236233765143795.aud
-rw-r----- 1 oracle oinstall 769 2021-06-22 10:42:36 dbcndg2_ora_8419_20210622104236184227143795.aud
-rw-r----- 1 oracle oinstall 769 2021-06-22 10:42:38 dbcndg2_ora_8453_20210622104238972264143795.aud
-rw-r----- 1 oracle oinstall 769 2021-06-22 10:42:38 dbcndg2_ora_8451_20210622104238926965143795.aud
-rw-r----- 1 oracle oinstall 769 2021-06-22 10:42:38 dbcndg2_ora_8449_20210622104238876984143795.aud
-rw-r----- 1 oracle oinstall 769 2021-06-22 10:42:38 dbcndg2_ora_8447_20210622104238823625143795.aud
# /usr/bin/find /u01/app/oracle/admin/dbcndg2/adump -mtime +1 -name "*.aud"
--//日期2021/6/24 09:03:10,為什麼find -mtime +1 執行時2021/6/22號的檔案沒有顯示呢?
--//按照我以前的理解日期是2021/06/23 09:03:10之前aud檔案都會顯示。我理解錯誤嗎?
--//補充如果按照連結http://www.oracleblog.org/study-note/how-to-calculate-find-mtime/的計算方法.
--//2021/06/23 09:03:10 之前的檔案都會顯示.
# touch -d 20210622 aaa.aud
# ls -l aaa.aud dbcndg2_ora_7123_20210622103835767385143795.aud
-rw-r--r-- 1 root root 0 2021-06-22 00:00:00 aaa.aud
-rw-r----- 1 oracle oinstall 780 2021-06-22 10:38:35 dbcndg2_ora_7123_20210622103835767385143795.aud
# /usr/bin/find /u01/app/oracle/admin/dbcndg2/adump -name "*.aud" -mtime +1
/u01/app/oracle/admin/dbcndg2/adump/aaa.aud
--//可以顯示。
# touch -d "2021/06/22 09:03:00" aaa.aud
# ls -l aaa.aud dbcndg2_ora_7123_20210622103835767385143795.aud
-rw-r--r-- 1 root root 0 2021-06-22 09:03:00 aaa.aud
-rw-r----- 1 oracle oinstall 780 2021-06-22 10:38:35 dbcndg2_ora_7123_20210622103835767385143795.aud
# /usr/bin/find /u01/app/oracle/admin/dbcndg2/adump -name "*.aud" -mtime +1
/u01/app/oracle/admin/dbcndg2/adump/aaa.aud
--//可以顯示。
# date
Thu Jun 24 09:21:32 CST 2021
# touch -d "2021/06/22 09:30:00" aaa.aud
# ls -l aaa.aud dbcndg2_ora_7123_20210622103835767385143795.aud
-rw-r--r-- 1 root root 0 2021-06-22 09:30:00 aaa.aud
-rw-r----- 1 oracle oinstall 780 2021-06-22 10:38:35 dbcndg2_ora_7123_20210622103835767385143795.aud
# date
Thu Jun 24 09:22:14 CST 2021
# /usr/bin/find /u01/app/oracle/admin/dbcndg2/adump -name "*.aud" -mtime +1
--//無顯示。
--//你可以發現實際上是2天之前的檔案才會顯示。為什麼會是這樣呢?
# touch -d "2021/06/22 09:23:00" aaa.aud
# date ;/usr/bin/find /u01/app/oracle/admin/dbcndg2/adump -name "*.aud" -mtime +1 -exec ls -l {} \;
Thu Jun 24 09:24:21 CST 2021
-rw-r--r-- 1 root root 0 Jun 22 09:23 /u01/app/oracle/admin/dbcndg2/adump/aaa.aud
--//看來我自己對於find -mtime 裡面的+n數字理解錯誤。
--//我找到一個連結:http://www.oracleblog.org/study-note/how-to-calculate-find-mtime/
--//該blog中時間演算法跟我以前的理解是一致的,但是我的測試確實與實際情況不符合。
--//晚上在家裡使用windows 7下的Cygwin64測試看看.
$ date
Thu, Jun 24, 2021 9:46:54 PM
--//注 晚上2021/06/24 21:46:54.
$ touch -d "2021/06/22 09:23:00" aaa.aud
$ touch -d "2021/06/23 09:23:00" bbb.aud
$ touch -d "2021/06/24 09:23:00" ccc.aud
$ ls -ltr *.aud
-rw-r--r-- 1 Administrator None 0 Jun 22 09:23 aaa.aud
-rw-r--r-- 1 Administrator None 0 Jun 23 09:23 bbb.aud
-rw-r--r-- 1 Administrator None 0 Jun 24 09:23 ccc.aud
$ find . -name "*.aud" -mtime +2
--//無顯示
$ find . -name "*.aud" -mtime +1 -exec ls -l {} \;
-rw-r--r-- 1 Administrator None 0 Jun 22 09:23 ./aaa.aud
--//按照這個介紹http://www.oracleblog.org/study-note/how-to-calculate-find-mtime/的計算方法.
--//-mtime +1應該是2021/06/23 21:46:54時間之前的檔案都顯示.而實際不是.
$ date
Thu, Jun 24, 2021 10:18:09 PM
$ touch -d "2021/06/22 22:10:00" bbb.aud
$ find . -name "*.aud" -mtime +1 -exec ls -l {} \+
-rw-r--r-- 1 Administrator None 0 Jun 22 09:23 ./aaa.aud
-rw-r--r-- 1 Administrator None 0 Jun 22 22:10 ./bbb.aud
$ date
Thu, Jun 24, 2021 10:20:11 PM
$ touch -d "2021/06/22 22:22:00" bbb.aud
$ find . -name "*.aud" -mtime +1 -exec ls -l {} \+
-rw-r--r-- 1 Administrator None 0 Jun 22 09:23 ./aaa.aud
--//家裡的測試與辦公環境的測試一樣,看來許多人包括我理解都是錯誤的.
--//實際上-mtime +1 顯示的是2天之前的檔案,而不是1天.比較正確的理解應該是
--//假設現在時間是2021/06/24 22:20:11.
-mtime +1 => 小於2021/06/22 22:20:11
-mtime 1 => 2021/06/22 22:20:11~ 2021/06/23 22:20:11
-mtime -1 => 大於 2021/06/23 22:20:11
--//是否包含等於我的測試很難判斷,看來許多人對於這個問題的理解都是錯誤的.
$ date
Thu, Jun 24, 2021 10:30:53 PM
$ touch -d "2021/06/22 23:10:00" bbb.aud
$ find . -name "*.aud" -mtime +1 -exec ls -l {} \+
-rw-r--r-- 1 Administrator None 0 Jun 22 09:23 ./aaa.aud
$ find . -name "*.aud" -mtime 1 -exec ls -l {} \+
-rw-r--r-- 1 Administrator None 0 Jun 22 23:10 ./bbb.aud
$ find . -name "*.aud" -mtime -1 -exec ls -l {} \+
-rw-r--r-- 1 Administrator None 0 Jun 24 09:23 ./ccc.aud
--//只有這樣理解才是正確的.
--//即使我使用windows下的find,我的方法也是正確的.
D:\tools\cygwin64\home\Administrator\find>D:\tools\linux\usr\local\wbin\date
Thu Jun 24 22:43:10 中國標準時間 2021
D:\tools\cygwin64\home\Administrator\find>ls -ltr
total 0
-rw-rw-rw- 1 user group 0 Jun 22 09:23 aaa.aud
-rw-rw-rw- 1 user group 0 Jun 22 23:10 bbb.aud
-rw-rw-rw- 1 user group 0 Jun 24 09:23 ccc.aud
D:\tools\cygwin64\home\Administrator\find>find -mtime -1
.
.\ccc.aud
D:\tools\cygwin64\home\Administrator\find>find -mtime 1
.\bbb.aud
D:\tools\cygwin64\home\Administrator\find>find -mtime +1
.\aaa.aud
--//後記:如果你仔細看連結https://oracleblog.org/study-note/how-to-calculate-find-mtime/下面的評論也說明一些人沒有作出作
--//者的測試.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2778423/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20210626]find -mtime +N N -N時間問題補充.txt
- [20210625]find -mtime +N N -N時間問題補充.txt
- [20210708]find -mtime +0 0 -0時間問題補充.txt
- N皇后問題
- 7-22 n queens (10分) 八皇后(n皇后)問題
- 時間複雜度O(1)、O(n)、O(n²)、O(nlogn)的含義時間複雜度
- Mybatis N+1問題解析MyBatis
- HDU - 2553 N皇后問題(DFS)
- MySQL中資料型別(char(n)、varchar(n)、nchar(n)、nvarchar(n)的區別)MySql資料型別
- n*n的乘法口訣表
- 輸入N,再輸入N個數,N
- Dynamics CRM實體系列之1:N、N:1以及N:N關係
- 11.2.0.3 :PRVG-11134 : Interface "n.n.n.n" on node "racnode1" is not able to..
- Leetcode每日一題:52.N-Queens II(N皇后Ⅱ)LeetCode每日一題
- N皇后和N皇后2
- 2020-11-18 N皇后問題
- N皇后問題(各種優化)優化
- [20180628]expdp與rows=n.txt
- 計算2的N次冪n 可輸入,n為自然數
- 訊號與槽N對N
- 3. 工作分配問題(回溯法)設有n件工作分配給n個人。。。
- 2022-07-17:1、2、3...n-1、n、n、n+1、n+2... 在這個序列中,只有一個數字有重複(n)。 這
- 關於宏定義 Bin(n),LongToBin(n),LongToBin(0x##n##L)
- 求N!
- N 皇后
- n^k
- 03:因子 檢視 提交 統計 提問 總時間限制: 8000ms 記憶體限制: 65536kB 描述 輸入1個整數n。從小到大依次輸出n的所有因子。 輸入 1個整數n(n<20億) 輸出 升序輸出n的所記憶體
- n+p與n^6+p^6
- 時間複雜度O(n)和空間複雜度時間複雜度
- 模擬計算hash前面N個0需要的時間
- 線性時間選擇(含平均情況O(n)和最壞情況O(n)演算法)演算法
- C(Y,n)一元n次方的構造法
- n皇后問題--回溯法,以DFS的方式搜尋
- 1~7的謎題(1):n=1
- 百雞問題擴充套件-N雞問題N元錢買N只雞,公雞每隻5元,母雞每隻3元,小雞1元3只,N元錢必須剛好買N只雞,而且雞必須整隻買,不能劈開買。套件
- 360N7對比N6 Pro的區別對比 60N7和360N6 Pro哪個好?
- FBL5N、FBL3N、 FBL1N ALV新增欄位顯示
- ASE160N08-ASEMI低壓N溝道MOS管ASE160N08