Linux 常用 ls命令详解
ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息。
一、ls命令用法:
ls命令运行在命令提示符终端,用法如下。其中【选项】和为可选参数,可以一零个或者多个选项;【文件】也为可选参数,可以为零个或者多个;如果未指定文件,默认为列出当前目录下的文件:
二、ls命令参数详解:
下面是爱E族(aiezu.com)收集整理的ls详细选项,如有错误的地方,欢迎指正:
三、用法演示:
1、“-a”和“-A”选项的区别:
2、“-b”和“--show-control-chars”选项演示:
下面通过创建两个含不可显示字符“\001”和“\n”的文件名,来展示“-b”和“--show-control-chars”选项的区别:
3、文件大小:
4、ls命令“-F 参数”与“-p”参数演示:
5、文件创建时间、访问时间、修改时间:
一、ls命令用法:
ls命令运行在命令提示符终端,用法如下。其中【选项】和为可选参数,可以一零个或者多个选项;【文件】也为可选参数,可以为零个或者多个;如果未指定文件,默认为列出当前目录下的文件:
用法: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”选项的区别:
[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”选项的区别:
[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、文件大小:
[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、文件创建时间、访问时间、修改时间:
#文件的创建时间 [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