यह गाइड आपको Linux में "आपके अनुमान से अधिक उपयोगी" date कमांड का उपयोग शुरू करने का तरीका दिखाएगी।
एक कमांड लाइन टूल जो मुझे Linux पर बहुत बार उपयोगी लगता है वह है "date" कमांड। यह एक बहुत सरल कमांड है जो इसे बिना किसी विकल्प के कॉल करने पर आपको डेट और समय लौटाती है। लेकिन जब आप इसके द्वारा प्रदान किए जाने वाले कुछ विकल्पों का उपयोग करना शुरू करते हैं तो यह टूल आपके जीवन को बहुत आसान और मजेदार बना सकता है। आइए कमांड और इसके कुछ विकल्पों और उन कूल ट्रिक्स पर करीब से नज़र डालें जो हम इससे करवा सकते हैं।
पहली चीज़ जो करना है वह है वर्तमान डेट और समय प्राप्त करना:
# date
Sun Dec 14 11:33:55 IST 2008
यह इस कमांड का सबसे सरल उपयोग है। अब मान लें कि आप केवल डेट और कुछ नहीं चाहते:
# date +"%d"
14
यदि आप डेट, महीना, और वर्ष के साथ पूर्ण डेट चाहते हैं:
# date +"%d%m%y"
141208
सप्ताह के दिन को बाकी डेट के साथ प्राप्त करने के लिए:
# date +"%a%d%m%y"
Sun141208
ये "date" कमांड द्वारा प्रदान की जाने वाली कई संभावनाओं में से कुछ हैं। विकल्पों के लिए "date --help" देखें। कुछ दिलचस्प हैं:
%D डेट (mm/dd/yy)
%d महीने का दिन (01..31)
%m महीना (01..12)
%y वर्ष के अंतिम दो अंक (00..99)
%a लोकेल का संक्षिप्त वीकडे नाम (Sun..Sat)
%A लोकेल का पूर्ण वीकडे नाम, वेरिएबल लंबाई (Sunday..Saturday)
%b लोकेल का संक्षिप्त महीना नाम (Jan..Dec)
%B लोकेल का पूर्ण महीना नाम, वेरिएबल लंबाई (January..December)
%H घंटा (00..23)
%I घंटा (01..12)
%Y वर्ष (1970…)
आप कुछ फैंसी फॉर्मेटिंग भी कर सकते हैं। यदि आप डेट के विभिन्न भागों के बीच हाइफ़न या बैकस्लैश जोड़ना चाहते हैं:
# date +"%d-%m-%Y"
14-12-2008
# date +"%d/%m/%Y"
14/12/2008
आप स्पेस और कॉमा का भी उपयोग कर सकते हैं। यहां एक बहुत फैंसी उदाहरण है:
# date +"%A,%B %d %Y"
Sunday,December 14 2008
मान लें कि आप अपने सर्वर से लॉग का बैकअप लेने के लिए शेल स्क्रिप्ट लिख रहे हैं। आप चाहते हैं कि बैकअप स्क्रिप्ट पिछले दिन के लॉग प्राप्त करे और उनका बैकअप ले। यहां बताया गया है कि आप पिछले दिन की डेट कैसे प्राप्त कर सकते हैं:
# date --date="yesterday"
Sat Dec 13 12:04:03 IST 2008
इसी तरह, आप कल की डेट भी प्राप्त कर सकते हैं:
# date --date="tomorrow"
Mon Dec 15 12:04:39 IST 2008
आप पिछले या अगले महीने की डेट प्राप्त कर सकते हैं:
# date --date="last month"
Fri Nov 14 12:06:23 IST 2008
# date --date="next month"
>Wed Jan 14 12:06:25 IST 2009
बहुत बढ़िया सामान, है ना! आप बस शुरुआत कर रहे हैं। आप जिस डेट को चाहते हैं उसे दिन और सप्ताह के मुकाबले अधिक सटीक रूप से कस्टमाइज़ कर सकते हैं, और पांच दिन पहले या सात दिन बाद की डेट प्राप्त कर सकते हैं:
# date --date="5 days ago"
Tue Dec 9 12:08:26 IST 2008
# date --date="7 days"
Fri Dec 21 12:09:23 IST 2008
आप इससे और भी कठिन प्रश्न पूछ सकते हैं जैसे:
# date --date='next Saturday'
Sat Dec 20 00:00:00 IST 2008
या पूरी तरह से भविष्य में कुछ:
# date --date='2 years 3 months 4 day'
Fri Mar 18 12:12:16 IST 2011
यह लगभग ऐसा है जैसे "date" अंग्रेजी बोलता है। मैं नई ट्रिक्स खोजता रहता हूं, जैसे अपने Linux मशीन पर डेट सेट (और सिंक) करना।