上篇我们了解了Linux的历史,明白了它的重要性,这节我们来学习Linux的一些基本指令,进入无图形化界面的世界吧。
操作系统是对软、硬件资源进行管理的软件,操作系统之所以对软硬件资源进行管理,为的就是为上层提供稳定运行的服务,因为计算机是人们创造的一款工具。
操作系统相当于学校里的领导班,辅导员相当于设备驱动器,学生就是硬件。有一天,学校想举办运动会,领导班子先下达任务给各系辅导员,辅导员动员带领的班级,一起努力工作,办好运动会(上层应用)。
指令操作与图形化操作是没有本质区别的,操作系统执行的任务都是一样的,图形化界面更普遍的原因是:指令操作对于小白用户是不友好的,但是,对于学习编程的我们来说,指令操作才是主流。
那么我们先来快速学习一些指令吧。
以上两个指令,whoami是当前登录机器的用户,who是机器上登录有的用户以及登录的时间。
pwd是当前工作目录的意思,裸的ls显示当前工作目录下存有的文件名信息,ls -l:选项-l是list的意思,这个指令是显示当前工作目录下文件的详细属性信息。
此时,敲了这么一下指令,加上计算机对我们的回应,此时黑屏上信息太多,可以使用clear指令清屏,回归清新~
-l选项:显示当前工作目录下的文件信息。ls -l 等同于ll,这是因为ls -l实在太常用了,所以就规定可以这样使用。l是list的意思。
-a选项:显示所有文件,包括隐藏文件。在Linux系统中隐藏文件通常以.开头,如果单纯使用ls(只显示文件名)或ls -l(有显示创建时期、文件大小等)但是是看不到隐藏文件的。
在Windows中,如果你也想要把文件隐藏起来,也可以在文件名前添加.,将其隐藏起来。
关于几种等效的写法:ls -a -l 和 ls -l -a 和 ls -al 和 ls -la这四种都是一样的。习惯上我们经常使用ll,并且想显示隐藏文件,加-a选项就ok。
pwd:process work directory 进程 工作 目录,用来显示当前的工作目录。pwd没有选项,比较简单。
cd:change directory 更改工作目录。用来切换路径,进入其它目录。这里我们需要认识一下Linux下的目录结构,才能有更清晰的认识,更熟练的使用。
这里的两个隐藏文件,分别是.和. .,它们分别代表什么意思呢,我们再看下面的操作结果。
cd .意味着进入.这个目录下,但是用pwd看到当前工作目录还是110,这说明.表示的是当前路径。
而cd …后,目录回退了,说明…代表上一级路径。
那么什么是路径呢?在Windows中,下图就是一个路径:
在Windons中,路径的分隔符是\,在Linux中,路径的分割符是/。
而在Linux中,分隔符分隔的东西是一个个目录,最终由目录和分隔符组成的字符串就叫做路径。
经过多次回退,已经到了/后再回退,最终也是/,这个/就是Linux中的根目录。在Windows中,文件夹中可以放有文件夹和文件,对应到Linux就是一个目录下可以放目录,也可以放文件。
所以,它们的结构就像一颗树一样展开:
并且,从图中不难看出,叶子结点一定是一个文件,或者是一个空目录;如果是分支结点,一定是一个目录;
当我们想要访问test.c文件时,在树中结点的的查找对应的路径,是唯一的,也代表了它在树中的搜索路径,这就是路径的本质。
另外两个相关指令:cd ~和cd -
cd -跳转到最近一次所处的目录。比如:这次我在/root/110/code路径,cd /进入根目录,接着使用cd -就可以直接回到/root/110/code,再次使用就可以回到/。
cd ~回到家目录
在Linux中有两类用户,一类是root(超级用户),一类是普通用户;在centOS中,root用户的家目录是/root;普通用户XXX的家目录是/home/XXX;
什么是家目录?家目录就是每个用户的自己的一个文件夹,在创建用户的时候,系统自动会生成该用户的一个家目录,家目录下的桌面文件夹和下载文件夹各有用处。
桌面文件夹就是,如果这个文件夹里有文件或文件夹,操作系统会将这些东西图形化到桌面上,这就是所谓的桌面。
下载文件夹就是该账户下载的默认地点。
touch是用来创建普通文件的指令,也可以一次性创建多个文件。比如:touch test1 test2 test3 这样一次性创建三个普通文件。
补充:stat是用来查看文件更详细的属性信息的,这里面有Linux系统中的三个时间,取其首字母称呼为ACM,在后面我们讲解这三个时间的含义。
mkdir指令是用来创建目录的。当然如果想要创建路径似的一串目录,比如在dir1目录里创建dir2,在dir2里创建dir3,可以使用mkdir -p dir1/dir2/dir3。
rmdir指令是用来删除空目录的指令,对于非空目录,删除不了。
对于非空目录,我们使用rm指令删除。我们知道树是递归创建的,所以在删除的时候也要深度递归到叶子结点,在回溯的时候一层一层删除,所以rm需要带上-r(递归的意思)选项,即可删除。
但是我们知道,删除文件这个东西是比较危险的操作,所以对于root(超级用户)的删除行为会更加谨慎,递归进入目录需要确定,没删除一个需要确认,此时你不耐烦了,直接掏出rm -rf(强迫)一次性删除。另外rm也是可以直接删除文件的。
总结:rm对于目录这种递归建立的,需要-r选项,如果你不想系统提示你确认删除,加上-f选项。