【Linux】 ls命令
基本用法:
ls: 列出当前目录下的文件和子目录(不包括隐藏文件)。
ls <目录>: 列出指定目录下的文件和子目录。例如:ls /home/user/documents
ls -l: 以长格式显示文件和目录的信息,包括权限、链接数、所有者、组、大小、修改日期和文件名。
常用选项:
-a (all): 显示所有文件和目录,包括以 . 开头的隐藏文件。
ls -a: 列出当前目录下的所有文件,包括隐藏文件。
ls -al: 以长格式显示所有文件,包括隐藏文件。
-l (long): 以长格式显示文件和目录的信息。 提供更详细的输出,包括权限、链接数、所有者、组、大小、修改日期和文件名。
-t (time): 按照修改时间的先后顺序排序,最近修改的文件排在最前面。
ls -lt: 以长格式显示文件,并按照修改时间排序。
ls -ltr: 以长格式显示文件,并按照修改时间倒序排序(最近修改的文件排在最后面)。
-r (reverse): 将排序结果反转。
ls -r: 反向列出目录内容(通常按字母顺序的反向)。
ls -tr: 按修改时间反向排序。
-h (human-readable): 以人类可读的格式显示文件大小。 ls 命令默认以字节为单位显示文件大小,使用 -h 选项后,会自动选择合适的单位 (KB, MB, GB 等)。
ls -lh: 以长格式显示文件,并以人类可读的格式显示文件大小。
-S (size): 按照文件大小排序,从大到小。
ls -lS: 以长格式显示文件,并按照文件大小排序。
-d (directory): 只列出目录本身,而不是目录中的内容。
ls -ld <目录>: 显示指定目录的详细信息,而不是列出目录中的文件。
-R (recursive): 递归地列出所有子目录中的内容。
ls -R: 列出当前目录及其所有子目录下的所有文件。
-i (inode): 显示文件的 inode 编号。
ls -i: 列出当前目录下的文件和他们的inode
-F (classify): 在文件名后添加一个字符来表示文件类型。
/: 表示目录。
*: 表示可执行文件。
@: 表示符号链接。
|: 表示 FIFO (命名管道)。
=: 表示 socket。
组合使用:
可以将多个选项组合使用,以满足不同的需求。 例如:
ls -lath: 以长格式显示所有文件(包括隐藏文件),按照修改时间排序,并以人类可读的格式显示文件大小。
ls -lSrh: 以长格式显示文件,按照文件大小倒序排序,并以人类可读的格式显示文件大小。
ls -F: 列出当前目录下的文件,并用符号标识文件类型。
其他用法:
ls --color: 使用颜色来区分不同类型的文件。 大多数系统默认启用颜色显示。
ls -1: 每行只显示一个文件名。
ls -b: 将文件名中的不可打印字符替换为转义序列。
ls --version: 显示 ls 命令的版本信息。
ls --help: 显示 ls 命令的帮助信息。
高级用法 (结合其他命令):
ls | wc -l: 统计当前目录下文件和目录的数量 (不包括隐藏文件)。
ls -l | grep "^-" | wc -l: 统计当前目录下文件的数量 (不包括目录)。
ls -l | grep "^d" | wc -l: 统计当前目录下目录的数量。
find . -maxdepth 1 -type f | wc -l: 统计当前目录下文件的数量 (包括文件名包含空格的文件)。
ls -lS | head -n 10: 列出当前目录下最大的 10 个文件。
ls -lt | head -n 10: 列出当前目录下最近修改的 10 个文件。
一些技巧:
可以使用 alias 命令创建 ls 命令的别名,以便更方便地使用常用选项。 例如,alias ll='ls -l'。
可以在 shell 配置文件 (例如 .bashrc 或 .zshrc) 中设置 ls 命令的默认选项。
ls 命令非常灵活,可以根据不同的需求进行定制。 熟练掌握 ls 命令的各种选项,可以更
当前目录以M显示文件大小
ls -al | awk '{printf "%s %s %s %s %.2f KB %s %s %s %s\n", $1,$2,$3,$4,$5/1024,$6,$7,$8,$9}'
当前目录以M显示文件大小
ls -al | awk '{printf "%s %s %s %s %.2f MB %s %s %s %s\n", $1,$2,$3,$4,$5/1048576,$6,$7,$8,$9}'
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。