【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 可以是 neveralwaysauto

文件信息选项

  • -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

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/616866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录 516. 最长回文子序列

题目 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s “bbbab” 输出&…

Java复习

填空题 课程推荐的 jdk 下载网址为 jdk.java.net 使用命令行编译程序:javac -d bin stc*.java 使用命令行运行程序: java -cp bin 类名 java 语言标识符:字母、数字、下划线和美元符号,数字不能做首字母 java 语言中标识符区…

【QT实战】使用QT5制作一个简易串口助手详细教程,支持打包转发

文章目录 制作串口助手工程所涉及到的头文件ui布局制作串口配置选项添加修饰制作串口打印信息界面添加背景图片 函数查找串口并且添加到ui界面上显示串口数据接收槽函数串口发送槽函数打开串口槽函数 将串口助手封装成可执行文件 本项目的开发环境:windowsQT5qtcrea…

从vue小白到高手,从一个内容管理网站开始实战开发第八天,登录功能后台功能设计--业务逻辑层基础接口和基础服务实现

上一篇我们介绍了项目后续要使用到的工具类,关于工具类的创建可以查看 从vue小白到高手,从一个内容管理网站开始实战开发第七天,登录功能后台功能设计--通用分页、枚举以及相关工具类-CSDN博客文章浏览阅读2次。本次内容主要介绍了项目后续用到的部分工具类,这些工具类,在…

ES索引原理

ES在检索时底层使用的就是倒排索引,正向索引是通过key找value,反向索引则是通过value找key。 索引会分为两个区域:索引区和元数据区。数据是这样存储在里面的: 简单理解就是:当要录入一条数据时,首先会将完…

【国产之光】开年尝鲜——优秀的AI编码助手 Fitten Code

文章目录 前言1. 工具准备1.0 事先说明1.1 VSCode1.2 Fitten Code1.3 GitHub Copilot 2. 使用测评2.1 需求理解2.2 上下文理解 3. 总结推荐链接 开年尝鲜高质量国产AI编码助手——FittenCode 前言 2024年刚刚开局,清华大学 与 非十科技 就发布了全新的 VSCode AI…

并发编程(十)

带有Scheduled的基本都是定时器 Executor框架的成员 (1)ThreadPoolExecutor ThreadPoolExecutor通常使用工厂类Executors来创建。Executors可以创建3种类型的ThreadPoolExecutor:SingleThreadExecutor、FixedThreadPool和CachedThreadPool…

2024软件测试该如何发展?测试员怎样在内卷中走出来?

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、行业现状 目前…

2024.1.22

今天主要是写了一个项目——通讯录,然后做了一下学校的C语言的期末复习题,已经开始准备C的期末了。通讯录目前是我写过最长的代码,但其实实现不是最复杂的,是因为我为了让用户友好,所以说加了一些很多重复的代码&#…

MySQL 8.0中新增的功能(九)

FROM_UNIXTIME()、UNIX_TIMESTAMP()和CONVERT_TZ()的64位支持 根据MySQL 8.0.28版本的更新,FROM_UNIXTIME()、UNIX_TIMESTAMP() 和 CONVERT_TZ() 函数现在在支持64位的平台上处理64位值。这包括64位版本的Linux、MacOS和Windows。在兼容的平台上,UNIX_T…

Java并发Condition 详解

1.引言 在Java并发编程中,线程间的协作是一个核心话题。为了实现线程间的协作,Java提供了多种机制,其中等待/通知机制是最常见的一种。在早期版本中,我们通过Object类提供的wait、notify和notifyAll方法来实现这种机制。然而&…

前端规范扩展

前端编程规范是基于原有vue2基础上那套《编码风格及标准》上,应用于vue3、typescript、vite2基础上延伸出来的扩展补充,持续完善 一、编码规范 ESLint 代码检测工具 Pretter 代码格式化工具配合双校验代码 Git 规范 - 编码工具 vscode 同步参考文档中…

kylin集群使用nginx反向代理

前文已经提到,我安装了kylin集群。 kylin3集群问题和思考(单机转集群)-CSDN博客文章浏览阅读151次,点赞3次,收藏6次。由于是同一个集群的,元数据没有变化,所以,直接将原本的kylin使用…

基础篇_开发命令行程序(输入输出,类型、变量、运算符,条件语句,循环语句,方法,package与jar)

文章目录 一. 输入输出1. System.out2. System.in3. Scanner4. 变量名5. 关键字 二. 类型、变量、运算符1. 字符与字符串字符值与字符串值转义字符文本块 2. 类型何为类型数字类型字符类型 3. 变量与运算符变量运算符 4. 练习 - 房贷计算器Math.pow()数字格式化查阅 Javadoc 三…

什么是云服务器CVM?

腾讯云服务器CVM提供安全可靠的弹性计算服务,腾讯云明星级云服务器,弹性计算实时扩展或缩减计算资源,支持包年包月、按量计费和竞价实例计费模式,CVM提供多种CPU、内存、硬盘和带宽可以灵活调整的实例规格,提供9个9的数…

MySQL 图书管理系统

1.需求分析 1.1项目需求分析简介 1.1.1信息需求分析 (1) 图书信息:包括书籍编号,书籍名称,出版社,作者,库存量,出版日期,价格,库存,剩余量,类别等&#xf…

rhel 9 mysql 无法远程访问(linux)

1.防火墙开启3306端口 firewall-cmd --add-port3306/tcp2.防火墙生效 firewall-cmd --runtime-to-permanent3.其他命令(停止和启动防火墙) systemctl stop firewalld systemctl start firewalld4.检查防火墙状态 firewall-cmd --check-config5.查看防火墙开启端口 firewal…

Android Retrofit使用详情

一、 Retrofit是什么 Retrofit是Android用来接口请求的网络框架,内部是基于OkHttp实现的,retrofit负责接口请求的封装,retrofit可以直接将接口数据解析为Bean类、List集合等,直接简化了中间繁琐的数据解析过程 二、 Retrofit的简单…

必须掌握的100+个Linux命令大全【持续更新中】

别有一番风趣的alias … note:: 寒蝉凄切,对长亭晚,骤雨初歇。 柳永《雨霖铃》 Linux alias命令用于设置指令的别名,可以将比较长的命令进行简化。 默认情况下会输出当前的设置: $ alias lls -lah lals -lAh llls -lh lsls --…

C++学习笔记——多态与静态联编和动态联编

目录 一、多态 二、静态联编(Static Binding)和动态联编(Dynamic Binding) 2.1静态联编 2.2动态联编 一、多态 是C中面向对象编程的一个核心概念,它允许派生类对象替代其基类对象,从而实现代码重用和扩…