Linux ls 命令

2017-03-28|Categories: External cmd|

-rw-r--r--.末尾的圆点.是什么意思?

使用info coreutils 'ls invocation'可以在-l条目看到:

Following the file mode bits is a single character that specifies whether an alternate access method such as an access control list applies to the file. When the character following the file mode bits is a space, there is no alternate access method. When it is a printing character, then there is such a method.

GNU ls uses a . character to indicate a file with an SELinux security context, but no other alternate access method.

A file with any other combination of alternate access methods is marked with a + character.

简单来说,.表示有SELinux安全上下文设定,+通常表示有ACL设定。

ls -l输出的第一行total是什么意思?

http://linux.vbird.org/linux_basic/0230filesystem.php#special_waste

就是該目錄下的所有資料所耗用的實際 block numbers × block size* 的值。 我們可以透過 ls -ls 來觀察看看上述的意義

舉例來說,那個 anaconda-ks.cfg 雖然僅有 1376 bytes , 不過他卻佔用了整個 block (每個 block 為 4K)

过滤掉ls -l输出的第一行

ls -l | tail -n +2

-n +2表示「从第二行输出开始传递值(给tail)」。可以根据需要修改+后面的数字。

ls -ldu显示文件大小的差异

https://en.wikipedia.org/wiki/Sparse_file

ls shows size of the file (when you open and read it, that's how many bytes you will get)

du shows actual disk usage (the size of occupied blocks) which can be smaller than the file size due to holes

The -s option of the ls command shows the occupied space in blocks too: ls -ls file_name

稀疏文件(英语:sparse file)是一种计算机文件,它能尝试在文件内容大多为空时更有效率地使用文件系统的空间。它的原理是以简短的信息(元数据)表示空数据块(hole),而不是在在磁盘上占用实际空间来存储空数据块。只有真实(非空)的数据块会按原样写入磁盘。

在读取稀疏文件时,文件系统会按元数据在运行时将这些透明转换为“真实”的数据块,即填充为零。应用程序不会察觉这个转换。

只显示目录

  • ls -d ~/*/:显示目录
  • ls -d ~/.*/:显示所有.开头的目录
  • ls -d ~/.[!.]*/:显示所有.开头的目录,不包括...

合在一起:ls -d ~/*/ ~/.[!.]*/

解释:*匹配当前目录下的所有文件和目录,/限制*只匹配目录。

Leave A Comment