Linux命令之ls

本文发布时间: 2019-Mar-22
掐指一算,本屌丝进入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以上就是我这次复习的结果,挑选了一些自己不太熟或好玩的选项。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:09pm
栏目列表