常用命令
- ls 查看目录内容
- pwd 查看当前目录
- cd [目录名] 进入目录
- touch [文件名] 如果文件不存在创建
- mkdir [目录名] 创建目录
- rm [文件名] 删除文件 rm -rf 无需确认直接删除
- cat filename 查看文件
(cat -n filename显示行数, more filename 分页形式查看,空格下一页,b上一页,q或者ctrl+c退出) - cp -[r] source dest 如果复制的是目录,此时复制该目录下的所有
例如cp –r test/ newtest
将当前目录 test/ 下的所有文件复制到新目录 newtest 下 - 把文件和目录打包成一个文件,方便复制或者移动。
格式为 tar [-zcxvf] filename [files]
说明
-z:表示同时用gzip压缩。
-c:表示create,创建新的压缩包
-x:表示解包或者解压缩。
-v:执行过程表示可视化。
-f:后面跟文件名(即-f filename,表示压缩后的文件名为filename,或者解压文件filename。)需要注意的是,在多个参数组合的情况下,请把-f参数写到最后面。
-C:后面跟解压到哪个目录中(目录必须存在)
例如:tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz 解压到/usr/local目录
tar -xvf anaconda-ks.cfg.tar解包
查找文件命令 find dirName -option fileName
举例: find . -name ".java“ ----当前目录下的.java文件;
find /itcast -name ".java“ ----- itcast目录下的.java文件;
grep 从指定文件查找内容
grep word filename
举例
grep Hello HelloWorld.java ------在HelloWorld.java文件中查找Hello字符串位置
grep Hello *.java ---------在当前目录下所有.java结尾的文件中查找Hello字符串位置
vim命令
vim是vi发展来的,能对文本着色,
安装vim
yum install vim
[i,a,o]任意一个进入插入模式,ESC返回命令模式,
底行模式 在命令模式下按[:,/],任意一个,通过 / 进入可以对文件进行查找,通过 :进入后可以wq(保存并退出), q!(不保存退出), set nu(显示行数)
软件安装
安装方式
1.软件包解压安装
2.rpm安装,使用rpm命令安装,但不能执行解决依赖库问题
3.yum安装,自动下载并安装,自动解决依赖库问题
4.源码编译安装
安装JDK
1.下载压缩包,将压缩包解压到个人指定目录
2.配置环境 命令打开vim /etc/profile 在末尾设置
#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_162
PATH=$JAVA_HOME/bin:$PATH
使用配置环境命令source /etc/profile
查看Java配置是否成功命令java -version
安装Tomcat
1.下载Tomcat的linux压缩包,将压缩包解压到个人指定目录
2进入bin目录有命令./startup.sh --启动Tomcat, 命令./shutdown.sh --关闭
安装docker和安装Mysql
使用官方安装脚本自动安装docker
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
手动安装
卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,您可以从仓库安装和更新 Docker。
安装yum工具
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
使用以下命令来设置稳定的仓库。
清华大学源
$ sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
输入yum install -y docker-ce
--docker-ce为社区免费版本。稍等片刻,docker即可安装成功
启动docker
#关闭
systemctl stop firewalld
#禁止开机启动防火墙
systemctl disable firewalld
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
然后输入命令,可以查看docker版本:docker -v
卸载docker
删除安装包:
yum remove docker-ce
删除镜像、容器、配置文件等内容:
rm -rf /var/lib/docker
docker使用mysql
1.拉取最新版本
docker pull mysql:latest
2.查看镜像
查看本地镜像
使用以下命令来查看是否已安装了 mysql:
$ docker images
运行容器
安装完成后,我们可以使用以下命令来运行 mysql 容器:
$ docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
5、安装成功
通过 docker ps 命令查看是否安装成功
# docker 中下载 mysql
docker pull mysql
#启动
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
#启动并挂载
-v /root/data:/var/lib/mysql /root/data/:这是宿主机的数据存放路径(你也可以自定义), /var/lib/mysql:这是mysql容器存放数据的地方。也是为了同步数据,防止,容器被删除以后,数据就不存在了。
docker run --name some-mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /root/data:/var/lib/mysql mysql:latest
#进入容器
docker exec -it mysql bash
#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
远程连接
#远程连接出错再添加远程登录用户,
root是你要设置的密码,%代表所有ip
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
linux项目部署
手动部署
1.打包jar包
2.上传linux上,一般上传到 /usr/local/app目录下
3.启动命令
java -jar helloword.jar
#后台日志启动
nohup java -jar boot工程.jar &> xxx.log &
Shell脚本部署
1.Linux安装git
yum list git //列出git安装包
yun install git //在线安装
# 创建一个目录,在目录里克隆项目
git clone https://github.com/xxxx //克隆命令
git remote -v //查看远程仓库信息
2.Linux安装maven
tar -zxvf apache-maven-3.8.5-bin.tar.gz -C /usr/local/maven //解压maven 安装包到 maven 文件夹
vim /etc/profile //编辑环境变量
## 添加maven环境
MAVEN_HOME=/usr/local/maven/apache-maven-3.8.5
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH
source /etc/profile //重新加载
mkdir repo //创建本地仓库
vim /usr/local/maven/apache-maven-3.8.5/conf/settings.xml //修改配置文件
<localRepository>/usr/repo</localRepository>
3.编写Shell脚本(拉取,编译,打包,启动)
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=reggie_take_out
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准备从Git仓库拉取最新代码
cd /usr/local/app/reggie_take_out
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie_take_out.log &
echo 项目启动完成
为Shell脚本授权
chmod 777 reggieStart.sh
docker 运行redis
# 拉起镜像
docker pull redis
#新建目录用于配置挂载
cd /docker/redis
wget http://download.redis.io/redis-stable/redis.conf
vi redis.conf
修改前:
bind 127.0.0.1
protected-mode yes
appendonly no
修改后:
# bind 127.0.0.1
protected-mode no
appendonly yes//持久化
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
appendonly yes #redis持久化(可选)
# 启动命令
docker run -p 6379:6379 --name redis
-v /docker/redis/redis.conf:/etc/redis/redis.conf
-v /docker/redis/data:/data
-d redis redis-server /etc/redis/redis.conf --appendonly yes