Linux操作系统
一、什么是Linux?
Linux是一个开源免费的操作系统,和我们的Window一样,主要用来安装到服务器上,运行各种软件和服务。
Linux之父 - 林纳斯(linus)
1.1 思考 - 既然已经会用Window操作系统,为什么还需要学习Linux?
比window更加稳定和安全,就是把我们写的代码打包成war包,部署到服务器上运行,然后通过ip映射提供给外网访问
1.2 什么是发行版?什么是内核?
二、Linux的安装
window系统 -> VMware虚拟管理软件 -> 创建虚拟机(VM) -> 在虚拟机中安装CentOS 7(linux的发行版)
1.1 安装VMware
傻瓜式安装
1.2 安装CentOS7虚拟机
1.2.1 创建虚拟机
1.2.2 在虚拟机安装CentOS
1.2.3 思考 - 为什么要远程连接Linux操作系统?
远程连接工具:xshell、finalshell、ssh…
三、Linux的常用命令
3.1 基本命令
ifconfig
查看当前的网络信息(ip地址)
ping
检测主机网络
who am i
查看当前的登录用户
su [账号名称]
切换用户,如果直接输su,表示切换到root账号
pwd
打印输出当前的工作路径(打印当前在什么位置)
cd
进入某一个文件夹
cd后面可以跟绝对路径,也可以跟相对路径,如果是相对路径需要注意命令执行的位置
ll & ls
打印当前目录下的所有内容(子目录、子文件…)
参数:
-l 打印当前目录的详细信息
-a 打印当前目录的隐藏文件夹
clear
清空命令行
命令的小技巧:
1、通过方向键 上/下 找到曾经输入过的命令
2、通过tab键可以对文件夹/文件进行补全
3.2 文件夹的相关操作
mkdir
创建文件夹
参数:
-p 表示级联创建
mv
文件夹/文件的剪切,可以起到改名的效果
cp
文件夹/文件的复制
注意:复制文件夹时,需要添加**-r参数**,但是剪切不需要
rm
删除文件/文件夹
参数:
-r 表示删除文件夹
-f 表示强制删除,不用确认
3.3 文件以及文件内容的相关操作
vi & vim
创建并且编译文件
touch
创建文件
cat
查看文件的所有内容,但是不能修改
编译文件
i - 当前光标前面输入
a - 当前光标后面输入
I - 行首输入
A - 行尾输入
o - 换行输入
O - 上一行输入:wq - 保存退出
:q! - 不保存强制退出:set number - 显示文件的行数
gg - 回到文件头部
G - 回到文件尾部
y[n]y + p - 行复制
dd - 行删除
x - 删除一个字符
u - 撤销
ctrl + r - 反撤销/关键词 - 搜索关键词,n往下找,shift + n往上找
:n,$s/旧内容/新内容/g - 文件内容替换
3.4 压缩和解压缩
tar -zcf xxxx.tar.gz 待压缩文件…
打包压缩命令
tar -zxf xxxx.tar.gz
解压缩的命令
3.5 用户和用户组的相关操作
Linux的用户分类
超级用户 - root
普通用户 - id(500 ~ 60000)
伪用户 - id(1~499)
用户组
一个用户组可以包含多个用户
一个用户必须属于一个用户组
创建用户组
groupadd 组名
创建用户
useradd -g 组名 用户名
passwd 用户名
3.6 权限控制
文件权限描述符
lrwxrwxrwx
第1位:文件类型,d目录 -文件 l软链接
第2~4位:所属用户权限
第5~7位:同组用户权限
第8~10位:非同组用户权限r - read可读权限
w - write可修改权限
x - 可执行权限
授权
字符授权法:
chmod {u/g/o}{+/-/=}{r/w/x} xxxxx数字授权法:
chmod 777 xxxxxx
r - 4
w - 2
x - 1参数:
-R 递归授权
3.7 其他命令
poweroff
关机
reboot
重启
uname -a
查看linux的内核的版本
free
查看内存的使用情况
参数:-h
df
查看硬盘的使用情况
top
类似window的任务管理器
四、阿里云的申请与使用
https://free.aliyun.com/?spm=5176.12901015.0.i12901015.136c525cPWXcgZ&type=personal
PS、问题
1、部分同学在启动虚拟机的时候,可能会碰到一个VT-x的错误,这个错误的意思是因为CPU没有开启虚拟化。
重启笔记本,进入BIOS系统,打开VT
常见命令
1.查看ip 有没有通
ping bi.slave1.db.golivetv.tv
- 查看ip的端口有没有通
telnet bi.slave1.db.golivetv.tv 3306
- 查看进程
ps -ef |grep goliveTask
4.通过端口查看进程
netstat -nltp| grep 8081
5.精确查找
find / -name “文件名” : 在/根目录下按名称查找文件
6.监视后面10行的命令
tail -20f behaviorAPI_debug.log
- 查找指定文件的关键词
cat behaviorAPI_debug.log | grep bi.master.db.golivetv.tv
- 以MB为单位显示内存使用情况
free -m
9.tomcat的bin目录下有catalina.sh(启动和停止tomcat进程,和java_home还有java_opts设置jvm相关运行参数变量),startup.sh(启动/里面调用了catalina.sh)、shutdown.sh(停止/里面调用了catalina.sh)
10.启动多个tomcat服务通过脚本的方式
10.1:新建文件
touch restart.sh
vim restart.sh
10.2:文件内容
ps -ef | grep -v grep | grep -i '/data/tomcat-8701\|/data/tomcat-8702\|/data/tomcat-8703\|/data/tomcat-8704' | awk '{print $2}' | sed -e "s/^/kill -9 /g" | sh -
echo "killed tomcat"
echo "starting kow tomcat..."
# 重新启动tomcat
./tomcat-8701/bin/startup.sh
./tomcat-8702/bin/startup.sh
./tomcat-8703/bin/startup.sh
./tomcat-8704/bin/startup.sh
10.3: 然后保存文件,添加可执行权限 :
chmod +x restart.sh
10.4: 执行脚本
./restart.sh
11:命令用于连接文件并打印到标准输出设备上。
cat restart.sh
12:查看当前路径
pwd
13:服务器上测试接口通不通 get
curl ‘http://localhost:8303/GolivePay/service/QueryAuthUser.ws’
14:在某个文件上查询特殊字段
tail -200 /data/nginx/logs/access.log |grep golivetvAPI
15: 重启nginx
/data/nginx/sbin/nginx -s reload
16:服务器上测试接口通不通 post
curl -X POST ‘http://localhost:8704/advert/config’
3:启动jar包
nohup java -jar aws-instegate-worker-1.0.0.jar >aws.log &