2012-07-08 59 views
-1

我想寫一個小工具,用戶在他們的系統中執行copy。這是否可以覆蓋系統複製功能?我想記下他們的文件名,並執行時間戳,也是行動成功與否。這是可能覆蓋Linux的複製系統?

這是可能做到這種類似linux的系統的黑客?有任何想法嗎?謝謝。

+1

沒有「複印功能」。或者你是否想要替換'/ bin/cp'? – FatalError 2012-07-08 01:36:58

+0

用戶沒有義務使用,使用cat或dd,或者自己寫。 – 2012-07-08 01:46:21

回答

1

如果您正在討論窗口管理器的複製/粘貼行爲,我認爲這是不可能的,除非您準備好修改源代碼並重新編譯它。

但是,如果你在談論終端中的cp命令,那麼你可以在/home/your_user/.bashrc中創建一個'別名',以便每次調用'cp'時,一個更高級的命令是調用date +%s來獲取時間戳,並執行任何你想做的事情,包括記錄在/ var/log/my_cp_log中,例如在實際調用真正的cp之前。

1

您可以爲cp命令創建包裝(假設您的意思是copy)。

重命名CP:

mv /usr/bin/cp /usr/bin/real.cp

然後創建一個名爲/usr/bin/cp新文件,並添加這些內容:

#!/bin/sh 

USER=`whoami` 
DATE=`date` 

echo "$DATE - $USER: [email protected]" >> /var/log/yourlog 

real.cp [email protected] 

exit 

確保/var/log/yourlog是由所有用戶可寫。 [email protected]包含所有命令行參數。所以如果你將它們傳遞給cp,它會再次將它們傳遞給real.cp.