什么是:
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。
如何安装centos7
常用的网络适配器:
第一种:NAT模式
第二种:桥接模式
NAT网络和桥接网络的区别:
NAT(Network Address Translation,网络地址转换)模式:虚拟机不能直接接触到外部网络,所有的网络连接请求都由宿主机进行转发。这种方式的优点是设置简单,可以在没有额外IP地址的情况下使用。缺点是虚拟机不能作为服务器提供服务,因为它没有自己的公网IP地址。
桥接模式:在这种模式下,虚拟机直接连接到宿主机所在的物理网络,它会从网络中获取自己的IP地址,就像是网络中的一台独立的计算机。这样虚拟机就可以提供网络服务,其他设备可以直接访问虚拟机。但是,这种模式需要在网络中有足够的IP地址供虚拟机使用。
需要安装一个ssh软件:
命令:
查看ip 地址 ip addr ifconfig
目录切换命令: cd
语法:cd【切换到目录】
切换上一级目录:cd ../
切换到跟目录: cd /
查看目录下的内容: ls
参数: -a 所有 隐藏的列出
-l 列表
查看当前所在的目录:pwd
创建文件命令:touch 文件名
创建目录:mkdir 目录名称
-p: 允许创建多层目录
删除文件或目录: rm 文件或者目录名
rm [参数] 文件或目录名
复制命令:cp 文件|目录 目标目录
-r: 允许复制目录
查看文件内容:
cat 文件名: 查询所有的内容。
more 文件名: 查看当前窗口大小的内容。 enter回车 下一行内容 空格: 下一页
head -n 文件名: 查看前n行的内容。
tail -n 文件名: 查看后n行内容。 【必须记住===>日志】
重命名|剪切: mv
测试网络连通性: ping
ping 网络ip或域名=====>域名解析====>ip====>网站
编辑命令: vi
vi 文件名
注意: 命令行模式--->i----编辑模式--->esc键---->命令行模式--->:wq退出并保存 :q! 退出不保存
例子:
修改ip地址为固定ip.
vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网络
systemctl restart network
搜索文件或目录命令: find
find 目录 -name "名称"
注意:名称可以使用通配符 *
查看所有进程命令: ps -ef
查看指定内容在文件中: grep
grep "内容" 文件名
管道符 : |
查看端口号: netstat -tunlp | grep 端口号
netstat -tunlp | grep 端口号
option说明:
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
netstat -ntlp //查看当前所有tcp端口。 tcp协议 网络传输协议
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
解决办法:
默认的网址不让用了。---只能使用阿里云的
(1)下载阿里云yum文件.
(2)切换到 cd /etc/yum.repos.d 下 把下面的文件重名明为 CentOS-Base.repo.backup
(3) 把你下载的阿里云文件放入 /etc/yum.repos.d 并改名为 CentOS-Base.repo
(4) 使用yum clean all 清除之前所有的yum
(5) 使用 yum makecache
压缩和解压缩命令
**压缩命令**: tar -zcvf xxxx.tar.gz
tar -zcvf 压缩后的名称.tar.gz 要压缩的目录
z: 通过gzip进行压缩/解压缩
c: 压缩
v: 详情
f: 文件 【必填】
**解压命令**: tar -zxvf
tar -zxvf 解压的文件.tar.gz
-x: 解压
安装软件:
jdk:
tomcat:
mysql:
https://www.cnblogs.com/tony-hyn/p/15777762.html
什么是shell:
后缀:.sh .bat
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
shell就是用户与linux交换的一款语言。
编写第一个shell
#!/bin/bash
# echo表示输出
echo "hello world"
运行该脚本: ./路径/脚本名.sh
变量 弱语言
#!/bin/bash
name="刘德华";
echo "姓名:${name}"
echo "姓名:"${name}
Shell 传递参数
在执行shell脚本时可以传递参数值。
#!/bin/bash
name="刘德华";
echo "姓名:${name}"
echo "姓名:"${name}
echo "第一个参数值:$1"
echo "第一个参数值:$2"
执行脚本: ./脚本名 传递的值 值2
Shell 数组
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。
与大部分编程语言类似,数组元素的下标由 0 开始。
Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
array_name=(value1 value2 ... valuen)
关联数组--map集合
Bash 支持关联数组,可以使用任意的字符串、或者整数作为下标来访问数组元素。
关联数组使用 declare 命令来声明,语法格式如下:
declare -A site=(["google"]="www.google.com" ["runoob"]="www.runoob.com" ["taobao"]="www.taobao.com")
-A 选项就是用于声明一个关联数组。
关联数组的键是唯一的。
以下实例我们创建一个关联数组 site
Shell 基本运算符
**算术运算符**
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。
expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
例如,两个数相加(注意使用的是反引号 *`* 而不是单引号 *'*)
#!/bin/bash
a=100
b=15
c=`expr $a / $b`
echo "c===$c"
**关系运算符*
a=10
b=20
#
if [ $a -eq $b ]
then
echo "$a -eq $b : a 等于 b"
else
echo "$a -eq $b: a 不等于 b"
fi
**布尔运算符**
if [ $a -lt 100 -a $b -gt 15 ]
then
echo "$a 小于 100 且 $b 大于 15 : 返回 true"
else
echo "$a 小于 100 且 $b 大于 15 : 返回 false"
fi
控制语句
if for
a=10
b=20
if [ $a -eq $b ]
then
echo "a 等于 b"
elif [ $a -gt $b ]
then
echo "a 大于 b"
elif [ $a -lt $b ]
then
echo "a 小于 b"
else
echo "没有符合的条件"
fi
**for**
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
nginx
什么是nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。并发能力: 50,000
为什么使用nginx?
**nginx配置文件**
#user nobody;
#工作的线程数
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
# 每个工作对象允许的连接数
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
server {
listen 81;
server_name localhost;
location /{
root static;
index main.html;
}
}
#gzip on;
server {
listen 80; # 监听的端口号
server_name localhost; # 监听的主机名.域名
#charset koi8-r;
#access_log logs/host.access.log main;
# 资源/
location / {
root html; #根目录
index index.html main.html; # 资源
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}