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

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

1.cd命令

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

[han@ ~]$ cd shipping/
[han@ ~]$ cd shipping/apache-tomcat-7.0./bin/
[han@ ~]$ cd .. 返回上一级目录
[han@ ~]$ cd / 返回根目录 返回上一次的目录
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 显示文件的详细信息 简写为ll
总用量 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 删除一个目录及其中的子目录,不作询问
rm -rf -f 就是直接强行删除

5.cp命令

复制文件或目录

cp [选项]... 源... 目的

[han@56 test]$ cp 1.log aa/    将1.log文件复制到aa目录下
[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---- logs]# tail -f catalina.out

(2)查看文件的后100行

[root@host---- logs]# tail -n  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.
 
15.文件解压后,撤销解压
zip

zipinfo - 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
 

测试工作中经常用到的一丢Linux命令的更多相关文章

  1. 测试工作中经常用到的几个Linux命令(第一弹)

    自己平时测试工作中经常要在Linux下搭建测试环境,有涉及到启动/终止服务器,修改tomcat配置文件,偶尔碰到端口被占用... 这时就不得不需要一些基本的Linux命令来处理遇到的这些问题(顺便迈向 ...

  2. 测试工作中ADB命令实战

    作者:TT,<测试架构师>微信公众号作者 大家能点击进来,说明还是对ADB有所了解或听说过的,可能也会比较熟练的掌握了这些命令,下面描述如有不对的地方,欢迎指正和交流学习,请多指教! 一. ...

  3. 运维工作中常用到的几个rsync同步命令

    作为一个运维工程师,经常可能会面对几十台.几百台甚至上千台服务器,除了批量操作外,环境同步.数据同步也是必不可少的技能.说到“同步”,不得不提的利器就是rsync. 下面结合本人近几年运维工作中对这一 ...

  4. git工作中最常用的用法教程,不走命令行

    ·1.1 git的概述 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.  Git 是 Linus Torvalds 为了帮助管理 Lin ...

  5. BeatifulSoup在测试工作中的应用

    近期要做一个项目,重复性劳动比较多,小伙伴建议我用Jsoup,但是由于项目紧急,我直接选择了BeautifulSoup,关键原因是我Java语言不如Python掌握的熟练啊!所以,查了一圈它的中文文档 ...

  6. 工作中常用Lixu命令学习笔记

    对于Linux,我是菜鸟,也是在工作中了才开始慢慢接触,用Linux的人都我都会觉得屌屌的,现在把工作中常用的一些Linux命令记录一下,供以后学习和参考. cd 这可能是我觉得Linux最简单的一个 ...

  7. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  8. [工作中的设计模式]享元模式模式FlyWeight

    一.模式解析 Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意.享元模式是对象的结构模式.享元模式以共享的方式高效地支持 ...

  9. LoadRunner测试场景中添加负载生成器

    如何在LoadRunner测试场景中添加负载生成器 本文对如何在LoadRunner的测试场景中添加负载生成器,如何使用负载生成器的方法,总结形成操作指导手册,以指导测试人员指导开展相关工作. 1.什 ...

随机推荐

  1. sql 事务运用实例

    ------------------------------ create proc SaveFinancialProduct@FinancialName nvarchar(50),--产品名称@Yi ...

  2. Perl的debug小技巧

    进入Perl的调试环境的命令:  Perl  -d  perl_file 设置断点:b + perl代码中的行号. 执行到断点:c 表示continue until breakpoint. 执行下一条 ...

  3. mybatis例子

    mybatis的mapper不允许重载,因为它需要通过方法名称[不加签名]去查找需要执行的sql 1.批量删除 <delete id="deletePlanLocations" ...

  4. Vlock用于有多个用户访问控制台的共享 Linux 系统

    当你在共享的系统上工作时,你可能不希望其他用户偷窥你的控制台中看你在做什么.如果是这样,我知道有个简单的技巧来锁定自己的会话,同时仍然允许其他用户在其他虚拟控制台上使用该系统. 要感谢Vlock(Vi ...

  5. c++第十七天

    p101~p104: 1.数组中的元素个数也属于数组类型的一部分. 2.编译的时候数组的维度应该是已知的,也就是说维度必须是 const expression 3.const expression 是 ...

  6. SACD ISO镜像中提取DSDIFF(DFF)、DSF文件

                      听语音 | 浏览:5620 | 更新:2015-08-25 11:46 | 标签:硬件 1 2 3 4 5 分步阅读 现在有一种比较流行的无损音乐传输介质是SACD ...

  7. tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)

    之所以sockjs会存在,说得不好听点,就是因为微软是个流氓,现在使用windows 7的系统仍然有近半,而windows 7默认自带的是ie 8,有些会自动更新到ie 9,但是大部分非IT用户其实都 ...

  8. HTML5 Chart.js 框架

    HTML5 Chart.js 框架 版权声明:未经博主授权,内容严禁转载 ! Chart.js 概述: chart.js 是一个简单的.面向对象.为设计者开发者准备的图表绘制工具. 点击进入官方网址 ...

  9. Unix/Linux系统编程

    一,开发工具 编译器 GCC 调试工具 GDB 代码编辑 Vim 1. 编译命令 gcc hello.c -o hello # 第二个hello为新生成的可执行文件名 -o 为生成的可执行文件指定名称 ...

  10. 【转载】浅谈JavaScript,let和var定义变量的区别

    了解JS与ES5与ES6区别 JS语言 JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能. 动态: 在运行时确定数据类型.变量使用之前不需要类型声明, ...