date命令位於bashshell中,這是大多數Linux發行版甚至macOS中的預設shell。本教程向您展示瞭如何在命令列上掌握日期,以及如何在shell指令碼中使用它來完成不僅僅是列印時間的工作。
執行date命令檢視此資訊。它為您的時區列印當前日期和時間:
date預設格式看起來有點傻。為什麼一年不在一個月和一天之後列印,而不是在時區後面的末尾標記?不用擔心:如果它控制著你想要的輸出格式,date會毫不含糊地交付它。到目前為止,您可以傳遞40多個選項來指示它精確地格式化輸出。
要使用任何選項,請鍵入日期、空格、加號+,以及包含前導百分號的選項。%c(區域設定格式中的資料和時間)選項導致日期和時間以與您的區域設定相關聯的規範化格式列印。您的區域設定由安裝作業系統時提供的地理和文化資訊設定。區域設定控制諸如貨幣符號、紙張大小、時區和其他文化規範之類的內容。
date +%c這一年在產出中的地位似乎更為自然。
您可以一次傳遞多個日期選項。一系列選項稱為格式字串。要檢視日期(%A)、月份(%d)和月份名稱(%B),請使用以下命令:
date +%A%d%B這很管用,但很難看。沒問題,只要將整個格式字串用引號括起來,就可以包含空格。注意+在引號外。
date +"%A %d %B"可以向格式字串中新增文字,如下所示:
date +"Today is: %A %d %B"在日期手冊頁上下滾動尋找你想要的選項很快就會變得令人厭煩。我們已經將這些選項分組討論,以幫助您更輕鬆地找到繞過它們的方法。
可以在其他選項的%和選項字母之間**這些修飾符,以修改其顯示。例如,%-S將刪除一位數秒值的前導零。
要獲取檔案的最後修改時間,請使用-r(reference)選項。請注意,它使用-(連字元)而不是%符號,並且不需要+符號。在主資料夾中嘗試此命令:
date -r .bashrcTZ設定允許您在單個命令執行期間更改時區。
TZ=GMT date +%c啟用bashshell指令碼來列印時間和日期很簡單。建立一個包含以下內容的文字檔案,並將其另存為廣東省.
#!/bin/bash TODAY=$(date +"Today is %A, %d of %B") TIMENOW=$(date +"The local time is %r") TIME_UK=$(TZ=BST date +"The time in the UK is %r") echo $TODAY echo $TIMENOW echo $TIME_UK鍵入以下命令以設定執行許可權並使指令碼可執行。
chmod +x gd.sh使用以下命令執行指令碼:
./gd.sh我們可以使用date命令來提供時間戳。顯示的指令碼將建立一個以時間戳為名稱的目錄。然後它會將當前資料夾中的所有文字檔案複製到其中。透過定期執行這個指令碼,我們可以拍攝文字檔案的快照。隨著時間的推移,我們將建立一系列資料夾,其中包含不同版本的文字檔案。
請注意,這不是一個健壯的備份系統,它只是為了說明目的。
建立一個包含以下內容的文字檔案,並將其另存為快照.sh.
#!/bin/bash # obtain the date and time date_stamp=$(date +"%F-%H-%M-%S") # make a directory with that name mkdir "$date_stamp" # copy the files from the current folder into it cp *.txt "$date_stamp" # all done, report back and exit echo "Text files copied to directory: "$date_stamp鍵入以下命令以設定執行許可權並使指令碼可執行。
chmod +x snapshot.sh使用以下命令執行指令碼:
./snapshot.sh您將看到已經建立了一個目錄。它的名稱是執行指令碼的日期和時間。在這個目錄中有文字檔案的副本。
只要有一點思考和創造力,即使是簡陋的date命令也可以被有效地使用。
...補補,你會喜歡shell指令碼,因為總是有調整要做。關於如何使用這些模式作為其他指令碼的基礎的一些想法包括: ...
...式設計師和極客的天堂。我們已經寫了很多關於作業系統如何適合從學生到藝術家的每個人的文章,但是是的,Linux是一個很好的程式設計平臺。無論您是考慮到開放精神還是整個生態系統,都有很多理由考慮讓Linux成為您編寫...
...進行修飾,使其最小化並充分利用空間。我們將向您展示如何定製終端應用程式中的zsh提示符,使其在您選擇的任何背景中都脫穎而出。 ...
... 讓我們仔細看看如何在Ubuntu上安裝Python,並提供一個更新Python包的簡短指南。 ...
Linux seq命令可以在眨眼之間生成數字列表。但是如何將這個功能付諸實際使用呢?我們將向您展示seq如何為您帶來便利。 seq命令 乍一看,Linux seq命令似乎有些奇怪。它可以讓你快速生成數字序列,就這樣!不過,這裡的關鍵...
Linux上有多種型別的環境變數。瞭解如何檢視它們,為本地和遠端登入建立它們,並使它們在重新啟動後仍然有效。 環境變數的工作原理 啟動終端視窗及其內部的shell時,會引用一組變數,以確保shell配置正確。這些變數還確...