专栏首页叉叉敌Linux常用命令04 - ls

Linux常用命令04 - ls

ls 命令是任何 Linux 用户都应该知道的基本命令之一。 它用于列出有关文件系统中的文件和目录的信息。 ls 实用程序是安装在所有 Linux 发行版上的 Linux/Linux/Linux GNU核心工具组包的一部分。

在本教程中,我们将通过实际例子和最常见的 ls 选项的详细说明,向您展示如何使用 ls 命令。

如何使用ls Command 命令

ls 命令的语法如下:

ls [OPTIONS] [FILES]

当没有选项和参数时,ls 会显示当前工作目录中所有文件的名称列表:

ls

这些文件被列在字母顺序文档中:

若要列出特定目录中的文件,请将路径作为参数传递给 ls 命令。 例如,要列出/etc 目录的内容,您可以键入:

ls /etc

您还可以将多个目录和文件传递给以空格分隔的 ls 命令:

ls /etc/var /etc/passwd

如果你登录的用户没有读取该目录的权限,你会得到一条消息说 ls 不能打开该目录:

ls /root
ls: cannot open directory '/root': Permission denied

ls 命令有许多选项。在下面的部分中,我们将探讨最常用的选项。

单纯的list

ls 命令的默认输出只显示文件和目录的名称,这没有提供很多信息。

-l (小写l)选项使 ls 以长列表格式打印文件。

当使用长列表格式时,ls 命令将显示以下文件信息:

文件类型

  • 文件权限
  • 指向文件的硬链接数
  • 文件所有者
  • 文件组
  • 文件大小
  • 日期及时间
  • 档案名称

考虑下面的例子:

ls -l /etc/hosts
-rw-r--r--  1 root  wheel  372  3  7 23:56 /etc/hosts

让我们解释一下输出中最重要的列。

第一个字符显示文件类型。 在我们的示例中,第一个字符是-,表示一个常规文件。 其他文件类型的值如下:

  • - 普通档案 b - 阻塞特殊文件 c - 字符特殊文件 d - 目录 l - 符号链接 n - 网络档案

p - 先进先出法 s - 插座

接下来的九个字符显示文件权限。 前三个字符用于用户,后三个字符用于组,最后三个字符用于其他用户。 您可以使用 chmod 命令更改文件权限。 权限字符可以具有以下值:

r - 读取文件的权限 w - 写入文件的权限 x - 执行文件的权限 s - setgid 位 t - 粘性钻头

在我们的示例中,rw-r -- r -- 意味着用户可以读写文件,组和其他用户只能读取文件。 权限字符后面的数字1是指向该文件的硬链接的数量。

接下来的两个字段 root 显示文件所有者和组,后面是文件的大小(337) ,以字节为单位显示。 如果要以人类可读的格式打印大小,请使用 -h 选项。 您可以使用 chown 命令更改文件所有者。

10月4日11:31是最后一次修改文件的日期和时间。

最后一列是文件的名称。

显示隐藏文件

默认情况下,ls 命令不会显示隐藏文件。 在 Linux 中,隐藏文件是任何以点(.)开头的文件 .

要显示包括隐藏文件在内的所有文件,请使用-a 选项:

ls -la ~/
drwxr-x--- 10 linuxize  linuxize  4096 Feb 12 16:28 .
drwxr-xr-x 18 linuxize  linuxize  4096 Dec 26 09:21 ..
-rw-------  1 linuxize  linuxize  1630 Nov 18  2017 .bash_history
drwxr-xr-x  2 linuxize  linuxize  4096 Jul 20  2018  bin
drwxr-xr-x  2 linuxize  linuxize  4096 Jul 20  2018  Desktop
drwxr-xr-x  4 linuxize  linuxize  4096 Dec 12  2017 .npm
drwx------  2 linuxize  linuxize  4096 Mar  4  2018 .ssh

对输出进行排序

如前所述,默认情况下 ls 命令列出了字母顺序文件。

排序选项允许你根据扩展、大小、时间和版本对输出进行排序:

--sort=extension(或-X ) 按扩展名的字母顺序排序 --sort=size /(或-S) 按文件大小排序 --sort=time (或-t)按修改时间排序 --sort=version /(或-v) 版本号自然排序

如果希望以相反的排序顺序获得结果,请使用-r 选项。

例如,根据修改时间对/var 目录中的文件按相反的排序顺序进行排序:

ls -ltr /var

值得一提的是,ls 命令没有显示目录内容占用的总空间。 使用 du 命令获取目录的大小。

递归列出子目录

R 选项告诉 ls 命令递归地显示子目录的内容:

ls -R

小结

ls 命令列出有关文件和目录的信息。 有关 ls 的详细信息,请访问 GNU Coreutils 页面或在终端中键入 man ls。

https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html#ls-invocation

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 遇到Project Target Framework Not Installed解决方法

    版权声明:转载注明出处 https://blog.csdn.net/weixin_42514606/article/details/89028565 ...

    叉叉敌
  • 安卓编译 Jack server 错误问题解决办法

    问题 最近在编译安卓的时候,遇到Jack Server报错的问题:Failed to authenticate Jack server certificat...

    叉叉敌
  • 遇到Project Target Framework Not Installed解决方法

    最近同事传了一份C#的代码给我,我打开的时候遇到如下问题 Project Target Framework Not Installed,大概的就是项目需要版本是...

    叉叉敌
  • 【Python入门】Python列表的11个方法全解

    列表是Python里面非常重要的数据类型,其中的方法总共有11个,数量掌握这些方法,对数据的处理效率会大大提高,现在分享给大家。

    黄博的机器学习圈子
  • ls 命令还能这么玩?看一下这 20 个实用范例

    小小科
  • 【leetcode刷题】T46-丑数 II

    Write a program to find the n-th ugly number.

    木又AI帮
  • CTFweb类型(二十)5位、4位可控字符下的任意命令执行

    网上解释得非常多,这边也讲一下代码其实比较简单跟之前的结构类似,传递的字符串小于5位就能够去执行。我们如何get shell,思路比较清晰,像这些都是拼接命令的...

    牛油果
  • Linux之ls命令——查看目录

    ls命令是linux下最常用的命令。ls命令就是list的缩写,缺省下ls用来打印出当前目录的清单,如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清...

    浩Coding
  • Use BAdI to link appointment to a given opportunity during creation

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • 利用ABAP代码动态生成ABAP类

    Jerry Wang

扫码关注云+社区

领取腾讯云代金券