【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
解析: 在每个条目后添加一个字符以指示该条目的类型(例如,/ 表示目录)。

相关文章:
【Linux】Linux系统编程——ls命令
【Linux】Linux 系统编程——ls 命令 1.命令概述 ls 命令是 Linux 和其他类 Unix 操作系统中最常用的命令之一。ls 命令是英文单词 list 的缩写,正如 list 的意思,ls 命令用于列出文件系统中的文件和目录。使用此命令,用户可以查看目录中的…...
QA面试题
1、质量保证(QA)是什么? QA代表质量保证。QA 是一组活动,旨在确保开发的软件满足 SRS 文档中提到的所有规范或要求。QA 遵循 PDCA 循环: 计划/Plan - 计划是质量保证的一个阶段,组织在此阶段确定构建高质量软件产品所需的过程。做…...
【国产mcu填坑篇】华大单片机(小华半导体)一、SPI的DMA应用(发送主机)HC32L136
最近需要用华大的hc32l136的硬件SPIDMA传输,瞎写很久没调好,看参考手册,瞎碰一天搞通了。。。 先说下我之前犯的错误,也是最宝贵的经验,供参考 没多看参考手册直接写(即使有点烂仍然提供了最高的参考价值。…...
【前后端的那些事】treeSelect树形结构数据展示
文章目录 tree-selector1. 新增表单组件2. 在父组件中引用3. 父组件添加新增按钮4. 树形组件4.1 前端代码4.2 后端代码 前言:最近写项目,发现了一些很有意思的功能,想写文章,录视频把这些内容记录下。但这些功能太零碎,…...
华为OD机试 - 最长子字符串的长度(二)(Java JS Python C)
题目描述 给你一个字符串 s,字符串 s 首尾相连成一个环形,请你在环中找出 l、o、x 字符都恰好出现了偶数次最长子字符串的长度。 输入描述 输入是一串小写的字母组成的字符串 输出描述 输出是一个整数 备注 1 ≤ s.length ≤ 5 * 10^5s 只包含小写英文字母用例 输入alolob…...
【VRTK】【Unity】【游戏开发】更多技巧
课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【概述】 本篇将较为零散但常用的VRTK开发技巧集合在一起,主要内容: 创建物理手震动反馈高亮互动对象【创建物理手】 非物理手状态下,你的手会直接…...
Spark 读excel报错,scala.MatchError
Spark3详细报错: scala.MatchError: Map(treatemptyvaluesasnulls -> true, location -> viewfs://path.xlsx, inferschema -> false, addcolorcolumns -> true, header -> true) (of class org.apache.spark.sql.catalyst.util.CaseInsensitiveMap)scala代码…...
【漏洞复现】Office365-Indexs-任意文件读取
漏洞描述 Office 365 Indexs接口存在一个任意文件读取漏洞,攻击者可以通过构造精心设计的请求,成功利用漏洞读取服务器上的任意文件,包括敏感系统文件和应用程序配置文件等。通过利用此漏洞,攻击者可能获得系统内的敏感信息,导致潜在的信息泄露风险 免责声明 技术文章…...
使用Python向RabbitMQ发送JSON数据只需要一个send_json方法
发送JSON数据 通过调用rabbitmq.send_json(channel, user, queueresult)能够更简单的实现发送JSON数据。 生产者 import json import rabbitmq# 建立连接 connection rabbitmq.get_connection()# 创建管道 channel connection.channel()# 创建队列 queue_name "user…...
Gitlab Gitee GitHub 远程仓库显示图片
大家好我是苏麟 , 今天出一期开发之外的如何在远程仓库展示图片 . 以GitLab为例 1.首先我们要把一张图片上传到远程仓库 . 2.第二步,点击图片 3.鼠标右键点击下载左键点击复制连接 4.找到我们要上传的md文件 , 把连接复制到 ( ) 里 , 这样上传md之后就可以看到图片了 . 这期就到…...
JS常用的几种事件
JavaScript常用的几种事件有: 点击事件:当用户点击某个元素时触发,常用于按钮、链接等交互元素。事件名称为"click"。 javascriptbutton.addEventListener(click, function() { alert(按钮被点击了!); }); 鼠标移动事…...
代码随想录算法训练营第一天| 27 移除元素 704 二分查找
目录 27 移除元素 704 二分查找 27 移除元素 快指针遍历,慢指针记录 class Solution { public:int removeElement(vector<int>& nums, int val) {int l 0,r 0;for(;r < nums.size();r){if(nums[r] val){}else{nums[l] nums[r];}}return l;} }; …...
深度生成模型(Deep Generative Models)
什么是机器学习 深度生成模型(Deep Generative Models)是一类利用深度学习方法生成新样本的模型。这些模型通常被用于生成与训练数据集相似的新数据,例如图像、文本或音频。深度生成模型的两个主要类型是生成对抗网络(GANs&#…...
C++(20):vector通过erase,erase_if删除符合条件的元素
C++20前,vector可以通过成员函数erase删除迭代器指定的元素,并返回被删除的下一个元素: iterator erase( iterator pos ); iterator erase( iterator first, iterator last ); 1.删除单个元素 #include <vector> #include <iostream> #include <algorithm&…...
树莓派ubuntu:新增用户
切换到Root用户 sudo -i创建新用户 useradd -m 新用户名设置密码 passwd 新用户名将新用户加入sudo用户组 adduser newname sudo拷贝数据 cp -R /home/旧用户名/* /home/新用户名/查看用户所属组 id 新用户名更改文件所属 sudo chown 新用户名:group /home/新用户名/*gr…...
C //练习 5-14 修改排序程序,使它能处理-r标记。该标记表明,以逆序(递减)方式排序。要保证-r和-n能够组合在一起使用。
C程序设计语言 (第二版) 练习 5-14 练习 5-14 修改排序程序,使它能处理-r标记。该标记表明,以逆序(递减)方式排序。要保证-r和-n能够组合在一起使用。 注意:代码在win32控制台运行,…...
CAN总线报文格式———标准数据帧
标准数据帧 : 用于节点向外传送数据 标准数据帧由帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束等组成。 一、总线空闲(Bus Idle) CAN总线空闲时,总线上会输出持续的高电平“1”。当总线空闲时任何连接的单元都可以开始发送新的报…...
DFT中的SCAN、BIST、ATPG基本概念
DFT中的SCAN、BIST、ATPG基本概念 SCAN 定义 扫描路径法是一种针对时序电路芯片的DFT方案,目标是在不影响正常功能的情况下来能够提高可控性和可观测性。 原理 原理是将时序电路可以模型化为一个组合电路网络和带触发器(Flip-Flop,简称FF)的时序电路…...
掌握 Vue 响应式系统,让数据驱动视图(下)
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
apache、nginx、php 隐藏版本号
apache、nginx、php 隐藏版本号 针对的系统都是CentOS 1、没配置之前 1.1 Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.2.24 mod_wsgi/3.4 Python/2.7.5 1.2 Server: nginx/1.16.0 1.3 X-Powered-By:7.2.24 2、配置信息 不知道具体位置,可…...
Qwen-Image-2512-SDNQ Web服务API集成:Node.js/Java调用生成图片完整示例
Qwen-Image-2512-SDNQ Web服务API集成:Node.js/Java调用生成图片完整示例 1. 服务概述与核心价值 Qwen-Image-2512-SDNQ-uint4-svd-r32 Web服务是一个基于Flask框架构建的图片生成应用,它将先进的AI图片生成模型封装成易于使用的Web接口。这个服务最大…...
Youtu-Parsing快速部署指南:一键启动Web服务,开箱即用解析工具
Youtu-Parsing快速部署指南:一键启动Web服务,开箱即用解析工具 1. 项目概述与核心价值 Youtu-Parsing是腾讯优图实验室推出的多模态文档智能解析模型,基于Youtu-LLM-2B构建,专为解决复杂文档解析难题而设计。不同于传统OCR工具&…...
保姆级教程:在Ubuntu 22.04上为i.MX6ULL交叉编译Qt 6.6.0(含完整CMake配置与避坑指南)
保姆级教程:在Ubuntu 22.04上为i.MX6ULL交叉编译Qt 6.6.0(含完整CMake配置与避坑指南) 第一次为嵌入式设备交叉编译Qt框架时,那种面对海量配置选项的茫然感我至今记忆犹新。特别是当开发板换成了NXP的i.MX6ULL这种资源受限的ARM处…...
Cadence 617实战:手把手教你搞定电流镜负载差分放大器的仿真与优化
Cadence 617实战:手把手教你搞定电流镜负载差分放大器的仿真与优化 在模拟集成电路设计中,电流镜负载差分放大器是一个经典而重要的电路结构。它不仅出现在各类运算放大器的输入级,也是理解模拟电路设计原理的绝佳案例。本文将带你从工具实操…...
效率提升神器:快马AI自动生成安装脚本,告别重复配置工作
效率提升神器:快马AI自动生成安装脚本,告别重复配置工作 每次给团队批量安装正版软件时,最头疼的就是重复配置。记得上个月部署开发环境,光是手动点下一步、选路径、勾选组件就花了整整一上午,还因为手滑选错选项导致…...
OpenClaw技能扩展指南:用QwQ-32B实现Markdown自动排版
OpenClaw技能扩展指南:用QwQ-32B实现Markdown自动排版 1. 为什么需要Markdown自动化技能 作为一个长期用Markdown写作的技术博主,我经常遇到这样的困扰:从不同来源收集的笔记格式混乱,手动调整标题层级、表格对齐和代码块语法要…...
Power BI数据导入总报错?别慌,这4个坑我帮你踩过了(附详细排查步骤)
Power BI数据导入报错全攻略:从错误代码到根治方案 每次看到Power BI弹出那个鲜红的报错窗口,我的第一反应总是想砸键盘——特别是在项目截止前一天晚上。但经过三年与各种奇葩报错的搏斗,我发现90%的数据导入问题其实都有迹可循。今天我们就…...
从理论到实践:双有源桥DAB-SPS控制模式仿真全解析
1. 双有源桥DAB与SPS控制模式入门 第一次接触双有源桥(Dual Active Bridge,简称DAB)时,我被它优雅的对称结构吸引住了。这种DC-DC变换器拓扑就像一座精心设计的桥梁,两侧各有一个全桥电路,通过高频变压器耦…...
FPGA仿真数据高效流转:Vivado与Matlab的自动化处理链路
1. 从Vivado到Matlab的数据流转痛点 做过FPGA开发的朋友都知道,仿真阶段产生的数据就像金矿,但要把这些"矿石"提炼成有价值的分析结果,中间的数据搬运工作常常让人头疼。我最近在做一个无线通信项目时就深有体会:Vivado…...
FPGA开发避坑指南:Vivado 2023.1下MIG IP核(AXI4接口)配置DDR3的完整流程与常见错误排查
FPGA开发实战:Vivado 2023.1中MIG IP核配置DDR3的深度解析与高效排错 在FPGA开发领域,DDR3内存控制器的实现一直是工程师面临的技术挑战之一。Xilinx Vivado工具链中的Memory Interface Generator(MIG)IP核为这一难题提供了优雅的…...
