linux命令与软件配置
一、linux命令
安装VmWare:
注意:
1.安装完成之后 需要输入秘钥
2.VM软件安装完成 检查一下网络适配器【出现VMnet1和VMnet8两个网卡】 同时要进行启用
3.VM软件安装完成之后,就不要再卸载了
【反反复复重装VMware软件会导致上面这两个虚拟网络丢失,到时候你的虚拟机就无法正常操作使用】
云服务器:阿里云、腾讯云
阿里或腾讯的机房中的一些主机电脑上创建了虚拟机
在你自己的电脑上 连接阿里或腾讯机房的虚拟机进行操作
需要做一个远程连接Linux虚拟机
Linux客户端工具软件:SSH工具
Linux常用命令:
1.文件目录命令:
ls [-al] [dir]:
ls:查看当前目录下的所有内容【未隐藏的】
ls -a:查看当前目录下所有内容【包含隐藏的】
ls -l:查看当前目录下所有内容的详细信息【未隐藏的】 简写:ll
ll -a:查看当前目录下所有内容的详细信息【包含隐藏的】
ll -h 目录:查看指定目录下的所有内容详细信息进行一个友好展示
cd [dir]
cd /:切换到根目录 eg: /
cd ~:切换超级管理员目录 eg: /root
cd ..:切换到当前目录的上一级目录
cd -:切换到上次操作的目录 eg:第一次操作的是/usr/local 第二次操作的是/root 如果我来一个cd -命令 就会回到/usr/local目录
cd 目录:切换到指定目录
注意:目录前如果有/,表示从根目录下查找 【绝对路径】; 如果没有/,表示从当前目录下找到指定的目录切换过去 【相对路径】
文件查看:
cat [-n] fileName
cat fileName:查看指定文件的全部内容【从上往下显示】
cat -n fileName:查询指定文件的全部内容 并且显示行号
more fileName:分页查看指定文件
操作:enter键:查看下一行 空格键:查看下一页 b键:查看上一页 按q键或Ctrl+c:退出查看
tail [-f] fileName:查看文件末尾内容
tail a.txt:查看文件最后10行的内容
tail -5 a.txt:查看文件最后5行的内容
tail -f a.txt:动态监控文件内容变化 会把新增到末尾的内容显示出来【应用场景:日志监控】
文件内容查看【扩展】:tac 、 less 、 head
mkdir [-p] dirName:
mkdir test01:在当前目录下创建一个test01的目录
mkdir /usr/local/java:在/usr/local目录下创建一个java目录
mkdir test01/aa:想在当前目录下创建test01目录,并且在test01目录下创建子目录aa
注意:如果当前目录下存在test01目录 则创建成功
如果当前目录下不存在test01目录 则创建失败 需要使用 mkdir -p test01/aa
mkdir -p test02/aa:级联创建 如果test02目录不存在 会自动创建处理
rmdir [-p] dirName:
rmdir test01/aa:删除空目录 如果目录不为空 则删除失败
rmdir -p test02/aa:删除空目录aa aa删除之后如果test02也为空 则会把test02也一并删除
rmdir test*:模糊匹配删除 删除以test开头的空目录
rm [-rf] fileName|dirName
rm a.txt:删除a.txt 删除时会进行询问
rm -r test01:删除test01目录 删除时会进行询问
rm -f a.txt:删除a.txt 表示强制删除 删除时不会循环
通用:rm -rf fileName|dirName:直接删除指定目录或文件 不进行循环 【注意慎用:rm -rf / rm -rf /*】
cp [-r] source dest:
复制文件:
cp a.txt test01:将a.txt复制一份放到test01目录下
cp a.txt aa.txt:将a.txt复制一份放到当前目录下 并修改文件名为aa.txt
复制目录:
cp -r test01 test02:将test01目录及其子目录下的所有内容 复制一份放到test02目录下
mv source dest:
移动文件:
mv a.txt test01:将a.txt剪切到test01目录下
mv a.txt aa.txt:将a.txt改名为aa.txt
移动目录:
mv test01 test02:将test01目录移动到test02目录下 ;注意 如果test02目录不存在,表示将test01目录修改为test02【改名】
mv test01/* test02/:将test01目录下的所有内容 剪切到test02目录下
tar [-zcxvf] 包名 [文件列表] [-C 指定目录]
打包:tar -cvf 包名 文件列表 包文件一般以.tar结尾
打包并压缩:tar -zcvf 压缩包名 文件列表 压缩包一般以.tar.gz结尾 【掌握】
解包:tar -xvf 包名 注意:解包 不能携带-z选项
解压缩包:tar -zxvf 压缩包名 注意:解压缩包 -z选项可以省略 但是一般建议带上
解压缩包到指定目录:tar -zxvf 压缩包名 -C 指定目录 注意:C大写
vi|vim fileName:
vi a.txt:进入命令模式 可以使用yy【复制当前行】 p【粘贴到下一行】 dd【删除当前行】 G【回到尾部】 gg【回到头部】
按i、a、o键 进入编辑模式 进行文本内容编辑 编辑完成按下esc键退出编辑 重新进入命令模式
按:键 进入底行模式 wq!【强制保存退出】 q!【强制退出不保存】
find dirName [-name] fileName:去到哪个目录查找指定名称的文件
grep word fileName:从指定文件中查找内容
其他常用命令:
ps -ef :查看当前Linux服务器中启动了哪些程序【进程】
ps -ef | grep vi:从当前Linux服务器所有进程中筛选出vi相关的进程
kill -9 PID:立即杀死进程
防火墙管理:
防火墙查看状态、开启、关闭:systemctl status|start|stop firewalld
查看防火墙状态:firewall-cmd --state
启动防火墙: firewall-cmd --reload
实际使用中:Linux服务器的防火墙一般都是正常开启的,只会对端口号进行控制
eg:安装了tomcat 外部需要访问虚拟机中的tomcat http://虚拟机ip:8080 如果不开放8080端口 则外部无法正常访问
开放端口:
1.开启指定端口号:firewall-cmd --zone=public --add-port=8080/tcp --permanent
2.重启防火墙:firewall-cmd --reload | systemctl restart firewalld
3.查看开放的端口号:firewall-cmd --list-ports
4.移除指定端口:firewall-cmd --permanent --remove-port=8080/tcp
防火墙相关具体指令如下:
| 操作 | 指令 | 备注 |
| ---------------------------- | ------------------------------------------------------------ | -------------------- |
| 查看防火墙状态 | systemctl status firewalld / firewall-cmd --state | |
| 暂时关闭防火墙 | systemctl stop firewalld | |
| 永久关闭防火墙(禁用开机自启) | systemctl disable firewalld | ==下次启动,才生效== |
| 暂时开启防火墙 | systemctl start firewalld | |
| 永久开启防火墙(启用开机自启) | systemctl enable firewalld | ==下次启动,才生效== |
| 开放指定端口 | firewall-cmd --zone=public --add-port=8080/tcp --permanent | ==需要重新加载生效== |
| 关闭指定端口 | firewall-cmd --zone=public --remove-port=8080/tcp --permanent | ==需要重新加载生效== |
| 立即生效(重新加载) | firewall-cmd --reload | |
| 查看开放端口 | firewall-cmd --zone=public --list-ports | |
> 注意:
A. systemctl是管理Linux中服务的命令,可以对服务进行启动、停止、重启、查看状态等操作
B. firewall-cmd是Linux中专门用于控制防火墙的命令
C. 为了保证系统安全,服务器的防火墙不建议关闭
linux 权限
chmod命令可以使用八进制数来指定权限(0 - 代表无 , 1 - 执行x , 2 - 写w , 4 - 读r):
值 | 权限 | rwx |
---|---|---|
7 | 读 + 写 + 执行 | rwx |
6 | 读 + 写 | rw- |
5 | 读 + 执行 | r-x |
4 | 只读 | r– |
3 | 写 + 执行 | -wx |
2 | 只写 | -w- |
1 | 只执行 | –x |
0 | 无 | — |
二、安装
jdk 安装
1、上传安装包
2、解压
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
3、配置环境变量 [使用vim命令修改/etc/profile文件,在文件末尾加入如下配置 -- 命令G可以切换到文件末尾]
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
4、重新加载配置文件
source /etc/profile
5、检测是否安装成功
java -version
Tomcat 安装
1、上传安装包
2、解压
tar -zxvf apache-tomcat-7.0.57.tar.gz -C /usr/local
3、启动Tomcat [进入Tomcat的bin目录启动服务。执行命令]
cd /usr/local/apache-tomcat-7.0.57/
cd bin
sh startup.sh或者./startup.sh
4、查看日志看是否成功
1). 分页查询Tomcat的日志信息
more /usr/local/apache-tomcat-7.0.57/logs/catalina.out
2). 查询日志文件尾部的50行记录
tail -50 /usr/local/apache-tomcat-7.0.57/logs/catalina.out
也可以通过查看进程判断 ps -ef|grep tomcat
Mysql 安装
【安装】
方式一:通过 rpm 安装
1). 检测当前系统是否安装过MySQL相关数据库
rpm -qa 查询当前系统中安装的所有软件
rpm -qa | grep mysql 查询当前系统中安装的名称带mysql的软件
rpm -qa | grep mariadb 查询当前系统中安装的名称带mariadb的软件
2). 卸载现有的MySQL数据库
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64 【注释:rpm -e --nodeps 软件名称】
3). 将MySQL安装包上传到Linux并解压
mkdir /usr/local/mysql
tar -zxvf mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C /usr/local/mysql
4). 按顺序安装rpm安装包
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
yum install net-tools
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
【说明:
- 因为rpm安装方式,是不会自动处理依赖关系的,需要我们自己处理,所以对于上面的rpm包的安装顺序不能随意修改。
- 安装过程中提示缺少net-tools依赖,使用yum安装(yum是一种在线安装方式,需要保证联网)
- 可以通过指令(yum update)升级现有软件及系统内核】
【启动命令】
systemctl status mysqld 查看mysql服务状态
systemctl start mysqld 启动mysql服务
systemctl stop mysqld 停止mysql服务
【说明: 可以设置开机时启动mysql服务,避免每次开机启动mysql。执行如下指令: systemctl enable mysqld】
【查看mysql是否启动】
netstat -tunlp 查看已经启动的服务
netstat -tunlp | grep mysql 查看mysql的服务信息
ps –ef | grep mysql 查看mysql进程
【备注:
A. netstat命令用来打印Linux中网络系统的状态信息,可让你得知整个Linux系统的网络情况。</font>
参数说明:
-l或--listening:显示监控中的服务器的Socket;
-n或--numeric:直接使用ip地址,而不通过域名服务器;
-p或--programs:显示正在使用Socket的程序识别码和程序名称;
-t或--tcp:显示TCP传输协议的连线状况;
-u或--udp:显示UDP传输协议的连线状况;
B. ps命令用于查看Linux中的进程数据。
】
【mysql密码设置】
注意:对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log中
查看:
cat /var/log/mysqld.log
cat /var/log/mysqld.log | grep password 【查询指定内容】
获取密码后即可重新设置密码:
①. 登录mysql(复制日志中的临时密码登录)
mysql -uroot -p
②. 修改密码
set global validate_password_length=4; 设置密码长度最低位数
set global validate_password_policy=LOW; 设置密码安全等级低,便于密码可以修改成root
set password = password('root'); 设置密码为root
③. 开启访问权限
grant all on *.* to 'root'@'%' identified by 'root';
flush privileges;
git 安装
yum install -y git
maven 安装
1.上传Maven的安装包到Linux
2.解压Maven的安装包到/usr/local
3.配置Maven的环境变量【/etc/profile】
xport MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
4.让配置文件生效:source /etc/profile
5.配置Maven的本地仓库和远程仓库【settings.xml】
55行:本地仓库配置
<localRepository>/usr/local/repo</localRepository>
147行:远程仓库配置
<!--阿里巴巴远程仓库镜像配置 新版-->
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
6.测试Maven安装是否成功【mvn -v】
【
设置静态ip
命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR="192.168.93.140" # 设置的静态IP地址
NETMASK="255.255.255.0" # 子网掩码
GATEWAY="192.168.93.2" # 网关地址
DNS1="192.168.93.2" # DNS服务器
】
Redis 安装
- Windows版下载地址:https://github.com/microsoftarchive/redis/releases
- Linux版下载地址: https://download.redis.io/releases/
【安装】
1. 将Redis安装包上传到Linux
2. 解压安装包,命令:
tar -zxvf redis-4.0.0.tar.gz -C /usr/local
3. 安装Redis的依赖环境gcc,命令:
yum install gcc-c++
4. 进入/usr/local/redis-4.0.0,进行编译,命令:
make
5. 进入redis的src目录进行安装,命令:
make install
【配置】
redis配置文件 :redis.conf
【后台启动】 daemonize 默认为no -----》 设置为true 可以修改为后台启动[window不支持后台]
【设置密码】 #requirepass foobared -----》 配置项取消注释,foobared为密码,可以根据情况自己指定
【设置允许远程连接】 Redis服务默认只能客户端本地连接,不允许客户端远程连接。将配置文件中的 bind 127.0.0.1 配置项注释掉。[bind:如果指定了bind,则说明只允许来自指定网卡的Redis请求。如果没有指定,就说明可以接受来自任意一个网卡的Redis请求。]
注意:Redis配置文件中的配置项前面不能有空格,需要顶格写
【启动】
# 进入Redis安装目录
cd /usr/local/redis-4.0.0
# 启动Redis服务,指定使用的配置文件
./src/redis-server ./redis.conf
nginx 安装
【安装】
1、由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库。
yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
2、下载安装包
yum install wget
wget https://nginx.org/download/nginx-1.16.1.tar.gz
【备注: wget : wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。】
3、解压nginx压缩包[解压到指定目录下]
tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/nginx
4、配置Nginx编译环境
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx
【说明: --prefix 指定的目录,就是我们安装Nginx的目录。】
5、编译&安装
make & make install
【Nginx使用命令及全局配置】
1、查看版本
./nginx -v
2、检查配置文件
./nginx -t
3、 启动
./nginx
4、停止
./nginx -s stop
5、重新加载【当修改了Nginx配置文件后,需要重新加载才能生效】
./nginx -s reload
【配置全局变量】
通过vim编辑器,打开/etc/profile文件, 在PATH环境变量中增加nginx的sbin目录,如下:
修改完配置文件之后,需要执行 source /etc/profile 使文件生效。 接下来,我们就可以在任意目录下执行nginx的指令了,如:
lrzsz 安装
【用于上传下载的软件】
1). 搜索lrzsz安装包
yum list lrzsz
2). 在线安装lrzsz
yum install lrzsz.x86_64
yum拓展知识
1). 如果在不更改软件来源的情况下,是需要联网才能使用yum的,那么我们安装的软件是从哪儿下载的呢,这里就涉及到一个概念: yum源。
2). 我们可以通过一个指令,来检查当前的yum源
从图中,我们可以看到我们安装的 CentOS7 采用的是网易的163yum源。
3). 网络 yum 源配置文件位于 /etc/yum.repos.d/ 目录下,文件扩展名为"*.repo"
可以看到,该目录下有 7 个 yum 配置文件,通常情况下 CentOS-Base.repo 文件生效。
4). 添加阿里云yum源
A. 先通过
yum install wget
,安装wget命令 B. 备份默认的网易163的yum源,执行指令 :
切换目录: cd /etc/yum.repos.d/
创建备份目录: mkdir bak
移动现有的yum源文件到bak: mv *.repo bak/
C. 下载阿里云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
D. 执行命令,重新生成cache
yum clean all
yum makecache
E. 再次查看yum源
之后,我们通过yum指令安装软件,就是从阿里云下载的。