[命令技巧]ls

原文地址:http://www.dutor.net/index.php/2010/06/cmd-ls/

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

ls

  不带参数的ls列举当前目录下有哪些文件和目录,ls Folder列举Folder目录中的文件和子目录,ls File显示File文件的信息(默认为文件名)。

1
2
3
4
5
6
7
8
9
dutor@dutor-desktop:~$ cd Wdir/
/home/dutor/Wdir
dutor@dutor-desktop:~/Wdir$ ls
APUE  ASM  Cpp  LaTeX  PHP  Python  QT  Shell
dutor@dutor-desktop:~/Wdir$ ls Cpp/
ACM     main    main.cpp  Makefile    Pthread  symtab         tags    test.s
Curses  main.c  main.s    Playaround  STL      SystemProgram  test.c  TutManual
dutor@dutor-desktop:~/Wdir$ ls Cpp/Makefile
Cpp/Makefile

ls -a

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

1
2
dutor@dutor-desktop:~/Wdir$ ls -a
.  ..  APUE  ASM  Cpp  .I2C.c.swp  LaTeX  PHP  Python  QT  Shell

ls -A

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

1
2
dutor@dutor-desktop:~/Wdir$ ls -A
APUE  ASM  Cpp  .I2C.c.swp  LaTeX  PHP  Python  QT  Shell

ls -l

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

1
2
3
4
5
6
7
8
9
10
dutor@dutor-desktop:~/Wdir/Cpp/STL$ ls -l
total 32
drwxr-xr-x 2 dutor dutor 4096 2010-04-19 19:25 bind2nd
-rw-r--r-- 1 dutor dutor 1296 2010-03-27 18:39 Heap.cpp
-rw-r--r-- 1 dutor dutor  980 2010-03-27 18:03 Kth-Max.cpp
-rw-r--r-- 1 dutor dutor 1168 2010-04-29 20:24 main.cpp
-rw-r--r-- 1 dutor dutor  709 2010-04-20 17:58 operator.cpp
-rw-r--r-- 1 dutor dutor  654 2010-03-27 17:40 priority_queue.cpp
-rw-r--r-- 1 dutor dutor  461 2010-04-10 22:41 sort_list.cpp
-rw-r--r-- 1 dutor dutor  655 2010-04-29 21:18 test.cpp

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

  • 第一个域:第一个字符指明了文件类型
    • -: 普通文件;
    • d: 目录文件;
    • l: 符号链接;
    • s: socket文件;
    • b: 块设备;
    • c: 字符设备;
    • p: 管道文件。

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

  • 第二个域:链接数。普通文件至少为1,目录至少为2(.和..);
  • 第三域:文件属主;
  • 第四域:用户组;
  • 第五域:文件大小,其中目录大小通常为块大小的整数倍;
  • 第六域:文件的最近修改日期和时间,修改文件意味着对其内文件或子目录的增添和修改;
  • 第七域:文件名

ls -t

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

1
2
3
4
dutor@dutor-desktop:~/Wdir$ ls
APUE  ASM  Cpp  LaTeX  PHP  Python  QT  Shell
dutor@dutor-desktop:~/Wdir$ ls -t
Cpp  QT  Shell  PHP  ASM  LaTeX  APUE  Python

ls -r

  以相反顺序列举文件。

1
2
3
4
5
6
dutor@dutor-desktop:~/Wdir$ ls
APUE  ASM  Cpp  LaTeX  PHP  Python  QT  Shell
dutor@dutor-desktop:~/Wdir$ ls -t
Cpp  QT  Shell  PHP  ASM  LaTeX  APUE  Python
dutor@dutor-desktop:~/Wdir$ ls -tr
Python  APUE  LaTeX  ASM  PHP  Shell  QT  Cpp

ls -1

  单独行列举文件。

ls -F

  可视化显示文件类型。

1
2
$ ls -F
Desktop/  Documents/  Ubuntu-App@  firstfile  Music/  Public/  Templates/
  • / : 目录
  • nothing : 普通文件.
  • @ :符号链接文件
  • * :可执行文件

ls -latr

  即是说,各个选项可以结合使用,除了互相排斥的选项,例如-a和-A。

使用alias

使用alias会更加方便,我定义的alias有:

1
2
3
alias ll='ls -lh'
alias la='ls -A'
alias l='ls -CF'

posted @ 2011-08-05 18:20  wangkangluo1  阅读(1627)  评论(0编辑  收藏  举报