Linux常用命令、相关软件安装及项目部署
目录结构
/ //每一个文件和目录从根目录开始。/root是root用户的主目录,与/不一样
/bin /sbin //用户二进制和可执行文件,常见Linux命令都位于此目录下,但/sbin目录下的命令通常由系统管理员使用,对系统进行维护,如ifconfig、swapon命令
/etc //配置文件,包含所有程序所需的配置文件
/tmp // 临时文件,当系统重新启动时,这个目录下的文件都将被删除。
/usr //用户程序,包含二进制文件、库文件、文档和二级程序的源代码
查询目录中的内容
ls //查询当前目录下的所有目录和文件
ls -a //查询当前目录下的所有目录和文件,包括隐藏文件
ls -l //显示详细信息
ls -al/-alh //人性化查看详情
ll //ls -l的缩写
文件处理
pwd //查询当前所在目录位置
cd . //切换到当前目录
cd .. //切换到上一级目录
cd ~ 、cd //切换到当前用户目录
cd - //切换到上一个访问目录
touch 文件名 //创建文件
mkdir 目录名 //创建目录,只能是单级目录
mkdir -p 多级目录名 //递归创建多级目录
rmdir 目录 // 删除目录(目录为空时才能执行成功)
rm -rf 文件/目录 //递归删除文件或目录(目录为多级时也能执行成功 )
cp 源文件 目标目录 //将源文件拷贝一份到指定目录下
cp -r 源目录 目标目录 //将源目录包括里面所有东西递归拷贝一份到指定目录下
mv 源文件 文件目录 //将源文件剪切到指定的文件目录下
mv 源文件 不存在的文件 //重命名
mv 源文件 文件夹/不存在的文件 //将源文件剪切到文件夹中,并且当文件下不存在源文件的名称时还会进行重命名
文件搜索命令
whereis 命令 //搜索指定命令所在的路径
which 命令 //搜索指定命令所在路径与别名
echo $PATH //查看并输出环境变量信息
find [搜索范围] [搜索条件] [搜索值] //在系统当中搜索符合条件的文件名.如果需要进行匹配,使用通配符
find / -name install.log //查询当前目录下文件名为install.log 的文件
find /root -iname install.log //按名称查询root目录下名为install.log 的文件, 不区分大小写find / -size 25k //查找文件大小是25KB的文件
find / -size 25M //查找文件大小是25MB的文件find /etc -size +20k -a -size -50k //查找/etc/目录下,大于20KB并且小于50KB的文件
find /etc -size +20k -a -size -50k -exec ls -lh {} \; //查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息,-exec {} \;这是固定格式
重点
ps -ef | grep java //查询进程中包含指定java字符串的进程//find命令:在系统中搜索符合条件的文件名.
//grep命令:在文件中搜索符合条件的字符串.
man 命令名 //查看帮助命令 (man 命令名打开命令说明书之后,使用按键q退出)命令 --help //查询命令选项帮助
压缩与解压缩
.zip格式
zip 压缩文件名 要压缩的文件 //只能压缩单个文件
zip -r 压缩文件名 要压缩的文件目录 //可以压缩指定文件夹下的所有文件
zip -r yoona.zip yoona.txt
zip -r hkj.zip hkj unzip 解压缩.zip文件 //解压指定的压缩包
unzip kj.zip
.gz格式
//如果是压缩文件,原文件会不见了,变为aa.txt.gz
//如果是压缩目录(目录中是有文件的),原目录还在,目录中的文件会一起被压缩成bb.txt.gz
.tar.gz格式
其他相关重要命令
//磁盘使用情况
df //显示磁盘的使用情况
df -h //格式化显示的输出磁盘使用情况
top //查看任务进程
free //查看内存占用
history //查看操作历史,用于显示执行过的历史命令记录
shutdown [选项] [时间]
shutdown -c //取消上一个关机命令
shutdown -f/-r now //重启
reboot //重启
shutdown -h 时间 //多少分钟后关机
poweroff //立即关机
sync //把内存的数据同步到磁盘,在关机和重启时养成习惯先运行此命令
文件查看命令
cat //将整个文件的内容显示出来
cat hkj.txt
tail //实时查看文件内容 参数-f,用于显示文件最新追加的内容
tail -f hkj.txt
tail -n行数 hkj.txt
vi编辑器
vi /path/to/file //打开文件
:wq //在末行执行:wq进行保存并退出
:q! //在末行执行:q!进行退出并且不保存
(n)dd 删除光标所在行 (编辑模式)
(n)yy 复制光标所在行 (编辑模式)
p 粘贴(复制后)
:set nu //设置文件行号
:set nonu //取消文件行号
u //撤销
用户管理
useradd [用户名] //创建指定名称用户
passwd 用户名 //给指定用户添加密码
userdel -f/-r [用户名] //删除用户 强制删除用户,即使用户已登录 /删除与用户相关的所有文件
pwd //
su 用户名 //切换用户groupadd [组名] //新增组
groupdel [组名] //删除组
useradd -G [组名] [用户名] //创建用户并分配一个组
usermod -G [组名] [用户名] //修改用户组
cat /etc/passwd //记录所有用户的信息
cat /etc/group // 记录Linux包含的组的信息
权限管理
rwx //r代表可读,w代表可写,x代表该文件是一个可执行文件第一段: [代表拥有者的权限]第二段: [代表拥有者所在的组成员的权限]第三段: [代表的是其他用户的权限]
chmod [选项] 模式 文件名 //模式 -》 [guoa] [+-=] [rwx]
chmod g+(-)w,o+(-)w hkj.txt //给组和其他用户添加对hkj.txt文件的写权限
chmod a=rwx hkj.txt //给hkj.txt文件的当前用户,当前组,其他用户添加rwx:可读可写可执行的权限
chmod [选项] 模式[mode(rwx)=421] 文件名
r => 4 w => 2 x => 1
chmod 755 hkj.txt //给hkj.txt文件的当前拥有者分配rwx权限,当前组分配r_x权限,其他用户分配r_x权限
visudo //输入该命令进入sudo配置文件
用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
hkj ALL = (ALL) /usr/sbin/shutdown //给hkj超管权限,但只能执行关机命令
sudo shutdown -h now //借助别人的权限才能进行操作,需加上sudo
systemctl list-unit-files //查看开机启动项
systemctl status <服务名> //查看服务状态
systemctl stop <服务名> //关闭服务
systemctl start <服务名> //启动服务
systemctl restart <服务名> //重启服务
systemctl enable <服务名> //添加开机启动项
systemctl disable <服务名> //禁止开机启动项 开发中我们可以把防火墙给禁用掉
ps -ef //查看当前系统的进程状态 ,显示出来的列表参数二就为进程id
kill -9 进程ID //杀死进程id
网络管理
firewall-cmd --state //查看防火墙状态
firewall-cmd --zone=public --list-ports //查看所有已经打开的端口
firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效) //开启端口
firewall-cmd --reload //更新防火墙规则,当执行完开启或删除端口都需执行此命令
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent //删除端口
systemctl stop firewalld / systemctl disable firewalld //开发中可以关闭,其他情况下别关闭
cd /etc/sysconfig/network-scripts //来到当前目录下,通过ls查看当前目录下的所有文件
vi ifcfg-ens32 //进入该文件,可查看到是否是自动获取ip,如果有个属性的值为dhcp,表示是自动获取
静态ip修改
vi ifcfg-ens32 //进入该文件,将内容替换为以下内容TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=xx.xx.xx.xx #网卡IP地址
NETMASK=255.255.255.0 #网卡网络地址
GATEWAY=xx.xx.xx.xx #网卡网关地址
DNS1=8.8.8.8 #网卡DNS地址
BROADCAST=xx.xx.xx.255 #网卡广播地址 reboot //重新启动电脑
Linux应用
软件安装:
rpm方式
- 创建一个自定义的仓库地址,这里选择在/usr目录下配置一个自定义的仓库地址
mkdir -p local/software
- 安装一个包,强制安装
rpm -ivh --nodeps <包名>
yum方式
- 配置一个自定义的仓库地址
mkdir -p local/software
- 安装
yum install 软件名
修改yum源
yum install wget -y //下载东西
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak //备份本地软件仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo //从阿里云中下载软件,以后只需告诉名字就可以自动从阿里云下载下来
yum makecache //重置缓存
项目部署
jdk安装
- 将jdk拉入linux路径下的 /usr/local/software中
- 将jdk解压到指定的路径
cd /usr/local/software //先来到jdk所在的目录
tar -zxvf jdk-11_linux-x64_bin.tar.gz -C /usr/local //将jdk压缩包解压到/usr/local目录下
- 备份配置环境变量的文件(以后凡是要配置环境变量都需要先备份)
cp /etc/profile /etc/profile_bak
- 修改配置环境变量文件
vi /etc/profile
//在空白地方输入一下配置
export JAVA_HOME=/usr/local/jdk-11 #设置java_home
export PATH=$JAVA_HOME/bin:$PATH #设置环境变量, 跟window的区别是环境变量是以:进行分隔的
- 重新加载环境变量
source /etc/profile
- 测试
java -version
//出现一下结果代表安装成功
java version "11" 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Tomcat安装
- 将Tomcat拉入linux路径下的 /usr/local/software中
- 将tomcat解压到指定的路径
cd /usr/local/software //先来到tomcat所在的目录
//将tomcat压缩包解压到/usr/local目录下
cp apache-tomcat-9.0.33.zip /usr/local
cd /usr/local //去到解压目录
unzip apache-tomcat-9.0.33.zip //解压
rm -rf apache-tomcat-9.0.33.zip //解压完成后将压缩包删除
- 切换到tomcat的 bin目录
cd /usr/local/apache-tomcat-9.0.33/bin
- 执行tomcat启动命令,先进行授权,然后才启动
chmod 777 *.sh //授权
./startup.sh //启动
- 此时因为防火墙没有开辟8080端口,需要开通, 并重启
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
--------------------------------------------------------
如果不想每次都要进行开辟端口,可以把防火墙禁用掉
systemctl stop firewalld
systemctl disable firewalld
- 访问测试tomcat是否启动,默认端口8080
- 观看tomcat运行日志
cd /usr/local/apache-tomcat-9.0.33/logs
tail -f catalina.out //查看新增的打印日志
- 新拷贝一份会话,去到bin,关闭Tomcat,再启动
cd /usr/local/apache-tomcat-9.0.33/bin
./shutdown.sh
./startup.sh
切换回到刚刚查看日志命令的会话,可以看到日志打印
关闭Tomcat
方式一:
cd /usr/local/apache-tomcat-9.0.33/bin
./shutdown.sh
方式二:
ps -ef | grep tomcat //找到进程id
kill -9 进程id
mysql安装
注:在安装mysql前可以先快照一下,防止后续出现问题
- 将mysql文件夹拉入linux路径下的 /usr/local/software中,并进入mysql目录中
cd /usr/local/software/mysql5.7/
- 把postfix 和mariadb-libs卸载掉,不然的会有依赖包冲突
rpm -e postfix mariadb-libs
- 安装mysql的依赖net-tools和 perl
yum -y install net-tools perl
- 安装mysql-common包
rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm
- 安装mysql-libs包
rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm
- 安装mysql-client包
rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm
- 安装mysql-server包
rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm
- 设置开机启动
systemctl enable mysqld
- 启动MySql服务
systemctl start mysqld
由于MySQL5.7安装好后会给root用户分配一个临时密码,所以我们先查看临时密码,root@localhost:后面的就是临时密码,然后使用临时密码进行登录,登录成功后再重新设置新密码
(\注意:mysql5.7增加了安全级别,密码**必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位*)
grep 'temporary password' /var/log/mysqld.log
ALTER USER 'root'@'localhost' IDENTIFIED BY 'WolfCode_2017';
- 由于root是不能连接远程进行登录的,如果要让root进行远程登录,需要开放远程登录权限,或者新创建一个用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'WolfCode_2017' WITH GRANT OPTION;
FLUSH PRIVILEGES;
部署war包
将项目打成war包
将war包拉入linux路径下的 /usr/local/software/project1中,并进入该目录
cd /usr/local/software/project1
- 解压项目,解压后记得在WEB-INF/classess/db.properties修改数据库和密码,并删掉压缩包
unzip car-business-1.0.0.war
rm -rf car-business-1.0.0.war
- 进入tomcat的配置目录,修改server.xml,可以在配置文件中修改端口和访问路径等信息
cd /usr/local/apache-tomcat-9.0.33/conf
vi server.xml
<Context path="" docBase="/usr/local/software/project1" reloadable="true">
</Context>
- 进入 WEB-INF/classes/下的db.properties修改数据库和密码等信息
cd WEB-INF/classes/
vi db.properties
- 启动项目
cd /usr/local/apache-tomcat-9.0.33/bin
./startup.sh
- 关闭
./shutdown.sh
redis安装
- 将安装包拉入linux路径下的 /usr/local/software中,并进入该目录,将压缩包解压到 /usr/local
cd /usr/local/software
tar -zxvf redis-6.2.1.tar.gz -C /usr/local
- 进入redis主目录
cd /usr/local/redis-6.2.1/
- 安装gcc编译器
yum install -y gcc
- 编译redis
cd /usr/local/redis-6.2.1/
make
- 安装redis 服务
cd /usr/local/redis-6.2.1/src
make install
- 修改redis配置文件redis.conf
vi /usr/local/redis-6.2.1/redis.conf
将redis配置的 : daemonize: no 后台运行改为yesprotected-mode : yes 保护模式改为 no
- 启动redis服务,可以通过命令查看是否启动成功
/usr/local/redis-6.2.1/src/redis-server /usr/local/redis-6.2.1/redis.conf
ps -ef | grep redis //查看是否有redis服务或者查看端口
- 设置远程连接,改为配置文件需重新启动redis
vi /usr/local/redis-6.2.1/redis.conf
注释掉 #bind 127.0.0.1
改为 bind 0.0.0.0
- 如果 防火墙没有禁用掉,需开放6379端口,进行远程连接
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
mongodb安装
- 将mongodb安装包拉入linux路径下的 /usr/local/software中
- 安装mongodb
cd /usr/local/software
rpm -ivh mongodb-org-server-4.4.4-1.el7.x86_64.rpm
- 修改mongodb配置文件满足远程连接
vi /etc/mongod.conf
bindIp: 0.0.0.0 # 0.0.0.0 绑定所有的网卡
- 启动mongodb
systemctl start mongod
- 如果 防火墙没有禁用掉,需开放27017端口,使用navicat进行连接
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload
elasticsearch安装
- 将elasticsearch安装包拉入linux路径下的 /usr/local/software中
- 安装elasticsearch到/usr/local
cd /usr/local/software
tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz -C /usr/local
- 修改配置文件设置远程访问配置
vi /usr/local/elasticsearch-7.10.2/config/elasticsearch.yml
//修改如下配置
将network.host:xxxxx 修改为:network.host: 0.0.0.0
#node.name: node-1 修改为:node.name: node-1
#cluster.initial_master_nodes: ["node-1","node-2"]修改为:cluster.initial_master_nodes: ["node-1"]
- 如果 防火墙没有禁用掉,需开放端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload
- 配置es启动环境
vi /etc/security/limits.conf
//最后一行加上:
* soft nofile 65536
* hard nofile 65536vi /etc/sysctl.conf
vm.max_map_count=262144//重启
reboot
//查看是否生效
ulimit -Sn
sysctl -p
- 创建用户并启动(es 5之后不允许root用户启动, 所以只能创建用户启动)
//创建用户: //设置密码:
adduser elasticsearch passwd elasticsearch
//设置操作权限(选其中其一,推荐第二种)
chown -R elasticsearch /usr/local/elasticsearch-7.10.2
chown -R elasticsearch:elasticsearch /usr/local/elasticsearch-7.10.2//另外开启一个命令框
cd /usr/local/elasticsearch-7.10.2/bin
//在启动前需要先切换用户,不能使用root用户
su xxx
./elasticsearch -d
浏览器:http://192.168.183.128:9200/
- 安装ik分词器
cd /usr/local/elasticsearch-7.10.2/plugins
mkdir elasticsearch-analysis-ik-7.10.2
cp /usr/local/software/elasticsearch-analysis-ik-7.10.2.zip /usr/local/elasticsearch-7.10.2/plugins/elasticsearch-analysis-ik-7.10.2
cd /usr/local/elasticsearch-7.10.2/plugins/elasticsearch-analysis-ik-7.10.2
unzip elasticsearch-analysis-ik-7.10.2.zip
rm -rf elasticsearch-analysis-ik-7.10.2.zip//重启elasticsearch
ps -ef | grep elasticsearch
kill -9 进程id
cd /usr/local/elasticsearch-7.10.2/bin
//切换用户,不用root启动
su xxx
./elasticsearch -d
部署jar包
在部署项目时,先将相应的服务启动,并将项目进行打包,给要让外界进行访问的模块(trip-website-api、trip-mgrsite)的pom文件添加插件坐标
//redis启动
/usr/local/redis-6.2.1/src/redis-server /usr/local/redis-6.2.1/redis.conf
//mongodb启动
systemctl start mongod
//elasticsearch启动,不用root用户启动
cd /usr/local/elasticsearch-7.10.2/bin
./elasticsearch -d
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><fork>true</fork><mainClass>cn.wolfcode.wolf2w.App</mainClass><layout>ZIP</layout></configuration><executions><execution><goals><goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--></goals></execution></executions></plugin></plugins></build>
trip-website:
- 修改:trip-website 中 js/vue/common.js中的domainUrl ,将项目打包trip-website.zip
var domainUrl = "http://xxx.xxx.xxx.xxx:8080";
- 解压项目,并删掉压缩包
cd /usr/local/software/project2/trip-website
unzip trip-website.rar
rm -rf trip-website.rar
- pwd进入项目2所在路径,进入tomcat的配置目录
cd /usr/local/apache-tomcat-9.0.33/conf
vi server.xml
//进行相关配置
端口:8088
<Context path="" docBase="/usr/local/software/project2/trip-website" reloadable="true">
</Context>
- 启动项目,访问http://xxx.xxx.xxx.xxx:8080
cd /usr/local/apache-tomcat-9.0.33/bin
chmod 777 *.sh
//启动 //关闭
./startup.sh ./shutdown.sh
trip-website-api、trip-mgrsite:
- 启动项目
java -jar trip-website-api.jar、java -jar trip-mgrsite.jar
Linux常用命令、相关软件安装及项目部署相关推荐
- linux(linux常用命令,软件安装,vim编辑器)
linux2 linux常用命令 软件安装 vim编辑器 linux常用命令 系统信息 date 显示系统日期 cal / cal 2018 关机 (系统的关机.重启以及登出 ) shutdown - ...
- Linux 操作系统(常用命令、软件安装,项目手动部署、shell 自动化部署)
Linux 操作系统 不同领域的主流操作系统 桌面操作系统:windows(用户数量最多).Mac OS(操作体验好,办公人士首选).Linux(用户数量少)服务器操作系统:UNIX(安全.稳定.收费 ...
- 瑞吉外卖:linux课程学习(软件安装、项目部署)
Linux-Day02 课程内容 软件安装 项目部署 1. 软件安装 1.1 软件安装方式 在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 安装方式 特点 二进制发布包安装 ...
- linux② 常用命令 , python3, django安装
目录 一.常用命令 二.下载和安装 一.常用命令 1.常识命令 ① w 显示终端连接数 ②pwd 我在哪 ③whoami 我是谁 ④which 命令 找到命令的 ...
- linux软件安装和项目部署
jdk的安装 采用压缩包解压的方式来安装 下载jdk的压缩包 上传到服务器(使用上传工具) 解压缩 # 解压到当前目录 # tar -zxvf 要解压的文件名(或文件的完整路径) tar -zxvf ...
- Ubuntu系统初识-常用命令和软件安装
常用的终端命令: sudo:sudo是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登陆 和管理时间,同样也提高了安 ...
- Linux常用命令及软件更新
此文章转载自:http://blog.csdn.net/dazhi_100/article/details/9473311 1:Linux 命令 ps –ef 查看所有的进程 grep 搜索 ...
- Vue相关软件安装及其项目构建
一 webpack的安装 1.查看是否有node node -v 2.查看是否有webpack --version 表示没有webpack,此时需要安装webpack 全局安装npm install ...
- 设置密码命名是什么linux,Linux常用命令
Linux常用命令 Linux常用命令 Linux密令大全 1.1 进入文件内部 vim "文件名称" 1.2 进入输入模式 i 或者 insert 1.3 退出输入模式,进入命令 ...
- linux常用命令练习:wc、cut、|、tee、tail
linux常用命令相关练习: 1.只显示/etc/inittab 文件有多少行,其他信息不显示: #wc -l /etc/inittab | cut -d' ' -f1 [root@ ...
最新文章
- python双星号什么运算_python – 双星号
- 签消费贷合同免费领取苹果手机? 捷信、马上等多家消费金融“躺枪”
- android 讯飞语音评测,讯飞语音评测demo
- recyclerView + GridLayoutManager 实现任意网格布局+拖拽排序
- 7-16 一元多项式求导 (20 分)(详解+题目分析)
- 算法题008 快速找出故障机器
- php获取内存峰值,php内存\获取\使用
- java和c++ 删除hash表的内容
- 【前端】设计更好的数据表
- 西瓜书《贝叶斯》朴素贝叶斯公式推导
- UVA10079 Pizza Cutting
- 依赖型的关系建立 - 小技巧
- X25519(Curve25519)椭圆曲线密钥生成
- 130242014034(2)-“电商系统某功能模块”需求分析与设计实验课小结
- codewars python Regex validate PIN code
- 科技文献检索课题 计算机,科技文献检索完整作业
- 不错的javascript极品日历
- 电脑JAVA打开oracle太慢_oracle官网下载jdk跑不动太慢了,给出快速下载方式mac
- (十八)树莓派3B+ wiringPi库的使用--外部中断
- 机器学习工程师 — Udacity 基于CNN和迁移学习创建狗品种分类器