知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Linux命令之ls

发布时间:2015-05-27 19:10:05作者:知识屋

掐指一算,本丝进入Linux界已然两年了,虽然如今在shell上敲命令敲得风生水起,然而蓦然回首,才发现其实自己对各种命令只是一知半解。

在使用Linux的入门阶段,敲命令只求迅速解决问题,享受成就感,这是我坚持下来的动力,我很享受这种“直接”和系统底层对话并解决问题的过程;然而,人不能一直停留在那个水平,Linux命令行博大精深,我要将这种享受升级,就不可避免的回炉重造——将以前常用的命令重新认识一边,系统的在脑海中整理一遍,唯有如此才能更有效、精准的用这个强大的工具解决各种问题。

今天,我就从最基本的ls命令开始。
ls是list的简称,顾名思义其作用就是列出或显示。ls后面的参数一般目录,ls将列出这些目录下都有哪些文件(包括目录)。该命令的基本格式为:
ls 选项 文件列表
其中选项可以省略;文件列表中的各个文件以空格分开。文件既可以是目录,也可以是普通的文本文件,但是对于普通文本文件只是简单的将其在命令行显示一下,没什么实际意义。如果ls后面什么也没有,默认将当前目录作为参数,即列出当前目录下的文件。
* ls输出结果时,是以列的方式按字典顺序排序的,这个其实可以自己观察一下 *

那么下面进入关键话题:ls的选项。

-a :列出隐藏文件,包括隐藏目录
很多目录中含有隐藏文件,就是以点号“.”开头的那些文件。如果不加-a选项默认是不会输出这些文件的。在图形界面中也是一样,可以打开自己的家目录,你所能看到的绝不会是家目录下的全部,在ubuntu系统中,你可以按下“Ctrl + H”,马上就会出现另外一大堆文件。

-F:在目录文件后面加上正斜线“/”
这个参数用来区分目录文件和普通文件。其实默认情况下,ls的输出结果中,目录文件和普通文件会用不同的颜色显示;不过有些终端不支持颜色,导致所有文件使用同一种颜色,这时可以采用-F参数来加以区分。

-R:递归地列出参数子目录中的文件。也就是说,子目录、孙目录以及所有的后代目录中的文件都将被列出。

-l:这个参数对普通文本文件也是有用的,它将以行的形式列出出各个文件的各位详细的信息,每个文件一行,每行的信息从左到右依次为:文件类型、文件权限、文件硬链接总数、文件所属的用户及组、文件大小(以字节Byte为单位)、文件上次修改时间、文件名。如下:

m@sys:~/program/C_codes$ ll总用量 40drwxrwxr-x 5 m m 4096  5月 12 19:47 ./drwxr-xr-x 9 m m 4096  5月  6 22:59 ../drwxrwxr-x 2 m m 4096  5月 12 20:12 algorithms/-rwxrwxr-x 1 m m 7314  5月 10 18:26 a.out*drwxrwxr-x 8 m m 4096  5月 12 20:12 .git/-rw-rw-r-- 1 m m   24  5月  4 00:15 .gitignore-rw-rw-r-- 1 m m 1399  4月 27 16:16 stone_scissors_cloth.c-rw-rw-r-- 1 m m  322  5月 12 19:47 test.cdrwxrwxr-x 3 m m 4096  4月 24 11:24 tools/

上面的总用量到底是啥我还没搞清楚,以后补充。

-c:按文件的最后一次修改时间排序,最近的在最前 -d:将所有文件按照普通文件处理。有时候我们只想知道某个目录本身的信息,而不想列出其包含哪些文件,如下:
m@sys:~/program/C_codes/algorithms$ ls -ld /etc/drwxr-xr-x 153 root root 12288  5月 12 20:16 /etc/

-r:反序排列

-S:按照文件的实际大小排序:

m@sys:~/program/C_codes/algorithms$ ls -Sl总用量 40-rwxrwxr-x 1 m m 7399  5月 12 20:11 a.out-rw-rw-r-- 1 m m 1298  5月  6 17:10 heapsort.c-rw-rw-r-- 1 m m 1139  5月  4 12:25 merge_sort.c-rw-rw-r-- 1 m m  915  5月  9 13:43 quicksort.c-rw-rw-r-- 1 m m  909  5月 12 20:12 stack.c-rw-rw-r-- 1 m m  782  5月  4 14:50 search_array_sum.c-rw-rw-r-- 1 m m  687  5月  2 21:28 binary_search.c-rw-rw-r-- 1 m m  566  5月  4 00:10 insert_sort.c-rw-rw-r-- 1 m m   97  4月  7 16:22 README.md
-s:显示为每个文件分配的磁盘的块(block)的数量,正好解释了上面-l参数总用量的疑惑:
m@sys:~/program/C_codes/algorithms$ ls -sl总用量 408 -rwxrwxr-x 1 m m 7399  5月 12 20:11 a.out4 -rw-rw-r-- 1 m m  687  5月  2 21:28 binary_search.c4 -rw-rw-r-- 1 m m 1298  5月  6 17:10 heapsort.c4 -rw-rw-r-- 1 m m  566  5月  4 00:10 insert_sort.c4 -rw-rw-r-- 1 m m 1139  5月  4 12:25 merge_sort.c4 -rw-rw-r-- 1 m m  915  5月  9 13:43 quicksort.c4 -rw-rw-r-- 1 m m   97  4月  7 16:22 README.md4 -rw-rw-r-- 1 m m  782  5月  4 14:50 search_array_sum.c4 -rw-rw-r-- 1 m m  909  5月 12 20:12 stack.c
-1:不让所有文件挤在一行,每行只显示一个文件。注意是数字“1” -u:按最后访问时间排序;配合-l及-t参见man ls

以上就是我这次复习的结果,挑选了一些自己不太熟或好玩的选项。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜