序言:只有光头能够变强
这个学期开了Linux的课程了,讲课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~
本文章主要是总结Linux的基础操作以及一些简单的概念~若果不熟悉的朋友可下个Linux来玩儿(或则去买一个服务器玩儿【学生版的不是很贵】),对于开发者来说,能使用Linux做一些基本的操作是必要的!
这么接出来就开始吧,其实了我的Linux仅仅是入门水平,假如有错的地方还需请你们多多包涵,并不吝在评论区强调错误~
一、为什么我们要学习Linux
相信大部份人的PC端都是用Windows系统的,那我们为何要学习Linux这个操作系统呢???Windows图形化界面做得那么好,日常基本使用的话,学习成本几乎为零。
而Linux不一样,可能刚接触Linux的人会觉得:Linux好麻烦哦,不好玩,都是字符界面。不直观、这个破系统是拿来干嘛的~~
日常用的话Windows是比较顺手的,并且我们要晓得的是:我们开发下来的程序通常都是置于Linux下运行的。
那可能还会有人提出疑惑了:Windows同样是操作系统,为什么要置于Linux下,而不置于Windows下呢??相信Windows也是可以运行我们写下来的程序的。
我总结了Linux的几个优点:
免费好多软件原生是在Linux下运行的,庞大的社区支持,生态环境好。开源,可被订制,开放,多用户的网路操作系统。相对安全稳定
参考资料:
所以开发者选择了Linux来跑我们自己写下来的程序。
二、Linux的基础知识Linux系统的组成:linux内核(linus团队管理)shell:用户与内核交互的插口文件系统:ext3、ext4等。windows有fat32、ntfs第三方应用软件2.1Shell的基本知识
不仅Shell、其他的都应当很好懂的,这么Shell是哪些东西呢???
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种插口(命令类库)
Shell可以执行:
使用type命令可以分辨内部命令和外部命令
于是乎,我们借助Shell就可以干下边这种事了:
Shell的主要版本有以下那么多:
使用ps命令观察正在执行的shell
2.2Linux基本目录结构
在Windows下,会有基本的目录结构的:
Linux下也不例外了,也是有基本的目录结构的:
这儿写图片描述
Linux文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录
2.3命令基本格式
cmd[options][arguments],options称为选项,arguments称为参数
选项和参数都作为Shell命令执行时的输入,它们之间用空格分隔开。
通常来说,前面跟的选项若果单字符选项前使用一个负号-。词组选项前使用两个加号--
在Linux中,可执行的文件也进行了分类:
2.4键值
学过一些正则表达式的或则有点基础的朋友对键值应当就不陌生的了,在Linux也有键值(在搜索的时侯挺有用的)
2.5文件的类型
在Linux下文件的类型有如此多:
字符设备文件c块设备文件b套接字s命名管线p
我们常见的就是普通文件,目录和符号链接。其他的了解一下即可~
符号链接参考资料:
2.5.1用房主目录
可能在网上查阅资料的时侯会出现用房主目录如此一个名词,那他是哪些呢???
后面早已说了,我们的Linux是多用户的网路系统!所以,我们可以在Linux下创建多个用户,每位用户就会有自己专属的空间。
用户对自己主目录的文件拥有所有权,可以在自己的主目录下进行相关操作。
更多Linux内核源码高阶知识请加开发交流Q群篇【318652197】获取,进群免费获取相关资料,免费观看公开课技术分享,入群不亏,快来加入我们吧~
前100名进群发放,额外附送一份价值699的内核资料包(含视频教程、电子书、实战项目及代码)
资源免费领
学习直通车
三、常用的命令
里面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会碰到一些比较重要的知识点的。那就待会儿再谈谈了~~~
3.1常用的文件、目录操作命令
这是我们使用得最多的命令了,Linux最基础的命令!
绝对路径:
相对路径:
tips:输入命令的时侯要常用tab键来补全
学了那些命令我们能干嘛?虽然就是在Windows下复制文件、粘贴文件、创建文件、查看文件这几种~~~
3.1.1常用的文件、目录操作练习题
巩固一下基础,来做做题目:
步入/tmp目录,构建一个文件,goldXX(XX为学号的末两位),查看文件的时间
在帐户的主目录中,构建一个dog目录,步入dog目录后,构建一个catXX(XX为学号的末两位)目录,步入catXX目录,显示当前目录;之后返回上一级目录,删掉catXX目录;
复制/etc/passwd文件到帐户主目录,更改帐户主目录下passwd为passwdXX(XX为学号的末两位)
查找文件名称作zcat的文件;复制该文件到/tmp目录;用长格式列举该文件;之后删掉/tmp目录下的所有文件linux基础教程视频,并检测文件是否已被删掉
复制/etc/hosts文件到帐户主目录下;在帐户主目录中构建一个硬链接文件(文件名为hostsYYY(YYY为中学生姓名拼音简写)),链接到主目录下的hosts文件;分别查看hosts和hostsYYY的文件的inode信息
复制/usr/bin/vdir文件到帐户主目录下;在帐户主目录中构建一个软链接文件(文件名为newdir),链接到主目录下的vdir文件;分别查看vdir和newdir的文件的inode信息
用长格式列举目录/usr/bin目录下的所有文件,输出重新定向到文件outXX(XX为中学生学号末两位),检测结果;用长格式列举目录/etc目录下的所有文件,输出结果补充到文件outXX末尾
用长格式列举/usr/bin目录下的所有文件,通过管线与more命令联接,实现对文件列表的浏览
>和>>有何区别?
答:>是覆盖形式重定向到新的文件;>>是以补充方法,添加到原文件的末尾。
通过管线和more命令,浏览文件列表便捷在那里?
答:对于文件列表超出一个屏幕显示的情况,这些方法可以分屏浏览,比较便捷。
3.2文件打包和压缩命令
在Windows操作系统下,我们会使用WinRAR或则好压等等的压缩软件来进行压缩或则解压。
在Linux下其实也存在压缩或解压的操作咯,下边我们就来学习一下在Linux下是如何压缩和解压的!
压缩的形式也是有好几种,我们常用的有下边这三种:
常用的压缩的命令就有:
常用的解压命令有:
3.3正则表达式+grep
里面我们早已学过了cat、more、less、tail这种查看文本文件的命令了,而且我想快速查看这个文本文件下的个别关键字是否存在,那如何办???
在Windows下就比较简单的,几乎所有的文本编辑器(记事本)都支持CTRL+F,往上面输入关键字就可查找下来:
那在Linux下,没有图形界面,没有CTRL+F的情况下,假若不懂一些命令的话,那还真是难找对应的字符下来。下边我就来谈谈怎样快速查找一个文本文件下的个别字符。
3.3.1正则表达式
首先我们就来谈谈正则表达式,假如接触过的朋友就晓得:这玩意儿并不好记。一旦不用就很容易就忘掉了,所以只能在用的时侯查查了~~~所以下边我就直接给出一些规则了,不多说啦。
3.3.2grep命令
grep(globalsearchregularexpression)是一个强悍的文本搜索工具。grep使用正则表达式搜索文本,并把匹配的行复印下来。
格式:grep[options]PATTERN[FILE...]
反例:
显示myfile中第一个字符为字母的所有行在文件myfile中查找首字符不是#的行(即过滤掉注释行)列举/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
用grep查找/etc/passwd文件中以a开头的行,要求显示行号;查找/etc/passwd文件中以login结束的行;
3.4几种提升工作效率的方式历史命令别称alias
这儿觉得要谈谈的就只有别称alias了,我们下边瞧瞧反例就懂了!
显示shell当前早已定义的别称;执行其中的两个定义别称的命令;定义一某些名grep,要求其采用彩色形式显示结果
3.5Shell变量和Shell环境
在Windows下有用户的环境变量,系统的环境变量。在Linux一样也是有的。
Shell变量大致可以分为三类:
环境变量:这种变量决定了用户工作的环境,它们不须要用户去定义,可以直接在shell中使用,其中个别变量用户可以更改。用户变量:由用户构建和更改,在shell脚本编撰中会时常用到。引用变量$varName
Shell变量的作用域:
export命令:
定义变量值的同时申明为全局变量。申明早已形参的某个(些)局部变量为全局变量。申明早已形参的某个(些)全局变量为局部变量。
Shell环境变量:
Shell变量:查询、显示和取消:
显示某(些)个变量的值取消变量的申明或形参
3.5.1Shell变量和Shell环境练习题
定义Shell变量stuXX(XX为中学生学号末两位),终值为中学生姓名简拼,用echo命令显示stuXX变量的值;用unset命令取消stuXX变量,检测结果;用env命令观察当前有什么早已定义好的shell环境变量
Shell环境变量的值是否可以更改?为何?
答:环境变量的值通常情况下,可以更改。但一定要谨慎更改,由于一旦更改错误,对shell正常运行导致严重影响,甚至造成shell难以运行。
四、VI编辑器
相信没有用过Linux的朋友在看一些段子的时侯就会看见过两个编辑器:
下边我们学习怎么简单使用vi。vi是“Visualinterface”的简称linux基础教程视频,它可以执行输出、删除、查找、替换、块操作等诸多文本操作,并且用户可以依照自己的须要对其进行订制,这是其他编辑程序所没有的。
使用Vi来编辑文件
Vi有三种模式:
4.1普通模式4.2插入模式
在Normal模式下输入插入命令i、a、o步入insert模式。用户输入的任何字符都被vim当作文件内容保存上去,并将其显示在屏幕上。
4.3命令行模式
Normal模式下,用户按引号:即可步入Command模式,此时vim会在显示窗口的最后一行(屏幕的最后一行)显示一个“:”作为Command模式的提示符,等待输入命令。
设置Vi环境:
4.4Vi练习题
在用房主目录下,执行vi程序,编辑文件install.log;联通光标到第10行,第五个字符;按小写字母Glinux命令vi,达到文件末尾;不读档退出;
在用房主目录下,执行vi程序,编辑文件install.log;用/命令查找字符串sudo,复制包含字符串sudo的行
在用房主目录下,执行vi程序,编辑文件install.log;步入命令模式,设置显示行号;用?命令查找字符串opensshlinux设置默认网关,用命令n查找下一个
五、总结
本文主要讲解了Linux的最基础的知识,可以简单地操作Linux了。命令可以说是学不完的,只能是记住Linux是有这个功能,待会儿去网上查查也很便捷。
主要是多练、多玩就可以记住一些常用的Linux命令了~~~~
下边我就花点时间画个Linux命令的脑图(其实了,命令仅限于是本文章的知识点,等讲到用户、网络等知识点的时侯再继续补充起来!)