我經常使用桌面,因此文件和資料夾會在桌面上快速堆積。
我需要一種bashrc
方法,它在第一天檢查月份,然後建立一個帶有月份名稱的目錄,最後設定它desktop
。
答案1
- 你可以設定一個 cronjob,運行你每天的腳本:
man crontab
- 在腳本中你:
- 在桌面上建立上個月的資料夾:
man mkdir
並如何將上個月的日期(僅年份和月份 - 2016-07)分配為變數? - 您運行 a
find
來查找所有超過一個月的文件。以下是find
刪除 ( ) 舊文件的範例rm
- 您需要將其調整為將mv
舊文件放入已建立的目錄中:刪除 X 天以上之前的文件
- 在桌面上建立上個月的資料夾:
答案2
首先自己手動更改本月的配置,並在下個月運行它。
change_desktop()
{
month=$(date +%B)
last_month=$(date '+%B' --date '1 month ago')
mkdir /home/$USER/Desktop/$month
sed -i "s|Desktop/$last_month|Desktop/$month|" ~/.config/user-dirs.dirs
}
這將在桌面中建立當前月份的資料夾,然後在配置中尋找上個月並將其變更為當前月份。
我不知道如何使用自動運行這一部分~/.bashrc
,但您可以為使用者設定 cron 作業並讓它每月運行一次。只需將此程式碼片段新增到名為的檔案中,change_desktop.sh
新增以下程式碼:
#!/bin/sh
change_desktop()
{
month=$(date +%B)
last_month=$(date '+%B' --date '1 month ago')
mkdir /home/$USER/Desktop/$month
sed -i "s|Desktop/$last_month|Desktop/$month|" ~/.config/user-dirs.dirs
}
change_desktop
然後為目前使用者建立一個 cron 作業,如下所示:
0 0 12 * * sh /home/$USER/change_desktop.sh
但是,如果您想手動執行此操作,您可以將第一個程式碼片段添加到並在終端中~/.bashrc
運行,它將為您完成這項工作,因為它已經是您的.change_desktop
~/.bashrc
答案3
我已經設法編寫了自己的腳本。
new_desktop="$HOME/Desktop/$(LC_ALL=tr_TR.utf8 date +'%B-%Y')"
if [ ! -d "$new_desktop" ]; then
mkdir "$new_desktop"
xdg-user-dirs-update --set DESKTOP "$new_desktop"
nautilus -q
fi
但我懷疑它的可靠性如何。