LINUX系统
特点
1)多用户同时操作
2)开源免费
3)系统稳定性好(路由器、交换机常年不停止工作)
4)系统安全性(一个用户出问题,不会殃及整个系统)
Linux发行版本:Red Hat、Ubuntu、CentOS、Debian、Kali
Linux和Windows的区别
Windows
1)有MP3,MP4,JIG,EXE,DOC等格式
2)环境命令不区分大小写
3)管理员是administrator
4)系统对硬件支持较好
5)系统界面友好
6)用户量大
Linux
1)一切皆文件
2)命令严格区分大小写
3)系统管理员为root,拥有最高权限
4)Windows的软件不能用在Linux上
5)不靠拓展名区分文件
CentOS系统分区
下载地址:https://www.linux.org/pages/download/
- /boot分区:存放Linux启动程序和内核程序,200MB即可
- /swap分区:交换分区(正在运行的软件挂起,暂时不用的数据放在/swap分区中,使用时再从/swap加载到运行内存中。)当真实内存不够时,从硬盘上虚拟出一块区域当内存,运行内存的2倍,最大不超过4GB。
- /:根分区
目录结构
/bin:存放普通用户使用的命令
/sbin:存放系统管理员(root)使用的命令
/home:普通用户的家目录(同Windows系统的C:\user\用户名)
/root:管理员用户root的家目录
/dev:存放设备文件,包括外设
/etc:为系统配置文件目录
/usr:存放系统的应用程序
/opt:额外安装的可选应用程序包所放的位置
/boot:存放系统引导程序文件
/tmp:存放临时文件
/var:经常变动的文件,例如日志
Linux远程登录
命令行终端管理
远程命令行终端管理(Xshell)
先将有线网卡连接到网络
查看ip地址
Xshell新建会话连接到linux
用户身份验证,选择创建的会话连接
连接成功
Linux命令
文件操作命令
1.cd 目录路径:切换到指定目录(绝对路径或相对路径)
2.pwd:查看当前位置(显示绝对路径)
3.ls [参数]:查看目录下文件
ls 后面的参数可以合并 ls -a -l 与ls -al一样
4.mkdir 目录名:创建目录
5.touch 文件名.后缀:创建普通文件
6.rm 文件名:删除文件或目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Imz0DjHN-1673004836206)(C:\Users\张凯琪\AppData\Roaming\Typora\typora-user-images\1670572225263.png)]
7.cp 源文件 目的文件:复制文件
复制并重命名到另一个目录中
复制目录到另一个目录下
8.MV 源文件 目的文件:移动文件(也可以重命名)
目的文件存在就是移动,目的文件不存在就是重命名
9.cat 文件名:查看文件的全部内容
10.tail 文件名:显示文件后面内容
11.head 文件名:显示文件头部内容
12.less 文件名:分页显示文件内容
13.重定向
把ls -l的结果不输出,放在t1.txt中
覆盖重定向
追加重定向
14.echo 文本:回显,打印出echo后面的文本
echo 文本 > 文件名:自定义内容写入文件(>覆盖原有文件内容,>>在原有文件内容基础上追加自定义内容)
15.wc 文件名:统计文件中的信息
16.vim(vi):文本编辑器
:set nonu 取消显示行号
A,Bs/旧关键字/新关键字/g:把从第A行到第B行范围内所有旧关键字替换为新关键字
%s/旧关键字/新关键字/g:文件范围内所有旧关键字替换为新关键字
Ndd:删除光标所在行开始向下的N行(包括光标所在行)
vim 文件名:文件不存在会保存时新建一个文件,文件存在就直接编辑
q!:强制退出并且不会保存编辑的内容
17.find 路径 选项 内容:查找指定路径下的某个文件(默认查找当前目录)
-size 选项 b(block块 1块=512字节)c(字节)k(KB)M(MB)G(GB)w(字,即双字节)
-type 文件属性 d(目录) f(普通文件)l(链接文件)s(socket文件)p(管道文件)b(块设备文件)c(字符设备文件)
18.grep [参数] “关键字” 文件名:从文件中过滤出来含有关键字的行
19.ln -s 源文件 链接文件:创建链接文件
hua是test.out的链接文件,删除源文件后,软链接无效
20.chmod 权限 文件名:修改文件权限
1)将每一组三位二进制数转为一个10进制数,最终成为3位十进制数,代表该文件的权限(r表示可读,w表示可写,x表示可执行,777就表示可读可写可执行,000表示不可读不可写不可执行)
2)u(文件拥有者) g(文件所属组)o(其他用户)a(所有)
-x去除可执行权限,-w去除可写权限,-r去除可读权限,+x添加可执行权限,+w添加可写权限,+r添加可读权限,=x赋予可执行权限,=w赋予可写权限,=r赋予可读权限
21.tar 参数 打包/压缩的文件名:打包压缩文件
-c (打包多个文件形成一个文件) -z(压缩,使用gzip算法压缩)-v(显示打包过程中的详细信息) -f(后面紧跟打包文件名)
-x(解包)
-C(解包到指定目录)
用户管理命令
1.su 用户名:切换用户
切换到管理员用户不需要带用户名,除了管理员用户以外都要带用户名,exit可以退回到上一次的用户,退到最开始的登录用户后,exit会断开连接。
2.sudo 命令:提升用户权限(暂时使用root权限)
3.useradd 用户名:添加用户
4.userdel 用户名:删除用户
5.passwd 用户名:设置指定用户的密码
网络管理命令
1.ifconfig 接口名:查看网卡配置信息
临时配置ip地址:ifconfig 接口名 ip/mask
临时修改 主机名:hostname 主机名
临时性修改,虚拟机重启后就会回到原来的名字
禁用指定接口:ifdown 接口名
启用指定接口:ifup 接口名
查看dns服务器地址:cat /etc/resolv.conf
手动编辑dns:插入一个nameserver ip
2.netstat:查看网络状态信息
服务管理/进程管理命令
1.ps:查看进程
-e:显示所有进程;-f:显示完整的格式输出;-aux:查看更详细的进程
带中括号的是内核进程,不带中括号是用户进程,TTY指进程从哪个终端运行起来的,tty1指linux的桌面,pts0就是第一个打开的终端,以此类推。TIME指进程使用CPU的累计时间,CMD命令,显示的是进程名称
2.pstree:查看进程树(进程之间的父子关系)
3.kill -9 进程号:杀进程
-9 :强制杀死进程
killall -9 进程名:杀进程(例如:killall -9 test.sh)要保证进程名唯一
4.systemctl 动作 服务名:服务管理(centos7服务名要以.service结尾)
service 服务名 动作:服务管理
关闭防火墙
查看firewalld进程
系统管理/性能监控命令
1.top:查看CPU、内存、进程的状态信息(-n指定刷新几次,默认两秒刷新一次)
top -n 2 :指定刷新两次就结束,默认会一直刷新,ctrl+c终止命令。
top -d 5:指定每隔5s刷新一次
2.free:查看内存和交换分区的使用情况
3.&:放在执行命令后面,可以将命令转到后台运行(相当于ctrl z),但结果依旧输出,SSH连接关闭或者用户退出时命令也会退出
4.&&:连接命令,第一个命令执行成功后,执行第二个命令
5.|:管道符,将前一个命令执行的结果交给后一个命令接着处理
输出的结果是统计前一个ls命令的信息。只输出一个结果
6.nohup:不挂断运行命令,用户退出或关闭SSH连接时不会影响运行
nohup 命令 > 文件:将命令执行的结果重定向到指定文件
nohup 命令 > 文件 &:后台执行命令,将命令执行的结果重定向到指定文件
如果没带重定向,nohup 命令 &
,结果也不会输出在前台,结果会自动输出到nohup.out文件
7.chown:更改文件拥有者和组(-R 更改目录以及目录下的所有文件的拥有者和组)
8.fdisk:查看磁盘信息以及对磁盘进行分区
9.df -h:查看文件系统信息
10.rz:上传文件到linux主机
11.sz 文件:下载文件到本地主机
软件安装与卸载
源码安装
./configure—>make—>make install
网络源安装
yum安装
yum install 包名(-y 自动确认):安装指定软件
yum remove 包名:卸载指定软件
yum update 包名:更新指定软件
yum search 包名:搜索网络源和本地源是否有这个安装包
rpm包安装
源码包和RPM包的区别
rpm -i 软件包名称.rpm:安装指定软件
rpm -qa | grep 软件包名:查看指定软件是否安装
通配符与正则表达式
通配符
通过一些特殊符号,用来匹配符合条件的文件名,切完全匹配
正则表达式
匹配文件中符合规则的字符(在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串)
支持的命令:grep、sed、cut、awk
1)基本的正则表达式
2)扩展的正则表达式
3)perl正则表达式
egrep等价于 grep -e
^ab$表示该行只有ab,制表符四个空格或六个空格,\:转义符(\t制表符,\n换行符)
ipv4地址
手机号、邮箱地址
系统环境变量设置
常量:固定的值,a,10
变量:可变的量,代表含义可以变化(变量名=值)
查看一个变量的值,echo $变量名
1)局部变量:在局部范围生效,linux中局部变量只在一个bash中生效,通常使用小写字母命名(变量名=值)
2)全局变量(环境变量):在全局范围内生效,linux中环境变量在bash及其子bash中生效,通常使用大写字母命名,(export 变量名=值)env :查看所有环境变量
环境变量PATH
临时修改环境变量PATH:export PATH=$PATH:新增路径
永久修改环境变量PATH:
(1)在~/.bash_profile文件尾部增加:export PATH=
P
A
T
H
:
新增路径注意:某个用户家目录下的
.
b
a
s
h
p
r
o
f
i
l
e
文件只会在该用户登录时自动执行
(
2
)
在
/
e
t
c
/
p
r
o
f
i
l
e
文件尾部增加:
e
x
p
o
r
t
P
A
T
H
=
PATH:新增路径 注意:某个用户家目录下的.bash_profile文件只会在该用户登录时自动执行 (2)在/etc/profile文件尾部增加:export PATH=
PATH:新增路径注意:某个用户家目录下的.bashprofile文件只会在该用户登录时自动执行(2)在/etc/profile文件尾部增加:exportPATH=PATH:新增路径
注意:/etc/profile文件在linux系统开机时,无论哪个用户登录都会被执行
Nginx
轻量级Web服务器,反向代理服务器,负载均衡,占有内存少,并发能力强
创建目录/usr/local/nginx,将nginx压缩包解压到该目录下,安装依赖
编译安装Nginx(cd nginx-1.818.0 --> ./configure --> make && make install )
启动Nginx(–> /usr/local/nginx/sbin/nginx)停止服务 (-s stop)重新加载服务(-s restart)
访问127.0.0.1
配置文件/usr/local/nginx/conf/nginx.conf,未指定路径默认访问安装目录下的html资源
查看日志文件/usr/local/nginx/logs/access.log
Tomcat
自动解析war包(存放java应用程序的包)轻量级,开源免费
创建目录/usr/local/java,将jdk解压至当前目录,修改配置文件/etc/profile,执行source /etc/profile,java -version检查jdk安装结果
vim /etc/profile //修改配置文件
//加在文件最后
JAVA_HOME=/usr/local/java/jdk1.8.0_211
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
source /etc/profile //运行文件
java -version //版本出现即安装成功
创建目录/usr/local/tomcat,解压至当前目录,cd /usr/local/tomcat/apache-tomcat-9.0.48/bin --> ./startup.sh
访问127.0.0.1:8080