更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux命令 > Linux ls、lsb_release、lsblk、lsattr命令的用法及解释

Linux ls、lsb_release、lsblk、lsattr命令的用法及解释

更新时间:2022-01-21 15:07:19浏览次数:561+次

以下为你详细解释ls、lsb_release、lsblk、lsattr命令的用法。

\

Linux ls命令的用法及解释

Linux ls命令用来显示目标列表,在Linux操作系统中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

1、语法

ls(选项)(参数)

2、选项

-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);

-A:显示除影藏文件“.”和“..”以外的所有文件列表;

-C:多列显示输出结果。这是默认选项;

-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;

-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;

-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;

-c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间;

-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;

-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;

-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;

--file-type:与“-F”选项的功能相同,但是不显示“*”;

-k:以KB(千字节)为单位显示文件大小;

-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;

-m:用“,”号区隔每个文件和目录的名称;

-n:以用户识别码和群组识别码替代其名称;

-r:以文件名反序排列并输出目录内容列表;

-s:显示文件和目录的大小,以区块为单位;

-t:用文件和目录的更改时间排序;

-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;

-R:递归处理,将指定目录下的所有文件及子目录一并处理;

--full-time:列出完整的日期与时间;

--color[=WHEN]:使用不同的颜色高亮显示不同类型的。

3、参数

目录:指定要显示列表的目录,也可以是具体的文件。

4、实例

显示当前目录下非影藏文件与目录

[root@localhost ~]# ls

anaconda-ks.cfg  install.log  install.log.syslog  satools

显示当前目录下包括影藏文件在内的所有文件列表

[root@localhost ~]# ls -a

\

输出长格式列表

[root@localhost ~]# ls -1

anaconda-ks.cfg

install.log

install.log.syslog

satools

显示文件的inode信息

索引节点(index inode简称为“inode”)是Linux中一个特殊的概念,具有相同的索引节点号的两个文本本质上是同一个文件(除文件名不同外)。

[root@localhost ~]# ls -i -l anaconda-ks.cfg install.log

\

水平输出文件列表

[root@localhost /]# ls -m

bin, boot, data, dev, etc, home, lib, lost+found, media, misc, mnt, opt, proc, root, sbin, selinux, srv, sys, tmp, usr, var

修改最后一次编辑的文件

最近修改的文件显示在最上面。

[root@localhost /]# ls -t

tmp  root  etc  dev  lib  boot  sys  proc  data  home  bin  sbin  usr  var  lost+found  media  mnt  opt  selinux  srv  misc

显示递归文件

[root@localhost ~]# ls -R

.:

anaconda-ks.cfg  install.log  install.log.syslog  satools

./satools:

black.txt  freemem.sh  iptables.sh  lnmp.sh  mysql  php502_check.sh  ssh_safe.sh

打印文件的UID和GID

[root@localhost /]# ls -n

\

列出文件和文件夹的详细信息

[root@localhost /]# ls -l

\

列出可读文件和文件夹详细信息

[root@localhost /]# ls -lh

\

显示文件夹信息

[root@localhost /]# ls -ld /etc/

drwxr-xr-x 75 root root 4096 Oct 16 04:02 /etc/

按时间列出文件和文件夹详细信息

[root@localhost /]# ls -lt

\

按修改时间列出文件和文件夹详细信息

[root@localhost /]# ls -ltr

\

按照特殊字符对文件进行分类

[root@localhost nginx-1.2.1]# ls -F

auto/  CHANGES  CHANGES.ru  conf/  configure*  contrib/  html/  LICENSE  Makefile  man/  objs/  README  src/

列出文件并标记颜色分类

[root@localhost nginx-1.2.1]# ls --color=auto

auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src

Linux lsb_release命令的用法及解释

LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。

以下是选项:

-v 显示版本信息。

-i 显示发行版的id。

-d 显示该发行版的描述信息。

-r 显示当前系统是发行版的具体版本号。

-c 发行版代号。

-a 显示上面的所有信息。

-h 显示帮助信息。

如果当前发行版是LSB兼容的,那么/etc/lsb_release文件中会包含LSB_VERSION域。这个域的值可以是用冒号隔开的一系列支持的模块。这些模块名是当前版本支持的LSB的模块名。如果当前版本不是LSB兼容的,就不要包含这个域。

可选的域包括DISTRIB_ID, DISTRIB_RELEASE, DISTRIB_CODENAME,DISTRIB_DESCRIPTION,它们可以覆盖/etc/distrib-release文件中的内容。注:这里的distrib要替换为当前的发行版的名字。如果存在/etc/lsb-release.d目录,会在该目录中查找文件名并作为附加的模块版本加在LSB_VERSION前面。文件/etc/distrib-release中包含了一些描述信息,用来说明应该分析哪些文件名。

一般的格式是Distributor release x.x (Codename)。注意:Debian系统中缺乏相应的描述信息(见/etc/debian-version),为了支持Debian系统,大部分信息都被加在了lsb-release文件中。

redhat和fedora系统中,还支持一个参数:

-s, --short  输出简短的描述信息。

Linux lsblk命令的用法及解释

Linux lsblk命令用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为util-linux。这个包带了几个其它工具,如dmesg。要安装lsblk,请在 https://www.kernel.org/pub/linux/utils/util-linux/ 下载util-linux包。Fedora用户可以通过命令sudo yum install util-linux-ng来安装该包。

1、选项

-a, --all            显示所有设备。

-b, --bytes          以bytes方式显示设备大小。

-d, --nodeps         不显示 slaves 或 holders。

-D, --discard        print discard capabilities。

-e, --exclude <list> 排除设备 (default: RAM disks)。

-f, --fs             显示文件系统信息。

-h, --help           显示帮助信息。

-i, --ascii          use ascii characters only。

-m, --perms          显示权限信息。

-l, --list           使用列表格式显示。

-n, --noheadings     不显示标题。

-o, --output <list>  输出列。

-P, --pairs          使用key="value"格式显示。

-r, --raw            使用原始格式显示。

-t, --topology       显示拓扑结构信息。

2、实例

lsblk命令默认情况下将以树状列出所有块设备。打开终端,并输入以下命令:

lsblk

\

7个栏目名称如下:

1].NAME:这是块设备名。

2].MAJ:MIN:本栏显示主要和次要设备号。

3].RM:本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。

4].SIZE:本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。

5].RO:该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

6].TYPE:本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。

7].MOUNTPOINT:本栏指出设备挂载的挂载点。

默认选项不会列出所有空设备。要查看这些空设备,请使用以下命令:

lsblk -a

lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:

lsblk -m

该命令也可以只获取指定设备的信息。这可以通过在提供给lsblk命令的选项后指定设备名来实现。例如,你可能对了解以字节显示你的磁盘驱动器大小比较感兴趣,那么你可以通过运行以下命令来实现:

lsblk -b /dev/sda

等价于:

lsblk --bytes /dev/sda

你也可以组合几个选项来获取指定的输出。例如,你也许想要以列表格式列出设备,而不是默认的树状格式。你可能也对移除不同栏目名称的标题感兴趣。可以将两个不同的选项组合,以获得期望的输出,命令如下:

lsblk -nl

要获取SCSI设备的列表,你只能使用-S选项。该选项是大写字母S,不能和-s选项混淆,该选项是用来以颠倒的顺序打印依赖的。

lsblk -S

lsblk列出SCSI设备,而-s是逆序选项(将设备和分区的组织关系逆转过来显示),其将给出如下输出。输入命令:

lsblk -s

Linux lsattr命令的用法及解释

Linux lsattr命令用于查看文件的第二扩展文件系统属性。

1、语法

lsattr(选项)(参数)

2、选项

-E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。

-D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。

-R:递归的操作方式;

-V:显示指令的版本信息;

-a:列出目录中的所有文件,包括隐藏文件。

lsattr经常使用的几个选项-D,-E,-R这三个选项不可以一起使用,它们是互斥的,经常使用的还有-l,-H,使用lsattr时,必须指出具体的设备名,用-l选项指出要显示设备的逻辑名称,否则要用-c,-s,-t等选项唯一的确定某个已存在的设备。

3、参数

文件:指定显示文件系统属性的文件名。

4、实例

lsattr -E -l rmt0 -H

lsattr -EO -l rmt0