Linux 常用 ls命令详解

ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息。
 
一、ls命令用法:
  ls命令运行在命令提示符终端,用法如下。其中【选项】和为可选参数,可以一零个或者多个选项;【文件】也为可选参数,可以为零个或者多个;如果未指定文件,默认为列出当前目录下的文件:

1
用法:ls [选项]... [文件]...

二、ls命令参数详解:
下面是爱E族(aiezu.com)收集整理的ls详细选项,如有错误的地方,欢迎指正:

参数名 描述
-a
--all
列出所有的文件和目录,包括以“.”号开头的;
-A
--almost-all
列出所有的文件和目录,包括以“.”号开头的(除了“.”和“..”);
-b
--escape 
将文件名中的不可见字符,使用“\”开头的八进制转换字符表示;
--block-size=SIZE 指定每块的大小,如果指定了此值,将显示块数,不再显示文件大小;
可能的值:
  数   字,如:50、1024、102400;
  数字+单位,如:1k、2m、5g、10t;
-B
--ignore-backups
不要显示以“~”结尾的文件;
-c 按文件修改时间排序,可以使用“-l”选项显示创建时间;
-C 使用列的顺序输出文件列表;
--color[=WHEN] 是否使用不同的颜色区分文件类型,可能的值:
  never:从不;
  always:总是;
  auto:自动。
-d
--directory
列出目录的信息,而不是列出命令里面的内容;
-D
--dired
Generate output designed for Emacs' dired mode;
-f  不排序, 使用“-aU”选项, 停用“-lst”选项;
-F
--classify
给文件名末尾添加一个标识符(*/=@|中的一个):
  “*”:可执行文件;
  “/”:目录;
  “=”:socket文件;
  “@”:符号链接(symbolic link)文件;
  “|”:FIFOs文件;
--format=WORD 设置输出的格式,可能的值:
  across:相当于“-x”;
  commas:相当于“-m”;
  horizontal:相当于“-x”;
  long:相当于“-l”;
  single-column:相当于“-1”;
  verbose:相当于“-l”;
  vertical:相当于“-C”;
--full-time 列出文件完整的修改日期和时间;
-g (ignored)
-G
--no-group
不显示文件的用户组;
-h
--human-readable
自动将文件大小使用方便阅读的方式表示,如:1.23K, 2.4M, 9G;
-H
--si
单位转换使用1000,而不是1024;
如:1M = 1000K,而不是 1M = 1024K;
--indicator-style=WORD 按指定样式给文件名追加一个标识,可能的值:
  none:不添加,默认值;
  classify:相当于“-F”;
  file-type: 相当于“-p”;
  slash:目录添加斜杠;
-i
--inode
输出文件使用的index node;
-I
--ignore=PATTERN
Do not list implied entries matching shell PATTERN
-k
--kilobytes
以K为单位显示文件大小,相当于“--block-size=1024”;
-l 以长列表的形式显示文件的详细信息;
-L
--dereference
列出符号链接指向的条目,而不是列出符号链接;
-m  所有的相连并使用“,”逗号分隔;
-n
--numeric-uid-gid
使用数字UIDs、GIDs来代替名字;
-N
--literal
输出原始名称,对特殊字符不做特别处理,如:控制字符;
-o  使用没有组信息的长列表格式
-p
--file-type
根据文件类型,给文件名末尾添加一个标识符(/=@|中的一个);
-q
--hide-control-chars
以?号代替不可显示字符(默认);
--show-control-chars 显示控制字符,不使用?号代替;
-Q
--quote-name
给名称加上双引号;
--quoting-style=WORD 条目名称使用的引号样式,可选的值:literal、shell、shell-always、c、c-maybe、escape、clocale;
-r
--reverse 
使用反序排序;
-R
--recursive
递归列出目录和子目录的文件;
-s
--size
以块为单位输出文件大小;
-S 根据文件大小排序;
--sort=WORD 排序关键词,可能的值: "none", "time", "size", "extension", "version";
--time=WORD 显示文档的指定时间,而不是显示修改时间,可能的值:
  atime, access, use, ctime or status; 
如果“--sort=time”,也可以使用此时间作为排序键;
-t 使用修改时间排序;
-T
--tabsize=COLS
设置tab制表符的长度,而不是使用默认的8字符长度;
-u  按最后访问时间排序; 使用“-l”显示最后访问时间;
-U  不排序,使用目录的默认顺序;
-v  按版本排序
-w
--width=COLS
指定屏幕宽度,而不是使用屏幕的实际宽度;
-x 按行的顺序显示,而不是按列的顺序;
-X 按字母顺序排序;
-1 每行显示一个文件;
--help 显示帮助信息;
--version 输出版本号;

三、用法演示:
1、“-a”和“-A”选项的区别:

1
2
3
4
5
[root@aiezu.com ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  mysqlaccess.log  .mysql_history  .tcshrc  .viminfo
[root@aiezu.com ~]# ls -A
anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  mysqlaccess.log  .mysql_history  .tcshrc  .viminfo

2、“-b”和“--show-control-chars”选项演示:
  下面通过创建两个含不可显示字符“\001”和“\n”的文件名,来展示“-b”和“--show-control-chars”选项的区别:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@aiezu.com mm]# touch "`echo -e "aiezu.com\001.txt"`"
[root@aiezu.com mm]# touch "`echo -e "aiezu\n.com.txt"`"
[root@aiezu.com mm]# ls
aiezu.com?.txt  aiezu?.com.txt
[root@aiezu mm]# ls -b
aiezu.com\001.txt  aiezu\n.com.txt
[root@aiezu.com mm]# ls --show-control-chars
aiezu.com.txt  aiezu
.com.txt

3、文件大小:

1
2
3
4
5
6
7
8
9
10
11
[root@S2 opt]# ls -l aiezu.com.zip
-rw-r--r-- 1 root root 8007112 Nov 22 21:45 aiezu.com.zip
[root@S2 opt]# ls -lh aiezu.com.zip
-rw-r--r-- 1 root root 7.7M Nov 22 21:45 aiezu.com.zip
[root@S2 opt]# ls -l --block-size=1k aiezu.com.zip
-rw-r--r-- 1 root root 7820 Nov 22 21:45 aiezu.com.zip
[root@S2 opt]# ls -s aiezu.com.zip
7820 aiezu.com.zip

4、ls命令“-F 参数”与“-p”参数演示:

5、文件创建时间、访问时间、修改时间:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#文件的创建时间
[root@aiezu mm]# ls -lc aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:43 aiezu.com.conf
[root@aiezu mm]# ls --full-time --time=ctime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:43:23.572000000 +0800 aiezu.com.conf
#文件的修改时间:
[root@aiezu mm]# ls -l aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:41 aiezu.com.conf
[root@aiezu mm]# ls --full-time aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:41:55.575000000 +0800 aiezu.com.conf
#文件的访问时间:
[root@aiezu mm]# ls -lu aiezu.com.conf
-rw-r--r--. 1 root root 2 11月 22 22:42 aiezu.com.conf
[root@aiezu mm]# ls --full-time --time=atime aiezu.com.conf
-rw-r--r--. 1 root root 2 2016-11-22 22:42:15.060000000 +0800 aiezu.com.conf
(0)

相关推荐

  • linux 系统 chown设置文件权限

    一.相关命令sudo groupadd dnsmasqsudo chown enadmin:enadmin test.txt二.过程~/test$ ls -l-rw-r--r-- 1 root roo ...

  • Linux学习笔记(一)——Shell

    Shell概述 1. Shell是什么 l Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一些程 ...

  • ls命令详解

    一.目录结构 使用ls命令我们首先要了解Linux下的目录结构 Linux系统是由各种文件和目录构成的,就像Windows系统下文件和文件夹的关系,一级一级的向下包含扩展,例如在根目录下有bin,bo ...

  • Linux下source命令详解

    source命令用法# source FileName source命令作用# 在当前bash环境下读取并执行FileName中的命令. *注:该命令通常用命令"."来替代. 使用 ...

  • linux中iptables配置文件及命令详解详解

    https://www.cnblogs.com/itxiongwei/p/5871075.html iptables配置文件 直接改iptables配置就可以了:vim /etc/sysconfig/ ...

  • linux命令总结dd命令详解

    一:dd命令 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: if=文件 ...

  • Linux下的scp拷贝命令详解

    相同Linux系统中对文件复制拷贝可以用CP命令: cp [options] source dest cp [options] source- directory 说明:将一个档案拷贝至另一档案,或将 ...

  • linux find命令格式及find命令详解

    linux find命令格式及find命令详解

  • linux vi 命令详解

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...

  • Linux awk 命令详解

    awk是行处理器:相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或处理缓慢的问题,常用来格式化文本信息. awk处理过程:依次对每一行进行处理,然后输出.①读取被匹配到的行数据:②按照输入分隔 ...

  • 【Linux 命令】scp 命令详解

    Linux 命令之 scp 命令详解 一.scp 简介 scp 命令用于不同主机之间复制文件和目录. scp 是 secure copy 的缩写,是 基于 ssh 协议进行安全的远程文件拷贝命令. s ...