1、查看文件和目录:
①ls . 用来查看当前目录中的文件和目录
②ls -l 查看当前目录中文件和目录的详细信息
③ls -a 查看当前目录中包括隐藏目录文件在内的所有目录和文件
④ls -R 递归显示当前目录中的文件和子目录
⑤ls /(dir) 查看指定文件和目录
2、清除当前命令行的内容:
clear
3、目录:
①切换目录cd dir
②展示当前所在目录 pwd
4、文件:
①touch file 用来创建文件,若文件已存在则会更新文件的创建时间
②mkdir dir 用来创建目录,若存在多级目录且父目录不存在使用mkdir -p dir 先生成父目录再创建子目录
③cp file/dir1 dir2 复制(空)file/dir1到dir2中, cp -r file/dir1 dir2 递归的方式复制(非空)file/dir1到dir2中
④mv file1/dir1 file2/dir2 把file1/dir1改名为file2/dir2,mv file/dir1 dir2 把file/dir1移动到dir2中
⑤rm -rf file/dir 删除目录或文件,-r代表递归删除,-f代表不做询问强制删除
⑥rmdir dir 删除空目录dir,目录非空则删除失败
⑦cat file 展示文本文件内容
⑧more file 按百分比分页显示文本内容 q退出
⑨less file 分页显示文本内容 q退出
⑩head -n Num file 展示文本前Num行内容,默认展示前十行
⑪tail -n Num file 展示文本后Num行内容,默认展示后十行。tail -f file持续展示结尾的变动内容。
⑫echo str 向屏幕输出str,echo str >> file 向文件写入str
5、网络:
①ip addr 查看当前服务器的ip地址
②ping ip地址 查看网络连通性
6、压缩:tar命令
①-c 压缩指令
②-x 解压指令
③-z 是否压缩成.tar.gz格式
④-v 显示操作过程中的文件细节
⑤-f 后立即接压缩文件名
例:
tar -czvf abc.tar.gz aaa.txt bbb.txt ccc.txt//压缩文件为.tar.gz格式并命名
tar -xzvf abc.tar.gz//解压文件并显示细节
7、systemctl命令:
①systemctl status service 查看服务状态
②systemctl start service 开启某个服务
③systemctl stop service 停止某个服务
④systemctl restart service 重启某个服务
⑤systemctl disable service 停止服务开机自启动
8、进程:
①ps -aux 查询系统中所有(-a)运行的进程,包括不占用控制台的进程(-x)并显示户 ( -u)
②ps -ef 查询所有进程并显示每个进程的父进程
③ps -aux|grep service/id 搜索具体的进程
④top 动态显示进程
⑤kill id 根据进程id杀死进程,kill -9 id 根据id强行杀死进程
9、vi命令:
①vi filename 进入命令模式,使用:q退出不保存、:wq保存退出、:q!强制退出不保存、:wq!强制保存退出
②输入i(在光标前插入)、I(在光标当前行开头插入)、a(在光标后插入)、A(在光标当前行末尾开始插入)、o(在光标当前行的下一行插入新行)、O(在光标当前行的上一行插入新行);使用ESC键退出编辑模式。
③其它命令::set nu 显示行号、:set nonu 不显示行号、gg 到文本的第一行、G 到文本的最后一行、:n 到文本的第n行、u 取消上一步操作、Ctrl+r 返回到取消操作之前
10、软件安装:
①rpm命令-i(安装应用程序)-e(卸载应用程序)-vh(显示安装进度)-U(升级软件包)-qa(显示所有已安装软件包)
②yum命令install(下载)remove(移除)update(更新)
11、用户组命令:
①whoami 查看当前用户
②who查看登录用户-q(显示用户的登陆账号和登录用户的数量)
③exit 退出用户
④groupadd 添加用户组,groupdel 删除用户组
⑤useradd 添加用户账号 passwd 设置用户密码
⑥su user 切换为user用户
12、权限chmod命令:
①u代表创建者,g代表同组用户,o代表其他用户,a代表所有用户
②+代表增加权限,-代表撤销权限,=代表设定权限
③r(4)代表可读权限,w(2)代表可写权限,x(1)代表可执行权限
例
chmod u+r g+w a.txt
chmod a=rwx a.txt
chmod g-x,o-w a.txt
chmod 777 a.txt
chmod 700 a.txt
13、检索
①whereis name 在系统中检索name
②find /dir -name name1在dir中查找name1
14、Linux系统配置网络
①ip addr 查看服务器ip地址
②配置vmware软件网络为NAT模式
③在/etc/sysconfig/network-scripts/ifcfg-ens33文件中设置ONBOOT=yes开启服务器自动获取ip地址
④systemctl restart network 重启网络服务
⑤ping 外部网址查看是否联通
15、安装jdk
tar.gz压缩包安装
①官网下载jdk安装包
②使用WinSCP将安装包发送到服务器
③tar -xzvf jdk1.8.0
④修改配置文件添加环境变量vi /etc/profile
添加export JAVA_HOME=/usr/jdk1.8.0
export PATH=$PATH:$JAVA_HOME/bin
⑤重新加载配置 source /etc/profile
rpm安装包安装
①上传安装包后直接使用命令rpm -ivh jdk1.8.0
②配置环境变量
③重新加载配置
16、tomcat安装部署项目
①官网选择合适的版本上传服务器
②服务器中解压缩
③使用bin文件中的startup.sh与shutdown.sh开启与关闭服务器
④tomcat默认端口为8080,可以在/conf/server.xml文件中配置
⑤Linux系统默认不接受外部访问,启动tomcat前systemctl stop firewalld 关闭防火墙
⑥使用war包部署时将打好的war包放在webapps目录下,启动tomcat
⑦使用内嵌tomcat的jar包部署时使用java -jar 命令
17、安装mysql数据库并与navicat远程链接
①Linux-centos7系统自带mariadb数据库会与MySQL产生冲突,使用命令rpm -qa|grep mariadb找到mariadb安装包,使用命令rpm -e --nodeps 删除mariadb数据库
②使用命令vim /etc/yum.repos.d/mysql-community.repo 创建yum安装mysql的源文件
③在文件中写入
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
④使用命令yum install mysql-community-server安装mysql
⑤启动数据库 systemctl start mysqld
⑥MySQL5.7及之后的版本有初始密码在/var/log/mysqld.log文件中查看
⑦修改初始密码mysqladmin -u -p password
⑧使用mysql -u root -p登录
⑨使用systemctl disable firewalld关闭防火墙
⑩进入MySQL数据库的mysql库,使用命令grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option开启MySQL的远程连接
18、MySQL主从复制架构
①准备一台主机,若干台备用机
②修改服务器中mysql的配置文件 vim /etc/my.cnf
server-id=1 //不同的服务器配置不同的id
log-bin=mysql-bin //设置操作日志文件名
log-slave-updates //设置从服务器自动同步
slave-skip-errors=all //设置不同步错误操作
③重启mysql服务
systemctl restart mysqld
④检测配置是否生效
登录mysql后,show variables like 'server_id';
⑤在主节点查看日志文件名和数据库操作起始位置
show master status
⑥根据主节点的信息在从节点进行设置
change master to
master_host='主机ip',
master_user='主机用户名',
master_password='主机用户密码',
master_log_file='主机日志文件名',
master_log_pos=日志同步的起始位置;
⑦从节点开启和关闭
start slave
stop slave
⑧查看从节点状态
show slave status;
⑨若主从服务器采用克隆虚拟机,不同服务器之间的UUID是相同的,需要删除服务器中的配置文件。rm -rf /var/lib/mysql/auto.cnf
19、MySQL读写分离架构:MyCAT数据库中间件
①下载MyCAT数据库中间件,程序通过MyCAT(端口8066)与数据库连接,从库用来查,主库用来增删改。遇到事务时MyCAT默认对主库进行操作。
②配置schema.xml文件:vim /usr/mycat/conf/schema.xml
<!--定义MyCAT的逻辑库-->
<schema name="test_schema" checkSQLschema="false" sqlMaxLimit="100" dataNode="testNode"/>
<!--定义MyCAT的数据节点-->
<dataNode name="testNode" dataHost="dtHost" database="test"/>
<dataHost name="dtHost" maxCon="1000" minCon="10" balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!--写节点-->
<writeHost host="hostM1" url="ip地址" user=" " password=" ">
<!--读节点-->
<readHost host="hostS1" url="ip地址" user=" " password=" "/>
</writeHost>
</dataHost>
③配置server.xml文件:vim /usr/mycat/conf/server.xml
<system>
<!--系统属性-->
<property name="defaultSqlParser">druidparser</property>
<property name="utf8">utf8mb4</property>
</system>
<user name="root">
<!--配置用户名密码和逻辑库-->
<property name="password">root</property>
<property name="schemas">test_schema</property>
</user>
④使用/usr/mycat/bin/mycat 文件启动mycat
./mycat console(后台启动) start(窗口启动) stop(停止) status(查看状态) restart(重启)
⑤程序直接连接部署MyCAT的服务器进行数据存储服务
20、Tomcat负载均衡集群
①使用Nginx(默认端口号80)反向代理服务器实现负载均衡集群,使用Tomcat之间session复制共享,或使用redis和memcache实现session共享解决session共享问题。
②nginx是用c编写的服务器,需要配置依赖 yum install gcc pcre-devel zlib-devel
③下载nginx解包后指定安装位置 ./configure --prefix=/usr/nginx
④安装 make && make install
⑤使用nginx 启动:./nginx 停止: ./nginx -s stop
⑥准备若干服务器,若tomcat服务器是复制而来,需要修改服务端口,http协议端口,AJP端口
vim tomcat/conf/server.xml
⑦在nginx配置文件中添加tomcat的配置 vim nginx/conf/nginx.conf
<!--server之上添加-->
upstream tomcat-servers {
server ip地址:端口;
server ip地址:端口;
...
...
}
<!--替换server下location/中配置-->
location / {
proxy_pass http://tomcat-servers;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forward_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
}
⑧应用nginx配置文件 ./nginx -c /usr/nginx/conf/nginx.conf
⑨nginx负载均衡策略
设置权重,在配置tomcat服务器时指定对应服务器的访问概率,默认为1
<!--server之上添加-->
upstream tomcat-servers {
server ip地址:端口 weight=1;
server ip地址:端口 weight=2;
...
...
}
在tomcat服务器上指定ip_hash,目的是保证同一个session在同一个服务器上被处理
<!--server之上添加-->
upstream tomcat-servers {
ip_hash;
server ip地址:端口;
server ip地址:端口;
...
...
}
在tomcat服务器上指定least_conn,让nginx将请求分配给连接较少的服务器
<!--server之上添加-->
upstream tomcat-servers {
least_conn;
server ip地址:端口;
server ip地址:端口;
...
...
}