zoukankan      html  css  js  c++  java
  • 测试人员常用Linux命令

    1.防火墙
    1) 重启后生效
    开启: chkconfig iptables on
    关闭: chkconfig iptables off
    2) 即时生效,重启后失效
    开启: service iptables start
    关闭: service iptables stop
    查看状态 service iptables status
    
    
    2.关机
    # shutdown -h now #立刻关机
    # shutdown -h 2:30 'halt' #2点30分关机,注意以本机时间为准
    # halt -p #立刻关机
    # init 0 #立即将系统运行级别切换为0,即关机
    # shutdown -r now #立刻重启
    
    
    3.重启
    # shutdown -k now 'reboot' #发出警告讯息,但没有真的关机.
    # shutdown -t10 -r now #立刻重启, 但在警告和删除processes之间,延迟10秒钟.
    # init 6 #立即将系统运行级别切换为6,即重启
    # shutdown -r +10 'reboot' #10分钟后重启
    # shutdown -c #取消之前的shutdown命令
    # shutdown now #切换至单人操作模式(不加任何选项时)
    
    4.修改系统时间
    date 时间窗口
    date -s '2017-08-01 10:10:00' 更改年月日小时分秒
    date -s 10:00:02 只更改时间 不更改年月
    clock -w 写入系统时间
    hwclock 同步bios 时间
    service ntpdate start 开启网络时间同步
    systemctl start ntpdate.service 开启网络时间同步 Red Hat 7
    chkconfig --leves 2345 ntpdate on 开机启动
    
    时区:
    date -R
    tzselect
    
    5、端口
    1、lsof -i:端口号
    2、netstat -tunlp|grep 端口号
    3、netstat -anp|grep 80
    端口启用、停止
    1、开启端口(以80端口为例)
    
    方法一:
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改
    /etc/init.d/iptables save 保存修改
    service iptables restart 重启防火墙,修改生效
    方法二:
    vi /etc/sysconfig/iptables 打开配置文件加入如下语句:
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 重启防火墙,修改完成
    2、关闭端口
    
    方法一:
    /sbin/iptables -I INPUT -p tcp --dport 80 -j DROP 写入修改
    /etc/init.d/iptables save 保存修改
    service iptables restart 重启防火墙,修改生效
    方法二:
    vi /etc/sysconfig/iptables 打开配置文件加入如下语句:
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP 重启防火墙,修改完成
    
    
    6、查看CPU、内存配置
    硬盘: df -h
    CPU、内存: top
    ##CPU型号查看:cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
    ##从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
    ##查看cpu是几核的,也可以用命令显示,4代表就是4核
    cat /proc/cpuinfo |grep "cores"|uniq cpu cores : 4
    ##查看物理CPU的个数,1代表只有一个物理CPU
    cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
    
    查看显卡:lspci |grep -i vga
    
    7、终端乱码修改
    # vim /etc/sysconfig/i18n
    修改为:
    LANG="en_US.UTF-8"
    SYSFONT="latarcyrheb-sun16"
    
    9.top界面介绍
    第一行:
    13:42:59 当前系统时间
    6 days, 9:29 系统已经运行了6天6小时29分钟(在这期间没有重启过)
    3 users 当前有3个用户登录系统
    load average: 3.06,3.01, 1.79 load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
    load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
    第二行:
    Tasks 任务(进程),系统现在共有131个进程,其中处于运行中的有3个,127个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有1个。
    第三行:cpu状态
    10.6% us 用户空间占用CPU的百分比。
    2.2% sy 内核空间占用CPU的百分比。
    0.0% ni 改变过优先级的进程占用CPU的百分比
    84.5% id 空闲CPU百分比
    2.5% wa IO等待占用CPU的百分比
    0.1% hi 硬中断(Hardware IRQ)占用CPU的百分比
    0.0% si 软中断(Software Interrupts)占用CPU的百分比
    在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了。
    第四行:内存状态
    8300124k total 物理内存总量(8GB)
    5979476k used 使用中的内存总量(5.7GB)
    2320648k free 空闲内存总量(2.2G)
    455544k buffers 缓存的内存量 (434M)
    第五行:swap交换分区
    8193108k total 交换区总量(8GB)
    41568k used 使用的交换区总量(40.6M)
    8151540k free 空闲交换区总量(8GB)
    4217456k cached 缓冲的交换区总量(4GB)
    ****内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,
    还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
    ****可用内存的近似计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存: 2320648+455544 +4217456 = 6.6GB。
    ****在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
    第七行以下:各进程(任务)的状态监控
    PID 进程id
    USER 进程所有者
    PR 进程优先级
    NI nice值。负值表示高优先级,正值表示低优先级
    VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR 共享内存大小,单位kb
    S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    %CPU 上+——次更新到现在的CPU时间占用百分比
    %MEM 进程使用的物理内存百分比
    TIME+ 进程使用的CPU时间总计,单位1/100秒
    COMMAND 进程名称(命令名/命令行)
    ********************多U多核CPU监控****************************************************
    在top基本视图中,按键盘数字1,可监控每个逻辑CPU的状况:
    默认进入top时,各进程是按照CPU的占用量来排序的,在【top视图 01】中进程ID为3527的mysqld进程排在第一(cpu占用2%),进程ID为26955的java进程排在第二(cpu占用1%)。
    可通过键盘指令来改变排序字段,比如想监控哪个进程占用MEM最多,我一般的使用方法如下:
    1. 敲击键盘b(打开/关闭加亮效果),top的视图变化如下:
    我们发现进程id为20517的top进程被加亮了,一般为运行状态(runing)的进程才被加亮,可以通过敲击y键关闭或打开运行态进程的加亮效果。
    2. 敲击键盘x(打开/关闭排序列的加亮效果),top的视图变化如下:
    可以看到,top默认的排序列是%CPU。
    3. 通过shift + >或shift + <可以向右或左改变排序列,下图是按一次shift + >的效果图:
    视图现在已经按照%MEM来排序了。
    改变进程显示字段
    1. 敲击f键,top进入另一个视图,在这里可以编排基本视图中的显示字段:
    这里列出了所有可在top基本视图中显示的进程字段,有*并且标注为大写字母的字段是可显示的,没有*并且是小写字母的字段是不显示的。
    如果要在基本视图中显示CODE和DATA两个字段,可以通过敲击r和s键:
    2. 回车返回基本视图,可以看到多了CODE和DATA两个字段:
    top命令的补充
    top命令是Linux上进行系统监控的首选命令,但有时候却达不到我们的要求,top命令的监控最小单位是进程,所以看不到程序的线程数和客户连接数,通常可以ps和netstate两个命令来补充top的不足。
    监控java线程数:
    ps -eLf | grep java | wc -l
    监控网络客户连接数:
    netstat -n | grep tcp | grep 侦听端口 | wc -l
    上面两个命令,可改动grep的参数,来达到更细致的监控要求。
    在Linux系统一切都是文件的思想贯彻指导下,所有进程的运行状态都可以用文件来获取。系统根目录/proc中,每一个数字子目录的名字都是运行中的进程的PID,进入任一个进程目录,
    可通过其中文件或目录来观察进程的各项运行指标,例如task目录就是用来描述进程中线程的,
    因此也可以通过下面的方法获取某进程中运行中的线程数量(PID指的是进程ID):
    ls /proc/PID/task | wc -l
    在linux中还有一个命令pmap,来输出进程内存的状况,可以用来分析线程堆栈:
    pmap PID
    %CPU=(进程的生命周期中占用CPU的时间)*100/(进程的生命周期代表的时间长度)
    比如一个进程的生命周期的时间长度是1000s,然后在这1000s内占用CPU的时间是500s,那么
    %CPU=500*100/1000=50
    即最后的结果表示50%
    
    
    10.修改IP地址
    vim /etc/sysconfig/network-scripts/ifcfg-eth0
    service network restart
    
    
    11.进程管理
    查进程
    ps命令查找与进程相关的PID号:
    ps a 显示现行终端机下的所有程序,包括其他用户的程序。
    ps -A 显示所有程序。
    ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
    ps -e 此参数的效果和指定"A"参数相同。
    ps e 列出程序时,显示每个程序所使用的环境变量。
    ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
    ps -H 显示树状结构,表示程序间的相互关系。
    ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
    ps s 采用程序信号的格式显示程序状况。
    ps S 列出程序时,包括已中断的子程序资料。
    ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
    ps u 以用户为主的格式来显示程序状况。
    ps x 显示所有程序,不以终端机来区分。
    最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
    ps aux | grep program_filter_word,ps -ef |grep tomcat
    ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。
    杀进程
    使用kill命令结束进程:kill xxx
    常用:kill -9 324
    Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME
    进入到进程的执行文件所在的路径下,执行文件 ./文件名
    
    
    12.Centos上Apache重启,mysql重启, nginx 重启方法
    1.重启 apache
      service httpd restart
      /etc/init.d/httpd stop
      /etc/init.d/httpd start
      2.重启 mysql
      service mysql restart
      /etc/init.d/mysqld stop
      /etc/init.d/mysqld start
      3.重启nginx
      service nginx restart
      /etc/init.d/nginx stop
      /etc/init.d/nginx start
    
    13.查看linux版本
    版本 : lsb_release -a cat /etc/issue uname -a
    位数:getconf LONG_BIT file /bin/ls
    
    14.Linux 的网卡监控
    watch more /proc/net/dev
    
    15.打包以及压缩(注:Linux中的很多压缩程序只能针对一个文件进行压缩)
    01-.tar格式
    解包:[*******]$ tar xvf FileName.tar
    打包:[*******]$ tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)
    
    02-.gz格式
    解压1:[*******]$ gunzip FileName.gz
    解压2:[*******]$ gzip -d FileName.gz
    压 缩:[*******]$ gzip FileName
    
    03-.tar.gz格式
    解压:[*******]$ tar zxvf FileName.tar.gz
    压缩:[*******]$ tar zcvf FileName.tar.gz DirName
    
    04-.bz2格式
    解压1:[*******]$ bzip2 -d FileName.bz2
    解压2:[*******]$ bunzip2 FileName.bz2
    压 缩: [*******]$ bzip2 -z FileName
    
    05-.tar.bz2格式
    解压:[*******]$ tar jxvf FileName.tar.bz2
    压缩:[*******]$ tar jcvf FileName.tar.bz2 DirName
    
    06-.bz格式
    解压1:[*******]$ bzip2 -d FileName.bz
    解压2:[*******]$ bunzip2 FileName.bz
    ./bin/pika -c conf/pika.conf
    07-.tar.bz格式
    解压:[*******]$ tar jxvf FileName.tar.bz
    
    08-.Z格式
    解压:[*******]$ uncompress FileName.Z
    压缩:[*******]$ compress FileName
    
    09-.tar.Z格式
    解压:[*******]$ tar Zxvf FileName.tar.Z
    压缩:[*******]$ tar Zcvf FileName.tar.Z DirName
    
    10-.tgz格式
    解压:[*******]$ tar zxvf FileName.tgz
    
    11-.tar.tgz格式
    解压:[*******]$ tar zxvf FileName.tar.tgz
    压缩:[*******]$ tar zcvf FileName.tar.tgz FileName
    
    12-.zip格式
    解压:[*******]$ unzip FileName.zip
    压缩:[*******]$ zip FileName.zip DirName
    
    13-.lha格式
    解压:[*******]$ lha -e FileName.lha
    压缩:[*******]$ lha -a FileName.lha FileName
    
    14-.rar格式
    解压:[*******]$ rar a FileName.rar
    压缩:[*******]$ rar e FileName.rar
    
    16.查看进程的路径
    cd /proc/29565 ll
  • 相关阅读:
    NetCore去注册Eureka
    netcore项目使用swagger开发
    二、Rabbit使用-初次测试
    一、Rabbit使用-安装教程
    安装Erlang使用RabbitMQ
    Mac根目录下挂载文件
    将博客搬至CSDN
    photoshop for mac
    ssh 端口转发
    Linux 全局使用php命令
  • 原文地址:https://www.cnblogs.com/Good-Life/p/9026234.html
Copyright © 2011-2022 走看看