关键词:
1.背景
作为一名测试工程师,Linux 是必须要掌握的一项技能。
因为大部分的互联网公司的项目都是搭建和部署在 Linux 服务器上的,所以测试就算不去负责搭建和维护测试环境,也需要在测试过程中去服务器那边定位测试中的问题。
所以,Linux 操作系统及命令是测试必备的技能;今天我们就给大家罗列一下 Linux 常用命令的使用及场景!
2.什么是 Linux 操作系统
Linux 是一套开源免费使用,支持多用户、多任务、支持多线程和多个核心 CPU 的操作系统。
我们现在市面上广泛使用的是 Linux 的发行版,所谓的 Linux 的发行版就是将 Linux(内核)与应用软件做一个打包,可供用户安装和配置。
目前市面上比较知名的发行版有:Ubuntu,RedHat,CentOS 等等。
3.Linux 和 windows 系统区别
Linux 和 windows 同作为操作系统,他们主要的区别有哪些呢?详见以下的表格
4.Linux 的目录结构
要更好的学好 Linux 操作性通,我们要先了解一下 Linux 的目录结构。
Linux 的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根主目录,下层是各种各样的子目录和文件。
理解根目录底下的相关 Linux 文件目录是非常重要的。
5.Linux 常用的命令
了解了 Linux 操作系统和目录结构之后,接下来就是要重点学习里面的一些常用命令了!
_ | 系统命令 |
uname:可显示电脑以及操作系统的相关信息
uname -a :显示主机名、内核等系统信息
hostname:显示系统主机名
hostname -i :显示系统 IP 地址
cal:显示本月的日历
date:显示当前时间
uptime:显示运行时间
whereis xxx :显示 xxx 程序可能的位置
which xxx:显示 xxx 命令对应执行的程序
_ | 硬件使用相关命令 |
cat /proc/cpuinfo : 显示 CPU 信息
cat /proc/meminfo: 显示内存信息
free :显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等 =kB
free -m:-m 参数表示以 MB 为单位显示内存使用情况
man xxx :显示 xxx 命令的帮助手册信息
比如:man ps,就会显示 ps 命令的帮助文档:
_ | 磁盘使用情况 (disk free) |
df :显示磁盘空间信息
df -h:以容易阅读的方式显示磁盘使用情况
df -i:显示文件系统上的空闲索引节点(inode)
其中,索引节点我们来解释一下,Inode 译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是 inode,另一部份是 Block,Block 是用来存储数据用的。
而 inode 呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode 为每个文件进行信息索引,所以就有了 inode 的数值。操作系统根据指令,能通过 inode 值最快的找到相对应的文件。
而服务器的 Block 计算还有剩余,但 inode 已经用满时,在创建新目录或文件时,系统仍然提示磁盘空间不足。
此时,我们就可以删除文件占用多的目录来解决这个问题。
_ | 磁盘使用情况 (disk usage) |
du:显示目录和文件的大小,逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024 字节)的情况。若没有给出指定目录,则对当前目录进行统计。
du -sh:-s 参数是求得总大小的意思,-h 参数以容易阅读的方式显示文件的大小
fdisk -l:显示磁盘和分区信息
findmnt:显示当前挂载的文件系统列表,以树状的格式显示
mount device-path mount-point:挂载设备到目录 (光盘 iso,移动硬盘,U 盘,NFS 文件共享)
以上两个命令都是磁盘使用情况的命令,那么 du 和 df 有什么区别呢?我们来简单的解释一下。
一个文件创建,就新生成了一个 inode 节点,且 inode 节点的引用计数为 1。当文件被一个进程打开,则在内存中缓冲建立此 inode 节点缓存,且其引用计数加 1。一个文件可以被多次打开,创建多个文件描述符,但对应的 inode 节点只有一个,对应的磁盘存储只有一个,只是引用计数每打开一次加 1。
当文件被 rm,目录项被删除,如果其对应的 inode 节点的引用计数为 0,则删除对应的 inode 节点,其对应磁盘可被再申请;但如果此文件被其他进程打开,则其对应的 inode 节点的引用计数不为 0,则不会删除对应的 inode 节点,其对应磁盘不能被再申请;只有当前文件被所有使用进程 close 后,系统才会删除对应的 inode 节点,其对应磁盘可被再申请。
一个被某进程打开的文件 被 rm 后,其目录项被删除了,在 du 命令下是不能被统计到,而其 inode 没有被删除,在 df 命令下是可以被统计到的,这就是在 du 和 df 存在差别的原因。
_ | 文件目录相关命令 |
ls 命令
ls :显示当前工作目录所含文件及子目录 --list
ls -al:-l (简写成 ll)--详细信息;-a 显示普通文件和隐藏文件的详细信息
pwd 命令
显示当前工作目录的绝对路径 ,全称是 print working directory
_ | cd 命令 |
cd xxx :转到 xxx 目录 ,全称是 change directory
cd .. : 转到上一级目录
cd :转到当前用户的家目录 ,效果等同于 cd ~
_ | mkdir 命令 |
mkdir dir1:创建 dir1 目录,全称是 make directory
_ | rm 命令 |
rm file1:删除 file1 文件
rm -r dir1:删除 dir1 目录及内含文件
rm -f file1: 强制删除 file1 文件
rm -rf dir1: 强制删除 dir1 目录及内含文件
_ | cp 命令 |
cp file1 file2:复制 file1 并命名为 file2,若 file2 存在则内容覆盖(需要确认)
cp -r dir1 dir2: 递归拷贝 dir1 并命令为 dir2,若 dir2 存在则复制 dir1 目录中文件到 dir2
_ | mv 命令 |
mv file1 file2: 将 file1 重命名为 file2,若 file2 存在则内容覆盖
_ | 软连接 ln 命令 |
ln -s file1 link:创建 file1 文件的软链接 ---目标目录/文件 软连接地址
_ | touch 命令 |
touch file1:file1 不存在时候创建 file1;若存在,则修改文件的时间属性为当前时间
_ | 查看文件命令 |
cat file1 > file2 : 将 file1 的文件内容输入到 file2 中
more file1:按页查看 file1 文件内容,从前向后翻看文件 (空格-一行行, 空白键-一页页)
less file1:按页查看 file1 文件内容,可往前往后翻看文件 (上下键)-q 退出
head -n 5 file1:显示 file1 文件的前 5 行 == 默认前 10 行
tail -n 5 file1:显示 file1 文件的后 5 行 === 默认后 10 行
tail -f file1:实时显示 file1 文件的最新增加内容 === 查看动态更新的日志 , ctrl + C 退出
wc /path/file: 输出 file 文件的行数,单词书和字节数
spring经典面试题,帮你整理好了,字节面试官必问的mysql锁机制(代码片段)
...是基于用户提供给容器的配置元数据创建。需要更多大厂面试资料的话也可以点击直接进入,免费获取!暗号:CSDN17、spring提供了哪些配置方式 查看详情
面试必问的spring,你懂了吗?(代码片段)
微信搜索【程序员囧辉】,关注这个坚持分享技术干货的程序员。我的最新文章:百万级QPS,支撑淘宝双11商品浏览需要哪些技术前言之前在 4年Java经验,阿里网易拼多多面试总结、心得体会 中列出了一些高频... 查看详情
面试必问的redis:数据结构和基础概念
微信搜索【程序员囧辉】,关注这个坚持分享技术干货的程序员。前言在Java后端的面试中,redis应该是目前所有框架/中间件中被问到频率最高的,至少也是之一。就算把范围扩大到整个Java后端面试知识体系,... 查看详情
万字长文,整理到吐血!linux最全命令总结
关注我,每天分享软件测试技术干货、面试经验,想要领取测试资料、进入软件测试学习交流群的可以直接加群644956177~~这篇文章主要向大家介绍Linux命令本身总结,主要内容包括基础应用、实用技巧、原理机制等方面... 查看详情
阿里面试必问的dubbo相关问题
在过去持续分享的几十期阿里Java面试题中,几乎每次都会问到Dubbo相关问题,比如:“如何从0到1设计一个Dubbo的RPC框架”,这个问题主要考察以下几个方面:你对RPC框架的底层原理掌握程度。以及考验你的整体RPC框架系统设计... 查看详情
面试必看!花了三天整理出来的并发编程的锁及内存模型,看完你就明白了!
...试中问的频率很高的一个是分布式,一个就是并发,具体干货都在下方了。面试环节1.面试官:你先说下你对synchronized的了解。我:synchronized可以保证方法或者代码在运行时,同一时刻只有一个方法可以进入到临界区,同时还可... 查看详情
自动化测试工程师面试必问的异常处理(代码片段)
异常处理一、作为一个IT从业者,在工作中我们经常会听到两个词,异常或者异常处理。那么到底什么是异常处理呢?异常又有哪些种类呢?1、为了增加友好性、容错性和健壮性,当程序出现问题时,给用户一个我... 查看详情
测试需要掌握的数据库sql知识:面试中sql相关必问的问题:连接查询和索引(代码片段)
一、前言未看过文章(一)的朋友,需要准备测试数据测试数据sql如下:SETNAMESutf8mb4;SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructureforclass------------------------------DROPTABLEIFEXISTS`cl 查看详情
面试必问的cas
...术,Java并发包中的很多类都使用了CAS技术。CAS也是现在面试经常问的问题,本文将深入的介绍CAS的原理。案例介绍CAS之前,我们先来看一个例子。 CAS是什么?CAS是英文单词CompareAndSwap的缩写,中文意思 查看详情
字节软测面试必问的selenium自动化测试框架设计,你会了吗?
...在为来年的涨薪做着准备,后台每天都有人留言咨询面试、加薪、跳槽的问题。不熟悉自动化测试,也没接触过主流大厂技术,之前在小公司做点工,现在想进大厂拿高薪,该怎么做?类似上述的问题是最 查看详情
面试必问的hashcode技术内幕
hashCode的内幕tips:面试常问/常用/常出错hashCode到底是什么?是不是对象的内存地址?1)直接用内存地址?目标:通过一个Demo验证这个hasCode到底是不是内存地址publicnativeinthashCode();com.hashcode.HashCodeTestpackagecom.hashcode;importorg.openjdk.jo... 查看详情
面试必问的hashcode技术内幕
hashCode的内幕tips:面试常问/常用/常出错hashCode到底是什么?是不是对象的内存地址?1)直接用内存地址?目标:通过一个Demo验证这个hasCode到底是不是内存地址publicnativeinthashCode();com.hashcode.HashCodeTestpackagecom.hashcode;importorg.openjdk.jo... 查看详情
跳槽进字节跳动了,面试真的很简单
...#xff0c;今天分享一个秘密武器,资深测试工程师整理的软件测试面试核心知识点,面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、... 查看详情
面试必看!花了三天整理出来的并发编程的锁及内存模型,看完你就明白了!(代码片段)
...试中问的频率很高的一个是分布式,一个就是并发,具体干货都在下方了。面试环节1.面试官:你先说下你对synchronized的了解。我:synchronized可以保证方法或者代码在运行时,同一时刻只有一个方法可以进入到临界区,同时还可... 查看详情
面试必问的c++11新特性代码实践
面试必问的C++11新特性代码实践|通过线程池组件掌握C++11新特性、如何实现多参数任务的支持、如何等待任务执行返回结果专注于服务器后台开发,包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis... 查看详情
金三银四,如果没准备这些面试题,找工作还是缓一缓吧
...#xff0c;今天分享一个秘密武器,资深测试开发师整理的软件测试面试核心知识点,面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、... 查看详情
必问的java集合框架面试题
Arraylist与LinkedList异同是否保证线程安全:ArrayList和LinkedList都是不同步的,也就是不保证线程安全;底层数据结构:Arraylist底层使用的是Object数组;LinkedList底层使用的是双向循环链表数据结构;插入和删除是否受元素位置的影响... 查看详情
bat大厂面试官必问的hashmap相关面试题及部分源码分析
BAT大厂面试官必问的HashMap相关面试题及部分源码分析0引言1JDK8中的HashMap与JDK7的HashMap有什么不一样?2HashMap中put方法流程3HashMap的get方法流程4HashMap扩容流程是怎样的?5谈谈你对红黑树的理解为什么HashMap的数组的大小是2的幂次方... 查看详情