【Linux】Linux系统编程——ls命令

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 【Linux】Linux系统编程——ls命令

Linux】Linux 系统编程——ls 命令

1.命令概述


ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写,正如 list 的意思,ls 命令用于列出文件系统中的文件和目录。使用此命令,用户可以查看目录中的文件和子目录列表,且可以查看文件的权限(包括:目录、文件权限)、查看目录信息等。

2.命令格式

ls [选项] [文件或目录]

这里,“选项”用于修改命令的行为,而“文件或目录”是指定要列出哪些文件或目录。如果没有指定文件或目录,ls 默认会列出当前目录的内容。

3.常用选项

ls 是 Unix 和类 Unix 系统(如 Linux 和 macOS)中用于列出目录内容的基本命令。它有许多选项,可以用来修改它的输出。以下是 ls 命令的一个比较全面的选项列表。请注意,某些选项可能在特定系统或 ls 版本中不可用。


文件显示选项


-a, --all:显示所有文件,包括隐藏文件(以点开始的文件)。

-A, --almost-all:与 -a 类似,但不显示 . 和 ..。

-B, --ignore-backups:不显示以波浪号 (~) 结尾的备份文件。

--color[=WHEN]:使用颜色标记文件类型。WHEN 可以是 never、always 或 auto。

文件信息选项

-l:长格式显示,包括文件类型、权限、链接数、所有者、组、大小和最后修改时间。

-h, --human-readable:与 -l 结合使用时,以易读格式(如 KB、MB)显示文件大小。

-s, --size:显示每个文件分配的块大小。

-i, --inode:显示每个文件的 inode 号。

-o:长格式显示,不包含文件组信息。

-g:长格式显示,不包含文件所有者信息。

-n, --numeric-uid-gid:类似于 -l,但显示数字的用户 ID 和组 ID。

--author:长格式显示时包含作者信息。

排序选项

  • -t:按最后修改时间排序。
  • -S:按文件大小排序。
  • -X:按文件扩展名排序。
  • -v:自然排序数字(1, 2, 10 而非 1, 10, 2)。
  • -r, --reverse:反向排序


列表格式选项

  • -m:所有文件在同一行上,用逗号分隔。
  • -x:按列排序。
  • -1:单列显示。
  • -C:多列显示(默认)。
  • -Q, --quote-name:将文件名放在双引号内。
  • --hide=PATTERN:隐藏匹配 PATTERN 的文件。
  • -R, --recursive:递归显示子目录。

文件类型选项

  • -F, --classify:在条目后添加指示文件类型的字符(例如,/ 表示目录)。
  • -d, --directory:显示目录本身而非其内容。
  • -p, --indicator-style=slash:在目录名称后添加斜杠。

其他选项

  • --help:显示帮助信息并退出。
  • --version:显示版本信息并退出。

要查看完整选项列表,可以使用 man ls 命令查看 ls 的手册页,这将提供最准确和最全面的选项列表。

4.参考示例

4.1 -a, --all

4.2. -l

示例: ls -l

解析: 此命令以长格式显示当前目录下的文件和目录的详细信息,包括权限、所有者、大小和最后修改时间。


以下是 ls -l 输出的每部分内容的详细解释:


文件类型 (第1个字符)

-: 普通文件

d : 目录

l : 符号链接,相当于windows中的快捷方式

s : 套接字

p : 管道

b : 块设备

c : 字符设备

用户的操作权限 (2 – 10个字符)

文件所有者对文件的操作权限 (2,3,4个字符)

文件所属组用户对文件的操作权限(5,6,7个字符)

其他人对文件的操作权限(8,9,10个字符)

硬链接计数:

对于目录来说, 链接计数等于该目录下所有的目录总数(含. 和 …), 但是不包含该目录的子目录下的目录文件数量, 执行ls -la命令可以进行查看.

对于文件来说, 指的是该文件所有的硬链接文件数量

文件所有者: xjc

文件所属组: xjc

文件大小: 396

如果是目录: 只表示目录大小, 不包含目录中的内容, 目录大小为4k

如果是文件:表示文件大小

文件的创建日期或最后修改时间:1月 11 06:06

文件名:output.txt

参数之间可以结合使用:

ls -la : 列出当前目录下所有文件的相信信息, 包括隐藏文件

ls -ltr: 列出当前目录下的文件, 按照时间逆向排序

文件所有者, 所属组, 其他人的概念

4.3. -h, --human-readable

示例: ls -lh

解析: 结合 -l 使用,此命令以易于阅读的格式(例如 KB、MB)显示文件大小。


4.4. -t

示例: ls -lt

解析: 按照最后修改时间排序文件和目录,最近修改的排在最前。

4.5. -S

示例: ls -lS

解析: 按文件大小排序,从大到小。


4.6. -n

示例: ls -n

解析: 打印文件的 UID 和 GID

4.7. -R, --recursive

示例: ls -R

解析: 递归地列出所有子目录的内容。

4.8. **-i, --**inode

示例: ls -i

解析: 显示每个文件的 inode 号。


4.9. -F, --classify

示例: ls -F

解析: 在每个条目后添加一个字符以指示该条目的类型(例如,/ 表示目录)。


目录
相关文章
|
4天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
22 3
|
4天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
17 2
|
4天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
22 3
|
7天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
33 6
|
7天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
11 2
|
6月前
|
NoSQL Unix Linux
Linux下的系统编程——守护进程、线程(十二)
Linux下的系统编程——守护进程、线程(十二)
72 0
Linux下的系统编程——守护进程、线程(十二)
|
6月前
|
存储 Linux Shell
Linux系统编程(守护进程)
Linux系统编程(守护进程)
74 0
|
NoSQL Ubuntu Unix
linux系统编程(十)守护进程、线程(上)
linux系统编程(十)守护进程、线程
272 0
linux系统编程(十)守护进程、线程(上)
|
存储 Linux 调度
linux系统编程(十)守护进程、线程(下)
linux系统编程(十)守护进程、线程
164 0
|
Linux
Linux系统编程---守护进程
守护进程是什么?就是在后台运行的进程。 那么如何创建守护进程呢?  1. 创建孤儿进程 2. setsid() 创建进程会话 3. 重定向标准输入, 标准输出 4. chdir, 改当当前进程的工作目录 接下来看一个例子: #include #include #include int ...
908 0