Linux 中的 ls 命令使用教程

图片

目录

前言

如何运用 ls 命令

1、列出带有所有权的文件和目录

2、获取以人类可读的方式显示的信息

3、列出隐藏文件

4、递归列出文件

5、在使用 ls 时对文件和目录做区分

6、列出指定扩展名的文件

7、基于大小对输出内容排序

8、根据日期和时间排序文件

让我们来总结一下至此你已经学习到的!


前言

ls 属于 Linux 中那些简单又常用的命令之一。在本教程里,你将学到如何高效使用它。

对我个人而言,ls 无疑是 最常被使用的 Linux 命令itsfoss.com,因为我们总是借助它 列出目录内的内容itsfoss.com 来检验上一步操作的结果。

ls 命令是 “列表(List)” 的缩写,其功能就是列出你指定目录下的所有内容。

我将在本教程中,通过一系列的实例,带你一步步掌握 ls 命令的使用。

另外也会给出一些练习题,以检验你的学习成果。

如何运用 ls 命令

要使用 ls 命令,你只需遵循以下简单的命令格式:

ls [OPTIONS] Targeted_Directory

这里,

◈ [OPTIONS]:用来改变 ls 命令的默认行为。

◈ Targeted_Directory:在这里输入目录名或目录的绝对路径。

你可能会想,如果没有任何选项地使用 ls 命令会发生什么。为了回答这个问题,我在当前工作目录中使用了 ls 命令:

图片

使用 ls 命令列出工作目录的内容

如你所见,它列出了当前工作目录中所有可用的目录和文件。但你可以做的远不止于在当前工作目录中获取名称和文件。

接下来让我给你展示一下。

1、列出带有所有权的文件和目录

ls 命令的重要用途之一就是查出具体的文件或目录的权限以及所有权信息。

这就需要你在使用 ls 命令时,带上 -l 选项(这也被称为长列表格式):

ls -l

执行该命令后,你会看到类似的输出:

$ ls -lh
-rwxrw-r-- 1 sagar sagar 666M Dec 10 18:16 Fedora.iso

注意到我是同时使用了 –h 选项吗?我们稍后会详细说明这个。

如果目前为止的输出结果看起来太复杂,那就让我来帮你简化一下:

图片

利用 ls 命令在 Linux 中解读文件权限和所有权

如你所见,每个文本块都有特定的含义,它们分别对应文件拥有者、组和其他用户的各项权限。

对于想对文件权限有更深入理解的朋友,我推荐你阅读 我们关于 Linux 文件权限的详尽指南linuxhandbook.com:443。

2、获取以人类可读的方式显示的信息

默认状态下,文件大小以字节为单位显示,显然不是最佳的查阅方式。那如果想以更易读的方式来得知相同的信息,我们怎么做呢?

其实很简单。你只需使用 -h 选项与 ls 命令配合:

ls -l -h

接下来,我们比较下默认显示状态和可读性更强的显示方式的区别:

图片

以人类可读的方式通过 ls 命令列出文件

明显更好了,对吧?

💡 尽管 ls 命令很好地展示了文件大小,但它并不能告诉你文件夹的大小,普遍情况都会显示为 4K(LCTT 译注:这其实是“目录”这个文件所占用的大小,而不是该目录下文件的总计大小。)。如果需要了解文件夹的大小,那么你可以尝试使用 du 命令。

3、列出隐藏文件

和其他所有文件管理器一样,ls 命令在默认情况下并不会显示隐藏文件(这正是隐藏文件的意义所在,对吧?)。

那么,如果你期望在常规文件之外,一并 列出隐藏文件itsfoss.com 呢?只需在使用 ls 命令时带上 -a 选项就行:

ls -a

你会注意到,以 . 开头的文件名就是所谓的隐藏文件。

图片

用 ls 命令在 Linux 终端列出隐藏文件

💡 你还可以使用 ls -A,它的功能与 ls -a 类似,但它不包括 . 和 .. 这两个目录。

4、递归列出文件

事实上,有 多种方法可以递归列出文件linuxhandbook.com:443,使用 ls 命令就是其中之一。

如果你还不清楚,递归列出文件就是指展示所有子目录中的文件,直到每个子目录的最深层次。

你可以通过使用 -R 参数来递归列出文件:

ls -R

图片

在 Linux 中使用 ls 命令递归列出文件

这种方式实际上为你展示了当前目录的结构,我个人非常喜欢这种方式,但你需要先进行安装。

💡 其实你并不需要进入某个目录才能查看其内容,你可以直接通过提供它的绝对路径或相对路径来列出目录内容,比如:ls /var/log

5、在使用 ls 时对文件和目录做区分

通常,不同的颜色就足以区分文件和目录。但是如果你基于某种原因需要给文件和目录添加符号标识,这就有一个办法。

在 ls 命令中,使用 -F 选项,它会在每个目录名末尾添加一个正斜杠 /

ls -F

图片

使用 ls 命令在文件和目录间做区分

6、列出指定扩展名的文件

有些情况下,你可能只希望列出具有特定扩展名的文件,实际上,这是最简单的操作之一。

做到这一点,你无需使用任何选项。只需在星号 * 后附上文件扩展名,如 *.png*.txt 等:

ls *.extension

例如,如果我只想列出 ISO 文件,那么我将使用以下命令:

ls *.iso

图片

列出特定扩展名的文件

7、基于大小对输出内容排序

若希望基于文件大小来对输出内容排序,你需要使用 -S 选项,它会以从大到小的方式(降序)列出文件:

ls -lhS

图片

使用 ls 命令基于文件大小排序

相反,如果你想颠倒这个顺序,使得最小的文件首先被列出,你可以利用 -r 选项来实现反向排序:

ls -lhSr

图片

使用 ls 命令从小到大排序文件

8、根据日期和时间排序文件

ls 命令在列出的内容中包括文件的修改时间。

如果你希望最新的文件最先被列出,可以使用 -t 选项,如下所示:

ls -lht

图片

使用 ls 命令最先列出最新文件

你也可以像我前面提到的那样,在这里使用 -r 选项进行反转排序。

ls -lrt

这会使得最近修改的文件在列表的底部显示,当目录中存在大量文件,而你希望查看最近被修改过的文件时,这一命令会特别有用。我在解决我的软件项目问题时就经常用到它。

图片

使用 ls -lrt 命令

让我们来总结一下至此你已经学习到的!

下面,我会共享一个表列出本教程中介绍过的一些与 ls 命令一起使用的选项:

< 如显示不全,请左右滑动 >

命令描述
ls -l长格式列出文件和目录
ls -lh以人类可读的方式显示信息
ls -a在列出的内容中包括隐藏文件
ls -R递归列出文件
ls -F在目录名后添加正斜杠
ls *.ext列出具有特定扩展名的文件
ls -lS根据文件大小排序
ls -lt根据修改时间排序
-r反转排序顺序(与 -S 或 -t 结合使用)

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

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

相关文章

Ansible的重用(include和import)

环境 管理节点&#xff1a;Ubuntu 22.04控制节点&#xff1a;CentOS 8Ansible&#xff1a;2.15.6 重用 Ansible提供四种可重用的工件&#xff1a; variable文件&#xff1a;只包含变量的文件task文件&#xff1a;只包含task的文件playbook&#xff1a;可包含play、变量、ta…

MVVM 模式与 MVC 模式:构建高效应用的选择

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

代码随想录算法训练营第六十天| 84.柱状图中最大的矩形

文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;代码随想录B站账号 状态&#xff1a;看了视频题解和文章解析后做出来了 84.柱状图中最大的矩形 class Solution:def largestRectangleArea(self, heights: List[int]) -> int:heights.insert(0, 0)heights.append(0)st…

java操作windows系统功能案例(二)

1、打印指定文件 可以使用Java提供的Runtime类和Process类来打印指定文件。以下是一个示例代码&#xff1a; import java.io.File; import java.io.IOException;public class PrintFile {public static void main(String[] args) {if (args.length ! 1) {System.out.println(…

NFT Insider115:The Sandbox开设元宇宙Diorama快闪店,​YGG Web3 游戏峰会已开幕

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members、BeepCrypto联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜、最有价值的讯息。每期周报将从NFT市场数据&#xff0c;艺术新闻类&#xff0c;游戏新闻类&#xff0c;虚拟世界类&#…

时间序列预测实战(二十一)PyTorch实现TCN卷积进行时间序列预测(专为新手编写的自研架构)

一、本文介绍 本篇文章给大家带来的是利用我个人编写的架构进行TCN时间序列卷积进行时间序列建模&#xff08;专门为了时间序列领域新人编写的架构&#xff0c;简单不同于市面上大家用GPT写的代码&#xff09;&#xff0c;包括结果可视化、支持单元预测、多元预测、模型拟合效…

【深度学习】因果推断与机器学习

2023年初是人工智能爆发的里程碑式的重要阶段&#xff0c;以OpenAI研发的GPT为代表的大模型大行其道&#xff0c;NLP领域的ChatGPT模型火爆一时&#xff0c;引发了全民热议。而最新更新的GPT-4更是实现了大型多模态模型的飞跃式提升&#xff0c;它能够同时接受图像和文本的输入…

通过navicat工具将excel文件导入数据库的表中

文章目录 1.navicat可视化工具2. 导入文件 1.navicat可视化工具 这里使用的是navicat数据库可视化工具&#xff0c;不是直接通过数据库指令导入的 前提是连接好数据库&#xff0c;建立好表&#xff0c;如下图&#xff0c;test为连接名&#xff0c;随便起&#xff0c;data为数据…

windows系统玩游戏找不到d3dx9_35.dll缺失的解决方法

分享一个我们在打开游戏或许软件过程中遇到的问题——“由于找不到d3dx9_35.dll,无法继续执行代码”的五个修复方案。这个问题可能会影响到我们的工作和娱乐效率&#xff0c;甚至可能导致工作的延期。因此&#xff0c;我希望通过今天的文章&#xff0c;能够帮助大家更好地解决这…

STL: 容器适配器stack 与 queue

目录 1.容器适配器 1.1 STL标准库中stack和queue的底层结构 1.2 deque的简单介绍(了解) 1.2.1 deque的原理介绍 1.2.2 deque的缺陷 1.2.3 为什么选择deque作为stack和queue的底层默认容器 2. stack的介绍和使用 2.1 stack的介绍 2.2 stack的使用 2.3 利用deque模拟实现…

c++基本常见错误总结

我们无论是在学习中还是在工作当中&#xff0c;总是会遇到各种各样的c编译错误问题&#xff0c;经常会有一种情况就是上一次好像遇到过这种问题&#xff0c;但是就是想不起来了&#xff08;我就是这样&#xff09;所以下面这一篇文章就是总结自己遇到的编译以及运行错误。 注意…

宝塔面板安装搭建DiscuzQ论坛教程与小程序上架发布后的展示效果

DiscuzQ论坛小程序上架发布后的展示效果&#xff1a; 1、需要用到的环境&#xff1a; php7.2 mysql5.7或者MariaDB 10.2(我安装用的mysql8.0) php除了必要的一些扩展外&#xff0c;还需要启用readlink、symlink函数等&#xff0c;具体看官方说明&#xff0c;安装的时候也会提醒…

【鸿蒙应用ArkTS开发系列】- 云开发入门实战二 实现省市地区三级联动地址选择器组件(上)

目录 概述 云数据库开发 一、创建云数据库的对象类型。 二、预置数据&#xff08;为对象类型添加数据条目&#xff09;。 三、部署云数据库 云函数实现业务逻辑 一、创建云函数 二、云函数目录讲解 三、创建resources目录 四、获取云端凭据 五、导出之前创建的元数据…

【Vue】@keyup.enter @v-model.trim的用法

目录 keyup.enter v-model.trim 情景一&#xff1a; 情景二&#xff1a; keyup.enter 作用&#xff1a;监听键盘回车事件 上一篇内容&#xff1a; 记事本 https://blog.csdn.net/m0_67930426/article/details/134630834?spm1001.2014.3001.5502 这里有个添加任务的功能&…

使用opencv实现图像滤波

1 图像滤波介绍 滤波是信号和图像处理中的基本任务之一&#xff0c;其旨在有选择地提取图像的某些特征&#xff0c;可以用于在给定应用程序的上下文中传达重要信息&#xff0c;例如&#xff0c;去除图像中的噪声、提取所需的视觉特征、图像重采样等。 1.1 图像滤波理论 图像…

R语言实现Lasso回归

一、Lasso回归 Lasso 回归&#xff08;Least Absolute Shrinkage and Selection Operator Regression&#xff09;是一种用于线性回归和特征选择的统计方法。它在回归问题中加入了L1正则化项&#xff0c;有助于解决多重共线性&#xff08;多个特征高度相关&#xff09;和特征选…

C语言——写一个简单函数,找两个数中最大者

#include <stdio.h>int max( int a, int b ) { return a>b ? a:b; }int main() { int a, b;printf("输入两个数:\n");scanf("%d %d", &a, &b);printf("max %d\n", max(a, b));return 0; }输出结果&#xff1a;

C#文件基本操作(判断文件是否存在、创建文件、复制或移动文件、删除文件以及获取文件基本信息)

目录 一、判断文件是否存在 1.File类的Exists()方法 2.FileInfo类的Exists属性 二、创建文件 1.File类的Create()方法 2.FileInfo类的Create()方法 三、复制或移动文件 1.File类的Copy()方法 2.File类的Move()方法 3.FileInfo类的CopyTo()方法 四、删除文件 1.File…

大数据基础设施搭建 - Hive

文章目录 一、上传压缩包二、解压压缩包三、配置环境变量四、初始化元数据库4.1 配置MySQL地址4.2 拷贝MySQL驱动4.3 初始化元数据库4.3.1 创建数据库4.3.2 初始化元数据库 五、启动元数据服务metastore5.1 修改配置文件5.2 启动/关闭metastore服务 六、启动hiveserver2服务6.1…

MacOS + Android Studio 通过 USB 数据线真机调试

环境&#xff1a;Apple M1 MacOS Sonoma 14.1.1 软件&#xff1a;Android Studio Giraffe | 2022.3.1 Patch 3 设备&#xff1a;小米10 Android 13 一、创建测试项目 安卓 HelloWorld 项目: 安卓 HelloWorld 项目 二、数据线连接手机 1. 手机开启开发者模式 参考&#xff1…