linux中的“ls -t | head -n 1”是做什么的?

时间:2015-10-15 09:08:29

标签: linux bash

有人可以向我解释fi之前的哪一行吗?

if [ -f $fname ] 
then 
    echo "File already exists"; 
else 
    touch $fname; 
    echo "File has been created"; 
    ls -t | head -n 1; 
fi 

1 个答案:

答案 0 :(得分:3)

简短回答,它打印当前工作目录中最近修改的内容。

来自man ls

-t     sort by modification time, newest first

来自man head

-n, --lines=[-]K
       print the first K lines instead of the first 10;
       with the leading '-', print all but the last K lines of each file

然而,我不确定为什么要做所有这些努力(乍一看)似乎相当于echo $fname

考虑到它设置了一个竞争条件,可能导致打印不同的文件名(可以在touch命令和ls命令之间创建另一个文件)。这可能是也可能不是故意的。