विशेषाधिकार प्राप्त करने के लिए मुझे सिस्टम तक उचित पहुँच नहीं है find
आज्ञा। इसलिए मैं संभवतः उपयोग करने वाले आदेशों की एक स्ट्रिंग प्राप्त करने का प्रयास कर रहा हूं grep
या awk
या कुछ भी जो मुझे उन फाइलों को सूचीबद्ध कर सकता है जो पिछले 7 दिनों के भीतर नहीं बनाई गई हैं और वे कितनी जगह ले रही हैं।
मैं यह आज्ञा लेकर आया था du -h | grep ^[0-9.]*G
अब मुझे यह जानना होगा कि मैं कैसे सूची बना सकता हूं जो एक बार 7 दिन से अधिक पुरानी हो जाती है।
उपरोक्त कमांड का आउटपुट है:
du: cannot read directory `./lost+found": Permission denied
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy1.extranet.akamai.com
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy2.extranet.akamai.com
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy5.extranet.akamai.com
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy6.extranet.akamai.com
1.1G ./portal/portal-internal-crons/get_portal_logs/p3-sp01.extranet.akamai.com
1.2G ./portal/portal-internal-crons/get_portal_logs/p3-sp02.extranet.akamai.com
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy7.extranet.akamai.com
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy8.extranet.akamai.com
1.1G ./portal/portal-internal-crons/get_portal_logs/p3-sp03.extranet.akamai.com
1.1G ./portal/portal-internal-crons/get_portal_logs/p3-sp04.extranet.akamai.com
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy3.extranet.akamai.com
1.5G ./portal/portal-internal-crons/get_portal_logs/p3-proxy4.extranet.akamai.com
18G ./portal/portal-internal-crons/get_portal_logs
18G ./portal/portal-internal-crons
18G ./portal
19G .
उत्तर:
उत्तर № 1 के लिए 1मामले में आप चला सकते हैं ls -lR --time-style=+%s
लक्ष्य पर, आप कर सकते हैं:
ls -lR --time-style=+%s | awk -v now=$(date +%s) "/^-/ && now - $6 > 7*24*3600 {s += $5} END {print s}"
स्पष्टीकरण: ls -lR --time-style=+%s
इस तरह का आउटपुट तैयार करता है:
.:
total 7168
drwxr-xr-x 2 john doe 4096 1439992030 dira
drwxr-xr-x 2 john doe 4096 1441870671 dirb
-rw-r--r-- 1 john doe 43980 1436264423 filea
-rw-r--r-- 1 john doe 15941 1436264418 fileb
-rw------- 1 john doe 7193171 1439374938 filec
-rw-r--r-- 1 john doe 2927 1436264418 filed
./dira:
total 8
-rw-r--r-- 1 john doe 1205 1439991207 filea
-rw-r--r-- 1 john doe 142 1439990672 fileb
./dirb:
total 4
-rw-r--r-- 1 john doe 116 1441870658 filea
जहां अंतिम संशोधन की तारीख सेकंड में टाइमस्टैम्प है। awk
कोड फ़ाइलों के साथ संगत लाइनों का चयन करता है (पहला क्षेत्र जिसके साथ शुरू होता है -
) जो टाइमस्टैम्प अतीत में 7 दिनों से अधिक है।यह चयनित लाइनों के आकार (क्षेत्र संख्या 5) को जमा करता है और अंत में योग प्रिंट करता है। एक फ़ाइल की आयु वर्तमान टाइमस्टैम्प के बीच अंतर के रूप में गणना की जाती है (awk
परिवर्तनशील now
) और फ़ाइल का टाइमस्टैम्प (क्षेत्र संख्या 6)। वर्तमान टाइमस्टैम्प को पारित कर दिया गया है awk
परिवर्तनशील के रूप में now
उसके साथ -v now=$(date +%s)
विकल्प.