Linux命令速查手册(测试开发4年实战总结,附PDF)

Linux系统对于测试开发来说,太熟了。经常作为服务器来执行我们的自动化测试脚本

但说实话,Linux系统没有图标、没有鼠标,全凭键盘敲命令,劝退了太多小伙伴😂

小编做了4年的测试开发,真正高频用到的命令也就那么几十个,根本不用背几百页书。这份手册就是我从四年实战里筛出来的"最精简、最救命"的常用命令,其他的真要用到,临时百度完全来得及

下面全是干货,建议收藏,遇到不会的随时翻。如果想要 PDF 版本,后台回复 「服务器命令」" 即可哈~


❇️ Linux目录结构

首先Linux系统中目录结构非常重要,它是我们做所有命令的前提


❇️ 一、目录操作

1.1、目录基础操作

  • 返回

    复制代码
    cd ./     (当前目录)
    cd ..      (返回目录上一级)
    cd ../..   (返回目录上上层)
  • 新建目录:mkdir 目录

1.2、环境变量

  • 配置文件路径:/etc/profile
  • 重启生效:source /etc/profile

1.3、软件存放路径

  • 一般软件存放路径(方便配置环境变量):/usr/local/

❇️ 二、文件操作

2.1、文件列详情

    • 文件类型:-表示普通文件; d表示目录; l表示链接文件; p表示管理文件; b表示块设备文件; c表示字符设备文件; s表示套接字文件;
    • 目录/链接个数:对于目录文件,表示它的第一级子目录的个数。(注意此处见到的值要减2才等于该目录下的子目录的实际个数)
    • 文件大小:文件表示该文件的大小,单位为字节;目录表示该目录符所占的大小,并不表示该目录下所有文件的大小

2.2、文件基础操作

  • 新建文件:touch 文件名
  • 新建文件夹:mkdir 文件夹
  • 复制:cp 复制文件或目录
  • 删除:rm 删除文件或目录
  • 移动:mv 移动(修改)文件或目录

2.3、查看文件内容

  • cat 查看所有文件
  • less 只显示一屏文件,可上下翻页查看
  • tail 默认查看文件最后10行
  • head 默认查看文件前10行

2.4、查找文件

  • find命令

    复制代码
    # 在/dir目录及其子目录下面查找名字为filename的文件
    find /dir -name filename 
    # 在当前及其子目录中查找任何扩展名为"c"的文件
    find . -name "*.c" 
    
    # 搜索文件时使用 -iname 参数可以忽略文件名称大小写
  • locate命令

    • 其实是 find -name 的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux 系统自动创建这个数据库,并且每天自动更新一次,所以使用 locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。

      复制代码
      # 搜索etc目录下所有以sh开头的文件。
      $ locate /etc/sh
  • whereis命令

    • 只能用于程序名的搜索,返回二进制文件、man说明文件、源代码文件

      复制代码
      $ whereis grep
      # grep: /bin/grep /usr/share/man/man1p/grep.1p.gz /usr/share/man/man1/grep.1.gz
  • which命令

    • 在 PATH 指定的路径中搜索位置,可以判断命令是否存在,以及执行的哪一个位置的命令

      $ which python3

      /bin/usr/python3

2.5、Vi模式查找文件内字符

  • vi + 文件名 ,输入i进行编辑,直接输入/ 斜杠;再输入要查找的字符串,然后回车可以查找字符(按n即可查找下一个);按esc键,输入wq,保存文件并退出(:wq!实现强制保存退出)
  • vi全选删除文字
    • 在命令模式下,输入:.,$d一回车就全没了,
      表示从当前行到末行全部删除掉

2.6、查看文件大小

  • du -sh (查看该文件夹大小)
    du -sh * (查看该文件夹下各个子文件大小)

2.7、改变文件用户组

  • chown 想更改的用户组 文件名

2.8、文件权限

  • r:可读取 4
  • w:可写入 2
  • x:可执行 1
  • 给所有用户全部权限
    • 便是 4+2+1 = 7
    • 命令:chmod 777 文件名
    • 注:正式生产活动一定要给最小权限,保证安全性

2.9、链接

  • 软链接: ln -s 存在的文件 新文件(只表示一个链接,但2个文件完全独立) 【一般存放在/usr/bin文件中】
  • 硬链接:ln 存在文件 新的文件(指向同一个文件,相当于win快捷方式)

❇️ 三、系统级命令

3.1、切换root用户

  • sudo:切换用户权限
    • sudo + 命令,仅本条命令使用root权限
    • sudo -i或者sudo -i root,暂时切换root权限,多条命令执行root权限
  • su :切换用户
    • su + 用户名,切换不同的用户身份,不仅root
    • su只是切换身份;su - 切换身份 + 切换环境变量
      • su root 输入root密码后切换之root用户但是pwd目录不变
      • su - root 输入root密码后切换之root用户但是pwd目录/root

3.2、查看进程

  • 查看单个进程:ps -ef | grep 进程名

  • ps:查看运行进程命令

    • ps -A显示所有进程
    • ps -ef :用标准的格式显示进程
  • grep:查找命令,强大的文本搜索

    • grep 关键字 文件目录,文档中查找关键字
      • grep hello test.txt 在test.txt 中找出包含hello 的几个字符
  • 管道符|:将命令分隔开并连续使用

    • |左边命令的输出就会作为|右边命令的输入
    • cat test.txt | grep hello效果等同于上边grep hello test.txt

3.3、杀掉进程

  • kill -9 进程号

3.4、查看端口

  • netstat -an | grep 8090

3.5、网络是否联通

  • ping
    • ICMP协议,仅包含控制信息,不包含端口号
  • telnet
    • TCP协议,有端口,能承载数据
    • 其中不能telnet通并不能代表不能ping通,这是两种不同的数据包,防火墙中可以设置允许哪种包通过
  • curl
    • curl http://www.baidu.com, 返回百度的html(这个方法经常用于测试一台服务器是否可以到达一个网站)

3.6、解压

  • 解压.gz包
    tar -zxvf 压缩包.tar.gz
  • 解压.zip包
    unzip 压缩包.zip

3.7、安装软件

  • 基于Debian的Linux发行版使用dpkg工具作为基础。dpkg工具的一个前端是aptitude。

  • 基于Red Hat的Linux发行版都以rpm工具为基础,但采用了不同的前端工具。RedHat和Fedora用yum安装和管理软件包。

  • 安装.gz软件

    复制代码
    解压缩包
    tar xvzf xxx.tar.gz
    切换安装目录
    cd xxx
    执行安装
    ./configure 检查编译
    make 开始进行编译
    make install 开始安装

3.8、后台运行

  • nohup 你的shell命令 &
  • 回车,使终端回到shell命令行
  • 输入exit命令退出终端,也可以直接关闭

3.9、cpu实时渲染

  • top
    • PID:进程ID
    • USER:进程属主的名字
    • RES:进程占用物理内存
    • S:进程状态(D休眠,R运行)
    • %CPU:进程使用CPU时间比例
    • TIME+:进程启动到现在占用CPU时间

3.10、内存使用情况

  • free

3.11、pytest 跑脚本

python3 -m pytest test_login.py

3.12、python 跑脚本

python3 py文件 (其中 python3 是python解释器,也可以是其他版本的python解释器,如 python3.8等)

相关推荐
Sirius Wu1 小时前
OpenClaw(UpClaw)三层Tool全链路治理深度详解
网络·人工智能·架构·aigc
源图客1 小时前
云途物流API开发-鉴权认证(Java)
java·网络·python
huashengzsj2 小时前
Shopify个人建站如何搭建独立站:从零开始的完整指南
前端·网络·人工智能
顾喵3 小时前
PetaLinux 2017.4 实操指南:PREEMPT_RT实时补丁移植+Zynq PL中断UIO用户态配置(超完整避坑版)
linux
小樱花的樱花3 小时前
Linux 线程的创建
linux·c语言·开发语言
云飞云共享云桌面3 小时前
单机建模卡顿运维繁琐!中小型机械制造厂云飞云 3D 云桌面落地
运维·服务器·网络·3d·自动化·电脑·负载均衡
mounter6253 小时前
BPF 的进化史:从网络过滤器到 AI 时代的 Linux 核心引擎
linux·网络·人工智能·ebpf·linux kernel·kernel
CryptoPP3 小时前
BSE股票K线数据接入实战:从接口调用到前端图表展示
大数据·前端·网络·人工智能·websocket·网络协议
2501_930707783 小时前
如何在不损失质量的情况下将 PDF 转换为 SVG
pdf