ls
维基百科,自由的百科全书
ls是一个由POSIX和单一Unix标准规范的命令,在Unix和类Unix系统中都有实现。ls是英文list segment的缩写,用于列出文件,是Unix系统中使用非常频繁的命令。
目录 |
[编辑] 历史
ls首次出现于原始版本的AT&T Unix中。它的名字来源于Multics操作系统的一个类似命令,意思是“列出文件块”(list segement)。目前有两种主流版本的ls:一种是自由软件基金会开发的GNU核心程序的组成部分;另一种由各种BSD版本发布,如FreeBSD、OpenBSD、NetBSD和苹果公司的Darwin。两种版本都是自由以及开源软件。
[编辑] 使用方法
在Unix和类Unix操作系统中都有当前目录的概念,也即程序目前在目录树中的位置。
当不加参数运行时,ls列出当前目录下的所有文件和目录名。如果以目录名作为参数,则会列出该目录下的文件。用户也可以指定多个文件和目录作为参数,ls则会列出所有指定的文件和目录中的文件名。
以 "." (圆点)开头的目录在一般情况下不会被列出。用户可以加 -a 选项查看所有文件。
不加参数时,ls仅仅列出文件和目录的名称,不加任何修饰。这通常让人很难区分文件的类型、大小、权限等属性。显示文件常用信息的一些参数如下:
- -l (long)长格式,显示文件类型、权限、硬链接的数目、文件拥有者、文件所在的组、大小、日期和文件名。
- -F 在不同类型的文件的文件名开头追加一个字符以示区别。可执行文件前加"*",目录前面加"/",普通文件没有前缀。
- -a (all)显示所有文件,包括以 . 开头的文件名(默认不显示)。
- -R (recursive)迭代显示目录下所有的子目录。ls -R / 会显示文件系统中的所有文件。
- -d (directory)显示目录本身的信息,而不是列出目录下的文件。
在某些环境下,使用参数"--color"(GNU版)或者"-G"(FreeBSD版)后,ls会根据文件类型输出不同色彩的格式。GNU版的ls根据文件的类型、扩展名和使用权限来决定颜色,而FreeBSD版的ls仅仅检查文件类型和使用权限。
使用上述彩色选项时,输出示例如下:
brw-r--r-- 1 unixguy staff 64, 64 Jan 27 05:52 block
crw-r--r-- 1 unixguy staff 64, 255 Jan 26 13:57 character
-rw-r--r-- 1 unixguy staff 290 Jan 26 14:08 compressed.gz
-rw-r--r-- 1 unixguy staff 331836 Jan 26 14:06 data.ppm
drwxrwx--x 2 unixguy staff 48 Jan 26 11:28 directory
-rwxrwx--x 1 unixguy staff 29 Jan 26 14:03 executable
prw-r--r-- 1 unixguy staff 0 Jan 26 11:50 fifo
lrwxrwxrwx 1 unixguy staff 3 Jan 26 11:44 link -> dir
-rw-rw---- 1 unixguy staff 217 Jan 26 14:08 regularfile
ls有大量的选项,具体的用法请参考ls的手册页。
[编辑] 示例
下面的例子演示了不同参数下ls的使用。
$ pwd /home/unixguy $ ls -l drwxr--r-- 1 unixguy editors 4096 drafts -rw-r--r-- 1 unixguy editors 30405 edition-32 -r-xr-xr-x 1 unixguy users 8460 edit $ ls -F drafts/ edition-32 edit*
本例中,用户unixguy有一个名叫drafts的目录,一个叫做edition-32的常规文件和一个叫做edit的可执行文件。
[编辑] 参看
- chown:改变文件的拥有者。
- chgrp:改变文件的组
- du:查看文件的大小。
- 用户标识符
- 组标识符
- dir:DOS下列出文件的命令。
[编辑] 外部链接
- LinuxQustion.org wiki上的ls
- ls.c 第七版Unix中ls的源代码
- ls.c AT&T第五版Unix中ls的源代码
- newbie ls 简明版ls的源代码
- GNU核心程序版的ls源代码
- 单一Unix标准规定的ls标准
- Computer Hope: Linux / UNIX, Information about the Linux / UNIX ls command.
- linux-command.com wiki上的ls命令介绍
[编辑] 文档
Unix命令行程序 | |||
文件和文件系统管理: | cat | chattr | cd | chmod | chown | chgrp | cksum | cmp | cp | du | df | file | fsck | ln | ls | lsof | mkdir | mount | mv | pwd | rm | rmdir | split | touch | ||
zh:进程;zh-hant:行程管理: | at | chroot | crontab | exit | kill | killall | nice | pgrep | pidof | pkill | ps | sleep | time | top | wait | watch | bg | fg | ||
用户管理/环境: | env | finger | id | mesg | passwd | su | sudo | uname | uptime | w | wall | who | whoami | write | ||
文本处理: | awk | comm | cut | ed | ex | fmt | head | iconv | join | less | more | paste | sed | sort | tac | tail | tr | uniq | wc | xargs | ||
Shell编程: | basename | echo | expr | false | printf | test | true | unset | 打印: | lp |
网络通信: inetd | netstat | ping rlogin | traceroute |
搜索: find | grep | strings |
其他: banner | bc | cal | dd | man | size | yes |