linux基础命令

1. 前言

该文档仅针对初从事软件测试工程师应该掌握的一些Linux知识做讲解(Linux本身强大且方向众多)

1.1 服务器概念

服务器:顾名思义,就是提供给我们服务的机器
新人最大的疑惑,也是很多人不理解的地方,“什么叫给我们提供服务”
现实中:你去餐馆吃饭,提供了食物的服务;你去网吧上网,网吧提供了上网的服务;同样,这台机器给你提供了专门用于web服务,那我们就叫这个是web服务器;这台机器给你提供了专门存数据的服务,我们就叫数据库服务器
工作后:你们公司的服务器可能会是:1台电脑(台式机)–几千块;刀片机(常见)–几十万;机架服务器;机柜服务器
注意:
服务器选型,就要根据你的项目的大小,所依赖的数据多少,并发强度、访问人数、以后几年的数据变化等综合考虑

2. Linux简介

2.1 Linux起源

 芬兰大学生Linus Torvalds在从1990年底到1991年的几个月中,利用Minix操作系统作为开发平台,为他自己的操作系统课程和后来的上网用途而陆续编写了若干程序。
 1991.10.5 在Internet的comp.os.minix讨论区发表了一篇文章,表明他正在研制一个要超越Minix的操作系统,从而宣告了Linux的诞生。
 1993年,Linux 1.0问世
 1999年,Linux Kernel 2.2.x问世
 2001年,Linux Kernel 2.4.x问世

2.2 Linux简介和特点

Linux是一套免费和自由传播的类Unix操作系统,他的优势是:作为服务器操作系统,显得非常稳定、安全

简介:
 是一个功能强大的操作系统
 可安装在各种计算机硬件设备中,如手机、平板电脑
 95%的服务器操作系统都选择Linux

特点:
 开放性多用户多任务的系统
 具有出色的稳定性和速度性能
 具有可靠的系统安全性
 提供了丰富的网络功能
 标准兼容性和可移植性

3. 版本

既然环境的操作系统是Linux,那么我们就如windows一样,要选型版本。
全世界发行的版本非常多,他们的关系如下:(了解)

企业常用版本:CentOS、Ubuntu、Suse、Debian、Fedora、Arch
门道选型版本:CentOS

4. 远程连接工具

1. 远程连接
正确安装上Linux后,我们可以通过图形界面操作Linux,但实际工作中往往把整个服务器放在机房,我们不可能每次要去操作Linux时就跑机房,因此,需要我们所有人员(包括测试工程师)通过远程工具连接到服务器进行操作。

一个人通过工具可以访问N个不同服务器(相互之间网络畅通情况下)
常见远程工具:putty,xshell、crt、WinSCP
2. Linux远程工具
linux基础命令_第1张图片
linux基础命令_第2张图片

5. 软件测试工程师学习Linux的意义

进公司后,开发有可能只给你开发好的代码,我们测试需要让这些代码能“跑”起来,因此,我们需要环境,而这个环境需要测试自己动手搭建,而外网服务器是linux、为了环境的一致性,我们的测试环境服务器也选用Linux系统,因此学习的意义:搭建/维护测试环境

6. 常用命令

6.1 Linux目录结构

Linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和windows也是采用树型结构,但是在DOS和 windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。最顶部的是不同的磁盘(分区),如:C,D,E,F等

 / 根目录
 /etc 存放系统和应用程序的配置文件
 /usr 存放一般不需要修改的应用程序,大部分安装的程序也会安装到该目录
 /mnt 存放临时的映射文件(挂载光驱、硬盘等)
 /proc linux系统目录
 /home 存放用户文件的主目录
 /dev 设备文件的目录
 /boot 存放内核及启动所需要的文件
 /bin 用户和系统管理员需要使用的命令程序
 /root 超管目录
 /tmp 程序运行时生成的临时文件
 /sbin 存储系统管理员专用的应用程序
 /var 包含各种数据文件,日志,临时文件等

6.2 养成的习惯

  1. 手势习惯
  2. 多用tab键进行补全,如何:more /etc/sysconfig/network-scripts/ifcfg-eth0
  3. ctrl+c调制退出,q:退出
  4. 多用上下键重复使用命令
  5. 查看帮助:man 命名

6.3 最基本的命令

6.3.1 前缀:[root@localhost ~]#

  1. 整个这个部分叫命令提示符
  2. root:当前用户
  3. localhost:当前机器名
  4. ~:当前用户主目录 root:/root 普通用户:/home/用户名
  5. #:root用户提示符

切换用户:su
普通用户—超管:su - 需要密码
超管—普通用户:su 用户名 不需要密码

6.3.2 pwd:查看当前所在目录
上班后,同事有不懂的环境需要我处理,我来到他的电脑旁,坐下来马上就开始敲命令吗?
你得确认:我到底在哪?? pwd
6.3.3 ls:查看当前目录下都有什么内容

  1. ls -l 以列表的形式查看当前目录下所有可见文件的详细属性。(可以使用ll命令代替)
  2. ls -a 查看隐藏文件
  3. ls -la 以列表的形式查看当前目录下所有文件的详细属性。
    6.3.4 cd:切换目录
  4. cd / 切换到根目录
  5. cd /tmp 用绝对路径切换到tmp目录
  6. cd tmp 用相对路径切换到tmp目录
  7. cd … 返回上一层
  8. cd …/…/…/ 连续返回3次上一层
    6.3.5 特别注意
    在敲命令时,一定看清楚处于什么路径,因为这个路径决定了使用相对路径还是绝对路径。
    相对路径:从当前路径开始的路径
    绝对路径:从根目录/开始的路径

6.4 文件系统

 Linux是文件操作系统,把所有东西全部当文件。既然是文件,就涉及文件和文件夹操作
 文件夹:
新建、删除、重命名、剪切、复制、查找
mkdir、rmdir、mv、cp、find
 文件:
新建、删除、重命名、剪切、复制、查找
touch、rm、mv、cp、find
6.4.1 mkdir :新建文件夹
 mkdir mtesting 创建一个文件夹
 mkdir dev test ui 同时创建五个文件夹
 mkdir -p test/guonei/dept01 创建多级文件夹必须加-p

6.4.2 touch :新建文件
 touch Hello.java 创建一个a.txt的文件
 touch Hello.java readme.txt db.properties 同时创建三个文件

6.4.3 rm -rf :删除文件和文件夹
 rm -rf Hello.java readme.txt
• -r:递归
• -f:强制

6.4.4 mv:重命名或剪切文件夹或文件夹

 如果在本层目录,表示重命名
mv xiongda xionger
 如果在不同目录,表示剪切
mv xiongda /var
6.4.5 cp:复制文件夹或文件夹
 复制文件
cp a.txt b.txt
 复制文件夹,带-r参数
cp -ar xiongda /var --把xiongda文件夹复制一份到/var目录下
6.4.6 find:查找文件或文件夹
 find . -name ‘conf’ 查询当前文件夹下包含’conf’的文件和文件夹。
 find /var -name 'conf’查询/var文件夹下包含’conf’的文件和文件夹。
 find /etc -name ‘*.service’ -type f
find查询有非常多技巧,请多收集整理适合你习惯的案例

6.4.7 查看文件内容
常使用的有5个命令:cat、more、less、head、tail
 cat:由第一行开始显示所有内容
语法:cat 文件名
例如:cat /etc/profile

 more:一页一页显示文件内容
语法: more 文件名
例如:more /etc/profile

 less:跟more类似,可以往前翻页
语法: less 文件名
例如:less /etc/profile

 head:显示文件的前几行内容
语法:head -n 数值 文件名
例如:head -n 10 /etc/profile

 tail:两种作用
1、显示文件最后几行的内容
语法: tail -n 文件名
例如:tail -n 10 /etc/profile
2、增量显示文件内容 (工作中常用作查看动态日志)
语法: tail -f 文件名
例如:tail -f /usr/tomcat/logs/catalina.out

6.5 vi

linux基础命令_第3张图片
6.5.1 模式切换
命令模式à末行模式:shift+冒号(
末行模式à命令模式:esc
命令模式à 编辑模式:a:光标后 i:光标前 o:光标下一行
编辑模式à 命令模式:esc
6.5.2 末行模式技巧
 w、q、! (保存、退出、强制执行)
:wq – 保存退出
:q! – 退出不保存
6.5.3 命令模式技巧
 光标纵向移动
nG --n代表数字,如:10G,跳到第10行
 上下左右移动
上下左右(k、j、h、l)
小键盘(上下左右)
左(backspace) 右(空格)
 ^和$
每一行开始都隐藏了一个元素:^
每一行结尾都隐藏了一个元素:$
 复制粘贴
yy 复制一行
p 粘贴
 删除
dd 删除一行
 撤销操作
u 多次按就多次撤销
 删除单个字符
x 多次按就多次删除(先往后删,再往前删)
 查找
/ n、N

6.6 用户管理

6.6.1 useradd/adduser:新建用户名
useradd 用户名
6.6.2 passwd:赋予用户密码或修改原密码
passwd 用户名 #依次输入2次相同密码
6.6.3 userdel:删除用户
userdel 用户名
userdel -r 用户名 #删除用户的同时删除用户旗下/home/用户名的目录
6.6.4 chown:修改所属用户
chown 现用户名 文件/文件夹
6.6.5 chgrp:修改所属用户组
chgrp 现所属组 文件/文件夹
6.6.6 who:显示当前的用户名
who
6.6.7 权限
linux基础命令_第4张图片
1.2.7.1 认识权限
 前缀
-:普通文件
d:目录

 r w x r w - r- -
r:读 w:写 x:执行 -:没有权限
默认权限:644、高权限:777

u(宿主) g(宿组) o(其他)
u(user)宿主:文件拥有者的权限
g(group)宿组:文件所在组的用户权限
o(others)其他:其他用户的权限
1.2.7.2 chmod:赋权
 常见
chmod 777 cc --修改文件或单个文件夹的权限
chmod -R 777 aaa/ --修改多级文件夹的权限

 不常见

6.7 压缩与解压缩

在实际工作中,很多时候我们需要把文件压缩给开发,所以要学会压缩。
有的时候,开发给我的源程序文件或者是编译后的文件,这些文件都压缩了,所以要解压缩。
你在部署程序时,从网上下载了包,这些包是压缩的,你需要解压。

6.7.1 zip包
压缩:zip -r 包名 文件/文件夹
解压缩:unzip 包名
6.7.2 tar包
压缩:tar cvf sum.tar aaa b.txt
解压缩:tar xvf sum.tar
查看压缩包的内容:tar -tf sum.tar
追加文件/文件夹到压缩包:tar -rf sum.tar a.txt mtesting/
删除压缩包内的内容:tar --delete -f 包名 文件/文件夹
6.7.3 gz包
 第1种方法:使用gzip(压缩)/gunzip(解压缩)
压缩:gzip sum.tar
解压缩:gunzip sum.tar.gz
 第2种方法:tar调用gzip
压缩:tar czvf sum.tar.gz sum/
解压缩:tar xzvf sum.tar.gz

6.8 系统管理

6.8.1 top:查看cpu信息
6.8.2 history:查看所有历史命令
 history 查看所有历史命名
 history 10 查看最近的10条历史命令
 !457:执行547编号对应的命令
6.8.3 free:查看内存
free -m
6.8.4 df:查看硬盘
df -h
6.8.5 ifconfig:查看本机ip
eth0 第一块网卡
6.8.6 关闭某服务:service 服务名 状态
service iptables stop

6.9 进程管理

6.9.1 ps -ef或ps -aux:查看进程
6.9.2 kill 或 pkill或killall:杀死进程
 kill -9 pid
kill -9 4912 -9表示强杀
 pkill或killall pname
pkill apache

你可能感兴趣的:(linux)