测试常用linux命令1
进程相关:
1,查看所有进程(包含历史进程):
ps -ef 各个参数的含义依次是uid,pid,ppid,c(cpu利用率),stime(进程启动时间),tty,time,cmd
2,动态查看进程top
top命令的详细用法可以参见:
http://www.2cto.com/os/201209/157960.html
注意命令中的相关字段:
对于cpu,分为us(用户空间占用cpu百分比);sy(系统空间占用cpu百分比);id(空闲cpu百分比);wa(IO等待占用cpu百分比)
其中的各个字段:PID(进行id);USER(进程所有者);PR(进程优先级); VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM 进程使用的物理内存百分比
3, 后台运行进程
前台运行有:. ,sh,source
后台运行进程:再命令后面加一个&,不过这种方法,如果会话退出,那么后台进程也随之退出
如果需要会话退出的时候,进程不退出,那么方法是nohup。例如nohup ./test &。需要注意,nohup会从终端解除进程的关联,丢掉到stdout和stderror链接,而是将这两部分消息都重定向到nohup.out文件中
定时运行 at(预设时间运行) ,cron(定期运行);
开机或用户启动时运行:.bash_profile,bashrc文件位于用户主目录,前者在用户每次登录时运行,后者在每个shell启动时运行
4,结束进程:
重温linux信号量,常用的有SIGHUP(挂起进程),SIGINT(终止进程),SIGKILL(无条件终止进程),SIFTSTP(暂停进程,但并不终止)
a) ctrl+c:产生SIGHUP信号,发送给shell中当前运行的进程
b) ctrl+z:生成一个SIGTSTP信号,暂停进程,不过该进程继续保留在内存中,能从上次停止的地方继续运行。
如果想要进一步终止,可以用ps au(STAT字段为S代表被停止或追踪),也可以使用jobs查看后台进程,之后再用kill命令杀死
如果恢复可以用bg,fg等命令。
c)kill/killall 发出SIFKILL信号,无条件终止进程,killall可以直接使用进程名字,并可以使用通配符
2,网络命令
查看本机ip hostname -i
查看远程机器ip : ping (机器名称),host等等
查看进程占用的端口号
[root@nbatest ~]# netstat -anp | grep 进程名称
netstat -anp
查看使用端口号的进程
lsof
[root@nbatest ~]# lsof -i: 端口号
3,监测磁盘空间
df -h(用户可读的形式):显示某个设备还有多少磁盘空间
du -sh :显示特定目录下的磁盘使用情况
4,流程控制语句(if依据的是命令回传码$0,而不是其他语言中常见的true或者false,只不过利用test或者中括号进行判断的时候,类似于达到了true或者false的效果)
if then fi(then不能省略)
其中的条件判断分为三类:数值判断,字符串判断,文件判断(test,[]两种方式,推荐使用后者)
数值判断:-eq,-gt,-lt,-ne,-ge,-le
字符串判断: =,!=,<,>,-n(长度是否非0),-z(长度是否为0);注意大小写符号必须使用\进行转义,否则会被当成重定向命令
文件判断:-d,-f,-e,-s(判断文件是否存在且非空),-nt,-ot
if双尖括号(())中可以放置数学表达式;[[]]可以进行正则匹配
普通的数学运算也可以放置在$[]中
${}不能放置$,需要将$符号换成!号
由此得到遍历命令行参数的两种方法:
for arg in $@
do
echo $arg
done #方法2 for((i=;i<=$#;i++))
do
echo ${!i}
done
遍历shell脚本命令行参数
6, vim缩进格式化 gg=G
8,目录覆盖
cp -r ./test/* ./test/
9,nohup 用户退出,进程依旧执行
10, ls | xargs wc -l 是将显示的文件名作为wc -l的参数执行,目录下有多少个文件就执行多少次
ls | xargs -i mv {} {}.bak 将目录下的所有文件都重命名为xxxx.bak
11,找到某个程序存放目录,包括bin,source,etc等 where is mysq
12, 垃圾桶黑洞 /dev/null
将错误信息忽略 find /home -name .bashrc 2> /dev/null
将标准输出和错误输出到同一个文件中
ls . &>list 或者 ls . >list 2 >&1
13, 命令运行的判断依据 &?(命令回传值)与&&或||
&?命令回传值,&&正确则执行,否则不执行。||与之相反
cmd1&&cmd2||cmd3正确执行2,否则执行3
关于命令行的参数:
1,$#代表参数个数;$0代表脚本命令(`basename $0`);$1...代表各个参数,如果脚本需要多于9个参数,需要稍微修改一下变量名,如${10};$*将所有的参数作为一个单词保存,然而$@则是作为不同的单词。选取最后一个参数,需要用${!#}而不是${$#}
2,shift可以用来移动变量,利用它某种程度可以实现可变参数,但要注意一个参数被移除之后,它的值就会被丢掉而且无法恢复。某些时候可以用来分离参数和选项。(不过更常用的是使用getopt方法)
测试常用linux命令1的更多相关文章
- 测试常用Linux命令
大家应该经常在网络上看到下图吧,虽然我们不会去执行下面图片中的命令,但是linux常用的命令对于测试人员来说,还是必须掌握的,不管是做功能测试还是性能测试,最常用的就是看日志了. sudo是linux ...
- 测试常用Linux命令总结
1.显示目录和文件的命令 Ls:用于查看所有文件夹的命令. Dir:用于显示指定文件夹和目录的命令 Tree: 以树状图列出目录内容 Du:显示目录或文件大小 2.修改目录,文件权限和属主及数组命 ...
- 测试常用linux命令之系统监测
top命令: cpu使用情况,内存等 du -hs: 查看目录大小 df -h :查看磁盘使用情况 free: 查看电脑整体内存使用情况 uptime:系统时间,用户数目等 vmstat:内存使用,进 ...
- 测试常用linux命令之sed篇
一.sed命令 可以放在单独的脚本文件中执行:sed -f script1 data1 多条命令也可以用{}括起来 sed可以进行文本的替换,删除,行添加,打印等.采用 sed [address]{c ...
- 十五个最常用Linux命令行 - imsoft.cnblogs
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...
- 常用Linux命令小结
常用Linux命令小结 Linux下有很多常用的很有用的命令,这种命令用的多了就熟了,对于我来说,如果长时间没有用的话,就容易忘记.当然,可以到时候用man命令查看帮助,但是,到时候查找的话未免有些临 ...
- 77个常用Linux命令和工具
77个常用Linux命令和工具 Linux管理员不能单靠GUI图形界面吃饭.这就是我们编辑这篇最实用Linux命令手册的原因.这个指南是特别为Linux管理员和系统管理员 设计的,汇集了最有用的一些工 ...
- 常用Linux命令笔记
任何脱离业务的架构都是耍流氓 只记录实际常用的Linux命令 常用Linux命令 查找安装路径: whereis nginx 查询nginx进程: ps aux|grep nginx 查看 CentO ...
- 常用 Linux 命令的基本使用
常用 Linux 命令的基本使用 操作系统 作用:管理好硬件设备,让软件可以和硬件发生交互类型 桌面操作系统 Windows macos linux 服务器操作系统 linux Windows ser ...
随机推荐
- 《深入浅出WPF》学习总结之控件与布局
一.控件到底是什么 控件的本质是“数据+算法”——用户输入原始数据,算法处理原始数据并得到结果数据.问题就在于程序如何将结果数据展示给用户.同样一组数据,你可以使用LED阵列显示出来,或者是以命令行模 ...
- re库的使用
re库的使用 精确匹配 如果直接给出字符,就是精确匹配.用\d可以匹配一个数字,\w可以匹配一个字母或数字 s1='00\d'#可以匹配'007',但是匹配不了'00A' s2='\d\d\d'#可以 ...
- django商城项目之用sentry管理日志
之前写商城项目的时候,采用的日志处理方式为在终端输出或者写入文件,这样的话,项目部署上线之后,若服务器出现错误,需要到服务器查看相关的错误日志,很不方便.后期在学习别人开源项目的时候,学习到一个开源的 ...
- 好用的 Puppeteer 辅助工具 Puppeteer Recorder
Puppeteer Puppeteer 是一个Node库,它提供了一个高级API来控制DevTools协议上的Chrome或Chromium,常用于爬虫.自动化测试等,你在浏览器手动完成的大多数事情都 ...
- HDU 2196 Computer( 树上节点的最远距离 )
Computer Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- 「POI2010」反对称 Antisymmetry (manacher算法)
# 2452. 「POI2010」反对称 Antisymmetry [题目描述] 对于一个 $0/1$ 字符串,如果将这个字符串 $0$ 和 $1$ 取反后,再将整个串反过来和原串一样,就称作「反对称 ...
- Zookeeper入门概要
ZooKeeper是一个开源的分布式协调服务,由雅虎创建,是Google Chubby的开源实现.ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集 ...
- 前端开发HTML&CSS入门——具体是做什么的
软件开发,一提起来感觉这个感觉这个词范围很大很广,说起来也很笼统.不知所云,开发的到底是什么?或者说开发的具体内容是什么?以前我们讲软件开发主要是分前端和后端,那前端和后端又是什么那?你可以这么通俗的 ...
- Nginx 编译安装工程优化
1.减小 nginx 编译后的文件大小 在编译 nginx 时,默认以 debug 模式进行,在 debug 模式下会插入很多跟踪和 assert 之类的信息. 在 nginx 源码文件解压后,找到源 ...
- windows上的QT发布
1. 生成exe 1.1 release 条件下编译 1.2 将QT bin路径加入到path中去 1.3 将1.1生成的exe拷贝到单独的目录,然后cmd到这个目录,使用windeployqt编译 ...