【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

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

封装数据访问通用类DbHelper

为什么要封装通用类? 数据交互:增上改查 相同的事情:连接 T-SQL命令,Command 执行命令,选择执行方式 得到相应结果 关闭连接 将一些从重复的逻辑进行封装,达到通用的目的 提高复用率…

高防ip是什么,防护效果好吗

DDoS攻击是互联网最常见的网络攻击方式之一,通过大量虚假流量对目标服务器进行攻击,堵塞网络耗尽服务器性能,导致服务器崩溃,真正的用户无法访问。以前企业常用的防御手段就是高防服务器,也就是硬防,但由于…

C++采集亚马逊amazon产品数据教程

最近亚马逊电商非常火爆,今天我将用C语言写一个亚马逊商品数据的爬虫程序,只要是用来收集一些产品相关信息。例如产品自身特性以及产品所对应的销量,为了后期布局亚马逊做一些参考,提供数据支持,同时另外我也会用C语言…

鸿蒙Harmony--LocalStorage--页面级UI状态存储详解

走的太急疼的是脚,逼的太紧累的是心,很多时候,慢一点也没关系,多给自己一些耐心和等待,保持热爱,当下即是未来,生活自有安排! 目录 一,定义 二,LocalStorageProp定义 三…

Docker 的工作原理及安装步骤【云原生】

文章目录 1. Docker 的工作原理2. Docker 与虚拟机3. Docker 架构4. 安装 Docker5. 配置镜像加速 1. Docker 的工作原理 大型项目组件较多,运行环境也较为复杂,部署会碰到一些问题: ① 依赖关系复杂,容易出现兼容性问题&#xff1…

【WPF.NET开发】在用户控件上启用拖放功能

本文内容 创建应用程序项目向项目添加新的用户控件向主窗口添加用户控件在用户控件中实现拖动源事件向用户提供反馈在用户控件中实现拖放目标事件使面板能够接收放置的数据 在本演练中,将创建一个表示圆形的自定义 WPF UserControl。 你将在该控件上实现可通过拖放…

C++力扣题目112,113--路径总和,路径总和II

112路径总和 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是…

PHP面试小结(20240108)

PHP 部分 1. php的包管理工具是如何实现自动加载的 换句话问:composer 实现原理是什么?spl_autoload_register() 首先,Composer 是 PHP 的一个包管理和包依赖管理的工具 , 打开安装之后生成的 "vendor" 文件, 里面有个…

【微信小程序】工具构建npm不生效问题

直接终端输入 npm init -y npm install express 会重新初始化package.json和重新刷新node_modules包 然后直接点npm构建 构建出来这个就完事了

机器学习_实战框架

文章目录 介绍机器学习的实战框架1.定义问题2.收集数据和预处理(1).收集数据(2).数据可视化(3).数据清洗(4).特征工程(5).构建特征集和标签集(6).拆分训练集、验证集和测试集。 3.选择算法并建立模型4.训练模型5.模型的评估和优化 介绍机器学习的实战框架 一个机器学习项目从开…

强化学习应用(四):基于Q-learning的无人机物流路径规划研究(提供Python代码)

一、Q-learning简介 Q-learning是一种强化学习算法,用于解决基于马尔可夫决策过程(MDP)的问题。它通过学习一个价值函数来指导智能体在环境中做出决策,以最大化累积奖励。 Q-learning算法的核心思想是通过不断更新一个称为Q值的…

STM32 定时器输入捕获1——初始化配置

当想检测高电平或低电平的持续时间的时候,就可以使用定时器输入捕获。例如示波器就是用到这个功能。这里就讲解一下定时器到底是如何输入捕获的: 由上图我们可以知道,周期 是每次连续的上升沿的时间差(例如:T第二个方波…

AI赋能建筑设计 | VERYCLOUD睿鸿股份与亚马逊云科技协力为AIRI lab. 打造生成式AI应用案例

近年来,很多研究都致力于探索如何让建筑师借助人工智能的力量来促进并简化设计流程。生成式AI全球爆火以来,建筑设计领域也掀起了一场全新的思维变革。 AI为建筑设计带来更多可能 作为一家面向全球提供设计服务的企业,AIRI lab.计划推出一种…

SIP-2401VP SIP音频广播模块SIP-2401VP SIP号角音柱音箱解码poe广播播放核心板

SV-2401VP和SV-2403VP网络音频模块是一款通用的独立SIP音频功能模块,可以轻松地嵌入到OEM产品中。该模块对来自网络的SIP协议及RTP音频流进行编解码。 该模块支持多种网络协议和音频编解码协议,可用于VoIP和IP寻呼以及高质量音乐流媒体播放等应用。同时…

QT 小组件 列表框以及微调框

.cpp文件 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);QListWidgetItem *pPhone new QListWidgetItem;pPhone->setText("西瓜");pPhone->…

什么是云服务器,阿里云优势如何?

阿里云服务器ECS英文全程Elastic Compute Service,云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务,阿里云提供多种云服务器ECS实例规格,如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等,阿里云百科aliyunbai…

数据结构 模拟实现Queue队列(双链表模拟)

目录 一、队列的概念 二、队列的接口 三、队列的方法实现 (1)offer方法 (2)poll方法 (3)peek方法 (4)size方法 (5)isEmpty方法 四、最终代码 一、队…

行为型设计模式——状态模式

状态模式 状态模式是比较简单的设计模式,它的主要作用是减少代码中大量的 if-else 或者 switch-case 等逻辑判断(俗称屎山)。它将每个状态定义为一个类,而每个状态类有自己对应的方法,因此当需要根据状态执行逻辑代码…

从零开始搭建一个个人博客并部署发布

1、为什么要自己搭建一个个人博客呢 首先,市场上主流的个人博客有CSDN、掘金、博客园等博客平台,这些平台方便了用户创作、记录的同时,也存在一些弊端,比如某些平台可能你的文章阅读量过高的话,会强制收费等问题已经是…

基于ssm快餐店点餐结算系统的设计与实现+vue论文

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装快餐店点餐结算系统软件来发挥其高效地信息处理的作用&…