Linux基础:在本篇教程中我会陆续开始简单介绍Linux操作系统,我们学习C/C++语言,作为一个后端开发工程师,将来与Linux打交道是必不可少的,我们所写的代码也都会要求在Linux系统下可以运行,因此在简单学习过C语言过后,我们不得不尽快开始熟悉Linux操作系统,最终目的是为了适应Linux下编程,尤其是Linux下的网络编程,这是不得不尽快开始的一步。
什么是Linux:
Linux是一个操作系统的内核,及一个操作系统最为核心的部分,如常见的Android操作系统用的则就是Linux内核,而Linux的发新版则是以Linux为操作系统内核的一系列操作系统的合集。Linux之所以出名有很多原因,可以说现在只要牵扯服务端开发则Linux就是我们必不可少需要接触的东西。他继承了Unix的很多思想,可以说是Unix的子孙后代之一,在Unix这个强大的内核下派生出了很多后辈,他们被统称为Unix-like操作系统,与Windows操作系统不同的是这类系统崇尚去创造小而精的工具然后互相配合去完成一项复杂的任务,而Linux则是其派系中最为成功的系统之一。
Linux怎么学习:
如果说学习C语言需要一倍的时间,学习数据结构及算法需要两倍的时间,学习Linux则需要付出三倍甚至更多的时间,Linux不光需要我们平时不断的熟悉使用不断的练习,还需要我们多多了解Linux相关理论,两者结合才能掌握Linux,因此我也推荐大家多多参阅Linux相关书籍,多多了解Linux底层原理,对我们的学习都有很大帮助。我同时将Linux学习分为大致三个部分。
1、基本操作(指令操作)
2、编程接口
3、网络编程
以上三个部分无论哪个部分都十分重要,因此我们都不可掉以轻心,要理论实践相互及结合才行。从下一节开始我会开始介绍一些最为基础的Linux指令,同时讲解如何将Linux与Xshell结合起来使用。所以大家要做好知识充足的准备!
_____________________________________________________________________________
在此章节着重介绍Linux的基本指令,并且穿插一些Linux的基本知识点进行讲解,同时学习Linux最重要的一点是不要去背,在使用中学习,用的多了自然就会了,并且一开始学习Linux大家可能会觉得各种不顺手,但是学习久了大家就会被Linux的魅力所吸引,欲罢不能!
终端简介:
基础介绍:
在Linux的使用中,我们最为经常使用的就是终端,我们之后可以说一切的指令都会在终端中进行输入,那么如何打开终端呢?鼠标右键点击Linux桌面,就会出现打开终端选项,点击后会出现一个如下图一般的类似于Windows控制台的窗口,这就是Linux的终端了。所谓终端类似于Windows下的控制台,大家可以理解为控制Linux的神经中枢,我们的操作之后都会在这个终端中进行,不过之后会讲解如何使用Xshell,大家就可以通过远程的方式链接到终端了。
Linux的目录:
大家可以注意到在终端中命令前都会加上这么一行字。
正如图中所示,这三个标签都有各自的含义,其中当前目录名尤为重要,因为我们在一个地方输入命令我们首先就得清楚我们当前在哪个目录下,不然可能会出现不必要的错误。而目录中最为特殊的目录有两个~
表示的是家目录,/
表示的是根目录。
我们可以把Linux想象成一栋大厦,这栋大厦中有很多很多的住户,只有一个神一般的存在我们称其为楼管。我们是其中一个住户我们在这栋大厦中有自己的家,我们可以在自己家中为所欲为,不收任何限制,那么其实家目录就好比这栋大厦中我们自己的家一样,完全受我们自己控制,我们之后的大部分操作也都是在家目录中进行的。而根目录就好比这栋大楼的根基一样,十分危险也有重重保障,我们在根目录中的权限受到限制,毕竟我们不能说把一栋楼拆了就把一栋楼拆了,这栋楼没了Linux也就凉凉了,上面所有的用户都得来找你算账。然而在Linux这种大厦中有一个神一般的楼管,他可以在整栋大厦中为所欲为,这个楼管就是root管理员。
但在实际中Linux的目录结构更像是一棵树,是数据结构中的二叉树类似,就是一棵跟实际中的树正好相反的树。
可以发现这样的目录结构与Windows十分相似,没错这样的目录结构方便管理,更符合大家对目录的思想。可以看出根目录在树的最顶端(在数据结构中应该叫做树根),是一切目录的根目录,因此可以看出根目录在Linux中举足轻重的地位,是整个系统的根本。
文件信息 :接下来我们可以尝试在终端中输入 “ll”(是字母的小写l)这个指令,这个指令的具体功能可以大概描述为查看当前目录下文件以及目录的信息,输入后大概会出现以下的信息。
在列表中列出的标蓝字体的为目录,也就是我们俗称的文件夹,未标蓝的则为文件。可以看出不论是目录还是文件夹的前都有一行信息,关于这行信息我们是接下来要详细说明的。
我用红线将这行信息分为8段,其中每一段都有自己不同的含义。
段1:文件属性这个之后详细解释;
段2:文件个数,如果是目录,目录里可能包含有多个文件;如果是文件那么就是1;
段3:文件拥有者(Owner),创建文件的用户,如果实在家目录下一般都是用户本身;
段4:表示拥有者所属的组(Group),如果没有添加新的组,则默认会将用户名作为组名;
段5:文件大小,单位是byte;
段6:几月份几号创建的;段7:创建时间;
段8:文件名。
在段1中,我们要重要介绍。段1的第一个字母表示的是文件所属类型,如果是目录则显示的是d
,如果是文件则显示的是-
,还有一些其他文件属性。之后的九个栏位,表示文件的权限。Linux的文件基本上分为三个权限:可读(r),可写(w),可执行(x)。剩下的格子就以每3格为一个单位表示不同用户的权限。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以drwxr-xr-x为例):
d(所属类型)-rwx(拥有者)r-x(拥有者所在的组)r-x(其他用户)
这个例子表示的信息是:这是一个目录,并且拥有者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
文件的使用权限身为root管理员是可以随时更改的,具体更改方法和关于文件权限的更多内容我们会在之后讲解。
基础指令:
1、ls
:显示当前目录下文件,效果类似于ll
,但没有其强大。
2、ll
:显示当前目录下文件,已经做过演示,十分常用。
3、ctrl+l或者clear
:清屏,十分常用。
4、cd 目录
:目录跳转。cd的使用十分灵活我们可以使用它进入Linux的各种目录之中。举几个例子。
进入根目录:cd /
;再回到家目录cd ~
;cd
也可以回到家目录;cd /home/zhc/
也可以回到家目录,其中zhc是我的用户名,大家改为自己的用户名即可,不难发现我们的家目录的真正目录就在/
目录中的home
目录中的用户名
目录中。
5、Ctrl+Insert
:复制,Shift+Insert
:粘贴。在Linux中复制粘贴的快捷键与Windows的略有不同,大家要注意。
6、touch 文件名
:在当前目录下创建一个新的文件,创建后可以用ll
查看。
7、echo 内容 > 文件名
:向文件中写入内容。
8、cat 文件名
:读取文件。
9、rm 文件名
:删除文件。
10、mkdir 目录名
:创建目录。
11、mkdir -p 目录1/目录2/目录3
:创建复杂目录。
tree
命令是一种递归目录列表显示命令,使用该命令可以以树状图的形式列出一个目录下所有文件内容。如果tree命令用不了,手动安装:
12、pwd
:显示当前目录的绝对路径。
从这里也可以看出家目录的确是在跟目录下的home
目录里的。
13、rm -r 目录名
:删除目录。
14、rm -rf 目录名
:强制删除目录。
其中-
后的指令被称为指令的选项,可以为这条命令添加很多额外效果,例如-i
表示执行前提问,-f
表示强制等等。
15、mv 原文件 目标文件
:改名。mv 原文件 目录
:移动文件。
16、man
:帮助手册。操作指令可在这里查看官方文档。要会使用。
退出按“q”!
17、cp 原文件 目标文件
:拷贝文件到此目录下并命名为目标文件。
到此为止Linux的基本常用指令就全部介绍完毕了,正如我一开始说的呢样,不要去背Linux指令,在使用中理解,用的多了自然就熟悉了,在下个章节我们会介绍如何使用Xshell远程控制终端,并且如何在终端上编写程序,还请大家准备下Xshell这款软件。
Linux基本操作命令内容到此介绍结束了,感谢您的阅读!!!
如果内容对你有帮助的话,记得给我点个赞——做个手有余香的人。感谢大家的支持!!!