ÕâЩʱ¼ä´Á¼Ç¼ÁËÎļþµÄ´´½¨¡¢Ð޸ĺͷÃÎÊʱ¼ä£¬¶ÔÓÚϵͳ¹ÜÀíÔ±¡¢¿ª·¢ÈËÔ±ºÍÈÕ³£Óû§¶øÑÔ£¬ÕÆÎÕÈçºÎ²é¿´ºÍ¹ÜÀíÕâЩʱ¼äÐÅÏ¢ÖÁ¹ØÖØÒª
±¾ÎĽ«ÉîÈë̽ÌÖLinux»·¾³Ï²鿴Ŀ¼Îļþʱ¼äµÄ·½·¨£¬Í¬Ê±½éÉÜһЩʵÓõĹÜÀí¼¼ÇÉ£¬°ïÖúÄú¸ü¸ßЧµØ½øÐÐÎļþ¹ÜÀíºÍϵͳά»¤
Ò»¡¢Ê±¼ä´ÁµÄ»ù±¾¸ÅÄî ÔÚLinuxÎļþϵͳÖУ¬Ã¿¸öÎļþºÍĿ¼¶¼¹ØÁª×ÅÈý¸öÖ÷ÒªµÄʱ¼ä´Á£º 1.Access Time (atime)£ºÎļþ×îºóÒ»´Î±»¶ÁÈ¡µÄʱ¼ä
×¢Ò⣬¶ÁÈ¡²Ù×÷°üÀ¨´ò¿ªÎļþ¡¢Ö´ÐÐÎļþ£¨¶ÔÓڽű¾»ò¿ÉÖ´ÐÐÎļþ£©ÒÔ¼°Í¨¹ýÃüÁîÈç`cat`¡¢`less`µÈ²é¿´ÎļþÄÚÈÝ
2.Modify Time (mtime)£ºÎļþÄÚÈÝ×îºóÒ»´Î±»Ð޸ĵÄʱ¼ä
Õâ°üÀ¨ÎļþÄÚ²¿Êý¾ÝµÄÈκα仯£¬±ÈÈç±à¼Îı¾Îļþ¡¢Ìí¼Ó»òɾ³ýÎļþÄÚÈݵÈ
3.Change Time (ctime)£ºÎļþÔªÊý¾Ý×îºóÒ»´Î±»Ð޸ĵÄʱ¼ä
ÔªÊý¾Ý°üÀ¨ÎļþµÄȨÏÞ¡¢ËùÓÐÕß¡¢×é¡¢´óСÒÔ¼°Ê±¼ä´Á±¾ÉíµÈ
¼´Ê¹ÎļþÄÚÈÝûÓб仯£¬Ö»ÒªÆäÊôÐÔ±»¸ü¸Ä£¨ÈçʹÓÃ`chmod`»ò`chown`ÃüÁ£¬ctime¾Í»á¸üÐÂ
Àí½âÕâÈý¸öʱ¼ä´ÁµÄÇø±ð¶ÔÓÚ׼ȷ׷×ÙÎļþ״̬±ä»¯ÖÁ¹ØÖØÒª
¶þ¡¢²é¿´Îļþʱ¼ä´ÁµÄ»ù±¾ÃüÁî ÔÚLinuxÖУ¬Óжà¸öÃüÁî¿ÉÒÔÓÃÀ´²é¿´ÎļþºÍĿ¼µÄʱ¼ä´Á£¬ÆäÖÐ×î³£ÓõÄÊÇ`ls`ºÍ`stat`
1.ʹÓÃ`ls`ÃüÁî `ls`ÊÇÁгöĿ¼ÄÚÈݵıê×¼ÃüÁͨ¹ýÌí¼ÓÌØ¶¨µÄÑ¡Ï¿ÉÒÔÏÔʾÎļþµÄʱ¼ä´ÁÐÅÏ¢
- ls -l£ºÄ¬ÈÏÏÔʾÎļþµÄÐÞ¸Äʱ¼ä£¨mtime£©ºÍÎļþÃû
bash ls -l Êä³öʾÀý£º -rw-r--r-- 1 user group 1234 Jan 1 12:34 filename.txt ÕâÀ`Jan 1 12:34`±íʾÎļþµÄ×îºóÐÞ¸Äʱ¼ä
- ls -lt£º°´ÐÞ¸Äʱ¼äÅÅÐò£¬×îÐÂÐ޸ĵÄÎļþÅÅÔÚ×îÇ°Ãæ
- ls -lu£ºÏÔʾÎļþµÄ×îºó·ÃÎÊʱ¼ä£¨atime£©£¬¶ø²»ÊÇÐÞ¸Äʱ¼ä£¬µ«´ËÑ¡ÏîÔÚijЩLinux·¢ÐаæÉÏ¿ÉÄܲ»Ö±½Ó¿ÉÓÃ
- ls -lc£ºÏÔʾÎļþµÄÔªÊý¾Ý×îºó¸ü¸Äʱ¼ä£¨ctime£©£¬Í¬Ñù£¬´ËÑ¡ÏîµÄ¿ÉÓÃÐÔ¿ÉÄÜÒòϵͳ¶øÒì
- ls --full-time£ºÒÔ¸üÏêϸµÄ¸ñʽÏÔʾʱ¼ä´Á£¬°üÀ¨Äê¡¢Ô¡¢ÈÕ¡¢Ê±¡¢·Ö¡¢Ãë
bash ls --full-time filename.txt Êä³öʾÀý£º -rw-r--r-- 1 user group 1234 2023-01-01 12:34:56.000000000 +0000 filename.txt 2.ʹÓÃ`stat`ÃüÁî `stat`ÃüÁîÌṩÁ˹ØÓÚÎļþºÍĿ¼µÄÏêϸ״̬ÐÅÏ¢£¬°üÀ¨ËùÓÐÈý¸öʱ¼ä´Á
stat filename.txt Êä³öʾÀý£º File: filename.txt Size: 1234 Blocks: 8 IO Block: 4096 regular file Device: 802h/2050d Inode: 1234567 Links: 1 Access:(0644/-rw-r--r--) Uid: ( 1000/ user) Gid:(1000/ group) Access: 2023-01-01 12:34:56.000000000 +0000 Modify: 2023-01-01 12:34:56.000000000 +0000 Change: 2023-01-01 12:35:00.000000000 +0000 Birth: - ÔÚÕâÀ`Access`¡¢`Modify`ºÍ`Change`·Ö±ð¶ÔÓ¦atime¡¢mtimeºÍctime
Èý¡¢¸ß¼¶¼¼ÇÉ£ºÅúÁ¿²é¿´Óë¹ÜÀíʱ¼ä´Á ÔÚʵ¼Ê²Ù×÷ÖУ¬ÎÒÃǾ³£ÐèÒªÅúÁ¿²é¿´»òÐ޸Ķà¸öÎļþµÄʱ¼ä´Á£¬Õâʱ¿ÉÒÔ½èÖúһЩ¸ß¼¶¹¤¾ßºÍ½Å±¾
1.ʹÓÃ`find`ÃüÁî½áºÏ`ls`»ò`stat` `find`ÃüÁî¿ÉÒԵݹéËÑË÷Ŀ¼Ê÷£¬½áºÏ`ls`»ò`stat`¿ÉÒÔÅúÁ¿ÏÔʾÎļþʱ¼ä´Á
²éÕÒ²¢ÏÔÊ¾ÌØ¶¨Ä¿Â¼ÏÂËùÓÐÎļþµÄÏêϸʱ¼ä´Á£º bash find /path/to/directory -type f -exec ls -l --full-time{} ; ²éÕÒ²¢ÏÔʾÐÞ¸Äʱ¼äÔÚÌØ¶¨ÈÕÆÚÖ®ºóµÄÎļþ£º bash find /path/to/directory -type f -newermt 2023-01-01 -exec ls -l --full-time {} ; 2.ʹÓÃ`touch`ÃüÁîÐÞ¸Äʱ¼ä´Á `touch`ÃüÁî²»½ö¿ÉÒÔÓÃÀ´´´½¨¿ÕÎļþ£¬»¹¿ÉÒÔÓÃÀ´¸üÐÂÎļþµÄatimeºÍmtime
¸üÐÂÎļþµÄ·ÃÎʺÍÐÞ¸Äʱ¼äΪµ±Ç°Ê±¼ä£º bash touch filename.txt ½«ÎļþµÄÐÞ¸Äʱ¼äÉèÖÃÎªÌØ¶¨Ê±¼ä£º bash touch -t 202301011234.56 filename.txt ÕâÀ`202301011234.56`±íʾ2023Äê1ÔÂ1ÈÕ12ʱ34·Ö56Ãë
½ö¸üÐÂÎļþµÄ·ÃÎÊʱ¼ä£º bash touch -a filename.txt ½ö¸üÐÂÎļþµÄÐÞ¸Äʱ¼ä£º bash touch -m filename.txt 3. ʹÓýű¾×Ô¶¯»¯´¦Àí ¶ÔÓÚ´ó¹æÄ£µÄÎļþʱ¼ä´Á¹ÜÀí£¬±àд½Å±¾¿ÉÒÔ´ó´óÌá¸ßЧÂÊ
ÀýÈ磬ʹÓÃBash½Å±¾±éÀúĿ¼Ê÷£¬¸ù¾ÝÌØ¶¨Ìõ¼þÐÞ¸ÄÎļþʱ¼ä´Á
!/bin/bash ±éÀúÖ¸¶¨Ä¿Â¼¼°Æä×ÓĿ¼ÖеÄËùÓÐÎļþ find /path/to/directory -type f | while read -r file; do # ¼ì²éÎļþÐÞ¸Äʱ¼äÊÇ·ñÔçÓÚij¸öÈÕÆÚ if¡¾ $(date -d $(stat -c %y $file) +%s) -lt$(date -d 2023-01-01 +%s)¡¿; then # ¸üÐÂÎļþʱ¼ä´Á touch $file