Linux基础指令
- 1、任务调度
- 简介
- 基本语法
- `crontab【选项】`
- at定时任务
- 2、磁盘分区、挂载
- 3、网络配置
- 配置网络环境
- 设置主机名和host映射
- 主机名解析过程分析
- 4、进程管理
- ps指令
- 终止进程
- 查看进程树
- 服务管理
- 打开或关闭指定端口
- 动态监控进程(top)
- 监控网络状态
1、任务调度
crontab进行定时任务的设置——定时反复执行
简介
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。
基本语法
crontab【选项】
●常用选项
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
指令:
crontab -e
crontab -l 列出当前有那些任务调度
crontab -r 终止任务调度
service crond restart 重启任务调度
●快速入门
设置任务调度文件:/etc/crontab 设置个人任务调度。执行命令。
接着输入任务到调度文件如:*/1****ls」/etc/>/tmp/to.txt
——每小时的每分钟执行ls-l/etc/>/tmp/to.txt命令
参数细节说明:
项目 | 含义 | 范围 |
---|---|---|
第一个 * | 一小时当中的第几分钟 | 0 - 59 |
第二个 * | 一天当中的第几小时 | 0 - 23 |
第三个 * | 一个月当中的第几天 | 1-31 |
第四个 * | 一年当中的第几月 | 1-12 |
第五个 * | 一周当中的星期几 | 0 - 7(0和7都为星期日) |
特殊符号的说明
特殊符号 | 含义 |
---|---|
* | 任何时间 |
, | 不连续的时间 |
- | 连续的时间范围 |
*/n | 每隔多久执行一次 |
at定时任务
基本介绍
- at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。
- at命令是一次性定时计划任务,at的守护进列,有作业时,会检查作业运行时间,如果时间与当前默认情况下,atd守护进程每60秒检查作业业时间匹配,则运行此作业。
- at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了
- 在使用at命令启动的时候,可以使用相关指令来查看,一定要保证atd进程ps -ef | grep
at命令格式
at [选项][时间]
Ctrl + D (结束at命令的输入)
对每个队列中的间隔60秒执行一次,执行完后的作业离开队列,不会执行。
选项 | 含义 |
---|---|
-m | 指定完成后,将给用户发送邮件,即使没有标准输出 |
-I | at的别名 |
-d | atrm的别名 |
-v | 显示任务将被执行的时间 |
-c | 打印任务的内容到标准输出 |
-V | 显示版本信息 |
-q<队列> | 使用指定的队列 |
-f <文件> | 从指定文件读入任务而不是从标准输入读入 |
-t <时间参数> | 以时间参数的形式提交要运行的任务 |
at指定时间的方法:
1、hh:mm(小时:分钟)式的时间指定。已过,则第二天该时间执行
2、使用 midnight (深夜),noon (中午),teatime (饮茶时间,一般是下午 4点)等比较模糊的词语来指定时间。
3、采用 12 小时计时制,即在时间后面加上 AM (上午)或PM (下午)来说明是上午还是下午。
4、使用相对计时法。指定格式为:now + count time-nits,nw 就是当前时间,time-units 是时间单位,这里能够是 minutes(分钟)、hours (小时)、days (天)、weeks (星期)。count 是时间的数量,几天,几小时。例如: now+5 minutes。
5、指定命令执行的具体日期,指定格式为 month day (月 日)或 mm/dd/yy (月/日/年)或 ddmm.yy (日.月.年)指定的日期必须跟在指定时间的后面。
6、直接使用 today (今天)、tomorrow (明天)来指定完成命令的时间。
2、磁盘分区、挂载
Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
硬盘说明:
- Linux 硬盘分IDE 硬盘和 SCSI硬盘,目前基本上是 SCSI硬盘
2)对于 SCSI 硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和DE 硬盘的表示方法一样。
查看所有设备挂载情况
lsblk/lsblk -f
du 命令用于显示目录或文件的大小
查询指定目录的磁盘占用情况,默认为当前目录
du -h
后可接入选项:
- -s (指定目录占用大小汇总)
- -h (带计量单位)
- -a (含文件)
- –max-depth=1 (子目录深度)
- -c (列出明细的同时,增加汇总值)
ls -l|grep ^-| wc -l
ls -l|grep ^-| wc -l在Linux中的作用是查看当前目录内的文件数量(不包含子目录中的文件),其中用管道|分为了三段,每一段的含义如下:
ls -l:列出当前目录下所有文件
grep ^-:grep用于筛选前面管道传来的信息,筛选标准是“行首后紧跟着一个-符号”(^代表行首,)
wc -l:统计文件的行数
此处参考文章:原文链接
指令示例:
ls -l/opt|grep"^-"|wc -l 统计/opt文件夹下的文件个数
ls -l/opt|grep"^d"|wc -l 统计/opt文件夹下的目录个数
ls -lR/opt|grep"^-"|wc -l 统计/opt文件夹下的文件个数,包括子文件夹中的
ls -lR/opt|grep"^d"|wc -l 统计/opt文件夹下的目录个数,包括子文件夹中的
3、网络配置
指令:
测试当前服务器是否可以连接目的主机
ping 目的主机
配置网络环境
1、自动获取。linux启动后自动获取ip,每次ip地址可能不同。
2、指定ip,可连接外网。
设置主机名和host映射
查看主机名
hostname
修改主机名:
修改文件在 /etc/hostname 指定,修改后,重启生效。
通过主机名能够找到(比如 ping) 某个 linux 系统:
- windows:
在 C:WindowslSystem32driversletclhosts 文件指定即可
案例: 192.168.200.130 hspedu100 - linux:
在 /etc/hosts文件 指定
主机名解析过程分析
Hosts:文本文件,记录IP和Hostname(主机名)映射关系
DNS:域名系统,互联网上作为域名和IP地址相互映射的分布式数据库。
4、进程管理
在LINUX 中,每个执行的程序都称为一个进程,每一个进程都分配一个pid进程号。
每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
ps指令
ps指令用于查看目前系统中,哪些正在执行
指令:
ps-auxlgrep xxx
后接于xxx中的选项为:
- SystemV 展示风格
- USER: 用户名称
- PID: 进程号
- %CPU:进程占用CPU的百分比
- %MEM:进程占用物理内存的百分比
- VSZ:进程占用的虚拟内存大小 (单位:KB)
- RSS:进程占用的物理内存大小(单位:KB)TT:终端名称缩写
- STAT:进程状态,其中 S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等
- STARTED:进程的启动时间
- TIME:CPU 时间,即进程使用 CPU的总时间
- COMMAND:启动进程所用的命令和参数,如果过长会被截断显示
终止进程
通过进程号杀死/终止进程
kill [选项] 进程号
通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
killal 进程名称
查看进程树
pstree能够更直观查看进程信息
pstree【选项】
-p :显示进程的 PID
-u:显示进程的所属用户
服务管理
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld,sshd防火墙等),因此我们又称为守护进程。
指令:
service 服务名[start| stop|restart| reload | status]
服务名可为network等
chkconfig 指令,用于给服务各个运行级别设置自启动或关闭
注意:
chkconfig 重新设置服务后自启动或关闭,需要重启机器reboot生效。
chkconfig --list 查看chkconfig 所知道的所有命令
chkconfig telnet on 开启 Telnet 服务
chkconfig telnet off 关闭 Telnet 服务
chkconfig --level 3 network off 把network 在3运行级别,关闭自启动
打开或关闭指定端口
firewall 指令
打开端口:
firewall-cmd --permanent --add-port=端口号/协议
关闭端口:
firewall-cmd --permanent --remove-port=端口号/协议
重新载入,才能生效:
firewall-cmd --reload
查询端口是否开放:
firewall-cmd --query-port-端口/协议
动态监控进程(top)
top和ps相似,top在执行一段时间可以更新正在运行的进程。
语法:
top【选项】
选项:
- -d秒数 指定top命令每隔几秒更新。默认是3秒
- -i 使top不显示任何闲置或者僵死进程
- -p 通过指定监控进程ID来仅仅监控某个进程的状态
交互操作:
操作 | 功能 |
---|---|
P | 以CPU使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
q | 退出top |
监控网络状态
查看系统网络情况
netstat 【选项】
选项:
- -an 按一定顺序排列输出
- -p 显示哪个进程在调用
应用案例:查看服务名为 sshd 的服务的信息
netstat -anp | grep sshd
本文学习参考的是B站韩顺平制作的Liunx入门教学视频,其中的图片来源于该视频,链接如下:
【小白入门 通俗易懂】2021韩顺平 一周学会Linux