自己做的笔记,来源于B站,2021韩顺平 一周学会Linux
是binary的缩写,这个目录存放着最经常使用的命令
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
存放普通用户的主目录,在Linux中每个用户都有自己的目录,一般该目录是以用户名的账号命名
该目录为系统管理员,也称作超级权限者的用户主目录
系统开机所需要的最基本的动态链接库,其作用类似于Windows里面的DLL文件,几乎所有的应用程序都需要用到这个共享目录
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库的 my.conf
这个非常重要的目录。用户很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件
这个目录是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息
service缩写,该目录存放一些服务启动之后需要提取的数据
这个是Linux2.6内核的一个很大变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
这个目录是用来存放一些临时文件的
类似于windows的设备管理器,把所有的硬件用文件的形式存储
LInux系统会自动识别一些设备,例如U盘、光驱、等等,当识别后,linux会把识别的设备挂载到这个目录下
系统提供该目录是为了让用户临时挂在别的文件系统的,我们可以将外部的存储挂在到/mnt上,然后进入该目录就可以查看里面的内容了,
这个是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可以放到该目录下,默认为空
这是另一个主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序
这个目录中存放着不断扩充的东西,习惯将继承被修改的目录放在这个目录下,包括各种日志文件
[security-enhanced linux]SELinux是一种安全子系统,它能控制程序之能访问特定的文件,有三种工作模式,可自行设置
基本介绍
立刻关机
现在重新启动计算机
关机,作用和上面一样
现在重新启动计算机
把内存的数据同步到磁盘中
注意细节
- 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中
- 目前的shutdown/reboot/halt等均已经在关机前进行了sync,小心驶得万年船
基本介绍
- 登录时精良少用root账号,因为它是系统管理员,最大权限,避免操作失误。可以利用普通用户登录,登录后再用命令来切换成系统管理员身份。
- 在提示符下输入logout 即可注销用户
使用细节
- logout注销质量在图形运行级别无效,在运行级别3下有小
linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先想系统管理员申请一个账号,然后以这个账号的身份进入系统
基本语法
应用案例
细节说明
- 当创建用户成功后,会自动的创建和用户同名的家目录,默认该用户的家目录在
- 也可通过 ,给新创建的用户指定家目录
基本语法
补充,显示当前用户所在目录
基本语法
这个不会删除用户的家目录
这个会删除用户的家目录
基本语法
介绍
在操作linux中,如果当前用户的权限不够,可以通过指令,切换到高权限用户,比如 root
基本语法
细节说明
- 当权限高的用户切到权限低的用户,不需要输入密码,反之需要
- 当需要返回到原来的用户时,使用指令
基本语法
显示第一次登录的用户
介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理
新增组
删除组
增加用户时直接加上组
修改用户的组
- 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义:
- 文件
口令的配置文件
每行的含义:
- 文件
组(group)的配置文件,记录Linux包含的组信息
每行含义:
级别介绍
运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留用户
5:图形界面
6:系统重启
常用运行级别时3和5,也可以指定默认运行级别,
应用
命令: init[0123456],应用案例:通过init来切换不同的运行级别,比如5-3,然后关机
- centos7后运行界别说明
在centos7之前,文件中
进行了简化
例如:
- man 获得帮助信息
基本语法:(功能描述:获得帮助信息)
- help 指令
基本语法:(功能描述:获得shell内置命令的帮助信息)
- pwd
基本语法: (功能描述:显示当前工作目录的绝对路径)
- ls 指令
基本语法:
常用选项:
- cd指令
基本语法:(功能描述:切换到指定目录)
理解:绝对路径和相对路径
:回到自己家目录
:回到当前目录的上一级目录
- mkdir指令
mkdir指令用户创建目录
基本衣服啊:
常用选项:
创建多级目录
- rmdir指令
rmdir指令删除空目录
基本语法:
- touch 指令
touch 指令创建一个空文件
基本语法:
- cp指令
cp指令拷贝文件到指定目录
基本语法:
常用选项:
:递归复制整个文件夹
使用细节:强制覆盖不提示的方法
- rm 指令
说明:rm指令移除文件或目录
基本语法:
常用选项:
:递归删除整个文件夹
:强制删除不提示
- mv 指令
mv移动文件与目录或重命名
基本语法:
(功能描述:重命名文件)
(功能描述:移动文件)
- cat 指令
cat 查看文件内容
基本语法:
常用选项:
:显示行号
使用细节:
cat 只能浏览文件,而不是修改文件,为了浏览方便,一般会带上管道命令
- more 指令
- less指令
- echo指令
echo输出内容到控制台
基本语法:
输入出环境变量:
- head 指令
head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法:(功能描述:查看文件头10行内容)
(功能描述:查看文件头5行内容,5可以时任意数字)
- tail 指令
tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前后10行内容
基本语法:
(功能描述:查看文件尾10行内容)
(功能描述:查看文件尾5行内容,5可以时任意数字)
(功能描述:实时追踪文档的所有更新)
- > 指令 和 >> 指令
输出重定向和>>追加
基本语法:
(功能描述:列表的内容写入文件a.txt中(覆盖))
(功能描述:列表的内容追加到文件aa.txt的末尾)
(功能描述:将文件1的内容覆盖到文件2中)
(功能描述:将echo的内容追加到文件中)
- ln指令
软件链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其它文件的路径
基本语法:
(功能描述:给源文件创建一个链接)
细节说明:当我们使用pwd指令查看目录时,任然看到的时软链接所在的目录
- history
查看已经执行过的历史命令,也可以执行历史命令
基本语法:(功能描述:查看已经执行过的历史命令)
- date 指令-显示当前日期
基础语法:
(功能描述:显示当前时间)
(功能描述:显示当前年份)
(功能描述:显示当前月份)
(功能描述:显示当前时那一天)
(功能描述:显示年月日时分秒)
- date 指令设置日期
基本语法:
如:date -s "2022-06-26 10:22:37"
- cal指令
查看日历指令
基本语法:(功能描述:不家选项,显示本月日历)
- find指令
- locate指令
locate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径locate数据库实现快速定位给定文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确性,管理员必须定期更新locate
基本语法:
特别说明:
由于locate指令基于数据库进行查询,所属有第一次运行前,必须使用updatedb指令创建locate数据库
- which指令,可以查看某个指令在那个目录下
- grep指令和管道符号 |
例子:
查找文件中的字符
查询 pid=15061
使用管道符过滤进程
- gzip和gunzip指令
gzip用于压缩文件,gunzip用于解压文件
基本语法:
(功能描述:要锁文件,只能将文件压缩为*.gz)
(功能描述:解压缩文件命令)
- zip/unzip指令
zip用于压缩文件,unzip用于解压文件,这个在项目打包发布中很重要
基本语法
(功能描述:压缩文件和目录的命令)
(功能描述:解压缩文件)
zip常用选项:
:递归压缩,即压缩文件
unzip的常用选项
指定解压后的文件存放目录
- tar 指令
在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其它组的概念
- 所有组
- 所在组
- 其它组
- 改变用户所在组
一般文件的创建者,谁创建了该文件,就自然成为了该文件的所有者
- 查看文件的所有者
- 修改文件的所有者
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在组
- 查看文件/目录所在组
- 修改文件所在组
基本指令
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
在添加用户时,可以指定将该用户添加到那个组中,同样的用root的管理权限可以改变某个用户所在的组
改变用户所在组:
改变该用户登录的初始目录
显示的内容如下
0-9位说明:
- rwx作用到文件
- [r]代表可读(read):可以读取,查看
- [w]代表可以写(write):可以修改,但不代表可以删除该文件,删除一个文件的前提条件是对该文件所在目录有写权限,才可以删除
- [x]代表可执行(execute):可以被执行
-
- rwx作用到目录
- [r]代表可读(read):可以读取,ls可以查看目录内容
- [w]代表可以写(write):可以修改,对目录内创建+删除+重命名目录
- [x]代表可以执行(execute):可以进入该目录
- ls -l 中显示的内容如下
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型:
其余字符每三个一组(rwx)读:r,写(w)执行(x)
第一组rwx:文件拥有者的权限是度,写,执行
第二组rw:与文件拥有者同一组的用户有读和写
第三组r:不与文件拥有者同一组的其它用户的权限只有读
可用数字表示为:r=4,w=2,x=1,因此rwx=4+2+1
其它说明:
1: 文件链接数
root 用户
root 组
376 文件大写(字节)
时间
文件名
- 基本说明:
通过chmod指令,可以修改文件或目录的权限。
- 第一种方式:+,-=变更权限
案例演示:
给abc文件的所有者读写执行权限,给所在组读执行权限,给其它组读执行权限
给abc文件所有者除去执行权限,怎加组写的权限
给abc文件的所有用户添加读的权限
- 第二种方式:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7
相当于
- 基本介绍
改变所有者
改变所有者和所在组
如果是目录, 则使其下所有子文件或目录递归生效
- 基本介绍
改变所在组
cribtab 进行定时任务的设置
- 概述
任务调度:是之系统在某个时间执行的特定命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等
个人用户工作:个人用户可能希望执行某些程序,比如对mysql数据库的备份。
- 基本语法
crontab [选项]
- 常用选项
- 快速入门
设置任务调度文件:
设置个人任务调度。执行 命令
接着输入任务调度文件
如
意思是说每小时的每分钟执行一次
- 参数细节
- 特殊符号说明
- 特殊事件执行任务案例
- 应用实例
案例1:每隔1分钟,将当前日期信息,追加到 文件中
案例2:每隔1分钟,将当前日期和日历都追加到文件中
案例3:每天凌晨2:00 将mysqlshujuku testdb,被分到文件中,提示:指令为
- 相关指令
:终止任务调度
:列出当前有哪些任务调度
重启任务调度
- 基本介绍
- at命令是一次性定时计划任务,at的手误进程atd会以后台模式运行,检查作业队列来运行。
- 默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
- at命令是一次性定时计划任务,执行完一个任务后不在执行此任务了
- 在使用at命令时候,一定要保证atd进程的启动,可以使用相关指令来查看(ps -ef |grep atd)
- at命令格式
ctrl+d 结束at命令的输入
- at命令选项
- at使劲啊定义
- 应用实例
- 原理介绍
- Linux来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
- Linux采用了一种叫“载入”的处理方式,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
- 示意图
- 硬盘说明
- Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
- 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为从属盘,c为辅助盘,d为辅助从属盘),“~”代表分区,前四个分区是用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上第三个主分区或扩展分区,hdb2表示第二个IDE硬盘的第二个主分区或扩展分区
- 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘就是“sd”来表示分区所在设备类型的,其余则和IDE硬盘的表示方法一样
- 查看所有设备挂在情况
- 说明
下面我们以怎加一块硬盘为例来熟悉一下自盘的相关命令和深入理解磁盘分区,挂在,卸载的概念。
- 如何增加一块硬盘
- 虚拟机添加硬盘
- 分区
- 格式化
- 挂在
- 设置可以自动挂在
- 虚拟机增加硬盘步骤1
- 虚拟机怎加硬盘步骤2
- 虚拟机怎加硬盘步骤3
格式化磁盘
分区:
- 虚拟机怎加硬盘步骤4
挂在:将一个分区与一个目录联系起来,
l例如:
例如: 或者
注意:用命令挂在重启后会失效
- 虚拟机怎加硬盘步骤5
- 查询系统整体磁盘使用情况
- 查询指定目录的磁盘占用情况
基本语法:
查询指定目录的磁盘占用情况,默认为当前目录
指定目录占用大小汇总
带计量单位
含文件
子目录深度
列出明细的同时,增加汇总
- 统计/opt文件夹下文件的个数
"^-" 以-线开头的,wc -l统计个数
- 统计/opt文件夹下目录个数
- 统计/opt文件夹下文件个数,包括子文件夹里的
ls -lR /etc 中的R表示递归输出子目录
- 统计/opt文件夹下目录个数,包括子目录里面的
- 以树状显示目录结构
- 画出原理图,帮助理解
- 查看虚拟机网络编辑器和修改IP地址
- 查看windows环境中的VMnet8网络配置(指令)
- 查看Linux的配置
- 基本语法
(功能描述:测试当前服务器是否可以连接目的主机)
- 第一种方法(自动获取)
- 第二种方法(指定ip)
说明:
之恶极修改配置文件来指定IP,并可以连接到外网(程序员推荐)
编辑
要求:将ip地址配置的静态的,比如:ip地址为:192.168.200.130
ifcfg-ens33 文件说明
DEVICE-eth0 # 接口名称(设备,网卡)
HWADDR=00:0c:2x:6x:0x:xx # MAC地址
TYPE=ethernet # 网络类型(通常是Ethemet)
UUID=32we-rwer324-234-2342 #随机id
# 系统启动的时候网络接口是否有效(yes/no)
onBOOT=yes
# IP的配置方法[none|static|bootp|dhcp](引导时不适用协议|静态分配IP|BOOTP协议|DHCP协议)
BOOTPROTO=static
# IP地址
IPADDR="192.168.200.130"
# 网关
GATEWAY="192.168.200.2"
# 域名解析地址
DNS1="192.168.200.2"
上面配置完后执行,重启生效
- 设置主机名
- 为了方便记忆,可以给linux系统设置主机名,也可以根据需要修改主机名
- 指令 查看主机名
- 修改文件在 指定
- 修改后,重启生效
- 设置hosts映射
思考:如何通过,主机名能够找到(比如ping)某个Linux系统
windows: 文件指定即可
linux: 文件指定即可
- Hosts时什么
一个文本文件,用来记录IP和Hostname(主机名)的映射关系
- DNS
- DNS,就是Domain Name SYstem 的缩写,翻译过来就是域名系统
- 是互联网上作为域名和IP地址相互映射的一个分布式数据库
- 在Linux中,每个执行的程序都称之为一个进程。每一个进程都分配一个ID号(pid,进程号)
- 每个进程都可以以两种方式存在。前台与后台,所谓的前台进程就是用户目前的屏幕上可以操纵的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
- 一般系统的服务都是以后台进程方式存在,而且都会常驻子系统中。直到关机
- 基本命令
命令是用来查看目前系统中,有哪些正在执行,以及他们的执行状况。可以不加任何参数
USER:进程执行用户
PID:进程号
%CPU:占用CPU百分比
%MEM:占用物理内存百分比
VSZ:占用虚拟内存
RSS:占用物理内存
TTY:终端
STAT:运行状态,s表示sleep休眠,r:运行状态
START:执行开始时间
TIME:占用CPU时间
COMMAND:进程名称,执行该进程的指令
- ps详解
是以全格式看是当前所有进程,查看进程的父进程
- 指令:,比如我看看有没有sshd服务器
- 指令说明
- System V展示风格
- USER:用户名
- PID:进程号
- %CPU:进程占用CPU百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小(单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)
- TTY:终端名称,缩写
- STAT:进程状态,其中S-睡眠,s-表示进程是会话的先导进程,N-表示进程拥有比普通优先级更低优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或被停止等
- START:进程的启动时间
- TIME:CPU时间,即进程使用CPU的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
- 介绍
若是某个进程执行一般需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。
- 基本选项
(功能描述:通过进程号杀死进程)
(功能描述:通过进程名称杀死进程,也支持通配符,这在系统负载过大而变得满时很有用),,,子进程也会被杀掉
- 常用选项
表示强迫进程立即停止
- 基本语法
可以更直观的来看进程信息
- 常用选项
显示进程PID
显示进程的所属用户
- 介绍
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld,sshd 防火墙等),因此我们又称之为守护进程,是Linux中非常重要的知识
- service管理指令
- service 服务名 [start | stop | restart | reload | status]
- 在CentOS7后恩多服务不再使用service,而是,systemctl
- service指令管理的服务再/etc/init.d查看
- 查看服务名:
- 服务的运行级别(runlevel)
Linux系统又7种运行级别(runlevel):常用的是级别3和5
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登录后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设置为6,否则不能正常启动
- chkconfig 指令
介绍
- 通过chkconfig命令可以给服务的哥哥运行级别设置自 启动/关闭
- chkconfig指令管理的服务再 查看
- 注意:centos7后,很多服务使用systemctl 管理
chkconfig 基本语法
- 查看服务
- 查询指定的服务
- 设置指定的服务级别
案例演示:对network服务,进行各种操作,吧network在3运行级别,关闭自启动
(关闭)
(开启)
chkconfig重新设置服务后自启动或关闭,需要重启机器
- systemctl管理命令
- 基本语法:
- 指令管理的服务在 查看
- systemctl设置服务的自启动状态
- (查看服务开机启动状态,grep 可以进行过滤)
- (设置服务开机启动)
- (关闭服务开启动)
- (查询某个服务是否自自动)
- 细节讨论
- 关闭或启用防火墙后,立即生效,[telnet 测试, 某个端口]
- 这种方式知识零食生效,当系重启后,还是回归以前对服务的设置
- 入宫希望设置某个服务自启动或关闭永久生效,要使用
- 打开或关闭指定端口
在真正的生产环境,往往需要将防火墙打开,但问题来嘞,如果我们把防火墙打开,那么外部请求数据宝就不能跟服务器监听端口通讯。这时,需要打开指定的端口。比如,80,22,8080。
- firewall指令
打开端口:
关闭端口:
重新载入,才能生效:
查询端口是否开放:
- 介绍
top与ps命令很相似。它们都是用来希纳是正在执行的进程。Top与ps最大的不同之处,在于top再执行一段时间可以更新正在运行的进程
- 基本语法
- 选项说明
top - 16:20:30 up 25 min, 1 user, load average: 0.00, 0.01, 0.04
Tasks: 157 total, 1 running, 156 sleeping, 0 stopped, 0 zombie
firewall-cmd
%Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2027892 total, 1104936 free, 468928 used, 454028 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1380716 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
- 交互操作(区分大小写) | 参数 | 含义 | | --- | --- | | ? | 显示在top当中可以输入的命令 | | P | 以CPU的使用资源排序显示 | | M | 以内存的使用资源排序显示 | | N | 以pid排序显示 | | T | 由进程使用的时间累计排序显示 | | k | 给某一个pid一个信号,可以用来杀死进程(9) | | r | 给某个pid重新定制一个nice值(即优先级) | | q | 退出top(用ctrl+c也可以退出top) |
- 查看系统网络情况netstat
- 检测主机连接命令ping:
是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机之间的网络是否故障
- 介绍
rpm用于互联网下载包的打包及安装工具,它包含再某些Linux发行版中。它生成具有,rpm扩展名的文件。RPM是RedHatPackageManager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一支文件格式名称虽然打上了RedHat的标志,但是理念是通的。
Linux发行版本都有采用(suse,redhat,centos等等),可以算是公认的行业标准了。
- rpm包的简单查询指令
查询已经安装的rpm列表
- rpm包名基本格式
一个rpm包名:
名称:firefox
版本:60.2.2-1
适用于操作系统:el7.centos.x86_64 (表示centos7.x的64位系统)
如果i686、i386表示32位系统,noarch表示通用
- rpm包的其它查询指令
查询所有安装的所有rpm软件包
查询软件包是否安装
查询软件包信息
查询软件包中的文件
查询文件所属的软件包
- 卸载rpm包
基本语法
细节讨论
- 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。
如:
removing these packages would break dependencies:foo is needed by bar-1.0-1
- 如果我们就是要删除foo这个软件包,则可以增加参数,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
- 安装rpm包
基本语法:
参数说明
i=install 安装
v=verbose 提示
h=hash 进度条
- 介绍
yum 是一个shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载rpm包并且安装,可以自行处理以来关系,并且以此安装所有依赖包。
- yum的基本命令
查询yum服务器是否有需要安装的软件
- 安装指定的yum包
下载安装
- Linux运维工程师再进行服务器集群管理时,需要编写Shell程序来进行服务器管理。
- 对于JavaEE和Python程序员来说,工作需要,你的老大会要求你编写一些Shell脚本来进行程序或是服务器维护,比如编写一个定时备份数据库的脚本。
- 对于大数据程序员来说,需要编写Shell程序来管理集群
shell是一个命令解释器,它为用户提供了一个向linux内核发送请求以便运行程序的界面系统程序,用户可以用Shell来启动,挂载,停止甚至是编写一些程序。
- 脚本格式要求
- 脚本以开头
- 脚本需要可执行权限
- 编写第一个Shell脚本
- 脚本的常用执行方式
方式1:(输入脚本绝对路径或相对路径)
说明:首先赋予脚本的+x权限,再执行脚本
方式2:(sh+脚本)
说明:不用赋予脚本+x权限,直接执行即可。
- Shell变量介绍
- Linux Shell中的变量分,系统变量和用户自定义变量
- 系统变量:等待,比如:等等
- 显示当前shell中所有变量:set
- shell变量的定义
- 定义变量:
- 撤销变量:
- 申明静态变量:,注意:不能unset
- shell变量的定义
定义变量的规则
- 变量名称可以由字母,数字和下划线组成,但是不能以数字开头
- 等号两侧不能有空格
- 变量名称一般习惯为大写,这是一个规范
将命令的返回值赋给变量
- date``反引号,运行里面的命令,把结果返回给变量A
- 等价于反引号
- 基本语法
- (功能描述:将shell变量输出为环境变量)
- (功能描述:让修改后的配置信息立即生效)
- (功能描述:查询环境变量的之)
- 快速入门
- 在文件中定义 环境变量
- 查看环境变量的值
- 在另一个shell程序中使用
注意:在输出环境变量前,需要让其
- shell脚本多行注释
- 介绍
当我们执行一个shell脚本时,如果希望获取到命令行参数信息,就可以使用到位置参数变量
比如:,这个就是一个执行shell的命令,可以在myshell 脚本中获取到参数信息
- 基本语法
(功能描述:n为数字,1-{10})
(功能描述:这个变量代表命令行中所有参数,@$#`(功能描述:这个变量代表命令行中所有参数的个数)
- 位置参数变量
- 基本介绍
就是shell 设计者事先定义号的变量,可以直接在shell脚本中使用
- 基本语法
(功能描述:当前进程的进程号(PID))
(功能描述:后台运行的最后一个进程的进程号(PID))
(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行);如果这个变量的值非0(具体是那个数,有命令自己来决定),则证明上一个命令执行不正确
- 应用实例
- 基本介绍
学习如何在shell中进行各种运算操作。
- 基本语法
- "[运算式]"或者 expr m + n
- 注意expr运算符间要有空格,如果希望将expr的结果赋给某一个变量,使用括起来
- expr m -n
- expr *,/,% 乘,除,取余
- 应用实例
- 判断语句
基本语法:
(注意condition前后要有空格)
非空返回true,可以使用$?验证(0为true,1为false)
应用实例
返回true
返回false
条件满足,执行后面的语句
- 判断语句
常用判断
- if 判断
基础语法
- case 语句
基本语法
- for循环
基本语法1
基础语法2
- while 循环
基本语法1
- 基本语法
选项:
:指定读取值的提示符
:指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了。
- 参数
变量:指定读取值的变量名
- 应用实例 testRead.sh
- 函数介绍
shell编程和其它编程语言一样,有系统函数,也有自定义函数。系统函数中,我们这里就介绍两个
- 系统函数
- 自定义函数
基本语法
- 需求分析
- 每天凌晨2:30备份数据库 hspEduDB 到 /data/backup/db
- 备份开始和备份结束能够给出相应的提示信息
- 备份后的文件要求以备份时间为文件名,并打包成的形式,比如
- 在备份同时,检查是否有10天前备份的数据库文件,如果有就将其删除
- 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息,系统的启动信息、系统的安全信息、各种服务相关信息等。
- 日志对于安全来说也很重要,它记录了系统每天发送的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。
- 可以这样理解,日志是用来记录重大事件的工具
系统常用日志
查询rsyslogd服务的自启动状态
配置文件:
编辑文件时的格式为:. 存放日志文件
其中第一个代表日志类型,第二个代表日志级别
- 日志类型分为:
auth ##pam生产的日志
authpriv ##ssh、ftp等登录信息的验证信息
corn ##事件任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部信息,事件标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy主机之间相关的通信
local 1-7 ##自定义的日志设备
- 日志级别
debug ##有调试信息的,日志通常最多
info ##一般信息日志,最常用
notice ##最具有重要性的普通条件信息
warning ##警告级别
err ##错误级别,组织某个功能或者模块不能正常工作的信息
crit ##严重级别,组织整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等重要信息
none ##什么都不记录
注意:从上到下,级别从第到高,记录信息越来越少
由日志服务rsyslogd记录的日志文件,日志文件的格式包含一下4列:
事件产生的时间
产生时间的服务器的主机名
产生事件的服务名或程序名
事件的具体信息
- 基本介绍
Webmin时功能强大的基于web的Unix/Linux系统管理工具。管理员通过浏览器访问webmin的各种管理功能并完成相应的管理操。
- 安装webmin和配置
下载地址
download.webmin.com/download/yu…
download.webmin.com/download/yu…
安装:
重置密码: root时webmin的用户名,不是os的,这里就是把webmin的root用户密码改成test
修改webmin服务的端口号(默认时10000处于安全考虑) 将 修改为
重启webmin
# 重启
# 启动
# 停止
开放端口
开放
更新配置
- 基本介绍
bt宝塔Linux面板时提升运维效率的服务器管理软件,支持意见LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等多项服务器管理功能
- 安装使用
- 安装:
- 安装成功后控制台会显示登录地址,账户名密码,复制浏览器打开登录