- A+
Linux
touch :创建一个文件夹
rm -r 'b':删除一个文件夹
cd .
cd ..
cd /
cat -n /etc/profile :显示行数显示
文件目录操作命令
more命令
more fileName
操作命令
- 回车键:向下滚动一行
- 空格键:向下滚动一屏
- b:返回上一屏
- q或者Ctral+C:退出
tail命令
作用:查看文件末尾的内容
语法:tail[-f] fileName
说明:
- -f:动态读取文件末尾内容并显示,通常用于日志文件的内容输出
举例:
tail/etc/profile :显示......末尾10行内容
tail -20 /etc/profile :显示/etc下的profile文件末尾20行内容
tail -f /itcast/my.log :动态读取/itcast目录下的my.log文件末尾内容并显示
echo '1' >> mylog:追加
echo '1' >> my.log:被监控的文件输出1
mkdir
作用:创建目录的
语法:mkdir[-p] dirName
说明:
- -p:确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建
举例:
mkdir itcast 在当前目录下,建立一个名为itcast的目录
mkdir -p itcast/test 在工作目录下的itcast目录中建立一个名为test的子目录,若itcast目录不存在,则建立一个
:也就是可以实现多级目录的创建
rmdir
作用:删除空目录
语法:rmdir[-p] dirName
说明
- -p:当子目录被删除导致父目录为空目录的话,则一并删除
drwxr-xr-x 2 root root 6 5月 2 15:33 itcast1
drwxr-xr-x 2 root root 6 5月 2 15:33 itcast2
-rw-r--r-- 1 root root 6 5月 2 15:14 my.log
[root@localhost ~]# rmdir itcasr* :通配符
rm
作用:删除文件或者目录
语法:rm [-rf] name
说明:
- -r:将目录及目录中所有文件(目录)逐一删除,即递归删除
- -f:无需确认,直接删除
举例:
- rm -r itcast/ 删除名为itcast的目录和目录中所有文件,删除前需确认
- rm -rf itcast/ 无需确认,直接删除名为itcast的 目录和目录中的文件
- rm -f hello.txt 无需确认,直接删除hello.txt文件
拷贝移动命令
cp
作用:用于复制文件或目录
语法:cp [-r] source dest
source :源
dest:目标
说明
- -r:如果复制的是目录需要使用此选项,次是将复制该目录下所有的子目录和文件
- 如果是文件就不用写-r
举例:
- cp hello.txt itcast/ :将hello.txt复制到itcast目录中
- cp hello.txt ./hi.txt :将文件复制到当前目录并重命名
- cp -r itcast/ itheima/ :将itcast目录复制到itheima目录下
- cp itcast/* itheima/ :复制的是里面的内容
mv
作用:为文件或目录改名,或将文件或目录移动到其他位置
语法:mv source dest
举例:
- mv hello.txt hi.txt :改名
- mv hi.txt itcast/ :移动
- mv itcast.txt itheima/itcast01.txt :移动并改名
- mv itcast/ itheima :如果这个目录itheima不存在则是改名
- mv itheima/ itcast/ :如果这个目录存在则是移动
打包压缩命令
tar
作用:对文件进行打包、压缩、解压
语法:tar[-zcxvf] filleName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩
说明:
- -z:代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
- -c:代表的是create,即创建新的包文件
- -x:代表的是extract,实现从包文件中还原文件
- -v:代表的是verbose,显示命令的执行过程
- -f:代表的是file,用于指定包文件的名称
举例:
注意打包和压缩不一样:解压缩与解包也不一样
- tar -cvf test.tar test :直接打包
- tar -zxvf test.tar.gz :解压gz压缩文件,默认当前目录
- tar -xvf test.tar :从包中还原文件,默认当前目录
- tar zxvf test.tar.gz -C/ :解压文件到根目录
文本遍历命令
作用:vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
语法:vi fileName
说明:
- vim是从vi发展来的一个功能强大的文本编辑工具,在编辑文件时可以对文本内容进行着色,方便我们对文件进行编辑处理,vim更常用
- 要使用vim命令,需要我们自己完成安卓,可以使用下面的命令来安装yum install vim
Vim
作用:对文件内容进行编辑,vim其实就是一个文本编辑器
语法:vim fileName
说明:
- 在使用vim命令编辑文件时,如果指定的文件存在则直接打开此文件,如果指定的文件不存在,则新建文件
- vim在进行文本编辑时分为三种模式,分别是命令模式,插入模式,底行模式,,这三种模式可以相互切换
三种模式说明:
-
命令模式
- 命令模式下可以查看文件内容、移动光标(上下左右箭头、gg(头)、G(尾))
- 通过vim命令打开文件,默认进入命令模式
- 另外两种模式需要首先进入命令模式,才能进入彼此
-
插入模式
- 插入模式可以对文件进行编辑
- 在命令模式下按下[i,a,o]任意一个,可以进入插入模式,进入插入模式后,下方会出现insert字样
- 在插入模式下按下ESC键,回到命令模式
-
底行模式
- 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
- 在命令模式下按下{:,/}任意一个,可以进入底行模式
- 通过/方式进入底行模式后,可以对文件内容进行查找
- 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存直接退出)、
set nu(显示行号)
查找命令
find
作用:在指定目录下查找文件
语法:find dirName -option fileName
可以在任意目录找
举例:
- find . -name "*.java" :在当前目录及其子目录下查找.java结尾的文件
- find /itcast -name "*.java" :在/itcast目录及其子目录下查找.java结尾的文件
grep
作用:从指定的文件中查找指定的文本内容
语法:grep word fileName
注意:在查找的时候是区分大小写的
举例:
- grep Hello helloWorld.java
软件安装
软件安装的方式
安装JDK
source /etc/profile:重新加载一下,让他生效
安装Tomcat
启动tomcat
sh startup.sh
查看是否启动成功
查看启动日志
- more /usr/local/apache-tomcat-7.0.57/logs/catalina.out
- tail -50 //usr/local/apache-tomcat-7.0.57/logs/catalina.out
查看进程
- ps -ef | grep tomcat
扩展ps命令
注意:
- ps命令是linux下非常强大的进程查看命令,通过ps -ef 可以查看当前运行的所有进程的详细信息
- “|” 管道符,可以将前一个命令的结果输出给后一个命令作为输入
- 使用ps命令查看进程时,经常配合管道符和查看命令grep一起使用,来查看特定进程
windows中访问tomcat
因为linux中默认是开启防火墙的
防火墙
防火墙操作:
- 查看防火墙状态(systemctl status firewalld、firewall-cmd --state)
- 暂时关闭防火墙(systemctl stop firewalld)
- 永久关闭防火墙(systemctl disable firewalld)
- 开启防火墙(systemctl start firewalld)
- 开放指定端口(firewall-cmd --zone=public --add-port=8080/tcp --permanent)
注意开启了要马上生效firewall-cmd --reload
- 关闭指定端口(firewall-cmd --zone=public --remove-port=8080/tcp --permanent)
- 立即生效(firewall -cmd --reload)
- 查看开发的端口(firewall-cmd --zone=public --list-ports)
结束tomcat
bin目录下 sh stutdown.sh
或者找到tomcat进程id kill -9 id号(不建议除非停不掉了)
安装MySQL
先要看一下os中是否有其他数据库看后面
注意使用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
- mysql-community-devel-5.7.25-1.el7.x86_64.rpm
- mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
- mysql-community-client-5.7.25-1.el7.x86_64.rpm
- yum install net-tools :直接按照server可能会报错,要先用yum命令按照一个插件
- mysql-community-server-5.7.25-1.el7.x86_64.rpm
yum update:更新一下内核
安装方式RPM
这个命令用于管理和安装软件的工具
1、先看自己centOS下有没有Mysql数据库有的话安装失败,CentOS7自带mariadb,与mysql冲突
怎么看?
rpm -qa:看全部
rpm -qa | grep mysql
rpm -qa | grep mariadb
怎么卸载
rpm -e --nodeps : 软件名称
rpm -e --nodeps mariadb-libs
启动Mysql
systemctl status mysqld :查看mysql服务 (刚开始是dead)
systemctl start mysqld :开启mysql服务(为running)
为了避免每次开机都要启动mysql
设置一下
systemctl enable mysqld :开机启动服务
如果已经安装了yum install net-tools 就可以使用下面命令
netstat -tunlp :查看已经启动的服务
netstat -tunlp | grep mysql
ps -ef | grep mysql :查看mysql进度
登录
刚安装mysql给我们提供了一个临时的密码我们要改一下
- 登录MySQL数据库,查阅临时密码
- cat /var/log/mysqld.log :查看文件内容
- cat /var/log/mysqld.log | grep password :查看日志中password信息jk;r*EMh-8Ff
- mysql -uroot -p:进入数据库
- 修改密码
- set global validate_password_length=4 :设置密码最低4位
- set global validate_password_policy=LOW :安全级别
- set password =password('root')
- 开启访问权限
- grant all on . to 'root'@'%' identified by 'root';
- flush privileges :立即生效
安装lrzsz
作用:用于文件上传与下载,因为不是所有工具都有文件上传功能的
yum命令
yum list lrzsz :搜索lrzsz安装包
安装命令
yum install lrzsz.x86_64
就可以输入rz命令
部署项目
手工部署项目
自动从git仓库拉取代码,自动打包,全自动的
java -jar helloworld....:这种方式是霸屏的方式,我们需要在后台运行
线上程序不会将日志输出到控制台,而是输出到日志文件,方便运维查阅信息
java -jar helloworld....:这种方式是霸屏的方式,我们需要在后台运行
解决:
- nohup命令:用于不挂断地运行指定命令,退出中断不会影响程序的运行
- 语法格式 nohup Command [Arg ...] [&]
- Arg:一些参数,可以指定输出文件
- &:让命令在后台运行
举例:
nohup java -jar helloworld-0.0.1-SNAPSHOT.jar &> hello.log &
:后台运行java -jar 命令,并将日志输出到hello.log文件
这种方式启动怎么停止?
杀进程的方式
ps -ef | grep hello :找到进程id
kill -9 进程id
Shell脚本自动部署项目
操作步骤:
-
在Linux中安装Git
- yum list git
- yum install ...
- git clone https:.........
-
在Linux中安装maven
-
编制配置 vim /etc/profile
-
在最后追加以下内容 export MAVEN_HOME=/usr/local/apache-maven-3.8.4
export PATH=$MAVEN_HOME/bin:$PATH -
刷新配置 source /etc/profile
-
查看maven是否配置好 mvn -version
-
配置自己setting.xml
-
<localRepository>/path/to/local/repo</localRepository>
-
-
编写Shell脚本(拉取代码、编译、打包、启动)
-
为用户授予执行Shell脚本的权限
- chmod命令
- linux中的权限一般分为三种r(读)、w(写)、x(执行)
- linux的文件调用权限分为三级:文件所有者,用户组、其他用户
- 注意:只有文件的所有者和超级用户可以修改文件或目录的权限
- 要执行Shell脚本需要有对此脚本文件的执行权限,如果没有则不能执行
- chmod 777 bootStart.sh
- 555 210
-
执行Shell脚本
- 第一次很慢,因为jar包都没有