【Linux】基础命令及测试工作常用

一、Linux基础命令

【基础】
tab补全
chtrl+c停止进程

绝对路径: 以 / 开头,从根目录下开始寻找路径

相对路径: 不以 / 开头,从当前目录下开始寻找

1、系统管理相关命令

  • ifconfig 显示或设置网络设备的命令,我们可以用这个命令查看自己服务器的IP地址 ; eth0:对外的网址

  • ping 利用ping命令可以检查网络是否连通

  • date 显示日期 ,修改时间:date -s 时间或者日期目录操作命令

2、目录操作命令

  • pwd 显示当前路径
    • print work directory 打印当前目录 显示出当前工作目录的绝对路径
  • cd (change directery)切换目录
    • Change directory

    • 用法:
      • ~ ⚠️是用户目录

      • cd ./ 当前目录

      • cd ../ 切换到上级目录

      • cd .. 切换到上级目录 ————⚠️最后一个/可以省略

      • cd ../../ 切换到上上级目录

      • cd ../.. 切换到上上级目录 ————⚠️最后一个/可以省略

      • cd / 切换到根目录

      • cd - 切回上一个目录,返回

      • cd ~ (或只有cd )切换到当前用户主目录(home底下以用户名命名文件夹) /root目录

  • mkdir 创建目录
    • Make Directory(创建目录)
    • mkdir 目录名 可以一层层创建,不能跨目录创建,比如下图

    • mkdir 目录名 -p(parent) 可以递归跨目录创建

    • 【Linux】基础命令及测试工作常用_第1张图片

  •  rmdir 删除空目录
    • Remove directory

    • 用法:rmdir 目录名:会提示是否删除,按照y/n选择;

      当文件里有内容时删除不了,可以用下面的rm - rf

    • 也可用:rm -rf 目录名—— r递归 f强制 recursion——递归

【Linux】基础命令及测试工作常用_第2张图片  

3、文件相关命令

3.1 编辑
vi / vim 是linux下常用的、功能强大的文本编辑器 vim = Vi IMproved(改进)
  • 按键盘i进入编辑状态

  • 退出编辑按ESC键,

  • 退出方法不保存退出: :q!

  • 保存退出: :wq

  • 输入/,进入搜索,输入你需要搜索的文字,按enter

  • 输入 set nu,显示每一行的行数

  • 按键盘G,可以直接定位到最末尾

3.2 复制
  • cp 复制命令 cp 源file 目标file
    • 用法:cp [选项]源文件名或目录 目标地址

    • -R/r (文件夹操作)拷贝目录及目录下所有目录和文件

    • cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)

    • cp -r a.txt b.txt 文件夹操作

  • mv 移动命令 原文件会删除,移动到新的位置
    • 用法:mv 源文件名或目录 目标目录

    • mv a.txt ../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)

    • mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)

3.3 查找
  • find 查找文件 是在目录中搜索文件
    • 用法:find [路径] [选项]

    • 常用选项有:可以结合通配符

    • find . -name "*.log" 在当前目录(.)查找以.log结尾的文件——find 搜索某个文件要用双引号

    • find / -name log 在根目录查找log命名的目录

  • grep在指定文件中查找字符(串)并打印该行;过滤,经常跟管道符号一起出现
    • 用法:grep 字符串 文件名

    • grep band file ——在file文件中找寻band字符串,可加" "也可不加

    • -n:显示行号——grep -n band file。显示匹配行的行号

    • -v:显示不包含匹配文本的所有行。反向查找,只打印不匹配的行

  •    grep是查找匹配条件的行,find是搜索匹配条件的文件
3.4 查看
  • ls 查看目录及文件 List files
    • 用法:ls [选项]路径(若没有路径则显示当前目录的内容)

    • -a 显示所有文件 ,会把隐藏文件都展示出来,linux中的隐藏文件:.开头的文件

    • -l 显示文件属性 ,简写ll

    • -al

    • ll 罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息,像Windows显示的详细信息。 ll是“ls -l"的别名。 可以理解为 ll 和 ls -l 的功能是相同的。
  • cat 显示文本文件内容 Concatenate 连接
    • 用法:cat 文件名

  • head 查看前几行
    • 用法: head -n 5 文件名

  • tail 从指定点开始将文件写到标准输出. tail 命令可用于查看文件的内容
    • 使用tail命令的-f选项可以方便的查阅正在改变的日志文件, f 实时刷新
    • -n<行数> 显示文件的尾部 n 行内容

    • tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新

    • tail -n 5 文件名 查看后几行

    • tail -f error.log 不断刷新,看到最新内容 文件的最后 10 行

    • tail -n 100 文件名 后一百行 n可以省略

    • tail -200f 文件名 显示最新的200行 并一直等待刷新

      • tail a.txt ——默认显示最后 10 行

      • tail -f a.txt ——此命令显示a.txt文件的最后 10 行。当将某些行添加至 a.txt文件时,tail 命令会继续显示这些行。 显示一直继续,直到按下(Ctrl-C)组合键停止显示。

4、系统资源查询命令

  • ps(process status)查看进程(显示当前进程的状态,类似于 windows 的任务管理器)
    • -a —— 显示所有进程信息

    • -ef 显示所有进程更详细信息,并显示启动进程的命令

    • Uid:用户ID, PID:进程id, PPID:父进程,C:进程cpu占用率,Stime:进程从启动到现在的时间,

      TTY:终端号,CMD:命令名称和参数

    • ps -ef | grep java

  • netstat查看网络状况 (net status的简写)
    • netstat -apn 查看所有端口
    • an,按一定顺序排列输出
    • p,表示显示哪个进程在调用
    • netstat -apn | grep 8080——查看8080被什么占用
  • top 用于实时显示进程 的动态

    • top -p PID —— 显示指定pid进程的信息

    • 按键 q 退出进程信息显示

  • top和ps

    • ps命令看到的只是命令执行瞬间的进程信息,而top可以持续的监视。

    • ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗。 另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k)

    • ps主要是查看进程的,关注点在于查看需要查看的进程

      top主要看cpu,内存使用情况,及占用资源最多的进程由高到低排序,关注点在于资源占用情况

5、管道命令

管道使用 “|”符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入如,

ll | grep abc:管道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或者目录

工作常见情况:杀死服务进程(比如杀死tomcat进程)

通过命令查找tomcat进程:ps -ef | grep tomcat

杀掉此进程:kill -9 pid

6、权限赋予命令

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组:

【Linux】基础命令及测试工作常用_第3张图片

  • 把文件的权限改为777 —— chmod -R 777 a.txt
  • 比如:755 -->其他用户拥有可读可执行的权限
    • 读 写 执行
    • r=4,w=2,x=1

7、压缩&解压命令

  • tar( Tape archive 解压文件)

    将文件压缩成.tar.gz / .tar格式 用tar命令,使用-z调用gzip

    • 压缩 tar -czvf test.tar.gz test

    • 解压 tar -xzvf test.tar.gz

    • 命令参数详解:

    • -c 建立归档/压缩. create : 创建

    • -x 解归档/解压. exclude 解除

    • -z 有gzip属性的压缩文件

    • -v 显示所有过程

    • -f 使用档案名字,必须项,是最后一个参数,接文件名

  • zip
    • 将文件压缩成.zip格式用zip命令

    • 压缩zip –r -y test.zip test/

    • 解压unzip test.zip

    • 如果unzip命令没有的话,通过下面的指令去安装yum -y install unzip

8、linux三剑客 grep sed awk

  • grep 适合单纯的查找或匹配文本

  • sed 适合编辑匹配到的文本 -i参数可以修改原文件,set命令里面还嵌套“增删改查”命令,一般查还是用grep,增删改用sed

  • awk 适合格式化文本,对文本进行较复杂格式处理 表格 换行 调整行和列

二、常用

1、查看端口号的两种指令:
  • netstat –tunlp|grep 端口号

  • lsof -i : 端口号 ——可以获得所有在指定端口号上打开的文件

2、查询进程的指令
  • ps -ef |grep 进程关键字

  • top -p 进程——查看内存. 用于实时显示进程 的动态

3、动态查看日志

        1、先切换到:cd usr/local/tomcat5/logs

        2、tail -f catalina.out

        3、这样运行时就可以实时查看运行日志了

4、linux上面排查某个端口号是否被占用:
  • netstat -anp |grep 端口号,在输出结果中看监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了。

  • 【Linux】基础命令及测试工作常用_第4张图片

5、磁盘满了怎么处理
  1. df -h 查看是哪个挂在目录满了,常常是根目录/占满

  2. 快速定位一下应用日志大小情况,比如tomcat日志,应用系统自己的日志等。

  3. 如果能直观地看到日志文件过大,则酌情进行删除。有时候删除日志文件之后再df -h查看空间依然被占满,继续排查。

    lsof file_name 查看文件占用进程情况,如果删除的日志正在被某个进程占用,则必须重启或者kill掉进程。

        4.如果不能直观地排除出是某个日志多大的原因,就需要看一下指定目录下的文件和子目录大小情况,使用du命令。

你可能感兴趣的:(linux,linux,运维,服务器,测试工具,测试用例)