![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux命令和Shell编程基础
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
Linux命令基础1-环境介绍
现在这篇开始,新开一个系列,主要介绍是linux的命令基础,随后会介绍shell写脚本。作为测试工程师来讲,真的要掌握很多技能。一个好的测试工程师,你如何去证明你是一个好的测试工程师?你可以说你功能测试做的好,你可以说你会脚本,你可以说你会性能测试,你也可以说你会接口测试,还有安全测试,渗透测试等等。其实,你会发现,最不好证明的就是功能测试。脚本自动化测试,你会Python+Selenium;性能原创 2017-05-11 12:42:11 · 4403 阅读 · 0 评论 -
Linux命令基础2-ls命令
本文来介绍下linux中的ls命令,ls的单词是list files的缩写,意思的列出目录文件。为了方便本文操作和介绍,我在实验楼这个linux桌面,新建了一个test的文件夹,然后通过新建空白文件,修改文件后缀,创建了不同文件类型,如下:1. ls的基本使用,不带选项参数PS: 这里cd ,是change directory,更改目录的意思,下一篇文章会详细介绍。原创 2017-05-11 15:23:56 · 4311 阅读 · 2 评论 -
Linux命令基础3-cd命令
本文介绍Linux下cd命令,cd 是change directory的缩写,中文意思是切换工作目录。cd比较简单,但是也最常用,其实windows也有cd这个命令。1. 提前准备文件为了达到演示效果,我们在实验楼桌面,创建了如下结构的文件或者目录1)桌面创建一个test文件夹2)在test下新建一个my books的文件夹,my和books中间有一个空格3)在my books原创 2017-05-11 20:53:53 · 2634 阅读 · 0 评论 -
Linux命令基础4-cat命令
本文介绍Linux下cat命令,cat是英文语句concatenate files and print on the standard output的缩写,中文的意思是,把字符串连接后输出到屏幕上,此时的标准输出就是屏幕。1. 前提准备条件我在实验楼桌面,新建了连个文件a,txt和b.txt,其中a.txt格式如下,b.txt随意写东西2. cat 后面不写任何参数,可以默认打原创 2017-05-11 21:37:49 · 2987 阅读 · 1 评论 -
Linux命令基础5-文件重定向
本文介绍下Linux下文件重定向。在linux中重定向用符号“>”表示,语法一般是 源文件 > 目标文件1. 前提条件和前面一篇文章一样,准备a.txt 和b.txt2. cat > out.txt现在我们通过这个可以知道了如何把终端里面输入的字符保存到一个具体文件中去3. 在2基础上继续cat > out.txt这个时候,就发现,原来每次 cat > c.txt后原创 2017-05-11 22:04:54 · 4015 阅读 · 0 评论 -
Linux命令基础6-mkdir命令
本文介绍Linux下mkdir命令,mkdir是英文单词make directory的缩写。mkdir就是用来创建路径,一般就是用来创建文件夹的。1. 直接在桌面创建一个名称为image的文件夹2. 在上面基础上,image下新建一个pics文件夹3. 能不能跨目录创建呢,例如我桌面上面没有names这个文件夹,如果直接想创建names/mark,会报错。4.原创 2017-05-12 09:13:32 · 2136 阅读 · 0 评论 -
Linux命令基础7-rmdir和rm命令
本文来介绍Linux下删除文件和删除目录命令。通过下面的例子,来练习下rmdir和rm的基本使用。rm是英文单词remove的缩写,rmdir就是remove directory的缩写。1. rmdir 单个空文件夹2. rmdir 删除多个空目录先通过mkdir -p a/b/c/d/e/然后试试 rmdir a/b/c/d/e再通过ls -R看看效果,发现只删除了最后一原创 2017-05-13 21:24:06 · 4327 阅读 · 3 评论 -
Linux命令基础8-cp命令
本文介绍Linux下cp命令,cp是英文单词copy的缩写,就是拷贝文件的意思。下面通过几个场景练习,来掌握cp的基本使用。cp的基本语法是:cp 参数 源文件路径 目的地路径1. cp file1.txt file2.txt上面的步骤就不用解释了吧,利用了前面文章介绍的cat来创建文件并输入内容和打印内容终端。2. 把file1.txt 拷贝到一个空白的路径下3.原创 2017-05-14 12:19:56 · 2906 阅读 · 0 评论 -
Linux命令基础9-mv命令
本文来介绍下Linux中mv命令,mv是move的意思,中文就是剪切的意思。来练习下以下场景,这篇开始,利用实验楼里面的切换界面功能,也就是没有桌面版的linux,只有字符界面,不管怎么说,我们先来看看如何操作,基本上之前学到的,命令都要用到,不然你无法创建文件,创建目录,查看文件下文件清单等等。注意哈,本系列大部分操作开始的路径都是Desktop,所以你在输入一个命令前,看看$前面显示的路径是不原创 2017-05-14 13:21:56 · 2139 阅读 · 0 评论 -
Linux命令基础10-less命令
本文来介绍Linux下less命令。less命令很强大,主要是用来打开内容比较多的文本文件,less在这方面比vi编辑器还要速度快,原因是在于,less命令一次只会加载一部分文件内容到终端上,而vi编辑器一开始,就把这个大型的文档读入内存,加载特别慢。为了操作less命令,我找到了这个文件/bin/zgrep,这个当然不算大文件,内容也就几屏。来学习下less的基本使用。1. 前提条件原创 2017-05-14 14:33:18 · 3717 阅读 · 0 评论 -
Linux命令基础11-more命令
本文介绍Linux下more命令,环境同样前面一篇,还是利用zgrep这个文本文件。1. 通过 more zgrep打开文件可以看到,more命令是只显示一屏内容,当前我这边显示16%。2. 通过空格键下翻内容按下一次空格键,内容下翻到27%。3. more能不能会看内容我这边试了试,b能回退到16%。4.q退出more环境。原创 2017-05-14 15:04:10 · 1703 阅读 · 0 评论 -
Linux命令基础12-touch命令
本文介绍Linux下touch命令,touch命令很简单,我们知道两个用法就可以。第一个是用来快速创建空文件,第二个是用来修改文件的时间戳。1. touch创建文件2.touch修改file2.txt的时间戳,上图中15:15就是时间戳对比,发现file2之前的时间戳是15:15,现在变成15:17. touch的使用就这么简单,知道这两个就可以了。原创 2017-05-14 15:14:30 · 1687 阅读 · 0 评论 -
Linux命令基础13-nano命令
本文介绍Linux下nano命令,上一篇提到touch能够用来创建空文件,其实nano也可以这样使用,nano也是一个文本编辑器,如果使用nano打开c++代码,会代码高亮显示,由于实验楼提供的Linux环境上不支持nano命令,不好演示,这里只能在ubuntu上运行,截图看看,了解下这个命令就好。1. nano在ubuntu的使用。下面有一排菜单,告诉你如何退出和如何保存,例如ctr原创 2017-05-14 15:28:47 · 2974 阅读 · 2 评论 -
Linux命令基础14-su和sudo命令
本文介绍Linux下su和sudo的基本使用,su是英文单词switch user的缩写,sudo是supperuser do的缩写。1. 没权限的时候,需要sudo然后 sudo mkdir newdir,不知道实验楼为什么没有提示我输入密码,一般这个地方需要提示输入密码的。通过sudo mkdir newdir 创建成功。2. su我在实验楼想switch user原创 2017-05-14 15:41:11 · 2245 阅读 · 2 评论 -
Linux命令基础15-top命令
本文介绍Linux下top命令,TOP 在英文字典是都是顶部的意思,Linux 就把它用于最前面运行峰值较高的部分,并不是一个单词的缩写。top主要的作用就是用来查看CPU和内存的消耗。1. 在实验楼终端输入top.回车。最上面一段是一个总体的消耗情况,下面这个列表是每个进程的消耗情况。%CPU代表CPU消耗,%MEM代表内存消耗。PID是进程的意思。如果要退出top界面,你输入ctr原创 2017-05-14 16:01:01 · 2431 阅读 · 0 评论 -
Linux命令基础16-ps和kill命令
本文介绍Linux下ps和kill的使用,ps是process status的缩写,kill在linunx中是杀进程的意思。就像windows,有时候那个程序没响应,你就可以去任务管理中删除那个没有响应的程序。1.ps -ux, 查看当前的激活的进程2.ps -aux,查看当前所有进程,a是all的意思3.ps -U shiyanlou,查看shiyanlou这个用户有关的进程4.原创 2017-05-14 16:29:04 · 2283 阅读 · 0 评论 -
Linux命令基础17-echo命令
本文介绍Linux下echo命令,echo的作用就是,把文本输出到标准输出,例如终端。有点类似开发语言中的print语句。1. echo的基本用法上面可以看出,有不带双引号的,也有带,都可以输出同样效果,这里建议加上双引号。2. echo和变量的使用上面的变量只有在当前终端窗口有效,如果你关闭了当前终端窗口,就识别不了x和myvar这里我发现一个问题,暂时不知道原创 2017-05-14 18:53:53 · 2110 阅读 · 3 评论 -
Linux命令基础18-文件使用chmod命令
本文来介绍Linux中chmod的命令,chmod是change mode的缩写,是修改文件权限的一个命令。在全面介绍ls这篇文章,我们大致介绍了一下有关文件权限的概念,一个文件分别有三组权限:用户拥有者,用户组,其他。下面的介绍需要用到这点知识。1. 在桌面创建一个file2. 通过ls -l观察文件的具体权限再次解释红圈的意思,第一个横杆-表示文件,如果是d表示目录。还有可原创 2017-05-14 22:01:47 · 2083 阅读 · 0 评论 -
Linux命令基础19-目录使用chmod命令
前面一篇文章介绍了chome在文件上的相关操作,这一篇介绍chmod在目录上的相关操作。1. 我们在桌面创建一个dir目录,并查看权限根据前面知识,第一个d表示directory,告诉你这个东西是一个目录。2. chmod u-w dir ,让目录dir不能写再输入完chmod u-w dir后,你就发现桌面dir这个文件夹出现了一把锁。这里我们再通过chmod u+w d原创 2017-05-14 22:39:32 · 1533 阅读 · 0 评论 -
Linux命令基础20-chmod后面使用数字来表示权限
本文来介绍下Linux下命令chmod如何用数字来表示相关权限。在使用数字之前,我这里画图,我们来了解下数字代表权限的原理,为什么数字7就表示所有权限。在前面文章,我提到chomd 777 file.txt,就可以把这个文件的权限改成-rwxrwxrwx,看懂了下面这个图,你就明白了。1. chmod 7的含义和原理2. 你自己桌面创建一个file,自己练习下。主要的步骤如下1原创 2017-05-15 09:29:58 · 1887 阅读 · 0 评论 -
Linux命令基础21-第一个bash脚本
前面几篇都是介绍chmod命令,这篇介绍第一个bash 脚本。这里解释下,本系列和实验楼上面的linux入门教程的区别。实验楼这个教程,挺好的,但是,我觉得有一个缺点,我大致看了他们的课程,这里我也没学他们的课程,只是借助他们的linux环境而已。他们的课程给我的感觉就是,篇幅很少,但是讲的东西却很多。里面有很多运维的知识,我推荐,你看完这里的命令基础,然后去学习,可能效果更好。面试过程中,软件测原创 2017-05-15 20:36:02 · 2294 阅读 · 1 评论 -
Linux命令基础22-which和whatis命令
本文继续介绍命令,这里介绍which 和whatis命令。简单来说,which前面文章介绍过,就是告诉你相关程序的路径,whatis就是查询一个命令的含义。1. which 命令2.whatis命令练习这里通过man top来对比whatis top原创 2017-05-15 21:02:10 · 1944 阅读 · 0 评论 -
Linux命令基础23-useradd和passwd命令
本文介绍Linux下创建用户和设置用户密码的命令,useradd是添加一个用户的命令,同样反过来写adduser也是可以的。passwd是对某一个用户进行密码设置。在使用者两个命令之前,前面要加上sudo命令,因为做这些事情是需要管理员权限的。1. useraddanthony目录就为用户anthony创建的家目录。2.passwd密码两次输入1234563.addus原创 2017-05-15 21:16:37 · 2364 阅读 · 0 评论 -
Linux命令基础24-userdel命令
本文介绍删除用户命令userdel,前面文章介绍了如何创建用户,有创建就有删除。1. 利用sudo userdel username先看看我们有哪些用户,如果没有按照前面一篇介绍去创建几个用户使用sudo userdel username,看看能不能删除用户其实这个来看,确实删除了用户和密码,但是用户的家目录没有删除。2. 如何删除用户的家目录呢邮件池未找到原创 2017-05-15 21:35:57 · 1547 阅读 · 0 评论 -
Linux命令基础25-group基本操作命令
本文介绍Linux下组的相关操作,主要有如何创建一个组,如何添加一个组,如何添加用户的到组和如何把用户从组中删除。1. 显示当前用户所在组2.查看当前系统所有的组这里只截图了一部分,你试下下拉底部。3.添加一个组然后通过cat /etc/group看看你新建的组,需要下拉底部4. 如何删除一个组5. 如何添加用户到组cat /etc/gr原创 2017-05-15 21:46:52 · 2598 阅读 · 0 评论 -
Linux命令基础26-.bashrc和.zashrc文件作用
本文来介绍习.bashrc和.zashrc的作用,两个都是一样,两个文件里面的脚本都是作用在刚刚打开一个终端的时候。1. 如何找到.bashrc和.zashrc文件.zashrc在右侧最后一列2. 用gedit .bashrc编辑文件,最后底部添加如下语句3.保存文件,新打开一个终端,发现.bashrc修改无效,这里估计实验楼默认是使用zash,所以修改.zashrc文件,原创 2017-05-15 22:21:11 · 1866 阅读 · 0 评论 -
Linux命令基础27-查看资源相关命令(df/du/free)
前面有一篇文章介绍了利用top命令去查看CPU和内存消耗,今天继续介绍几个查看资源相关的命令,分别是df,du,free。1. df 是显示磁盘使用情况2. du是显示文件占用磁盘大小3. free是查看内存使用情况看看例子1) df 这样看起来不人性化,这些数据是按照字节来计算的,看下面这个方法2)df -h ,输入df -h 回车,h表示human read原创 2017-05-16 22:10:06 · 1845 阅读 · 0 评论 -
Linux命令基础28-watch命令
本文来介绍watch命令,主要是一个设置刷新时间的命令,通过以下举例,你就会明白。1.whatis watch意思就是设置一个程序的刷新时间间隔。例如2秒刷新一次数据。2. watch free -m 可以查看默认的时间间隔是2秒2秒过后红圈位置数据大小会发生变化,都是动态的变化。3.watch -n 1 free -m 设置1秒刷新原创 2017-05-16 22:23:51 · 1292 阅读 · 0 评论 -
Linux命令基础29-head和tail命令
本文介绍两个查看文件内容命令,有点类似less和more的感觉。一个是查看文件开始10行的内容命令:head;第二个是查看文件末尾最后10行的内容:tail.1.通过whatis 了解下两个命令的含义2.通过/etc下文件,来看看head和tail的使用先cd 到/etc,然后ls,找到wgetrc文件不带参数,默认是显示开始10行3.两个命令都有参数-n表示具原创 2017-05-17 20:37:22 · 1376 阅读 · 0 评论 -
Linux命令基础30-find命令
本文介绍find命令,find就是用来查找文件用的,在实验楼的zash环境,感觉这个find命令不好使,来看看下面的情况。1. find /etc -name filename2.find 在zash不好用,有点矛盾这里不知道*.conf就为什么不能找到gai.conf,哎搞不懂实验楼这个平台为什么不行,基本上了解find / -name filename 可以用来查找文件原创 2017-05-17 21:29:18 · 1653 阅读 · 0 评论 -
Linux命令基础31-wc命令
本文介绍一个有关统计的命令wc,wc是英文单词word count的缩写,中文就是单词统计的意思。下面来看看wc的基本用法和带参数用法。1.whatis wc2.桌面创建一个file.txt文件3.wc file,txt4.wc带参数用法原创 2017-05-17 21:42:56 · 1913 阅读 · 0 评论 -
Linux命令基础32-cal命令
本文介绍Linux下cal命令,cal是日历单词的缩写,来看看下面cal的常用用法。1.cal 或者cal -1 查看当前月份日历2. ncal 竖向显示日历有些国家的日历就是竖向,我们需要了解一下。3. cal 2017 显示一年日历4.cal 2 2018 查看某一年某一月日历5.cal -3 查看最近三个月日历原创 2017-05-17 21:54:19 · 1310 阅读 · 0 评论 -
Linux命令基础33-date命令
上一篇介绍了日历查询命令,这里介绍关于时间和日期命令date。1. date2. date +%d%h%y%d表示day,%h表示月份,%y表示年份。3.date 一些常见参数4.date 用横杆或者斜杠隔开5. date设置时间,这里实验楼权限问题不让设置,应该是和网络时间服务器同步。这里-s,s表示settings.原创 2017-05-18 21:49:20 · 1277 阅读 · 0 评论 -
Linux命令基础34-如何在一个终端一次运行多个命令
首先,你是否考虑过,在输入多个命令后,敲击回车,希望这多个命令都被执行。其实linux是允许这样做的。1. 采用分号(;)分隔多个命令2. 采用两个连接符(&&)3.如果命令之间有一个命令写错,不影响其他命令执行原创 2017-05-18 22:04:37 · 3971 阅读 · 0 评论 -
Linux命令基础35-ifconfig命令
本文介绍面试中被问概率比较高的,也是很基础和简单的一个命令,ifconfig是用来查看网络相关的一个命令,例如可以查看MAC地址,网络地址,网关等信息。1. whatis ifconfig2.直接ifconfig eth0表示有线网卡1,如果有多个网卡,可能还有eth1,eth2等等。如果是无线的笔记本,可能有wth0,表示无线网卡。上面可以看到硬件地址,I地址,原创 2017-05-18 22:13:19 · 1437 阅读 · 0 评论 -
Linux命令基础36-tar压缩包和解压命令
本文来介绍tar包的压缩和解压缩,这个好像也经常在面试中遇到的一个命令。1. 前提准备桌面创建一个文件夹,然后创建一个text.txt文件,随机输入一些字符。2. 创建压缩包 上面c是create,创建的意思,v是之前提到的verbose,就是可以看到这个命中执行发生了什么事情。f是file的意思。3.tar结尾的解压上面-x是表示extract,摘取的意思原创 2017-05-18 22:52:30 · 1604 阅读 · 0 评论 -
Linux命令基础37-grep命令
本文介绍Linux下grep命名,grep是英语“global search regular expression(RE) and print out the line”的缩写,意思是找到符合一定规则的字符并打印该行到终端。grep主要是用来在文件中匹配摘取一些按照一定规则的字符串,接下来,举例几个grep常用的使用方法。1. 创建一个file.txt用来测试2. grep "some原创 2017-05-19 21:27:38 · 1463 阅读 · 3 评论 -
Linux命令基础38-netstat命令
本文介绍Linux下的netstat命令,netstat是英文单词network status的缩写,就是网络状态查询的意思。1. netstat -a-a表示按照各个协议,分别统计连接数。按下q退出。2. netstat -a | less,和less命令结合使用,较少的查看内容3. netstat -at | less, t表示TCP4. netstat -原创 2017-05-19 21:45:04 · 1662 阅读 · 0 评论 -
Linux命令基础39-apt-get命令
本文介绍如何用apt-get来安装和卸载linux的软件包。这里我们通过安装php5来实验。1. apt-get update 可以升级下apt-get组件2.这里不得不提下源的概念和文件路径linux下安装软件都是根据配置源文件地址,去相应站点去下载和更新软件的。由于linux一般是国外的发行版本,源的站点一般也是国外,有时候,你经常看到网上有相关文章介绍如何修改本地源,例如原创 2017-05-19 22:28:13 · 1356 阅读 · 0 评论 -
Shell脚本基础1-先清楚几个概念
在前面Linux命令基础系列中第21篇文章,我们介绍了第一个shell脚本。从这一篇开始,我们正式介绍shell 脚本的编写。前面的文章都是为shell脚本做知识积累的。我们经常看到好多招聘条件,把shell划分在linux操作环境或者脚本语言,经常看到会Python和shell,runby,perl至少一门脚本语言。在这里,向你承诺,shell脚本编程绝对要比Python要简单,你要知道Pyth原创 2017-05-20 14:06:04 · 3371 阅读 · 3 评论