Which of the following commands will NOT update the modify timestamp on the file /tmp/myfile.txt?
A.
file /tmp/myfile.txt
B.
echo "Hello" >/tmp/myfile.txt
C.
sed -ie "s/1/2/" /tmp/myfile.txt
D.
echo -n "Hello" >>/tmp/myfile.txt
E.
touch /tmp/myfile.txt
題解
「file」指令可以查看檔案的類型。
「echo」指令可以輸出文字。
「sed」指令可以用來做檔案的字串處理。
「touch」可以產生新檔案,也可以更新現有檔案的修改時間戳記。
選項A,「file」指令不會對檔案有任何修改,正確答案。
選項B,「echo」指令的輸出串流被導引到檔案串流,因此這個選項的指令會產生內容為「Hello」的「/tmp/myfile.txt」檔案,所以檔案的修改時間戳記也會被更改。
選項C,「sed」指令的「-i」參數會改變原本的檔案的內容,所以檔案的修改時間戳記也會被更改。
選項D,「echo」指令的輸出串流被導引到檔案串流,因此這個選項的指令會將「Hello」文字接到「/tmp/myfile.txt」檔案的尾端,所以檔案的修改時間戳記也會被更改。
選項E,若「/tmp/myfile.txt」不存在,使用「touch」指令會產生新的「/tmp/myfile.txt」檔案;若「/tmp/myfile.txt」存在,使用「touch」指令會改變「/tmp/myfile.txt」的修改時間戳記為現在時間,剛好與題目要求背道而馳。