• 0
  • 0
分享
  • Linux终端常见用法总结——软件测试圈
  • 曼倩诙谐 2023-11-24 11:47:15 字数 2083 阅读 915 收藏 0

  Linux终端常见用法总结

  一、前言

  熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率,笔者结合自身学习实践,总结以下终端用法供同行交流学习。

  二、常见用法

  1.快捷键

  1.1.Alt + .

  在光标位置插入上一次执行命令的最后一个参数。

  1.2.Ctrl + R

  模糊搜索历史执行命令。下载安装fzf可以提升该命令的交互性。

  1.3.Ctrl + Z

  将正在执行的命令送入后台,以继续使用终端。执行bg命令可以查看后台正在执行的命令列表,执行fg命令可以调回后台正在执行的命令。

  1.4.Ctrl + A

  移动光标到首位字符。例如,在已输入命令前追加sudo,赋予命令执行权限。

  1.5.Ctrl + E

  移动光标到末位字符。例如,在已输入命令后追加&,将命令送入后台执行。

  1.6.Ctrl + U

  删除全部已输入字符。

  1.7.Ctrl + W

  删除光标所在单词。

  2.命令

  2.1.cd

  切换目录。例如,使用cd -回到上一次执行cd时所在目录。

  2.2.mkdir

  创建目录。例如,使用mkdir -p <**/*/dirname>创建嵌套目录。

  2.3.xargs

  将管道的标准输入作为执行命令的输入。例如,使用ls | xargs -I {} echo "{}"将ls展示的目录内文件列表重新分行打印,其中,-I {}是将标准输入表示为{}。

  2.4.tee

  将管道的标准输入同时写入标准输出和文件。例如,使用echo "foo" | tee <filename>打印文本并写入文件,使用echo “foo” | tee >(<command>)打印文本并作为命令输入,使用echo "foo" | tee >(xargs mkdir) >(wc -c)打印文本及其长度并创建同名目录。

  2.5.find

  在指定目录下查询目录或文件。例如,使用find . -f '*.log' -exec ls -l {} +将目录下log文件名转换为参数列表,使用find . -f '*.log' -exec ls -l {} \;逐行打印目录下log文件名。

  2.6.tr

  字符替换。例如,使用echo $PATH | tr ':' '\n'逐行打印系统路径。

  2.7.cut

  切分输入文本。例如,使用cur -f, 1 <csvfile>打印CSV文本的第一列。

  2.8.awk

  对多行输入文本中与模式(pattern)匹配的行实现基于列的操作(action)。例如,使用awk -F ',' '{print $NF}' <csvfile>打印CSV文本的最后一列。

  2.9.nohup

  命令执行进程不会随用户或终端退出。例如,使用nohup <command> &将命令进程送入后台,使用nohup >log.out 2>log.error保存命令执行日志。

  2.10.tar

  打包工具。例如,使用tar czvf <filename>.tar.gz打包并压缩日志文件,使用tar xvf <filename>.tar.gz解包文件。

  2.11.lsof

  列表已打开文件及其进程。例如,使用lsof -ti :<port> | xargs kill关闭端口进程。

  2.12.tail -f

  持续打印目标文件新增文本。例如,使用tail -f <filename>持续打印日志文件的新增文本。

  2.13.watch

  重复执行命令。例如,使用watch -n 1 nvidia-smi观测GPU的资源利用情况。

  2.14.top

  查看系统资源和进程的占用情况。

  2.15.du

  查看磁盘占用情况。例如,使用du -sh <dirname>查看目录的磁盘占用情况。

  3.特殊字符

  3.1.>

  重定向。例如,使用command >log.out将标准输出写入log.out,使用command >>log.out将标准输出追加到log.out末尾,使用command 2>log.err将标准错误写入log.err,使用command &>log将标准输出和标准错误写入log,使用command 2>&1 >dev/null只打印标准错误。

  3.2.$_

  上一次执行命令的最后一个参数。

  3.3.$?

  上一次执行命令的退出码。

  3.4.!!

  重复上一次执行命令。除此之外,还可以使用!*重复上一次执行命令的参数列表,使用!$重复上一次执行命令的最后一个参数。

  三、总结

  掌握Linux终端的常见用法不仅是编写脚本和实现自动化的基础,也能有效提高运维及开发人员的系统运维和故障排查能力。本文从Linux终端快捷键、命令及特殊字符三大类出发,分别介绍常见用法并例举,希望与同行分享,共同学习进步。


作者:任吉宏    

来源:http://www.51testing.com/html/46/n-7798346.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   软件测试行业是我国近些年兴起的行业之一,因此很多人都想要知道目前软件测试就业前景怎样?值不值得入?  其实就软件测试前景可以从以下几个方面来分析:  1、互联网发展需求  在这万物互联、生活事事都软件化智能化的时代,软件测试不管何时何地都会占有一席重要之地的,所以也许其他行业会被替代,但是软件测试不会。  2、需求量大  基本上任何一个成型的互联网公司都是需要软件测试工程师的,而根据有关数据的调查,软件测试行业每年以30万人才缺口递增,所以整个市场缺口是非常大的。  3、入门门槛相对较低  零基础可入门,代码能力要求相对来说较低,就拿小编的朋友来说,他在做测试员工作之前,是一家小公司的运营...
            0 0 772
            分享
          • 1、selenium中如何判断元素是否存在?isElementPresent2、selenium中hidden或者是display = none的元素是否可以定位到?不能3、selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?添加元素智能等待时间 driver.implicitly_wait(30)try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种4、如何提高selenium脚本的执行速度?代码优化5、用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没...
            0 0 854
            分享
          • 在带一些测试新人的时候,发现大家的测试比较随意,基本上是看到哪测哪,提交的bug基本都是一眼可见的那种,很少带入用户实际使用场景,或者有两到三步的操作都是少之又少的,这样的版本上线之后会有什么问题呢,就是用户刚下载这个软件使用时ok的,但是随着使用次数增多,使用时间延长,一些问题逐渐浮出水面。如果这些问题是必现问题还好,研发还好解决,如果是偶现的,那就不好搞了,用户是不会愿意或者说没有时间去帮你复现问题的。因此,我们强调,测试期间,一定要有章法,保证能发现并解决大部分bug。当开发发布一个全新版本时,测试就要开始干活了,这个时候,bug一般都是比较多的,好像随便测测都能找到不少问题。但是为了报...
            5 5 7716
            分享
          • 快速迭代测试中经常遇到这种场景:假设今天17号周三,接到测试任务26号(周五)必须发布现场,22号(周一)给版本,能测试完成么?下周一:研发延期,周三才能给出,能测试完成么,周五必须发布现场........思路:测试这些功能+环境的工作量测试预估多少,现在可以安排几个人,根据人员、时间确定测试那些测试以及测试颗粒度。版本发布现象需要哪些测试:1、每个(dev--->test--->stage--->prod)环境冒烟测试—各2H;2、Bug验证,根据Bug数量、复现难易程度来确定;3、每个环境测试,详细测试(安装部署+功能详细测试+异常+专项等)预计两周;4、上版本服务器(必...
            1 2 3656
            分享
          • 1. 为什么要做压测什么是压力测试?不断向被测对象施加压力,测试系统在压力情况下的表现。压力测试的目的是什么?测试得出系统的极限性能指标,从而给出合理的承诺值或者容量告警;找出系统的性能瓶颈,对性能做出优化;测试系统在高负载情况下的稳定性;验证系统在过载情况下的限流和降级预案。不做压测会产生什么问题?线上容量评估不准确,流量增加,服务被打挂升级前没做压测,升级后性能出现劣化,可用性降低;无法给出准确的承诺值,导致集群水位过低,资源被浪费或者集群水位过高系统存在稳定性bug;2. 压测方案设计压测环境压测环境可以简单的分为模块级压测和链路级压测,它们的主要特点和区别如下:模块级压测应用场景:比较...
            0 0 1415
            分享
      • 51testing软件测试圈微信