1、Linux入门
Linux是一个开源、免费的操作系统
windows server windows服务器系统
linux 的主要目录结构
/bin:这个目录存放着最经常使用的命令
/boot:存放启动Linux时使用的一些核心文件,包括一些连接文件, 镜像文件
/etC:系统管理所需要的配置文件
/home:存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/root:系统管理员的超级主目录
/usr:用户的很多应用程序和文件都放在这个目录下,类似windows下的program files
/usr/local :这是给Linux系统本身安装额外软件的目亲(ffle. idea. mysq)
/var:这个目录存放着不断扩充的东西,包括各类日志文件
2、远程登录Linux
- linux服务器时开发小组共享的
- 正式上线的项目是运行在公网上
- 程序员要远程操作系统确保项目的正常运行
① Xshell
Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件。它使得用户能轻松和安全地从Windows PC上访问Unix/Linux主机。
Xshell的运用
常用命令:
ssh ip:如 ssh 192.168.1.1 表示连接到192.168.1.1主机上。
之后输入机器的用户名和密码。
ls:查看当前路径下的文件和文件夹
cd:切换路径
cd …:返回上一层路径
rm -f 文件名:删除文件
rm -rf 文件夹名称:删除文件夹
./startup.sh:启动tomcat服务
./shutdown.sh:停止tomcat服务。
② Xftp
Xftp是一个用于MS Windows平台的强大的FTP和SFTP文件传输程序。Xftp能安全地在Unix/Linux和Windows PC之间传输文件。
Xftp的连接
新建会话:输入机器的ip,用户名和密码,端口号进行连接。需要注意的是,协议选择SFTP
连接成功后,服务器系统中的内容。选中文件,点击右键,进行操作。操作习惯遵照windows的操作习惯。
③ Xftp和Xshell
Xftp和Xshell配合使用部署环境。(Linux系统)
Xftp为可视化工具,主要用来拷贝文件。
xshell则通过输入命令来对服务器进行操作,如启动服务等等。
3、vi 和 vim编辑器
类似于 windows的txt
所有的Linux系统
都内置 vi编辑器
vim是vi的加强版
① vi和vim的三种模式
a、正常模式
我们可以使用快捷键
b、插入模式
我们可以输入内容
c、命令模式
我们可以保存 可以退出
1、vim 要编辑文档的名字 打开之后,处于正常模式
2、开始输入,切换为插入模式 可以输入 i 、a、o 3、编写文档中的内容
4、需要从编辑模式切换成命令模式
按Esc 退出输入模式
输入:才能进入命令模式
:wq (写入并退出)
:wq! (保存并退出 强制)
:q!(放弃本次编辑直接退出)
4、快捷键
1、拷贝
-
当前行 yy 粘贴 p
-
在正常模式下 ,输入 5yy 就是复制当前光标所在行向下5行 ,粘贴在哪里,就移动光标,输入p进行粘 贴
2、删除
-
当前行 dd
-
输入5dd 删除光标所在行,向下5行
3、查找
-
常用于在文档中搜索某个单词,需要进入命令模式
-
输入 :/ 要查找的目标单词 拍回车
-
目标单词高亮显示,输入 n 就是查找下一个
4、加行号
-
命令模式下 输入 :set nu
-
取消行号 :set nonu
5、定位首行及最末行
正常模式下 ,输入 gg 定位到首行 输入 G 定位到末行 vim /etc/profile
6、清楚上一刻所输入的内容
在正常模式下 ,输入 u
7、定位到具体行
a、输入:set nu 显示行号
b、回到正常模式(先进入插入模式再按Esc) 输入20 c、shift+g
5、Linux用户
默认创建的用户没有远程登录的权限,如果需要 可以修改 ssh_config 1、切换用户
命令 su 切换的用户名
2、用户组(做运维的 需要学会使用命令创建用户组,创建用户)
每个用户至少属于一个用户组,每个用户组可以包含多个用户 同一个用户组的用户权限一致
3、权限
默认创建的用户没有远程登录的权限,如果需要 可以修改 ssh_config
1、切换用户
- 命令 su 切换的用户名
2、用户组(做运维的 需要学会使用命令创建用户组,创建用户)
- 每个用户至少属于一个用户组,每个用户组可以包含多个用户 同一个用户组的用户权限一致
3、权限
drwxr-xr-x. 2 root root 4096 5月 7 2019 公共的
0位:表示文件类型(
d、 -、 l、 c、 b
)
d :表示目录文件,相当于windows上的文件夹的概念
-:表示一个普通文件
l :相当于windows的快捷方式
c:字符设备文件,鼠标和键盘
b:存储文件,硬盘
1-3位:该文件的所有者拥有的权限(
rwx作用到文件
)
r:read :可以读取 可以查看
w:write 可以写入,可以修改
x:execute 可以被执行
-:表示没有权限
4-6位:用户所在用户组拥有的权限
7-9位:其它用户拥有该文件的权限
6、常用命令
1、cd
cd ~ 回到默认的目录
cd .. 回到上级目录
2、ls
ls -l 以列表的形式显示文件夹内的文件和目录
ls -a 显示所有的文件目录包括隐藏的
3、mkdir
mkdir 目录名
mkdir -p 目录名 创建多级目录
4、rmdir
rmdir 目录名
rm -rf 目录名 强制删除非空目录
5、rm 【重点】
rm -r 目录名 递归删除整个文件
rm -f 目录名 强制删除不提示
6、touch
touch 文档名
touch 文档名1 文档名2 .......
7、cp 原文件一直在
cp 文件名 路径(绝对路径或相对路径)
cp -r 要拷贝的文件目录 目标路径
8、MV 移动文件【重点】,mv 重命名
mv 原文件名 新文件名 重命名
MV 要移动的文件名 目标路径
9、压缩和解压缩 【重点】
① gzip ,gunzip
-
gzip 要压缩的文件名 压缩文件 ,压缩之后原文件消失,后缀名变为.gz
-
gunzip 要解压的文件名 解压缩文件
-
压缩多个文件,文件名依次排列
[root@localhost ~]# gzip 789.txt hello.txt
[root@localhost ~]# ls
! anaconda-ks.cfg install.log 公共的 图片 音乐
4Gtest.txt hello.java install.log.syslog 模板 文档 桌面
789.txt.gz hello.txt.gz qwe.txt 视频 下载
[root@localhost ~]# gunzip 789.txt.gz hello.txt.gz
[root@localhost ~]# ls
! anaconda-ks.cfg install.log 公共的 图片 音乐
4Gtest.txt hello.java install.log.syslog 模板 文档 桌面
789.txt hello.txt qwe.txt 视频 下载
② zip ,unzip
-
zip 压缩文件或目录
-
zip -r 起个压缩后的名字 要压缩的内容
-
unzip -d 解压缩后的目录位置 要解压的文件全名
[root@localhost ~]# zip -r test.gz 1805
adding: 1805/ (stored 0%)
adding: 1805/hello.java (deflated 9%)
[root@localhost ~]# ls
! anaconda-ks.cfg qwe.txt 视频 音乐
1805 hello.txt test.gz 图片 桌面
4Gtest.txt install.log 公共的 文档
789.txt install.log.syslog 模板 下载
[root@localhost ~]# unzip -d /root/ test.gz
Archive: test.gz
creating: /root/1805/
inflating: /root/1805/hello.java
[root@localhost ~]# ls
! anaconda-ks.cfg qwe.txt 视频 音乐
1805 hello.txt test.gz 图片 桌面
4Gtest.txt install.log 公共的 文档
789.txt install.log.syslog 模板 下载
③ tar 可以压缩也可以解压
部署项目、安装软件常用
打包
tar -zcvf 起的打包后的文件名【后缀是.tar.gz】 对哪些文件进行打包
[root@localhost home]# tar -zcvf myhome.tar.gz zimo
解压
tar -zxvf 解压的文件名 -C 目标目录
[root@localhost home]# tar -zxvf myhome.tar.gz -C test
10、部署项目 grep
-
将jdk和tomcat的 Linux版本的压缩包
通过xftp上传
到服务器上 /opt目录下,使用 cd 进入 opt 目录下 -
使用
tar -zxvf
+要解压的包的名字 进行解压
1、安装jdk
a、配置环境变量:输入 vim /etc/profile
/*进入到profile文件里添加以下内容:*/
JAVA_HOME=/opt/jdk1.7.0_79
PATH=/opt/jdk1.7.0_79/bin:$PATH
export JAVA_HOME PATH
b、使用命令 ,让profile文件立即生效
source /etc/profile
2、部署tomcat
1、 将编译好的项目
以zip的形式从开发工具下 上传到 Linux服务器上
(1)、解压zip文件
(2)、删除.zip文件(不删除也没有问题,只是看着工作没有做完善)
3、启动tomcat
进入tomcat的bin
目录
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /opt/apache-tomcat-7.0.70
Using CATALINA_HOME: /opt/apache-tomcat-7.0.70
Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.70/temp
Using JRE_HOME: /opt/jdk1.7.0_79
Using CLASSPATH: /opt/apache-tomcat-7.0.70/bin/bootstrap.jar:/opt/apachetomcat-7.0.70/bin/tomcat-juli.jar
Tomcat started.
启动成功之后,在Linux服务器上,直接localhost:8080访问正常
使用grep命令,查看tomcat是否运行正常,进程是否存在 ps -ef|grep java
杀进程 kill -9 进程id kill -9 3951
[root@localhost bin]# ps -ef|grep java
root 3951 1 28 11:42 pts/1 00:00:46 /opt/jdk1.7.0_
79/bin/java -
Djava.util.logging.config.file=/opt/apache-tomcat-7.0.70/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -
Djdk.tls.ephemeralDHKeySize=2048 -Djava.endorsed.dirs=/opt/apache-tomcat-
7.0.70/endorsed -classpath /opt/apache-tomcat-
7.0.70/bin/bootstrap.jar:/opt/apache-tomcat-7.0.70/bin/tomcat-juli.jar -
Dcatalina.base=/opt/apache-tomcat-7.0.70 -Dcatalina.home=/opt/apache-tomcat-
7.0.70 -Djava.io.tmpdir=/opt/apache-tomcat-7.0.70/temp
org.apache.catalina.startup.Bootstrap start
root 4037 3894 0 11:45 pts/1 00:00:00 grep java
windows上无法访问
CentOS升级到7之后无法使用iptables控制Linuxs的端口
使用firewalld代替了原来的iptables
CentOS 7
查看防火墙8080端口是否开启
firewall-cmd --query-port=8080/tcp
添加8080端口设置
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙
firewall-cmd --reload
使用firewalld代替了原来的iptables
centos7
查看防火墙8080端口是否开启
firewall-cmd --query-port=8080/tcp
添加8080端口设置
firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙
firewall-cmd --reload
CentOS7以下版本
检查Linux防火墙端口的设置,发现只有22端口是开放状态
[root@localhost bin]# service iptables status
修改防火墙配置
[root@localhost bin]# cd /etc/sysconfig
[root@localhost sysconfig]# vim iptables
[root@localhost sysconfig]# service iptables restart
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
iptables:应用防火墙规则: [确定]
[root@localhost sysconfig]#
重新在windows上访问 ,可以看到项目页面
注意:修改 数据库配置文件
将localhost改为 数据库服务器所在电脑的ip地址
Linux上常用的查找进程,杀进程