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」的修改時間戳記為現在時間,剛好與題目要求背道而馳。