这是我的密码
read -r directory
read -r size _ <<<"$( du -sb directory )"
size2m="$( numfmt --from=iec 2M )"
size1m="$( numfmt --from=iec 1M )"
if [[ ${size} -ge ${size2m} ]]
then echo "High" readlink -f ${directory} >> ~/ListOfBigDirs.txt
elif [[ ${size} -le ${size1m} ]]
then echo "Small"
elif [[ ${size} -le ${size2m} ]]
then echo "Medium"
fi
但是,当我键入目录名称时,它会写为du:无法访问‘目录’:没有这样的文件或目录,但实际上我在计算机上键入了一个目录和文件。我不知道怎么解决这个问题。
du: cannot access 'directory': No such file or directory
发布于 2022-10-04 06:16:32
首先,您需要引用变量$directory
,而不仅仅是directory
。
另外,如果您在系统目录上运行du
,比如/proc
和/sys
,您可能经常会遇到这样的情况:文件和目录的创建和删除速度如此之快,以至于它们丢失了相同的错误消息。
对我来说最好的解决方案是将错误消息从du
重定向到null设备。
$( du -sb "$directory" 2> /dev/null )
但是,请注意,为这些目录报告的大小也没有任何意义。因此,最好以某种方式完全排除这些目录。
如果这与系统目录无关,只需确保正确引用变量即可。
https://askubuntu.com/questions/1433652
复制相似问题