前言:
自从上次介绍了 Docker 技术之后,Docker 相关操作都在 Linux 上,很多粉丝都私信我自己在操作的时候导致各种问题,有些命令不存在,环境变量不会配,容器访问不了,启动 错等等一些列问题。导致这些问题的根源还是大家对 Linux 操作系统不熟悉,接下来我们就讲一下作为测试工程师应该掌握哪些 Linux 技能。
?
一、什么是 Linux
Linux,全称 GNU/Linux,是一种免费使用和自由传播的类 UNIX 操作系统,其内核由林纳斯·本纳第克特·托瓦兹于 1991 年 10 月 5 日首次发布,它主要受到 Minix 和 Unix 思想的启发,是一个基于 POSIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和 络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以 络为核心的设计思想,是一个性能稳定的多用户 络操作系统。Linux 有上百种不同的发行版,如基于 区开发的 debian、archlinux,和基于商业开发的 Red Hat Enterprise Linux、SUSE、Oracle Linux 等。简单来说 Linux 和 windows 一样也是一个操作系统,但是又区别与 windows。
二、Linux 与 windows 区别
-
源:Linux 是开源的,windows 是闭源的。
-
内核:Linux 操作系统使用 Linux 内核,Windows 操作系统使用 NT 内核。
-
软件支持:Linux 软件支持很少,Windows 软件支持丰富,目前大部分硬件驱动厂商都支持 Windows 少部分支持 Linux
-
人机交互:Linux 使用命令行模式为主要交互方式,有一定的门槛。windows 通过图形界面使用鼠标点击为主要交互方式,易用性更好。
-
市场定位:Linux 市场主攻服务器市场,Windows 系统主打桌面市场。所以企业服务器都是用的 Linux 系统,而日常办公都是实用的 Windows 系统。
三、Linux 目录介绍
在学习 Linux 之前,了解 Linux 文件系统的目录结构,是学好 Linux 的至关重要的一步,深入了解 Linux 文件目录结构的标准和每个目录的详细功能,对于我们用好 Linux 系统至关重要。
?
-
/bin/: 用来贮存用户命令。目录 /usr/bin 也被用来贮存用户命令。
-
/boot/: 开机引导目录,包括 Linux 内核文件与开机所需要的文件。
-
dev (devices):设备目录,所有的硬件设备及周边均放置在这个设备目录中。
-
/etc/: 系统配置文件。
-
/home/: 用户主目录的默认位置。
-
/lib/: 开机时常用的动态链接库,bin 及 sbin 指令也会调用对应的 lib 库。
-
/lib64/: 开机时常用的动态链接库 64 位,bin 及 sbin 指令也会调用对应的 lib 库。
-
/media/: 可移除设备挂载目录,类似软盘 U 盘 光盘等临时挂放目录。
-
/mnt/: 用户临时挂载其他的文件系统,额外的设备可挂载在这里。
-
/opt/: 第三方软件安装目录,现在习惯性的放置在/usr/local 中。
-
/proc/: 虚拟文件系统,通常是内存中的映射。
-
/root/: 超级用户的主目录。
-
/run/: 保存系统运行时需要的内容,系统下次启动时会重新生成。
-
/sbin/: 许多系统命令(例如 shutdown)的贮存位置。目录 /usr/sbin 中也包括了许多系统命令。
-
/srv/: 服务启动后需要访问的数据目录。
-
/sys/: 跟 proc 一样虚拟文件系统,记录核心系统硬件信息。
-
/var (variable) :用于存放运行时需要不断改变数据的文件,例如日志文件和打印机假脱机文件。
-
/tmp/: 用户和程序的临时目录,所有用户对该目录均可读写。
-
/usr/: 包括与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。
-
/var/log/ /var/log/message :系统启动后的信息和错误日志,是 Linux 中最常用的日志之一 /var/log/secure :与安全相关的日志信息 /var/log/maillog :与邮件相关的日志信息 /var/log/cron :与定时任务相关的日志信息 /var/log/spooler :与 UUCP 和 news 设备相关的日志信息 /var/log/boot.log :守护进程启动和停止相关的日志消息
?
四、基本命令
-
查看系统信息 lsb_release -a 696 x 143 976 x 200
-
如果 lsb_release 命令不存在,则需要先安装再使用 yum -y install lsb_release-lsb
-
环境变量配置 VIM /etc/profile
-
修改配置文件后重新加载配置文件 source /etc/profile
-
显示当前系统中资源消耗情况 top
-
显示当前内存和交换空间使用情况 free -m free -h
-
显示文件系统磁盘空间的使用情况 df
-
显示 卡 ifconfig
-
检查 络或者项目是否可访问 ping www.baidu.com curl -I 172.40.1.142:18001/lemnon-base
-
查看进程 ps -ef | grep 进程名称
-
结束进程 kill -9 PID
-
查看端口 netstat: netstat -an |grep 8080 lsof -i :8080
五、服务器时间相关命令
-
查看当前时间 date
-
修改时间时分秒 data -s “11:30:30”
-
修改完整时间 data -s “2021-12-12 11:30:30”
-
同步 络时间 如果没有 ntpdate 命令要先安装,-u 参数可以越过防火墙与主机同步 ntpdate -u ntp.api.bz
-
查看硬件时间 hwclock –show
-
将系统时间写入到硬件 hwclock -w
-
设置系统时间和硬件时间同步 hwclock –hctosys
-
注意点 修改服务器时间修改的是系统时间,如果不写入硬件,服务器重启后设置的时间会失效。
?
六、防火墙相关命令
-
查看 firewall 服务状态 systemctl status firewalld
-
查看 firewall 的状态 firewall-cmd –state
-
查看防火墙规则 firewall-cmd –list-all
-
开启防火墙 service firewalld start
-
重启防火墙 service firewalld restart
-
关闭防火墙 service firewalld stop
-
查询端口是否开放 firewall-cmd –query-port=8080/tcp 返回 no 表示未开放,yes 表示已开放
-
开放指定端口 firewall-cmd –permanent –add-port=8080/tcp
-
从防火墙规则中移除指定端口 firewall-cmd –permanent –remove-port=8080/tcp
-
重启防火墙 firewall-cmd –reload 修改配置后要重启防火墙才会生效
七、文件与目录操作
-
跨服务器拷贝命令 scp -r testdir root@172.21.0.132:/mnt/test
-
文字过滤:在指定文件中查找包含指定内容的行,在 test1.log 中查找包含 aaa 的所有行 grep aaa test1.log
-
动态查看文件 tail -200f test.log
-
读取标准输入的数据,并将其内容输出成文件,追加写入 grep Linux boot.log | tee -a 2022.txt tail -200 test1.log | grep ‘test’ | tee -a test2.log
-
查找包含 name 或者 age 的行(两个条件) sed -n ‘/name/,/age/p’ aaa.txt
-
查看文件的创建、修改时间 stat text.txt Access:文件最近访问时间 Modify:文件内容最近修改时间 Change:文件属性最近修改时间
-
覆盖写入文件 >:echo “test”> test.txt
-
追加写入文件 >>: echo “test” >> test.txt
-
VIM 常用操作 :set nu 显示行 。 :set nonu 取消显示行 。 i 在光标签插入。 :wq 强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。 :x 写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
?
八、压缩与解压
tar 命令
-
将 test.txt 压缩成 test.tar 文件,被压缩文件可以是多个文件或者文件夹 tar -cvf test.tar test.txt
-
解压缩.tar 文件 tar -xvf test.tar
-
是否需要使用 gzip 压缩和解压(压缩/解压 .gz 和 .tar) tar -zcvf test.tar.gz test.txt tar -zxvf test.tar.gz
zip 命令
-
压缩递归处理,将 test1.txt 压缩成 test.zip 文件,被压缩文件可以是多个文件或者文件夹 zip -r test.zip test.txt
-
解压缩.zip 文件 unzip test.zip
gzip 命令
-
压缩命令后面的文件,原文件会消失,直接变成压缩后的文件 gzip test.txt
-
解压 test.txt.gz gzip -d test.txt.gz
-
递归解压 gzip -dr test.txt.gz
九、文件与目录权限相关
文件或目录权限 u:表示文件所属者; g:表示用户组; o:表示其他用户 r:4 可读权限; w:2 可写权限; x:1 可执行权限; -:0 表示无权限 +:表示添加权限; -:表示去掉权限 chmod u+x test.txt: 给当前用户添加可执行权限 chown user:group test.txt 修改文件所属用户和所属组 chown -R user:group test.txt 修改指定目录以及其子目录下所有文件所属用户和所属组
十、用户相关
useradd testUser: 添加用户 passwd testUser: 修改用户密码 userdel testUser: 删除用户
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8808 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!