2015-04-07 32 views
0

正在linux机器上对director/misc执行一些复制操作。它表现不佳。后挖才知道的/ misc的是大小为0 日志:目录大小为零的原因

[[email protected] misc]# ls -lrt 
total 0 
[[email protected] misc]# 

但创建自己的目录,其空单止&检查其大小,呈现出4个字节。 日志:

[[email protected] random]# du -sk 
4  . 
[[email protected] random]# 

请让我知道这个是什么原因。

+0

它可能显示4千字节而不是4字节 –

回答

2

这两个命令都100%正确运行。例如:当您创建目录时:

mkdir -p misc 

该目录为空。如果您使用ls列出的目录中的文件,它报告预期:

$ ls -lrt misc 
total 0 

因为有0目录中的文件。现在,当您查看du目录本身占用的磁盘使用量时,它会正确记录表示磁盘上目录的文件大小(inode,links等)。例如:

$ du -sk misc 
4  misc 

请放心,两者在您的系统上都能正常工作。 ls报告目录中包含的文件数量,并且du报告目录本身在磁盘上的实际大小。

0

狭义,一个directory不能完全(在Linux和POSIX系统)。要求需要.(目录本身)和..(父目录)的两个条目。使用ls -als列出某个目录中的所有条目。见ls(1) & stat(1)。如果使用*知道globbing由shell(shell的通配符为*被跳过的文件名开头.,见glob(7)

特别opendir(3) & readdir(3)至少会给出这两个. & ..项(除了失败)。

因此,一个目录是总是为这两个强制性条目和其他元数据(即inode)占据一些位置。

您的/misc可能没有被以前的cp命令填充,可能是因为缺少权限。确保它的所有者是合适的(cp命令使用的那个)。请咨询stat /miscls -ald /misc。然后至少chmod u+rwx /misc(请参阅chmod(1);您可以使用命令chown(1)命令来更改所有权)。