如果说如何快速学习、了解Linux的话,我的答案是学命令、背命令!为何呢?对于一名新手来说,去学习Linux的思想、了解Linux的架构、明白Linux中“一切皆文件”概念虽然说是没有错,是对的。但是个人认为去学习这些“高大上”的东西不是一时半会的事儿,它需要一定的时间和经验去沉淀才能掌握。那么如何最快速了解Linux并使用呢?我依然觉得学命令、背命令,掌握命令是比较笨但却是比较快的方式。
我开始学习Linux的时候,问了前辈:我入门Linux需要掌握哪些命令呢?前辈说:你掌握60个不重复的命令就差不多入门了。好吧!我就按照这个去网上找了相关命令的资料。命令总共分为文件目录、硬件监控、软件网络、系统管理四个大类,当然并非标准的,我只是简单的归类一下以便形成结构,有助于记忆。本文只简单讲命令,具体参数可以看后面的学习方法。大家可以看看网上的《Linux就该这么学》介绍常用命令的第二章,虽然不多,但是能先背下也有很大用处。篇幅有限,本次就讲解目录类的命令,其他后面再写。
命令基本上大部分格式都是差不多,有些命令参数会有两个或者更多:命令 选项 参数
• 三个W:
Whereis:用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径。
Whatis:是用于查询一个命令执行什么功能,并将查询结果打印到终端上。
Which:用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。这三个命令很有用,再查找命令位置、环境变量配置或了解简要信息可以用。
•目录类:
cd:切换用户当前的工作目录,若目录名称省略,则变换至使用者的home directory,与加上~一样,也表示home directory的意思(家目录),.则是表示目前所在的目录,..则表示目前目录位置的上一层目录。
ls:用来显示目标列表,在Linux系统中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。
mv:用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。第一个参数表示源文件或目录,第二个表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖,可指定选项忽略。
cp:用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。
pwd:以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。
rm:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。(慎用)
mkdir:用来创建目录。如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目录;如果给出了一个已经存在的路径,将会在该目录下创建一个指定的目录。
rmdir:用来删除空目录。当目录不再被使用时,或者磁盘空间已到达使用限定值,就需要删除失去使用价值的目录。利用rmdir命令可以从一个目录中删除一个或多个空的子目录。
•文件类:
find:用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。
locate:其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。
man:后面直接跟命令,如man ls 回车,就会显示ls的相关信息 ,这个页面叫man page帮助手册。
以上的这些命令,基本上囊括了与目录相关的常用命令,下面我们来说说如何学习命令、背命令。一般一个命令会有很多选项,每个选项都有不一样的含义,对于初学者我认为需要掌握该命令常用的3-5个选项,另外很多选项在不同命令下面表示的意义是一样的。你先发现其规律,也就并不难了。
其实无论学习什么,持之以恒才能见成效,这几个命令或许你下来10分钟就掌握了,但是需要不断的练习,使用,在大脑形成永久记忆才是最好的效果