我是BASH的新手,我一直在使用cron作業來處理這個腳本。我遇到了一些麻煩,最初使用mv
,但事實證明它不會與匹配的目錄或任何東西進行合併。所以我被建議使用cp
,因爲這將被合併和替換。BASH - 複製時忽略隱藏文件和空源目錄
/時間表/ =源目錄 /的public_html/=目標目錄
#!/bin/bash
[ignore dot files/hidden files when copying]
cp -a schedule/* public_html/
[empty contents of source directory(schedule/) after copying]
來源:/schedule/
(包含文件夾/文件)
/files/
--4.html
--5.html
/assets/
--sitemap.xml
目的地:/public_html/
(以前的文件夾已經存在)
/files/
--1.html
--2.html
--3.html
/assets/
--sitemap.xml
Ultimat ely,我試圖找出如何在使用cp
時忽略隱藏文件,並在複製後清空源目錄。我正在閱讀BASH參考手冊,看到nullglob
,但我不知道這是應該使用的。
任何人都可以提供一個例子或指向正確的方向嗎?
嘗試'rsync' .... –
是的,'rsync'有一個可以過濾隱藏文件的'--exclude'選項和一個'--prune-empty-dirs'選項,可以過濾掉空白的dirs。 – SaltyEgg