文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux中ls命令主要用来做什么

2023-06-28 07:03

关注

这篇文章将为大家详细讲解有关Linux中ls命令主要用来做什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

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

Linux中ls命令主要用来做什么

ls

显示目录内容列表

补充说明

语法

 ls [选项] [文件名...]    [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern] [--full-time]    [--format={long,verbose,commas,across,vertical,single-col‐umn}]    [--sort={none,time,size,extension}] [--time={atime,access,use,ctime,status}]    [--color[={none,auto,always}]] [--help] [--version] [--]

选项

 -C     # 多列输出,纵向排序。 -F     # 每个目录名加 "/" 后缀,每个 FIFO 名加 "|" 后缀, 每个可运行名加“ * ”后缀。 -R     # 递归列出遇到的子目录。 -a     # 列出所有文件,包括以 "." 开头的隐含文件。 -c     # 使用“状态改变时间”代替“文件修改时间”为依据来排序(使用“-t”选项时)或列出(使用“-l”选项时)。 -d     # 将目录名像其它文件一样列出,而不是列出它们的内容。 -i     # 输出文件前先输出文件系列号(即 i 节点号: i-node number)。 -l  列出(以单列格式)文件模式        # (file mode),文件的链接数,所有者名,组名,文件大小(以字节为单位),时间信息,及文件名。        # 缺省时,时间信息显示最近修改时间;可以以选项“-c”和“-u”选择显示其它两种时间信息。对于设备文件,        # 原先显示文件大小的区域通常显示的是主要和次要的信号(majorand minor device numbers)。 -q     # 将文件名中的非打印字符输出为问号。(对于到终端的输出这是缺省的。) -r     # 逆序排列。 -t     # 按时间信息排序。 -u     # 使用最近访问时间代替最近修改时间为依据来排序(使用“-t”选项时)或列出(使用“-l”选项时)。 -1     # 单列输出。 -1, --format=single-column  # 一行输出一个文件(单列输出)。如标准输出不是到终端,此选项就是缺省选项。 -a, --all # 列出目录中所有文件,包括以“.”开头的文件。 -b, --escape # 把文件名中不可输出的字符用反斜杠加字符编号(就像在 C 语言里一样)的形式列出。 -c, --time=ctime, --time=status       # 按文件状态改变时间(i节点中的ctime)排序并输出目录内       # 容。如采用长格式输出(选项“-l”),使用文件的状态改       # 变时间取代文件修改时间。【译注:所谓文件状态改变(i节       # 点中以ctime标志),既包括文件被修改,又包括文件属性( 如所有者、组、链接数等等)的变化】 -d, --directory       # 将目录名像其它文件一样列出,而不是列出它们的内容。 -f    # 不排序目录内容;按它们在磁盘上存储的顺序列出。同时启 动“ -a ”选项,如果在“ -f ”之前存在“ -l”、       # “ - -color ”或“ -s ”,则禁止它们。 -g    # 忽略,为兼容UNIX用。 -i, --inode       # 在每个文件左边打印  i  节点号(也叫文件序列号和索引号:  file  serial  number and index num‐       # ber)。i节点号在每个特定的文件系统中是唯一的。 -k, --kilobytes       # 如列出文件大小,则以千字节KB为单位。 -l, --format=long, --format=verbose       # 除每个文件名外,增加显示文件类型、权限、硬链接数、所       有者名、组名、大小(        byte       # )、及时间信息(如未指明是      其它时间即指修改时间)。对于6个月以上的文件或超出未来     1       # 小时的文件,时间信息中的时分将被年代取代。       # 每个目录列出前,有一行“总块数”显示目录下全部文件所       占的磁盘空间。块默认是        1024       # 字节;如果设置了   POSIXLY_CORRECT  的环境变量,除非用“  -k  ”选项,则默认块大小是  512  字       # 节。每一个硬链接都计入总块数(因此可能重复计数),这无 疑是个缺点。  # 列出的权限类似于以符号表示(文件)模式的规范。但是 ls       # 在每套权限的第三个字符中结合了多位( multiple bits ) 的信息,如下: s 如果设置了  setuid       # 位或 setgid   位,而且也设置了相应的可执行位。 S 如果设置了 setuid 位或 setgid       # 位,但是没有设置相应的可执行位。 t 如果设置了  sticky  位,而且也设置了相应的可执行位。  T       # 如果设置了 sticky 位,但是没有设置相应的可执行位。              x       # 如果仅仅设置了可执行位而非以上四种情况。 - 其它情况(即可执行位未设置)。 -m, --format=commas       # 水平列出文件,每行尽可能多,相互用逗号和一个空格分隔。 -n, --numeric-uid-gid       # 列出数字化的 UID 和 GID 而不是用户名和组名。 -o    #  以长格式列出目录内容,但是不显示组信息。等于使用“         --format=long          --no-group       # ”选项。提供此选项是为了与其它版本的 ls 兼容。 -p    #  在每个文件名后附上一个字符以说明该文件的类型。类似“ -F ”选项但是不 标示可执行文件。 -q, --hide-control-chars       # 用问号代替文件名中非打印的字符。这是缺省选项。 -r, --reverse       # 逆序排列目录内容。 -s, --size       # 在每个文件名左侧输出该文件的大小,以    1024   字节的块为单位。如果设置了   POSIXLY_CORRECT       # 的环境变量,除非用“ -k ”选项,块大小是 512 字节。 -t, --sort=time       # 按文件最近修改时间( i 节点中的 mtime )而不是按文件名字典序排序,新文件 靠前。 -u, --time=atime, --time=access, --time=use       # 类似选项“    -t    ”,但是用文件最近访问时间(    i     节点中的     atime     )取代文件修       # 改时间。如果使用长格式列出,打印的时间是最近访问时间。 -w, --width cols        # 假定屏幕宽度是      cols      (      cols     以实际数字取代)列。如未用此选项,缺省值是这        # 样获得的:如可能先尝试取自终端驱动,否则尝试取自环境变量          COLUMNS          (如果设        # 置了的话),都不行则取 80 。  -x, --format=across, --format=horizontal        # 多列输出,横向排序。  -A, --almost-all        # 显示除 "." 和 ".." 外的所有文件。  -B, --ignore-backups        # 不输出以“ ~ ”结尾的备份文件,除非已经在命令行中给出。  -C, --format=vertical        # 多列输出,纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时, 则总是缺省的。  -D, --dired        # 当采用长格式(“-l”选项)输出时,在主要输出后,额外打印一行:  //DIRED//  BEG1 END1 BEG2        # END2 ...  # BEGn 和 ENDn 是无符号整数,记录每个文件名的起始、结束位置在输出中的位置( #        字节偏移量)。这使得          Emacs          易于找到文件名,即使文件名包含空格或换行等非正 #        常字符也无需特异的搜索。 # # 如果目录是递归列出的(“ -R ”选项),每个子目录后列出类似一行:        # //SUBDIRED//  BEG1 END1 ...  【译注:我测试了 TurboLinux4.0 和 RedHat6.1 ,发现它们都是在 “        # //DIRED//     BEG1...     ”之后列出“     //SUBDIRED//     BEG1     ...      ”,也即只有一个        # 而不是在每个子目录后都有。而且“ //SUBDIRED// BEG1 ... ”列出的是各个子目 录名的偏移。】  -F, --classify, --file-type        # 在每个文件名后附上一个字符以说明该文件的类型。“  * ”表示普通的可执行文件; “ / ”表示目录;“        # @ ”表示符号链接;“ | ”表示FIFOs;“ = ”表示套接字 (sockets) ;什么也没有则表示普通文件。  -G, --no-group        # 以长格式列目录时不显示组信息。  -I, --ignorepattern        # 除非在命令行中给定,不要列出匹配shell文件名匹配式(pattern ,不是指一般        # 表达式)的文件。在shell中,文件名以"."起始的不与在文件名匹配式(pattern)        # 开头的通配符匹配。  -L, --dereference        # 列出符号链接指向的文件的信息,而不是符号链接本身。  -N, --literal        # 不要用引号引起文件名。  -Q, --quote-name        # 用双引号引起文件名,非打印字符以 C 语言的方法表示。  -R, --recursive        # 递归列出全部目录的内容。  -S, --sort=size        # 按文件大小而不是字典序排序目录内容,大文件靠前。  -T, --tabsize cols        # 假定每个制表符宽度是 cols 。缺省为 8。为求效率, ls 可能在输出中使用制表符。  若 cols 为        0,则不使用制表符。  -U, --sort=none        # 不排序目录内容;按它们在磁盘上存储的顺序列出。(选项“-U”和“-f”的不        # 同是前者不启动或禁止相关的选项。)这在列很大的目录时特别有用,因为不加排序        # 能显著地加快速度。  -X, --sort=extension        # 按文件扩展名(由最后的 "." 之后的字符组成)的字典序排序。没有扩展名的先列 出。  --color[=when]        # 指定是否使用颜色区别文件类别。环境变量  LS_COLORS  指定使用的颜色。如何设置 这个变量见 dir‐        # colors(1) 。 when 可以被省略,或是以下几项之一: none # 不使用颜色,这是缺省项。        # auto 仅当标准输出是终端时使用。 always 总是使用颜色。指定 --color 而且省略 when  时就等同于        # --color=always 。  --full-time        # 列出完整的时间,而不是使用标准的缩写。格式如同          date(1)          的缺省格式;此格式        # 是不能改变的,但是你可以用 cut(1) 取出其中的日期字串并将结果送至命令 “ date -d ”。  # 输出的时间包括秒是非常有用的。( Unix 文件系统储存文件的时间信息精确到秒,        # 因此这个选项已经给出了系统所知的全部信息。)例如,当你有一个         Makefile          文件        # 不能恰当地生成文件时,这个选项会提供帮助。

参数

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

实例

 $ ls       # 仅列出当前目录可见文件 $ ls -l    # 列出当前目录可见文件详细信息 $ ls -hl   # 列出详细信息并以可读大小显示文件大小 $ ls -al   # 列出所有文件(包括隐藏)的详细信息 $ ls --human-readable --size -1 -S --classify # 按文件大小排序 $ du -sh * | sort -h # 按文件大小排序(同上)

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

 [root@localhost ~]# ls -a .   anaconda-ks.cfg  .bash_logout   .bashrc  install.log         .mysql_history  satools  .tcshrc   .vimrc ..  .bash_history    .bash_profile  .cshrc   install.log.syslog  .rnd            .ssh     .viminfo

输出长格式列表

 [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 2345481 -rw------- 1 root root   859 Jun 11 22:49 anaconda-ks.cfg 2345474 -rw-r--r-- 1 root root 13837 Jun 11 22:49 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 -ntotal 254drwxr-xr-x   2 0 0  4096 Jun 12 04:03 bindrwxr-xr-x   4 0 0  1024 Jun 15 14:45 bootdrwxr-xr-x   6 0 0  4096 Jun 12 10:26 datadrwxr-xr-x  10 0 0  3520 Sep 26 15:38 devdrwxr-xr-x  75 0 0  4096 Oct 16 04:02 etcdrwxr-xr-x   4 0 0  4096 Jun 12 10:26 homedrwxr-xr-x  14 0 0 12288 Jun 16 04:02 libdrwx------   2 0 0 16384 Jun 11 22:46 lost+founddrwxr-xr-x   2 0 0  4096 May 11  2011 mediadrwxr-xr-x   2 0 0  4096 Nov  8  2010 miscdrwxr-xr-x   2 0 0  4096 May 11  2011 mntdrwxr-xr-x   2 0 0  4096 May 11  2011 optdr-xr-xr-x 232 0 0     0 Jun 15 11:04 procdrwxr-x---   4 0 0  4096 Oct 15 14:43 rootdrwxr-xr-x   2 0 0 12288 Jun 12 04:03 sbindrwxr-xr-x   2 0 0  4096 May 11  2011 selinuxdrwxr-xr-x   2 0 0  4096 May 11  2011 srvdrwxr-xr-x  11 0 0     0 Jun 15 11:04 sysdrwxrwxrwt   3 0 0 98304 Oct 16 08:45 tmpdrwxr-xr-x  13 0 0  4096 Jun 11 23:38 usrdrwxr-xr-x  19 0 0  4096 Jun 11 23:38 var

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

[root@localhost /]# ls -ltotal 254drwxr-xr-x   2 root root  4096 Jun 12 04:03 bindrwxr-xr-x   4 root root  1024 Jun 15 14:45 bootdrwxr-xr-x   6 root root  4096 Jun 12 10:26 datadrwxr-xr-x  10 root root  3520 Sep 26 15:38 devdrwxr-xr-x  75 root root  4096 Oct 16 04:02 etcdrwxr-xr-x   4 root root  4096 Jun 12 10:26 homedrwxr-xr-x  14 root root 12288 Jun 16 04:02 libdrwx------   2 root root 16384 Jun 11 22:46 lost+founddrwxr-xr-x   2 root root  4096 May 11  2011 mediadrwxr-xr-x   2 root root  4096 Nov  8  2010 miscdrwxr-xr-x   2 root root  4096 May 11  2011 mntdrwxr-xr-x   2 root root  4096 May 11  2011 optdr-xr-xr-x 232 root root     0 Jun 15 11:04 procdrwxr-x---   4 root root  4096 Oct 15 14:43 rootdrwxr-xr-x   2 root root 12288 Jun 12 04:03 sbindrwxr-xr-x   2 root root  4096 May 11  2011 selinuxdrwxr-xr-x   2 root root  4096 May 11  2011 srvdrwxr-xr-x  11 root root     0 Jun 15 11:04 sysdrwxrwxrwt   3 root root 98304 Oct 16 08:48 tmpdrwxr-xr-x  13 root root  4096 Jun 11 23:38 usrdrwxr-xr-x  19 root root  4096 Jun 11 23:38 var

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

[root@localhost /]# ls -lhtotal 254Kdrwxr-xr-x   2 root root 4.0K Jun 12 04:03 bindrwxr-xr-x   4 root root 1.0K Jun 15 14:45 bootdrwxr-xr-x   6 root root 4.0K Jun 12 10:26 datadrwxr-xr-x  10 root root 3.5K Sep 26 15:38 devdrwxr-xr-x  75 root root 4.0K Oct 16 04:02 etcdrwxr-xr-x   4 root root 4.0K Jun 12 10:26 homedrwxr-xr-x  14 root root  12K Jun 16 04:02 libdrwx------   2 root root  16K Jun 11 22:46 lost+founddrwxr-xr-x   2 root root 4.0K May 11  2011 mediadrwxr-xr-x   2 root root 4.0K Nov  8  2010 miscdrwxr-xr-x   2 root root 4.0K May 11  2011 mntdrwxr-xr-x   2 root root 4.0K May 11  2011 optdr-xr-xr-x 235 root root    0 Jun 15 11:04 procdrwxr-x---   4 root root 4.0K Oct 15 14:43 rootdrwxr-xr-x   2 root root  12K Jun 12 04:03 sbindrwxr-xr-x   2 root root 4.0K May 11  2011 selinuxdrwxr-xr-x   2 root root 4.0K May 11  2011 srvdrwxr-xr-x  11 root root    0 Jun 15 11:04 sysdrwxrwxrwt   3 root root  96K Oct 16 08:49 tmpdrwxr-xr-x  13 root root 4.0K Jun 11 23:38 usrdrwxr-xr-x  19 root root 4.0K Jun 11 23:38 var

显示文件夹信息

[root@localhost /]# ls -ld /etc/drwxr-xr-x 75 root root 4096 Oct 16 04:02 /etc/

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

[root@localhost /]# ls -lttotal 254drwxrwxrwt   3 root root 98304 Oct 16 08:53 tmpdrwxr-xr-x  75 root root  4096 Oct 16 04:02 etcdrwxr-x---   4 root root  4096 Oct 15 14:43 rootdrwxr-xr-x  10 root root  3520 Sep 26 15:38 devdrwxr-xr-x  14 root root 12288 Jun 16 04:02 libdrwxr-xr-x   4 root root  1024 Jun 15 14:45 bootdrwxr-xr-x  11 root root     0 Jun 15 11:04 sysdr-xr-xr-x 232 root root     0 Jun 15 11:04 procdrwxr-xr-x   6 root root  4096 Jun 12 10:26 datadrwxr-xr-x   4 root root  4096 Jun 12 10:26 homedrwxr-xr-x   2 root root  4096 Jun 12 04:03 bindrwxr-xr-x   2 root root 12288 Jun 12 04:03 sbindrwxr-xr-x  13 root root  4096 Jun 11 23:38 usrdrwxr-xr-x  19 root root  4096 Jun 11 23:38 vardrwx------   2 root root 16384 Jun 11 22:46 lost+founddrwxr-xr-x   2 root root  4096 May 11  2011 mediadrwxr-xr-x   2 root root  4096 May 11  2011 mntdrwxr-xr-x   2 root root  4096 May 11  2011 optdrwxr-xr-x   2 root root  4096 May 11  2011 selinuxdrwxr-xr-x   2 root root  4096 May 11  2011 srvdrwxr-xr-x   2 root root  4096 Nov  8  2010 misc

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

[root@localhost /]# ls -ltrtotal 254drwxr-xr-x   2 root root  4096 Nov  8  2010 miscdrwxr-xr-x   2 root root  4096 May 11  2011 srvdrwxr-xr-x   2 root root  4096 May 11  2011 selinuxdrwxr-xr-x   2 root root  4096 May 11  2011 optdrwxr-xr-x   2 root root  4096 May 11  2011 mntdrwxr-xr-x   2 root root  4096 May 11  2011 mediadrwx------   2 root root 16384 Jun 11 22:46 lost+founddrwxr-xr-x  19 root root  4096 Jun 11 23:38 vardrwxr-xr-x  13 root root  4096 Jun 11 23:38 usrdrwxr-xr-x   2 root root 12288 Jun 12 04:03 sbindrwxr-xr-x   2 root root  4096 Jun 12 04:03 bindrwxr-xr-x   4 root root  4096 Jun 12 10:26 homedrwxr-xr-x   6 root root  4096 Jun 12 10:26 datadr-xr-xr-x 232 root root     0 Jun 15 11:04 procdrwxr-xr-x  11 root root     0 Jun 15 11:04 sysdrwxr-xr-x   4 root root  1024 Jun 15 14:45 bootdrwxr-xr-x  14 root root 12288 Jun 16 04:02 libdrwxr-xr-x  10 root root  3520 Sep 26 15:38 devdrwxr-x---   4 root root  4096 Oct 15 14:43 rootdrwxr-xr-x  75 root root  4096 Oct 16 04:02 etcdrwxrwxrwt   3 root root 98304 Oct 16 08:54 tmp

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

[root@localhost nginx-1.2.1]# ls -Fauto/  CHANGES  CHANGES.ru  conf/  configure*  contrib/  html/  LICENSE  Makefile  man/  objs/  README  src/

列出文件并标记颜色分类

[root@localhost nginx-1.2.1]# ls --color=autoauto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  Makefile  man  objs  README  src

关于“Linux中ls命令主要用来做什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-人工智能
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯