测试人员必会的linux常用命令(干货系列)

作为一名测试人员,工作中不可避免的需要操作服务器,一般常用的操作即可,但不得不说,当你懂得更多的时候,你的工作效率要比其他同事高,这也是为啥,面试的时候经常会被面试官提问linux常用命令的原因。下面介绍一些作为测试人员必须会的linux常用命令,当然基于本人能力有限,欢迎大家指正批评


一、链接命令

  • ln -s [源文件] [目标文件]
  • 命令英文原意:link
  • 功能描述:生成链接文件
    • 选项:-s 创建软链接

需要搞懂的就是两个概念,硬链接和软链接。软链接其实很好理解,就相当于windows系统的快捷方式,当源文件删除之后,软链接也随之失效。但硬链接可以简单理解为文件复制(当然这个理解不正确),源文件删除,并不会影响目标文件的使用。查看文件时,如果注意观察,会发现,每一个文件后面都会有一个链接数,这个指的就是硬链接数。只有文件的硬链接数等于0后,该文件才会真正的被linux系统回收,要不然这个文件的空间仍然系统被占用着。

工作场景:

  1. 需要查找的文件目录比较深,并且并非经常使用(例如配置文件),这个时候,在/home目录下创建一个软链接就显的非常有必要了
  2. 删除文件的时候,注意观察一下文件的硬链接数,有助于帮你理解该文件是否真正被释放

二、文件搜索命令

  • locate [文件名]

该命令不是在linux系统中查找,而是在linux自带的数据库中进行搜索,这样带来的好处就是,搜索速度相比于find要快很多。数据库的更新时间为一天更新一次,如果你想找的是今天创建的文件,需要先使用updatedb(更新数据库)。

使用场景:

  1. 明确记得文件名,或者大概记得(可以使用正则匹配),并且明确记得文件的目录,但该目录下文件数量众多,肉眼查找非常花费时间时,优先采用该命令
  2. 部分替代find -name [文件名],提升工作效率
  • find [搜索范围] [搜索条件]

参数:

  1. size——大小
  2. name——文件名
  3. mtime——修改时间(单位为天)

工作场景:

1.服务器硬盘空间不足,需要删除历史日志时,这个命令就显得格外重要了

find ./ -size +10M -exec ls -ilh {} \;
find ./ -mtime +10 -exec rm -rf {} \;

exec的意思就是将前面的指令执行出的结果放到后面{}中取执行,这样很明显,第一行是显示所在目录下大于10M文件的详情;第二行是删除所在目录下10天前修改过的文件。这个命令比你使用

rm -rf app.log.2019*

这个命令要智慧的多吧。

2.文件忘记放在哪个目录了,可以使用如下命令

find /etc/ -name mylover* -exec ls -hl {} \;
  • grep [选项] [字符串] [文件名]

find和grep区别,find查找文件,grep查找文件里的内容

工作场景:

1.不止忘记文件目录,连文件名都忘了...只是模糊的记得在文件中隐约有这么一条数据的时候,就可以采用该命令进行搜索了

2.查看日志的时候,日志在不停的刷新,但我只想查看某一接口的日志,其他日志并不想看,可以使用如下命令

tail -f app.log | grep -10 "tony*" --color

三、输出重定向

  • 命令 >> 文件 2>&1
  • 命令 &>>文件
  • 命令 >> 文件1 2>>文件2

以上命令都是将正确输出和错误输出同时保存

工作场景:

1.jenkins配置服务器的启动命令的时候,就可以使用这个命令将输出日志保存起来,以免发生错误进行排查

2.执行某个脚本,日志比较多,且时间长,也可以通过该方法将日志进行保存

 

想到还有其他的,再补充...

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章