目标:获取在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命令的问题,因为错误消息没有被过滤
答案 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
请注意,通配符已转义。