当前位置: 首页 > news >正文

测试工作中经常用到的一丢Linux命令

自己平时测试工作中经常要在Linux下搭建测试环境,有涉及到启动/终止服务器,修改tomcat配置文件,偶尔碰到端口被占用。。。

这时就不得不需要一些基本的Linux命令来处理遇到的这些问题

1.cd命令

用于切换目录(可以一级一级地切换,也可以一次性切换到指定目录)

[han@56 ~]$ cd shipping/
[han@56 ~]$ cd shipping/apache-tomcat-7.0.55/bin/
[han@56 ~]$ cd ..        返回上一级目录
[han@56 ~]$ cd /         返回根目录

2.ls命令

显示当前目录中有哪些文件

[han@56 ~]$ ls
2017-03-27_all.log  gold  shipping  test
 
[han@56 ~]$ ls -a      显示所有文件,包括隐藏文件(前面带有"."的文件)
.   2017-03-27_all.log  .bash_history  .bashrc  .java     shipping  test
..  .ansible            .bash_profile  gold     .lesshst  .ssh      .viminfo
 
[han@56 ~]$ ls -l       显示文件的详细信息
总用量 276
-rw-r--r--. 1 hanmengkai Default 269527 3月  27 16:41 2017-03-27_all.log
drwxr-xr-x. 4 hanmengkai Default   4096 3月   2 09:41 gold
drwxr-xr-x. 3 hanmengkai Default   4096 3月   1 18:58 shipping
drwxr-xr-x. 3 hanmengkai Default   4096 5月  12 13:56 test

3.mkdir命令

创建目录 

[han@56 test]$ mkdir kk     在当前目录下创建一个新目录
[han@56 test]$ mkdir qq aa   同时创建多个目录
[han@56 test]$ mkdir -p kk/mk   加上-p参数,就可以在某个目录下创建一个新目录

4.rm命令

删除文件或目录

[han@56 test]$ rm sh.xml        删除一个文件(后跟文件名)
[han@56 test]$ rm -i ssa.xml      加上参数-i,删除前会询问是否删除
rm:是否删除普通文件 "ssa.xml"?
 
[han@56 test]$ rm -i *.log          删除任何.log文件;删除前逐一询问确认
rm:是否删除普通空文件 "1.log"?n
rm:是否删除普通空文件 "2.log"?n
rm:是否删除普通空文件 "3.log"?n
 
[han@56 test]$ rm -r kk       加上参数-r,表示删除目录kk
 
[han@56 test]$ rm -ri qq     将qq目录及目录中档案删除,(不加i参数,则不会询问)
rm:是否进入目录"qq"? y
rm:是否进入目录"qq/qq"? y
rm:是否删除目录 "qq/qq/km"?y
rm:是否删除目录 "qq/qq/mk"?y<br><br>删除一个目录及其中的子目录,不作询问<br>rm -rf    -f 就是直接强行删除

5.cp命令

复制文件或目录

cp [选项]... 源... 目的
 
[han@56 test]$ cp 1.log aa/    将1.log文件复制到aa目录下<br>
[han@56 test]$ cp -r aa/ ccvv/   将aa目录及目录中的内容复制到ccvv目录下
 
[han@56 test]$ cp  -a 1.log 2.log   复制(备份)一个1.log文件,新文件的名字为2.log
 
[han@56 test]$ cp aa/1.log sh/   将aa目录下的1.log文件复制到sh目录下

6.tar命令

可以把一堆文件或目录打包成一个文件,即可以打包、压缩、解压

语法:tar  参数  打包压缩后文件名  需要打包的文件/目录名
常用参数:-c  打包
         -x  从压缩包中提取文件
         -v  显示操作过程
         -f   指定压缩/解压文件名
         -z   打包同时压缩/解压缩
 
[han@56 test]$ tar -cvf log.tar 1.log 2.log 3.log     将3个log文件打成tar包,命名为log.tar
han@56 test]$ tar -xvf log.tar    解包
 
[han@56 test]$ tar -zcvf log.tar.gz 1.log 2.log 3.log     将3个log文件打成tar包并以gzip格式压缩,命名为log.tar.gz
 
[han@56 aa]$ tar -zxvf log.tar.gz     将log.tar.gz解压至当前文件夹
[han@56 aa]$ tar -zxvf log.tar.gz 1.log   只将压缩包中的1.log文件解压出来
 
[han@56 aa]$ tar -ztvf log.tar.gz    查看log.tar.gz中的文件名称(参数t)
-rw-r--r-- hanmengkai/Default 7 2017-05-12 15:34 1.log
-rw-r--r-- hanmengkai/Default 0 2017-05-12 15:15 2.log
-rw-r--r-- hanmengkai/Default 0 2017-05-12 15:15 3.log
 
[han@56 aa]$ tar -zxvf log.tar.gz -C  wq/   -C参数可以将压缩包解压至指定的目录(这里指定的wq目录)

7.true命令

清空文件中的内容  

[han@56 aa]$ true >catalina.out  这样就把文件中的内容清空了(可以在查看日志的时候用,先清空已存在日志,再重新打出日志,这样看起来眼睛就不容易瞎了。。。)

8.zip命令

压缩服务器上当前目录的内容为xxx.zip文件

zip -r xxx.zip ./*

解压zip文件到当前目录

unzip filename.zip

9.查看文件内容

(1)动态查看日志文件

[root@host-172-17-16-183 logs]# tail -f catalina.out

(2)查看文件的后100行

[root@host-172-17-16-183 logs]# tail -n 100 catalina.out 
加上-n参数,100表示看后100行

 10.vi命令编辑文件时的常用操作

(1)vi + 文件名进入文件后,先别切换至编辑模式,输入“:n”可以定位至第n行

(2)vi + 文件名进入文件后,先别切换至编辑模式,输入“dd”可以删除光标所在的那一行内容

(3)查看文件中包含某个字符

首先使用vi打开文件,然后输入/,斜杠后输入要查找的字符即可,如下

11.查找一个文件所在的位置

find命令

[root@host-172-17-16-183 logs]# find / -name nginx.conf  在根目录下查找nginx.conf文件
[root@host-172-17-16-183 logs]# find /etc -name '*srm*'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
[root@host-172-17-16-183 logs]# find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串‘srm’的文件

 12.查看linux版本信息的一批命令

[root@localhost ~]# uname -a   #显示电脑以及操作系统的相关信息
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# cat /proc/version   #内核版本
Linux version 3.10.0-514.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016
[root@localhost ~]# cat /etc/issue    #发行版本信息
\S
Kernel \r on an \m
[root@localhost ~]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID:    CentOS
Description:    CentOS Linux release 7.3.1611 (Core)
Release:    7.3.1611
Codename:    Core
[root@localhost ~]#

13.vi模式下快速移动到行首或行尾

打开文件,不进入插入模式(不进入insert模式)

移动至行首:【Shift】+^(对应键盘上的数字6上面的符号)

移动至行尾:【Shift】+$(对应键盘上的数字4上面的符号)

 14.vi模式下批量修改一个文件中的字符串(比如把一个配置文件中的一个ip改为另一个ip)

 文件内全部替换:
首先vi打开一个文件,然后使用如下命令
 :%s#localhost#192.168.0.11#g (如文件内有#,可用/替换,:%s/localhost/192.168.0.11/g)
  --注:把localhost替换成192.168.0.11

15.文件解压后,撤销解压

zip

zipinfo -1 xx.zip | xargs rm -rf

tar

tar -tf xx.tar | xargs rm -rf

 16.把一台服务器的文件复制到另一台服务器

1、复制文件 
格式: 
scp 目录/文件名.文件格式 目标服务器用户名@ip地址:目标服务器目录 

scp /u01/xxx.war 账号@ip:/u01/xx
2、复制目录(包括目录下的文件)
scp -r /u01/weblogic 账号@ip:/u01/weblogic

 

转载于:https://www.cnblogs.com/insane-Mr-Li/p/11224855.html

相关文章:

  • HDU 1086 You can Solve a Geometry Problem too
  • [Notes]python argparse模块
  • 最新50个不错的免费PSD素材下载(下篇)
  • Hibernate(五)之一对多多对一映射关系
  • Windows 7的预备知识系列之二:认识Windows 7中的窗口
  • [jquery]this触发自身click事件,当前控件向上滑出
  • 转:获取网页URL地址及参数等的两种方法(js和C#)
  • 前后端数据交互的方式有哪些?
  • MongoDB.Mastering_Find()
  • windows7编程-任务栏进度条
  • CRC8算法DELPHI源码
  • NHibernate 快速入门(四)使用 HQL 查询数据
  • HashMap底层实现原理
  • Location Aware DNS Server-----项目部署说明
  • pyqt 调用QT设计师创建的对话框
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • Akka系列(七):Actor持久化之Akka persistence
  • C++入门教程(10):for 语句
  • download使用浅析
  • Fabric架构演变之路
  • gops —— Go 程序诊断分析工具
  • Mysql优化
  • Netty 4.1 源代码学习:线程模型
  • Promise面试题2实现异步串行执行
  • python 学习笔记 - Queue Pipes,进程间通讯
  • windows下mongoDB的环境配置
  • 订阅Forge Viewer所有的事件
  • 规范化安全开发 KOA 手脚架
  • 基于web的全景—— Pannellum小试
  • 聊聊sentinel的DegradeSlot
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 如何实现 font-size 的响应式
  • 事件委托的小应用
  • 通过git安装npm私有模块
  • hi-nginx-1.3.4编译安装
  • 积累各种好的链接
  • ![CDATA[ ]] 是什么东东
  • # 飞书APP集成平台-数字化落地
  • #14vue3生成表单并跳转到外部地址的方式
  • #pragma pack(1)
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (ZT)一个美国文科博士的YardLife
  • (八)Spring源码解析:Spring MVC
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)计算机毕业设计ssm电影分享网站
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)菜鸟学数据库(三)——存储过程
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET Core WebAPI中封装Swagger配置
  • .NET gRPC 和RESTful简单对比
  • .NET 动态调用WebService + WSE + UsernameToken