[命令技巧]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' |
完