前言 

        对于软件测试人员来说,我们测试的任何产品都是基于操作系统比如我们每天都在使用的QQ软件,它有windows、ios、Android、Mac OS等版本,需要把QQ安装在各个平台上,才能进行相应的测试。因此,熟练使用这些操作系统和掌握一系列操作系统的基本知识应该是每个测试工程师必须掌握的基本功。如果内容有不准确的地方,麻烦各位大佬指出,海涵!

        学习linux的目标,首先我们要了解Linux相关的基础,对常用命令的操作要达到熟练掌握的水平,对于安装linux操作系统的话我这里就不进行多讲,大家自行去搜索,当然网上也有不少大牛直接做出了在线的Linux供线上直接进行实战。

例如:JS/UIX - Terminal

1.Linux操作系统介绍

        什么是linux呢,它是一种操作系统(废话),而且它是开源免费/安全稳定的,且十分符合我们先前说过的软件质量模型里的可移植性强/高性能的特点。那么什么是操作系统呢?操作系统是管理计算机硬件与软件资源的计算机程序。我们常见的操作系统可以分为桌面操作系统/服务器操作系统/移动设备操作系统,那么linux属于哪一种呢?其实linux是有很多的种类的,先从上面一个个操作系统分类来说起。

        常见的桌面操作系统有我们耳熟能详的windows系列,win10/win8/win7/xp还有现在最新的win11都是基于在桌面上的,而linux是桌面操作系统吗?是的,linux也有桌面版本的操作系统,那除了这两者还有吗?有的,还有占比很大的Mac OS 苹果公司的专有的操作系统。

        那么嵌入式操作系统有哪些呢?其实这里的嵌入式操作系统是以Linux为主导的,常见的有Debian/Redhat/OpenSUSE,主要是以Debian和Redhat为主,像Debian包含了Kali/ubuntu(这个是最常用的,很多嵌入式开发工程师一般用这个桌面版本的操作系统来进行开发),而Redhat里有多个系列包含了CentOS(企业版本的服务器操作系统,使用广)/Oracle Linux/Fedora,而OpenSUSE用的少我的了解也比较匮乏暂时不进行拓展。

        如果是以服务器操作系统划分的话,就比较好区分了可以简单分为Linux/Unix/Windos Server,其实就是很明显的主流系统win的/苹果的/linux的。

        如果以移动端的操作系统区分就更加简单了,直接简略区分成Andorid和IOS,当然现在还有鸿蒙。

        通过下面的这个长久流传的图片,应该能比较明显的看出Linux系统在操作系统里的地位了吧,适用的领域根据上面说的一大堆总结如下:应用服务器/数据库服务器/网络服务器/虚拟化云计算/嵌入式领域/个人PC/移动手机,所以我们学习Linux系统的相关操作和知识是非常有必要的。

2.Linux文件系统和目录

        2.1Linux文件系统

        首先每个系统都会有自己的目录文件,像我们最常见的windos下一般都会有个系统盘里有program file和program file x86这样的文件夹,前者可以用来理解为默认存放64位的软件,后者则是32位的软件存放。

        那么linux的目录是怎么样的呢?它是树形结构的文件系统,其中/是系统的根目录,其他所有目录都是它的子节点。我们不需要去死记硬背整个目录格式,在后面接触到Linux常用命令时,我们能够根据命令来对系统目录切换多实践就会熟悉。

        2.2Linux主要目录介绍

        /:根目录,唯一

        /home:用户目录

        /root:系统管理员root目录

        /usr:应用程序

        /etc:系统配置

        /boot:内核文件

        /tmp:临时文件

        还有一些比较常见的/home目录下的目录也可以进行记忆。如下图示例:

3.Linux常用命令

        3.1Linux终端命令格式

        这里只需要掌握基本的三个命令格式,对后续我们使用常见的命令指令就能够有很好的理解。我也会提到一些命令对应的常用选项。

        第一个命令格式是 command [-options [parameter] ,这里的command是命令名称,[]里的表示可选项,[-options]代表命令选项可以有也可以省去,而[parameter]是命令参数的意思,可以不传也可以传一个或多个。例如:rm -rf a.text b.text,在这里rm就是删除命令,而-rf是-r(表示删除文件及文件夹下所有内容)和-f(表示强制删除,不会提示),text格式下的a和b文件代表两个参数被该rm命令传递。

        第二个命令格式是 command -help,很好理解,是用来显示command 命令的帮助信息。

        第三个命令格式是man command,它其实和上面的类似,只是会输出详细的command命令的使用手册,而我们在man操作键底下的说明如下:

空格键:显示手册的下一页,Enter回车键:滚动显示手册的下一行,B:显示上一页,F:显示下一页,q:退出,/word:搜索word字符串。

        3.2文件和目录常用命令

       3.2.1查看目录命令(重点)

        我们查看Linux系统下目录的命令是ls,命令使用的格式是:ls [-lah选项] [文件或目录]

        选项说明:-l:以列表方式详细显示内容信息

                          -a:显示所有文件,包含隐藏文件及目录

                          -h:配合-l 显示出文件的大小

        示例1:ls -l 这样会加载出来详细的格式,例如

我们能明显看到包括时间以及较为明显的用户权限部分都能看的见。

        示例2: ls -a 这样会显示所有文件,例如

我们能看到更详细的文件,包括隐藏文件等。

        示例3: ls -lh,因为这里的-h要和-l一起使用才有效果,和-a没有效果。加上-h会在示例1里多一部分文件大小 ,例如

        3.2.2常用通配符

        在正常的命令下,我们会去使用通配符来对目录里的文件进行范围内的筛选,比如统一对某个格式或者包含某个字符的一系列文件进行操作。那么我们就需要学习通配符

        常见的通配符包含如下:

        * :表示0到多个任意字符,基本上是所有的意思

        ?:表示任意一个字符

        [abcd]:表示可以匹配到a/b/c/当中的任何一个字符

        [a-f]:匹配从a到f范围内的任意一个字符

例如下图,最常用的通配符,用来匹配以.txt后缀结尾的文件。很明显需要区分开,如果是ls [abc]则是取到a,b,c这样的命名的文件;那如果是ls  a?  取到的结果就是以a开头后面加一位字符命名的文件(记住只有一位字符例如aa/ab这样的),一般我们常用的通配符记住第一个* 即可

 

         3.2.3切换目录命令(重点)

        我们切换目录的命令是cd,格式是 cd  [目录路径]

        这里我们需要搞清楚两个概念,一个是绝对路径一个是相对路径。首先,绝对路径就是以根目录(/)开头或者家目录(~)开头,然后一个层级一个层级定义对应目录,目录与目录之间用/进行分隔。        而相对路径则不以根目录(/)或者家目录(~)开头,而是以当前路径开始,结合 返回上层路径(..)来实现相对路径的切换(简单理解就是找个参照路径再进行转换)

        cd命令格式说明:

        cd . :切换到当前目录

        cd ..:切换到上一级目录

        cd -:切换到上一次所在的目录

        cd /:切换到根目录

        cd ~:切换到家目录

        pwd:查询当前所在目录

        注意:文件及目录名称区分大小写        

        举例:一开始进入家目录,用pwd查询验证后,切换为根目录可以用ls命令看到根目录下的文件目录,再去切换回家目录,再查看家目录下的文件;使用cd .. 切换到上一次所在的目录,最后用pwd验证是根目录/。 

        3.2.4创建目录文件(了解)

        格式:touch 文件名 (多个文件名之间用空格隔开)

        举例:在桌面创建一个a.txt文件,那么问题来了如果有重复的文件名怎么办?有重复的文件名则会更新文件的修改时间。

         3.2.5创建目录(重点)

        格式:mkdir 目录名称(多个目录之间用空格隔开)可以跟上-p 选项,进行递归创建(parents)。

        例如:在桌面创建a文件夹里面有b文件夹,b文件夹里包含c文件夹。 

        注意:目录名称不能与当前目录下的文件或目录同名,否则会有提示。

        3.2.6删除文件或目录(重点)

        命令格式:rm [-irf] 目录名或者文件

        选项说明:

        -i:表示交互式执行删除操作,删除前会有提示(默认选项)

        -r:表示删除目录及目录下所有的内容(如果是删文件不需要加-r)

        -f:表示强制删除,忽略不存在的文件

        在这里最常见的组合是使用-rf,例如 rm -rf 删除文件a和文件夹a与b

        3.2.7文件或目录的复制(重点)

        命令格式:cp 源文件 目标文件

        选项说明:

        -f:强制覆盖已存在的文件而不显示

        -i:覆盖已存在的文件时,会提示用户是否确认

        -r:复制目录及目录下所有的内容时,必须带上-r参数

        -v:显示复制的进度(一般不用,都比较快速)

        注意便捷提醒:这里有的选项在上面已经有多次出现过了,例如-f 其实就是force强制去执行,-i就是提示是否确认,这个就是interactive选择的英文意思,而-r则是recursive递归的英文意思可以用于多个目录文件,而-v就是verbose,英文单词详细。(这些都可以利用前面讲的显示命令帮助信息的方法来查看,推荐使用man command 来进行详细信息的查询,例如下图输入man cp后对cp命令的选项信息进行了解)

         讲述了如何对命令的选项进行查询后,我们来实际操练一下怎么对文件进行复制。通过创建b.txt文件和a文件夹,分别复制生成a.txt文件和b文件夹,会发现如果不加上 -r 递归的选项则无法对文件夹执行操作。 

        3.2.7文件或目录的移动(重点)

        命令格式:mv源文件 目标文件(类似cp复制命令)

        选项说明:

        -f:强制覆盖已存在的目标文件而不提示

        -i:覆盖文件时提示用户是否确认

        -v:显示移动的进度(一般不用)

下图先创建一个a.txt文件,再创建一个b文件夹,这时候通过mv a.txt b 来把文件移入文件夹中

         那么如果要带上路径再去移动或者复制文件呢?原理是一样的,可以和以下的案例相似:将/etc/hosts文件复制到 /opt目录下:sudo cp  /etc/hosts  /opt;如果是移动的话命令就是:sudo mv /etc/hosts  /opt

        3.3查看文件内容

        3.3.1查看文件内容:cat(了解)

        cat命令:适用于查看文件内容较少的文件

        可以用来查看文件/创建文件/合并文件/追加文件

        常用选项:

        -b:表示输出非空的编号

        -n:表示输出所有的行编号

        3.3.2查看文件命令:more

        more命令:适用于查看文件内容较多的文件

        命令格式:more 文件名

常用的快捷键操作(这里查看的浏览快捷方法和man命令下的一样):

        空格:显示下一页内容

        enter(回车):滚动显示下一行

        b键:显示上一页内容

        f键:显示下一页内容

        q键:退出

        3.3.3查看文件内容:grep(重点)

        grep 搜索文件并显示对应的关键字行信息

        命令格式:grep‘关键字’文件名

        常用选项:

        -v:显示不包含匹配文本的所有行(取反)--invert

        -n:显示匹配的行及行号 line number

        -i:忽略大小写(ignore)

示例:在桌面建立了一个a.text文本,在里面写一部分的字符串,然后分别使用cat/grep查找关键字来看具体的区别,如下图所示。

           这里需要引入一个grep的正则表达式概念(正则表达式能够使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串) 

        '^a':表示搜索的文件内容行是以a开头的

        'ke$':表示搜索的文件内容行是以ke结尾的

        [Ss]igna[L]:匹配[]中的任意一个字符,搜寻匹配单词为SignaL,Signal,signaL,signal的行

还是以上述的a.text文本内容进行举例:在a.text文本里,对以a开头的内容行进行搜索/对8结尾的内容行进行搜索/对匹配任意字符i进行搜索

        此时我们在grep查看命令之后添加其选项,示例如下:显示行数查找带i 字符的内容行/查找带o 字符的内容行取反显示/显示行数的前提下对i 字符不区分大小写来查找所在内容行显示,如下图所示:

        3.3.4重定向:>和>>(重点)

        将命令输出的结果写入到(重定向)到另外的文件当中。

        >:将命令输出的结果覆盖到对应的文件当中        cat 1.txt 2.txt > 3.txt

        >>:将命令输出的结果追加到对应的文件当中,不会覆盖

例如:ls -l > /home/whj/Desktop/a.text 将查看当前根目录下列表排列方式输出的文件结果重定向到a.text文件中的指令和输出如下图

        3.3.5管道符号:|(重点)

        说明:通过管道符命令可以将一个命令的执行结果,传给另一个命令当作参数来使用

常用来搭配的管道符命令:

        more:分屏显示执行结果

        grep:通过grep过滤执行结果

例如:我们前面提到过的more命令能够看很大的文件内容,more命令打开文件查看后能够和man帮助命令一样的语法执行(快捷键回车到下一行空格到下一页b和f分别对应前后,还记得吧),或者使用grep这个过滤的查找命令,用来起到筛选的作用。

举例1:ls -l /usr/bin | more        就是把/bin目录下的所有文件列表输出形式在more查看方式下滚动,因为这些文件量很大,手动滚动毕竟不方便。

举例2:   ls /usr/bin | grep '^au'        就是在/bin目录下过滤查找au开头的文件

        注意:在测试中我们会有遇到需要查看日志的方法就会结合用到重定向符和管道符的作用,例如将动态的日志或者实时变化的某个参数像cpu/内存变化的数据通过重定向符把它从top或者free这样的输出结果里定向到输出的文本文件里或者结合管道符筛选出来再进行重定向出更精确的结果。还有后续查看进程的时候也会需要使用管道符进行筛选。

        3.3.6回显(拓展)

        回显其实就是指程序开发中执行命令的结果,就是返回的显示,你输入一个命令,然后给你返回一个值,显示在屏幕上。如下图:

那么,回显有什么用呢?如果你是想删除文件中的内容,但是又不想删除文件,那么你就可以使用回显结合重定向符的方法利用空字符来覆盖文件内容。   使用 echo ' ' > 文件 就能很好的清空文件。 

        3.4系统相关的命令

        这一部分的命令是和系统相关的一些指令,例如重启关机/查寻进程/查看日志信息和系统信息的命令。

        3.4.1重启和关机的命令(了解)

        重启命令:reboot

        关机命令:shutdown

对应的选项:

        shutdown -r now:表示重启时,会给其他用户发送提示信息

        shutdown -h now:表示立刻关机

        shutdown -h 20:25:表示定时关机,晚上8:25定时关机

        shutdown -h +10 :表示从当前时间加十分钟进行关机

        3.4.2查看系统进程:ps(重点) 

        命令格式:ps -aux | grep  '关键词'        (直接记忆该格式即可)

        选项说明:

        -a:显示所有用户的进程

        -u:显示进程的详细状态

        -x选项:显示没有控制终端进程

一般会用来结合grep及管道符去查找特定的进程信息

例子:ps -aux| grep 'sedispatch'查找系统进程当中包含sedispatch关键字的进程信息

        3.4.3实时查看系统进程:top(重点)

        命令:top

        快捷键:

        M(按shift+m)可以按照内存的使用率将许排列显示进程的信息

        P(按shift+p)可以按cpu的使用率降序排列显示进程的信息

        这里的进程,对应在windows系统里的就是打开任务管理器后看到的进程,那里也是动态变化的,我们参照这两个不同的参考进程的指令,明显持续查看的话top的使用会比ps更频繁一点,而去看静态固定的参数则用ps多一点。

        3.4.4关闭进程:kill(重点)

        命令格式:kill -9 进程ID

        进程id一般会通过ps命令(静态的)去查看到; -9 在这里表示的是强制的关闭对应的进程。

注意:这里只能去关闭当前用户执行操作的用户进程,如果不是最高权限的话不能关闭其他用户的进程。

        下图举例:开启一个终端先打开a.txt记事本文件,然后另外一个终端查找到了该进程的pid号,然后使用关闭进程的命令 kill -9 进程ID 关闭了该进程,终端就会显示killed。       

        3.4.5查看系统监听端口:netstat(重点)

        命令格式:netstat -anptu | grep ‘关键字’ (root用户操作)

        选项说明:

        -a:查看所有已打开的端口

        -n:以数字方式显示已打开的端口,不限时别名

        -p:显示对饮更多进程的PID

        -t:显示出tcp协议的端口

        -u:显示出udp协议的端口

例子:

        查看当前系统中已打开的TCP协议端口:netstat -anpt

        查看当前系统中是否已打开3306的端口:netstat -anptu | grep ‘3306’

        查看昂钱系统中his否已打开http的服务:netstat -aptu | grep ‘http’

        mac:netstat -anp tcp

注意!!!这个命令在ubuntu版本的linux操作系统里是无法使用的,因为本身需要的安装方法是用yum去安装,但是因为前面在介绍Linux操作系统里有提到过一嘴关于Linux有多个版本的情况,而查找协议端口更多的是作为服务器方面的,用的更多的是redhat下的centos等版本操作系统,故安装的方法区别较大,具体可以看下面另外一个博主总结的图片和他博客的链接,对我自己实验和学习来说都非常的有帮助。

解决Ubuntu报错 E: Unable to locate package yum_SH-ke的博客-CSDN博客

        3.4.6查看系统监听端口:lsof(重点)

        命令格式:lsof -i (root用户操作)

        -i:表示查看所有已打开的进程的端口

        lsof -i:表示查看特定的端口是否已打开

例子:lsof -i :3306 查看系统中3306的端口是否已打开

            查看体重中http的服务端口是否已打开:lsof -i : 80

        应用场景:有时候我们想要去启动某个程序时,会发现该应用程序的端口有可能被其他程序所占用。那么此时就可以通过netstat或者lsof查看对应的端口被谁占用了。然后关闭对应的进程,重新启动要启动的应用程序就可以了。

        

        3.4.7查看日志信息:head

        head 文件名        

        默认查看文件前10条信息

        head -20 文件名:查看文件的前20条信息

        例子:head -30 log.log 查看当前目录下log.log的前30条信息

        这里这个命令其实用的不多,下面另外一个关于查看日志的tail命令用的会更多一些。

        3.4.8查看日志信息:tail(重点)

        tail -f 文件名

        tail 文件名 : 默认查看文件的最后10条信息

        tail -20 文件名 : 查看文件的最后20条信息

        tail -f 文件名 实时查看日志的文件信息

例子:

        tail -f log.txt 实时查看当前目录下log.txt文件的日志信息

        示例:这里有个很简单粗暴的方法来进行实时输出,结合前面学习的命令第一个终端利用实时查看系统进程的方法把输出的内容重定向到a.txt文件里:top > a.txt,这时候文本里就会不断有日志在输出(不过如果终端的命令结束后还需要重新输入命令继续输出日志的话,需要使用>>避免先前的内容被覆盖住),这时候我们的日志是实时输出的,使用我们的tail就能够来看日志内容了,tail默认是看最后十行,如果是动态的日志,我们就使用tail -f a.txt来对日志进行实时的输出。

        3.4.9查看操作系统信息

        cat   /proc/version:查看当前操作系统版本信息

        cat   /etc/issue:查看版本当前操作系统发行信息

        

        3.5用户权限和管理

        3.5.1权限的概念

        首先,我们只知道平常对文件的操作就是点点点,那么具像化的权限是指的什么呢?为什么有时候我们点击文件了却说打不开,也不能修改里面的内容呢?

        我们对文件操作的权限是包括以下的三个方面:读/写/执行,这个使用查看文件的命令ls -l就能看到当前操作用户下具体的每个文件的权限。  

         

        3.5.2修改用户权限chmod(重点)

        首先修改用户权限是有两种方法的,有一种方法是比较具体的详细的,但是也比较复杂麻烦。我们先来讲解这个方法,一般被称为“字母法”

        命令格式:chmod u+rwx 1.txt

用户选项:

        u:表示的是所属的用户

        g:表示的是所属的用户组

        o:表示的是其他用户

        a:表示的是所有用户

设置选项:

        o + :表示增加权限

        o -:表示撤销权限

        o =:表示设置权限

例子:

        chmod u+w 1.txt 表示对当前目录下的1.txt文件的当前用户增加写的权限

        chmod g-x 1.txt表示对当前目录下的1.txt文件撤销用户组的执行权限

        chmod  o=rwx 1.txt 表示对当前目录下的1.txt文件的其他用户权限设置为可读可写可执行

        另外一种方法被称为“数字法”,命令格式是:chmod 755 文件名,这三个数字分别表示的是 文件拥有者权限/用户组权限/其他用户权限,像上面说的r,w,x分别对应的数字代号就是4,2,1

那么7的数字就表明了是包含了三种权限,而5点数字就只有读和执行的权限。所以一般遇到需要对文件权限进行操作的时候,直接记忆数字法命令格式: chmod 755 文件名 即可。

        3.5.3增加用户/查看登录用户(了解)

        增加用户:useradd 用户名

        useradd -g root admin 1:创建用户时,并制定用户的组为root组

        查看当前登录的用户:who

        删除用户:userdel -r 用户名         -r作用 是把用户目录都删除

        3.5.4切换用户/修改密码/退出(知道)

        切换用户:

su -:切换到root用户,需要输入root的密码(或者su root)

su 用户名:切换到制定的用户下,如果是从root用户下切换,不需要输入密码

        修改密码

        passwd:修改当前用户的密码,需要输入原密码

        passwd 用户名:修改制定用户的密码,必须通过root用户来实现

退出登录的用户 exit

        如果是图形界面,退出当前终端即可。

        如果是使用ssh远程登录,退出登录账户

        如果是切换后的登录用户,退出则返回上一个登录账号

我们在这里主要知道如何切换用户即可,格式为:su 用户名

        3.6其他命令

        3.6.1查找文件(重点)

        命令格式: find [路径] -name 文件名

        路径可有可无,没有的情况表示的是当前目录(或者用一个.来表示当前目录及子目录下)

        文件名可以使用通配符,使用通配符的时候,文件名必须在引号当中

        例子:find .-name test .sh 在当前目录及子目录下查找名称为test.sh的文件

        例子:find .-name 'abc * txt'  在当前目录及子目录下查找名称为abc开头的txt文件,如下图所示

        3.6.2打包和解包(知道)

        打包:把多个变为一个

        解包:把1个提取为多个

        打包和解包:

格式:

        tar -cvf 打包文件名 文件或目录(打包)

        tar -xvf 打包文件名(解包)

选项说明:

        -c:创建打包文件

        -v:显示出打包或解包的进度

        -f:用于指定打包文件名(一般f放在选项的最后,用于指定打包的文件名)

        -x:表示解包对应的文件

        3.6.3压缩解压缩:gzip(重点)

        因为有不少压缩格式,这里只提用到多的gzip压缩格式,最后压缩的格式是以.tar.gz结尾

        压缩文件:tar -zcvf 压缩文件名 .tar.gz被压缩的文件或目录

        -z选项:调用gzip实现打包和压缩的过程

        解压缩文件: tar -zxvf 压缩文件名

        将压缩文件解压到指定的目录:tar -zcxf 压缩文件名 -C 目标路径

压缩过程如下图:

        3.6.3压缩解压缩:zip,unzip(知道)

        压缩的格式是以tar.zip结尾

        压缩文件:zip -r 压缩文件名 文件或目录;对gzip格式压缩也是一样的方法

        压缩的文件名可以不带后缀名

        -r:表示压缩的是一个目录

例子:zip -r  bao  *.txt  *.png     把txt和png格式的文件都进行压缩,最后生成.zip格式的文件名为bao.zip

gzip -r  bao2  *.txt  *.png     把txt和png格式的文件都进行压缩,最后生成.gz格式的文件名为bao.tar.gz

        解压缩:zip -d 解压目录 压缩的文件名

注意:如果有尝试过压缩的话,会发现文件经过压缩后文件直接就进入压缩包了没有备份的效果,这就是为什么上面gzip格式下的方法推荐使用tar命令去进行压缩。利用tar 用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件。下面是关于tar的知识点一位博主总结的很好,感兴趣的可以再深入对tar命令及其选项进行了解。

tar命令的详细使用方法_cnham的博客-CSDN博客

        3.7vi编辑器

        3.7.1 vi编辑器介绍和三种模式(重点)

        vi编辑器简介

vi是linux系统下的命令行根据,vi和vim是同一个编辑器(也被称为编辑之神器)

        vi编辑器的三种模式:

命令行模式:

        通过对应的快捷键或者命令来管理文件

插入模式:

        在插入模式下主要是用来对文件的增加,修改和操作

末行模式:

        主要是用来保存文件或者退出文件

        3.7.2 vi编辑器三种模式的切换

        首次进入到vi编辑器使用的是命令行模式

        可以通过i,l,a,A进入到插入模式。在插入模式中按ESC键可以回到命令行模式

        可以通过shift + :进入到末行模式

        在末行模式可以通过以下快捷键来进行操作:

        w:表示保存文件并回到命令行模式

        q :表示的是退出vi编辑器

        !:表示的是强制

        wq!:表示的是强制保存并推出vi编辑器

        3.7.3 vim基本操作

        1.vim 文件名 打开文件

        2.编辑

        3.修改

        4.适当使用快捷键(命令模式下使用)

                yy :复制当前行

                p :粘贴  输出的文本会在当前光标下的下一行

                dd :剪切

        5.保存 使用w后再输入q,或者直接wq!强制保存

如果有想了解更多相关vi编辑器相关命令的,可以查看下面这个博主写的文章,里面的快捷命令相对来说更加全一点,不过我们平时比较少用到这个,只需要进行了解即可,感兴趣深入的可以用来作为学习或者资料的储备。

vim编辑器操作命令大全-绝对全_xuesnowce的博客-CSDN博客

        4.Linux远程连接

        为什么要学Linux远程连接呢?这是个什么东西?因为我们在实际的工作中,Linux服务器要么放在机房,要么是云服务器。(像我先前公司主产品是嵌入式的设备,都是放在机房里)我们如果想对Linux服务器进行相关的操作,必须通过远程连接的工具连接到服务器才行。

        那么怎么去连接呢?我们在连接之前,需要知道Linux服务器的IP地址,以及SSH的端口(默认:22),在Linux系统里通过终端窗口去查看到ip地址的命令是:ifconfig(Windows下是ipconfig)        另外,可以通过netstat -anopt | grep sshd 这条指令来查看ssh的端口

       常见的远程连接Linux系统的工具有:putty/xhsell/SecureCRT,其实这三种的用法都差不多。都是需要上述的两个条件:知道ip地址和端口才能实现远程连接。下图示例,我用的是SecureCRT

        5.总结

        和Linux操作系统相关的一些基础知识也告一段落了,对于软件测试工程师来说这一部分的相关知识其实一方面是作为基础知识储备,一方面也是为了后面我们对数据库相关的学习,用来做远程服务器的连接,不仅是靠工具来管理数据库也是需要对操作系统能够进行远程操作的。

        学习操作系统最好的方法还是多实践,我们没有需要掌握特别全面的知识点,即使有比较多的命令及其选项不方便记忆,也可以靠多实践多在项目里重复的进行敲写来达到好的记忆效果,相信对于“好记性不如烂笔”这句至理名言在这里也是适用的。

更多推荐

软件测试 (4)Linux命令