在unix中根据大小列出文件

时间:2011-03-23 12:39:54

标签: unix

目标:获取在unix中占用更多空间的文件列表

使用以下命令

ssh serverName du / folderName / * | grep -v'不能'| sort -nr |头-10

使用sort -nr作为数字并反向排序(以获取占用更多空间的文件)

使用grep -v'不能',因为无法访问少量文件夹,在排序之前必须忽略这些行

以下是示例输出

624    /folder1/folder2/conf
16     /folder1/folder2/error/include
192    /folder1/folder2/error
284    /folder1/folder2/htdocs
264    /folder1/folder2/icons/small
du: cannot read directory `/folder1/folder2/file1': Permission denied
du: cannot read directory `/folder1/folder2/file3': Permission denied

面对grep和sort命令的问题,因为错误消息没有被过滤

2 个答案:

答案 0 :(得分:1)

您需要使用2>&1将stderr重定向到stdout,以便您可以查看错误消息。您还应该转义通配符,以便它在远程计算机上展开,而不是在本地计算机上展开。

ssh serverName du /folderName/\* 2>&1 | grep -v 'cannot' | sort -nr | head -10

答案 1 :(得分:0)

如果你关闭stderr,则不需要grep

ssh serverName du /folderName/\* 2>&- | sort -nr | head -10

请注意,通配符已转义。