在linux上查看文件大小

tex*_*xai 36 linux shell command-line watch

我想看一个单个文件不断增长的大小,所以我使用这个命令:

texai@maelstrom ~$ ls -lh club_prod.sql | awk '{print $5}'
116M
Run Code Online (Sandbox Code Playgroud)

现在我想每5秒看一次结果:

texai@maelstrom ~$ watch -n 5 ls -lh club_prod.sql | awk '{print $5}'
Run Code Online (Sandbox Code Playgroud)

但是这个命令不会返回任何结果

lar*_*sks 56

你的管道输出watchawk.如果您简化命令行,您所拥有的是:

 watch <some arguments> | awk '{print $5}'
Run Code Online (Sandbox Code Playgroud)

那不是你想要的.尝试:

watch -n 5 "ls -lh club_prod.sql | awk '{print \$5}'"
Run Code Online (Sandbox Code Playgroud)

  • 当只有一个命令“du”时,为什么要使用“ls”/“awk”和管道? (2认同)

tam*_*gal 38

watch -n 5 "du -h club_prod.sql"
Run Code Online (Sandbox Code Playgroud)


Jac*_*ack 15

不完全相关,但如果要监视某些文件的增长率,可以使用以下命令:

tail -f yourfile.txt | pv > /dev/null

  • tail -f - 输出附加到文件的数据
  • pv - 测量通过管道的数据流
  • > /dev/null - 标准输出被丢弃

注意:有时pv可能未预装

我希望这会有所帮助:)


gee*_*aur 7

你需要引用的管道,这样是做 watch.

watch -n 5 "ls -lh club_prod.sql | awk '{print \$5}'"
Run Code Online (Sandbox Code Playgroud)

还要注意\添加到\$5因为外部引号现在是双引号,其中$-variables被展开.(其他引用方法通常比这更丑陋.)