面试必问的 Linux 命令帮你整理好啦!

本贴最后更新于 969 天前,其中的信息可能已经物是人非

作为一名测试工程师,Linux是必须要掌握的一项技能。因为大部分的互联网公司的项目都是搭建和部署在linux服务器上的,所以测试就算不去负责搭建和维护测试环境,也需要在测试过程中去服务器那边定位测试中的问题。所以,linux操作系统及命令是测试必备的技能;今天我们就给大家罗列一下 Linux常用命令的使用及场景!

什么是Linux操作系统

Linux是一套开源免费使用,支持多用户、多任务、支持多线程和多个核心CPU的操作系统。我们现在市面上广泛使用的是Linux的发行版,所谓的Linux的发行版就是将Linux(内核)与应用软件做一个打包,可供用户安装和配置。目前市面上比较知名的发行版有:Ubuntu,RedHat,CentOS等等.

Linux和windows系统区别

Linux和windows同作为操作系统,他们主要的区别有哪些呢?详见以下的表格:

图片.png

linux的目录结构

要更好的学好Linux操作性通,我们要先了解一下Linux的目录结构。Linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根主目录,下层是各种各样的子目录和文件。理解根目录底下的相关linux文件目录是非常重要的.

图片.png

Linux常用的命令

了解了Linux操作系统和目录结构之后,接下来就是要重点学习里面的一些常用命令了!

系统命令

uname: 可显示电脑以及操作系统的相关信息
uname -a :显示主机名、内核等系统信息

图片.png
hostname:显示系统主机名
hostname -i : 显示系统IP地址

图片.png

cal:显示本月的日历

图片.png

date:显示当前时间
uptime:显示运行时间

图片.png

whereis xxx :显示xxx程序可能的位置
which xxx:显示xxx命令对应执行的程序

图片.png

硬件使用相关命令

cat /proc/cpuinfo : 显示CPU信息

图片.png

cat /proc/meminfo: 显示内存信息

图片.png

free :显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等=kB
free -m: -m参数表示以MB为单位显示内存使用情况

图片.png

man xxx : 显示xxx命令的帮助手册信息

比如:man ps,就会显示ps命令的帮助文档:

图片.png

磁盘使用情况 (disk free)

df : 显示磁盘空间信息
df -h:以容易阅读的方式显示磁盘使用情况
df -i:显示文件系统上的空闲索引节点(inode)
图片.png

其中,索引节点我们来解释一下,Inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是 Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。 inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。
而服务器的Block计算还有剩余,但inode已经用满时,在创建新目录或文件时,系统仍然提示磁盘空间不足。
此时,我们就可以删除文件占用多的目录来解决这个问题。

磁盘使用情况 (disk usage)

du:显示目录和文件的大小,逐级进入指定目录的每一个子目录并显示该目录占用文件系统数据块(1024字节)的情况。若没有给出指定目录,则对当前目录进行统计。

图片.png

du -sh:-s参数是求得总大小的意思,-h参数以容易阅读的方式显示文件的大小

图片.png

fdisk -l:显示磁盘和分区信息

图片.png

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 显示普通文件和隐藏文件的详细信息

图片.png

pwd命令

显示当前工作目录的绝对路径 ,全称是 print working directory

图片.png

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文件的行数,单词书和字节数

回帖
请输入回帖内容 ...