Linux
1.环境配置
1.1环境准备
Linux镜像
- 选择centos
- 找到下载地址的链接,点进去
- 选择你想要下载的版本,我们这边选择7.0版本的
- 随后,我们选择isos/这个目录,再进入x86 64/
- 在下载列表中,我们看见有很多种iso文件,这里不同名称代表不同类型的系统,例如DVD为标准版镜像,Everything为集成了各种插件的镜像文件,这里我们学习的话,下载DVD-2009.iso即可
1.2配置VMware
- 新建虚拟机
- 选择如下
- 点击稍后安装镜像文件
- 选择Linux,以及选取你在阿里云镜像官网下载的Linux版本
- 定义虚拟机名称、以及保存的位置
- 虚拟机处理器配置,默认即可
- 虚拟机内存配置,默认即可
- 网络使用NAT模式
- 后面的操作均为默认即可,都是一些默认的配置,不建议修改,这里不再赘述
- 最终出现如下即可,点击完成
- 最后点击生成好的虚拟机,右键--》设置,找到CD/DVD(IDE),点击使用ISO镜像文件,选择你刚刚下载好的Linux镜像文件即可
最后启动虚拟机即可、后续的虚拟机的安装与配置,可以参考以下优秀文章
ps:如果你不想安装Xshell,可以在安装时选择图形化界面,如果选择安装Xshell,就建议不安装图形化界面,可以降低资源占用,实际企业中一般不安装图形化界面
https://www.cnblogs.com/fuzongle/p/12769811.html
2.连接Linux
- 获得Linux的IP地址,进入Linux系统中,右键打开终端,输入命令ifconfig,即可拿到IP地址
- 新建Xshell会话,输入IP地址,端口号默认22
3.Linux学习
1.常见的Shell
- Bourne Shell
- Bourne Again Shell(“bash”,常用)
- C Shell
- K Shell
Shell for Root
实际操作演示如何使用bash (1). vim hello.sh(新建一个sh文件) (2) #!bin/bash(定义使用何种shell) echo "hello linux!"(输出语句) (3):wq(保存退出) (4)./hello.sh (执行会报权限错误) (5)chmod +x hello.sh(添加执行权限) (6)./hello.sh(再次执行,成功)
2.常见文件命令
ls:列出当前目录所有文件
- -a:显示隐藏文件
- -l:显示文件详细信息
ps:蓝色表示为文件夹,白色表示为文件
- cd:切换目录
- pwd:显示当前的目录
mkdir:新建一个空目录
- -p:递归创建目录
rmdir:删除一个空目录
- -p 路径:递归删除目录
cp:复制文件或者目录
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
rm:移除文件或目录
- -rf:递归删除,忽略不存在的文件,不会出现警告信息(危险命令,三思)
- mv:移动文件或目录,修改文件、文件夹名称
实际操作如下:
3.文件属性,想要查看文件的属性,使用命令ls -l
- d表示此为目录文件,r代表可读,w表示可写,x表示可执行,分为三部分,第一部分表示创建该文件夹的用户,第二部分表示和创建此文件夹在同一个组的成员,第三部分表示其他的用户
4.chmod(修改文件、文件夹权限)
r的权限表示为4,w的权限表示为2,x的权限表示为1
实例:修改一个文件权限为全部人可读可写可执行,则表示为4+2+1,4+2+1,4+2+1,即777
vim test.txt chmod 777 test.txt
5.netstat(网络监听命令)
- -a:显示所有选项.
- -t:仅显示tcp相关选项
- -u:仅显示udp相关选项
- -p:显示建立相关链接的程序名
- -l:仅列出有在 Listen (监听) 的服务状态
-n:不显示别名,能显示数字的全部转化成数字。
netstat -lnpt
6.显示性能与进程命令
- top
ps
- -aux 显示所有用户进程
7.开关机操作
关机操作之前最好先使用sync将虚拟机的数据同步到磁盘中,控制台输入sync即可
- shutdown:正常关机
- shutdown -h 10:十分钟后关机
- shutdown -h now:立刻关机
- shutdown -h 23:00:今日23:00准时关机,相当于定时关机
- shutdown -h +10:十分钟后关机
- reboot:重启
8.Linux系统目录的学习
- /bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 - /boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 - /dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。 - /etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。 - /home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。 - /lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。 - /lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 - /media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。 - /mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。 - /opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。 - /proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 - /root:
该目录为系统管理员,也称作超级权限者的用户主目录。 - /sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。 - /tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。 - /usr:
usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。 - /usr/bin:
系统用户使用的应用程序。
9.chgrp(更改文件属组)
- -R:更改文件属于哪个组
10.chown(更改文件属主)
- -R:更改文件属于哪个用户
11.文件内容查看
cat:从第一行开始看
- cat /etc/redhat-release:查看当前系统版本号
- tac:从最后一行开始看
- nl+文件名:显示行号
- more+文件名:翻页的查看,不是一次性全部显示出来(空格翻页,enter进入下一行)
- less+文件名:与more相似,可以向前翻页(空格翻页。上下键翻页)
head:只看头几行
- -n + 数字:只看头XX行
- ?+内容:寻找指定内容(n:查找下一个,N:查找上一个)
- tail:只看尾几行
- :set nu:在文件中显示行号
12.touch(创建文件)
- touch:新建一个空白文件
13.ln(软、硬链接)
- ln(硬链接):以文件副本的形式存在,不占用实际空间(不允许给目录创建硬链接)
- ln-s(软链接):相当于快捷方式
区别:源文件删除后,硬链接依然还可以访问源文件,相当于备份了,而软连接则会由蓝色变成红色,无法访问源文件,使用ll命令,可以很好的看出硬链接和软链接的区别,软链接是蓝色的,且有->>标记
14.Vim(文本编辑)
Vim的三种模式:命令模式、输入模式、底线命令模式
- vim:新建一个文档文件,并进入
- 在文档中输入i:进入输入模式
- ESC:退出输入模式,进入命令模式
- :set nu:设置行号,输入:即可进入底线命令模式
- :wq:保存并退出
vim命令大全: https://www.runoob.com/linux/linux-vim.html
15.useradd(添加用户)
- -m:自动创建用户主目录
- -d:指定用户目录地址
- -G:指定用户所在组
ps:以下操作均在管理员账号下操作1.管理员给用户添加密码:passwd +用户名
2.普通用户自己设置密码:passwd
passwd -l +用户名:锁定用户
passwd -d+用户名:删除用户的密码
16.userdel(删除用户)
- -r:删除用户并删除其目录
17.usermod(修改用户)
- -d:指定用户目录地址
18.su(切换用户)
- su + 用户名:切换到指定用户
19.logout(登出)
- logout:退出当前用户,回退到上一个用户
20.hostname(修改虚拟机主机名)
- hostname 用户名:修改当前虚拟机主机名,重启生效(主机reboot,ssh远程连接则重连)
21.groupadd(添加用户组)*
- -g:指定ID,不指定则为自增,详情查看/ete/group
- groupadd +用户名:新增一个组
22.groupdel(删除用户组)
- groupdel +用户名:删除一个指定的组
23.groupmod(修改用户组)
- -g:修改组ID
- -n:修改组名
24.df -h(显示磁盘使用量)
25.du(显示每个文件占用的空间)
26.mount(挂载)
类似于windows上的U盘的安装,把外部文件挂载到指定的目录下
- mount [外部设备] [指定目录]
27.umoutn(卸载挂载)
类似于windows的U盘的退出
- -f +位置:强制卸载
28.ps(显示当前进程的状态)
- -a:列出所有的进程
- -aux :显示所有包含其他使用者的行程
- -ef:查看父进程信息
常搭配管道符进行使用,例如查找一个mysql进程相关: ps -aux|grep mysql进程树展示:pstree -pu
杀进程:kill -9 进程ID,相当于结束任务
29.Linux安装Java环境
rpm安装
:http://www.oracle.com/technetwork/java/javase/downloads/index.html
卸载OpenJDK
#检查是否存在jdk rpm -qa|grep jdk #如果存在则执行以下卸载命令 rpm -e --nodeps [jdk版本号]
将下载好的rpm文件,通过xftp上传到linux系统下
cd进入安装目录,执行命令
rpm -ivh jdk-8u221-linux-x64.rpm
配置java的环境变量
cd /etc/profile JAVA_HOME=/usr/java/jdk1.8.0_221-amd64 CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export PATH CLASSPATH JAVA_HOME #保存后,刷新资源 source /etc/profile #测试是否安装成功 java -version
30.Linux安装Tomcat
官网下载Tomcat
,切记是下载Linux版本,下载地址:https://tomcat.apache.org/download-90.cgi解压Tomcat
,通过xftp上传到Linux服务器,解压出来(tar -zxvf [tomcat压缩包名称])进入tomcat 的bin目录
防火墙操作
#查看防火墙的8080端口是否打开,因为tomcat默认端口是8080 # 查看全部信息 firewall-cmd --list-all # 只看端口信息 firewall-cmd --list-ports #开启80端口,如果是在云服务器,在安全组开启8080端口即可 firewall-cmd --zone=public --add-port=8080/tcp --permanent #重启防火墙,让他生效 systemctl restart firewalld.service #tomcat启动 ./startup.sh #tomcat停止 ./shutdown.sh
31.Linux安装Docker
1.查看是否已经安装了docker
yum list installed | grep docker #如果已经安装了则卸载 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2.yum安装gcc相关
yum -y install gcc yum -y install gcc-c++
3.安装需要的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.更新yum软件包索引
yum makecache fast
6.安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io
7.启动docker
systemctl start docker
8.测试docker是否安装成功
docker version docker run hello-world docker images
总结
Linux是测试必不可少的一门技术,以上是我学习Linux过程中记录的笔记,有想法的小伙伴可以在下面留言与我互动哦~:drooling_face: