发布时间: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
以上就是我这次复习的结果,挑选了一些自己不太熟或好玩的选项。
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能