linux常用的命令之一:ls

ls == list,根据不同的选项,列举指定目录或文件的相关信息,是Linux下最常用的命令之一,cd到某一目录下后执行的第一个命令。

ls命令格式:ls [OPTION]...[FILE]...

列举文件信息(默认为当前目录)。

1.ls

无参数:显示当前目录下的文件和目录(隐藏文件除外)。

Folder: 显示Folder目录中的文件和子目录。

File:显示File文件信息(默认为文件名)。

1 [root@localhostusr]# ls

bin  etc games  include  lib libexec  local  sbin share  src  tmp
2 [[root@localhost usr]# ls /usr/local/

bin  etc games  include  lib libexec  man  mysql sbin  share  src

2.ls -a

-a选项同ls,但会列举当前目录或者指定目录下的所有文件,包括dot文件(.开头的文件)和.目录和..目录。

1 [root@localhost/]# ls -a /usr

.  .. bin  etc  games include  lib  libexec local  sbin  share src  tmp

3.ls -A

-A选项同ls,但会列举当前目录或者指定目录下的所有文件,包括dot文件(.开头的文件),但不包括.目录和..目录。

1 [root@localhost/]# ls -A /usr

bin  etc games  include  lib libexec  local  sbin share  src  tmp

4.ls -l

-l选项的ls命令将列举当前目录或指定目录中文件或者子目录的详析信息。

1 [root@localhost/]# ls -l

total 134

-rw-r--r--.   1 root root      3 Sep 27 02:11 aba.txt

drwxr-xr-x    3 root root   4096 Oct 19 13:20 app

drwxr-xr-x    5 root root   4096 Oct 19 12:13 application

dr-xr-xr-x.   2 root root   4096 Nov 17 09:37 bin

dr-xr-xr-x.   5 root root   1024 Sep 23 16:15 boot

drwxr-xr-x.   4 mysql mysql  4096 Dec 27 06:28 data

drwxr-xr-x   16 root root   3560 Mar  8 13:18 dev

drwxr-xr-x.  94 root root   4096 Mar  8 14:32 etc

ls -l列举的信息包含7个以Tab的域:

·        第一个域:第一个字符指明了文件类型

·        -: 普通文件;

·        d: 目录文件;

·        l: 符号链接;

·        s: socket文件;

·        b: 块设备;

·        c: 字符设备;

·        p: 管道文件。

后面的9个字符指明了文件的访问权限:每三位指明一类用户的权限,分别是文件属主、同组用户、其它用户,权限分为读(r)、写(w)、执行(x)。

·        第二个域:链接数。普通文件至少为1,目录至少为2...);

·        第三域:文件属主;

·        第四域:用户组;

·        第五域:文件大小,其中目录大小通常为块大小的整数倍;

·        第六域:文件的最近修改日期和时间,修改文件意味着对其内文件或子目录  

·                的增添和修改;

·        第七域:文件名

5.ls -t

按文件的修改时间列举文件,最近修改的在前。

1 [root@localhost/]# ls /usr

bin  etc games  include  lib libexec  local  sbin share  src  tmp

2 [root@localhost/]# ls -t /usr

bin  lib libexec  sbin  include src  local  share tmp  etc  games

6.ls -r

以相反顺序列举文件。

1 [root@localhost/]# ls /usr

bin  etc games  include  lib libexec  local  sbin share  src  tmp

2 [root@localhost/]# ls -r /usr 

tmp  src share  sbin  local libexec  lib  include games  etc  bin

7.ls -1

单独行列举文件。

1 [root@localhost/]# ls -1

aba.txt

app

application

bin

boot

data

dev

8.ls -F

可视化显示文件类型。

1 [root@localhost/]# ls -F

aba.txt       bin/  dev/   lib/         mnt/      opt/  sbin/     srv/  usr/

app/          boot/ etc/   lost+found/  oldboy/  proc/  selinux/  sys/ var/

application/  data/ home/  media/       oldgirl/ root/  server/   tmp/

·        / 目录

·        nothing 普通文件.

·        @ :符号链接文件

·        * :可执行文件

 

举例: 其中,“*”号代表任意个字符(包括0个),“?”号代表一个字符。

9.ls /etc/a*e

列出/etc/目录下以字母a开头且以字母e结尾的目录和文件。

1 [root@localhost/]# ls /etc/a*e 

/etc/adjtime

10.      ls /bin/l?

列出/bin/目录下以字母b开头的目录和文件,且目录名或文件名的长度为2.

1 [root@localhost/]# ls /bin/l?

/bin/ln  /bin/ls

11.      ls |more

当要显示的文件数太多(如/usr/bin/下的文件),这是一页屏不能显示,如果直接运行“ls /usr/bin”,则不能看见最前面的文件。这时用到通道“|more”,来显示多页屏输出(按空格显示下一页,回车显示下一行)。

 1 [root@localhost /]# ls /usr/bin |more

GET

HEAD

Mail

POST

[

a2p

ab

abrt-action-analyze-backtrace

abrt-action-analyze-c

abrt-action-analyze-core

abrt-action-analyze-oops

abrt-action-analyze-python

abrt-action-generate-backtrace

abrt-action-generate-core-backtrace

abrt-action-install-debuginfo

abrt-action-list-dsos

abrt-action-save-package-data

abrt-action-trim-files

abrt-cli

abrt-dedup-client

abrt-dump-oops

abrt-handle-upload