本文章主要是总结Linux的基础操作以及一些简单的概念,对于开发者来说,能使用Linux做一些基本的操作是必要的。作者:Java3y;来源:segmentfault

一、为什么我们要学习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可以执行:

Linux基础操作_系统 linux_Linux基础知识

使用type命令可以分辨内部命令和外部命令

于是乎,我们借助Shell就可以干下边这种事了:

Shell的主要版本有以下那么多:

Linux基础操作_Linux基础知识_系统 linux

使用ps命令观察正在执行的shell

2.2Linux基本目录结构

Linux基础知识_Linux基础操作_系统 linux

在Windows下,会有基本的目录结构的:

Linux基础知识_Linux基础操作_系统 linux

Linux基础知识_Linux基础操作_系统 linux

Linux下也不例外了,也是有基本的目录结构的:

系统 linux_Linux基础知识_Linux基础操作

Linux文件系统是一个目录树的结构,文件系统结构从一个根目录开始,根目录下可以有任意多个文件和子目录,子目录中又可以有任意多个文件和子目录

bin储存二补码可执行文件(ls,cat,mkdir等)boot储存用于系统引导时使用的各类文件dev用于储存设备文件etc储存系统配置文件home储存所有用户文件的根目录lib储存跟文件系统中的程序运行所须要的共享库及内核模块mnt系统管理员安装临时文件系统的安装点opt额外安装的可选应用程序包所放置的位置proc虚拟文件系统,储存当前显存的映射root超级用户目录sbin储存二补码可执行文件,只有root能够访问tmp用于储存各类临时文件usr用于储存系统应用程序,比较重要的目录/usr/local本地管理员软件安装目录var用于储存运行时须要改变数据的文件2.3命令基本格式

cmd

arguments

,options称为选项,arguments称为参数

选项和参数都作为Shell命令执行时的输入,它们之间用空格分隔开。

通常来说,前面跟的选项若果单字符选项前使用一个负号-。词组选项前使用两个加号--

在Linux中,可执行的文件也进行了分类:

2.4键值

学过一些正则表达式的或则有点基础的朋友对键值应当就不陌生的了,在Linux也有键值(在搜索的时侯挺有用的)

2.5文件的类型

在Linux下文件的类型有如此多:

我们常见的就是普通文件,目录和符号链接。其他的了解一下即可~

符号链接参考资料:

2.5.1用房主目录

可能在网上查阅资料的时侯会出现用房主目录如此一个名词,那他是哪些呢???

后面早已说了,我们的Linux是多用户的网路系统!所以,我们可以在Linux下创建多个用户,每位用户就会有自己专属的空间。

用户对自己主目录的文件拥有所有权,可以在自己的主目录下进行相关操作。

三、常用的命令

系统 linux_Linux基础操作_Linux基础知识

里面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会碰到一些比较重要的知识点的。那就待会儿再谈谈了~~~

3.1常用的文件、目录操作命令

这是我们使用得最多的命令了,Linux最基础的命令!

绝对路径:

相对路径:

tips:输入命令的时侯要常用tab键来补全

学了那些命令我们能干嘛?虽然就是在Windows下复制文件、粘贴文件、创建文件、查看文件这几种~~~

3.1.1常用的文件、目录操作练习题

巩固一下基础,来做做题目:

步入/tmp目录,构建一个文件,goldXX(XX为学号的末两位)linux源代码分析,查看文件的时间

Linux基础知识_系统 linux_Linux基础操作

在帐户的主目录中,构建一个dog目录,步入dog目录后,构建一个catXX(XX为学号的末两位)目录,步入catXX目录,显示当前目录;之后返回上一级目录,删掉catXX目录;

系统 linux_Linux基础操作_Linux基础知识

复制/etc/passwd文件到帐户主目录,更改帐户主目录下passwd为passwdXX(XX为学号的末两位)

查找文件名称作zcat的文件;复制该文件到/tmp目录;用长格式列举该文件;之后删掉/tmp目录下的所有文件,并检测文件是否已被删掉

系统 linux_Linux基础知识_Linux基础操作

复制/etc/hosts文件到帐户主目录下;在帐户主目录中构建一个硬链接文件(文件名为hostsYYY(YYY为中学生姓名拼音简写)),链接到主目录下的hosts文件;分别查看hosts和hostsYYY的文件的inode信息

系统 linux_Linux基础知识_Linux基础操作

复制/usr/bin/vdir文件到帐户主目录下;在帐户主目录中构建一个软链接文件(文件名为newdir),链接到主目录下的vdir文件;分别查看vdir和newdir的文件的inode信息

Linux基础操作_系统 linux_Linux基础知识

用长格式列举目录/usr/bin目录下的所有文件,输出重新定向到文件outXX(XX为中学生学号末两位),检测结果;用长格式列举目录/etc目录下的所有文件系统 linux,输出结果补充到文件outXX末尾

Linux基础知识_Linux基础操作_系统 linux

用长格式列举/usr/bin目录下的所有文件,通过管线与more命令联接,实现对文件列表的浏览

Linux基础知识_Linux基础操作_系统 linux

>和>>有何区别?

Linux基础知识_Linux基础操作_系统 linux

答:>是覆盖形式重定向到新的文件;>>是以补充方法,添加到原文件的末尾。

通过管线和more命令,浏览文件列表便捷在那里?

答:对于文件列表超出一个屏幕显示的情况,这些方法可以分屏浏览,比较便捷。

3.2文件打包和压缩命令

在Windows操作系统下,我们会使用WinRAR或则好压等等的压缩软件来进行压缩或则解压。

在Linux下其实也存在压缩或解压的操作咯,下边我们就来学习一下在Linux下是如何压缩和解压的!

Linux基础知识_系统 linux_Linux基础操作

Linux基础操作_Linux基础知识_系统 linux

压缩的形式也是有好几种,我们常用的有下边这三种:

常用的压缩的命令就有:

常用的解压命令有:

3.3正则表达式+grep

里面我们早已学过了cat、more、less、tail这种查看文本文件的命令了,而且我想快速查看这个文本文件下的个别关键字是否存在,那如何办???

在Windows下就比较简单的,几乎所有的文本编辑器(记事本)都支持CTRL+F,往上面输入关键字就可查找下来:

系统 linux_Linux基础操作_Linux基础知识

那在Linux下,没有图形界面,没有CTRL+F的情况下,假若不懂一些命令的话,那还真是难找对应的字符下来。下边我就来谈谈怎样快速查找一个文本文件下的个别字符。

3.3.1正则表达式

首先我们就来谈谈正则表达式,假如接触过的朋友就晓得:这玩意儿并不好记。一旦不用就很容易就忘掉了,所以只能在用的时侯查查了~~~所以下边我就直接给出一些规则了,不多说啦。

Linux基础操作_Linux基础知识_系统 linux

Linux基础操作_系统 linux_Linux基础知识

3.3.2grep命令

grep(globalsearchregularexpression)是一个强悍的文本搜索工具。grep使用正则表达式搜索文本,并把匹配的行复印下来。

格式:grepPATTERN

反例:

Linux基础知识_系统 linux_Linux基础操作

用grep查找/etc/passwd文件中以a开头的行,要求显示行号;查找/etc/passwd文件中以login结束的行;

系统 linux_Linux基础知识_Linux基础操作

3.4几种提升工作效率的方式

这儿觉得要谈谈的就只有别称alias了,我们下边瞧瞧反例就懂了!

显示shell当前早已定义的别称;执行其中的两个定义别称的命令;定义一某些名grep,要求其采用彩色形式显示结果

Linux基础操作_Linux基础知识_系统 linux

3.5Shell变量和Shell环境

在Windows下有用户的环境变量,系统的环境变量。在Linux一样也是有的。

Linux基础知识_系统 linux_Linux基础操作

Shell变量大致可以分为三类:

Shell变量的作用域:

export命令:

Shell环境变量:

系统 linux_Linux基础知识_Linux基础操作

Shell变量:查询、显示和取消:

3.5.1Shell变量和Shell环境练习题

定义Shell变量stuXX(XX为中学生学号末两位),终值为中学生姓名简拼,用echo命令显示stuXX变量的值;用unset命令取消stuXX变量,检测结果;用env命令观察当前有什么早已定义好的shell环境变量

系统 linux_Linux基础操作_Linux基础知识

Linux基础知识_系统 linux_Linux基础操作

Shell环境变量的值是否可以更改?为何?

答:环境变量的值通常情况下中标linux,可以更改。但一定要谨慎更改,由于一旦更改错误,对shell正常运行导致严重影响,甚至造成shell难以运行。

四、VI编辑器

系统 linux_Linux基础操作_Linux基础知识

相信没有用过Linux的朋友在看一些段子的时侯就会看见过两个编辑器:

下边我们学习怎么简单使用vi。vi是“Visualinterface”的简称,它可以执行输出、删除、查找、替换、块操作等诸多文本操作,并且用户可以依照自己的须要对其进行订制,这是其他编辑程序所没有的。

使用Vi来编辑文件:

Linux基础知识_系统 linux_Linux基础操作

Vi有三种模式:

Linux基础知识_系统 linux_Linux基础操作

4.1普通模式4.2插入模式

在Normal模式下输入插入命令i、a、o步入insert模式。用户输入的任何字符都被vim当作文件内容保存上去,并将其显示在屏幕上。

4.3命令行模式

Normal模式下,用户按引号:即可步入Command模式,此时vim会在显示窗口的最后一行(屏幕的最后一行)显示一个“:”作为Command模式的提示符,等待输入命令。

设置Vi环境:

4.4Vi练习题

在用房主目录下,执行vi程序,编辑文件install.log;联通光标到第10行,第五个字符;按小写字母G,达到文件末尾;不读档退出;

Linux基础知识_系统 linux_Linux基础操作

Linux基础操作_Linux基础知识_系统 linux

在用房主目录下,执行vi程序,编辑文件install.log;用/命令查找字符串sudo,复制包含字符串sudo的行

系统 linux_Linux基础知识_Linux基础操作

在用房主目录下,执行vi程序,编辑文件install.log;步入命令模式,设置显示行号;用?命令查找字符串openssh,用命令n查找下一个

四、总结

本文主要讲解了Linux的最基础的知识,可以简单地操作Linux了。命令可以说是学不完的系统 linux,只能是记住Linux是有这个功能,待会儿去网上查查也很便捷。

主要是多练、多玩就可以记住一些常用的Linux命令了。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复