Linux04
1.定时任务调度
2.磁盘分区 磁盘管理
3.网络配置
4.进程管理
5.动态监听进程
6.rpm-yum
一.定时任务调度
示意图:
1.基本语法
crontab [选项] -e : bianji crontab定时任务 -l : 查询crontab -r : 删除当前用户所有的crontab任务 例子: 每分钟执行查看一次/ect目录,把目录内容写进/tml/a.txt下 具体实现步骤: 1.crontab –e 2.*/ 1 * * * * ls -l /etc >> /tmp/a.txt 3.保存退出
2.参数细节说明
时间参数案例: 1.每天22点45分执行 2.每周一的17点执行 3.每月1号的15号的凌晨5点执行 4.每周一到周五的凌晨4点40份执行 5.每天的凌晨4点,每隔10分钟执行一次命令
3.案例
1.每隔 1 分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
2.每隔 1 分钟, 将当前日期和日历都追加到 /home/mycal 文件中
二.磁盘分区 磁盘管理
1.分区方式 有2种分区方式
分区基础知识
mbr分区: 1.最多支持四个主分区 2.系统只能安装在主分区上 3.扩展分区要占一个主分区 4.mbr最大只支持2TB,但拥有最好的兼容性 gpt分区: 1.支持无限多个主分区(但操作系统会限制,比如windows下最多支持128个主分区) 2.最大支持18EB的容量(1EB=1024PB) 3.windows7 64位后支持gpt模式
windows下的磁盘分区
2.Linux分区
原理介绍
1.Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 ,
Linux 中每个分区都是用来组成整个文件系统的一部分 2.Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录, 且将
一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得
硬盘说明
现在主要的硬盘都是scsi硬盘 linux中对scsi硬盘的标识为"sdx~" 如: sda1:表示该磁盘的分区1 sda2:表示该磁盘的分区2
3.挂载点的经典案例
需求是给我们的 Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk 步骤: 1.虚拟机添加硬盘 2.分区 fdisk /dev/sdb m 选择帮助 n 增加分区 p 划主分区 1 主分区1 1 默认 w 写入分区信息并退出 3.格式化 mkfs -t ext4 /dev/sdb1 4.挂载 mount /dev/sdb1 /home/newdisk 5.设置自动挂载 vim /etc/fstab (内容如下) mount -a 立即生效
4.磁盘情况查询
查询系统整体磁盘使用情况
df -lh
查询指定目录的磁盘占用情况
du /目录 -h 带计量单位 -s 指令目录占用磁盘大小 -a 含文件 -c 列出明细,并显示汇总值 --max-depth=1 子目录深度 例子: 查询 /opt 目录的磁盘占用情况,深度为 1 du -ach --max-depth=1 /opt
常见案例
1.统计/home 文件夹下文件的个数 ls -l /home | grep '^-' | wc -l 2.统计/home 文件夹下目录的个数 ls -l /home | grep '^d' | wc -l 3.统计/home 文件夹下文件的个数,包括子文件夹里的 ls -lR /home | grep '^-' | wc -l 4.统计文件夹下目录的个数,包括子文件夹里的 ls -lR /home | grep '^d' | wc -l
三.网络配置
1.Linux网络配置原理图(NAT)
2.查看网络ip和网关
2.1.查看虚拟网络编辑器
2.2修改ip地址(修改虚拟网络的ip)
2.3查看网关
2.4查看windows环境中的VMnet8
网络配置(ipconfig指令)
1.使用命令查看:ipconfig
2.界面查看
3.ping测试主机之间网络连通
3.1基本语法
ping 目标ip 测试当前服务器是否可以连接目的主机
3.2小例子
测试当前服务器是否可以连接百度
ping www.baidu.com
4.Linux网络环境配置
4.1第一种方法(自动获取)
此方法的缺点:
linux 启动后会自动获取 IP,缺点是每次自动获取的
ip 地址可能不一样。这个不适用于做服务器,因为我们的服务器的
ip 需要时固定的。
4.2第二种方法(指定固定ip)
直 接 修 改 配 置 文 件 来 指 定 IP, 并 可 以 连 接 到 外 网
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改配置文件后,要重启网络服务才能生效
service network restart
四.进程管理
1.基本介绍
1.在 LINUX 中,每个执行的程序(代码)都称为一个进程。每一个进程都分配一个 ID 号 2.每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程 3.每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。
后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行 4.一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束
2.显示系统执行的进程
查看进行使用的指令是 ps ,一般来说使用的参数是 `ps -aux`,`ps -ef`,正常与`grep`连用
3.指令详解
BSD风格 详解
user 用户名称 pid 进程号 %cpu 进程占用cpu百分比 %%mem 进程占用物理内存的百分比 vsz 进程占用虚拟内存的大小 rss 进程占用物理内存的大小 tty 终端名称(后台则为?) stat 进程状态 S:睡眠 s:会话的先导进程 N:进程拥有比普通优先级更低的优先级 R:正在运行 D:短期等待 Z:僵尸进程 T:被跟踪或者被停止 start 进程启动时间 time 使用cpu总时间 command 启动进程所用的命令和参数,如果过长会被截断显示
system V 风格详解
uid 用户id
pid 进程id
ppid 父进程id
C 进程占cpu百分比
stime 进程启动时间
tty 终端名称(后台则为?)
cmd 启动进程所用的命令和参数
列子:
查看sshd进程的父进程id是多少
ps -ef | grep sshd
4.终止进程kill和killall
说明:
若是某个进程执行一半需要停止时,或是已消了很大的系统资源时,此时可以考虑停止该进程。
基本语法:
kill 进程号 -9 强迫进程立即停止 killall 进程名称
例子:
1.踢掉某个非法登录用户 2.终止远程登录服务 sshd, 在适当时候再次重启 sshd 服务 3.终止多个 gedit 编辑器 【killall , 通过进程名称来终止进程】 4.强制杀掉一个终端 -9 强杀
5.查看进程树pstree
pstree [选项] -p 查看进程pid -u 查看进程所属用户
6.服务(service)管理
说明:
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,
等待其它程序的请求,比如(mysql , sshd 防火墙等),因此我们又称为守护进程,是
Linux 中非常重要的知识点。
基本使用:
service 服务名 [start | stop | restart | reload | status]
例子:
1.查看当前防火墙的状况,关闭防火墙和重启防火墙(iptables)
service这种方式关闭或者打开服务只是临时生效
重启后,还是回到以前对服务的设置
查看服务名:
/etc/init.d 此文件夹下放着系统都有哪些服务
ls -l /etc/init.d
服务器运行级别(runlevel)
查看或者修改默认级别: vi /etc/inittab Linux 系统有 7 种运行级别(runlevel):常用的是级别 3 和 5 运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动 运行级别 1:单用户工作状态,root 权限,用于系统维护,禁止远程登陆 运行级别 2:多用户状态(没有 NFS),不支持网络 运行级别 3:完全的多用户状态(有 NFS),登陆后进入控制台命令行模式 运行级别 4:系统未使用,保留 运行级别 5:X11 控制台,登陆后进入图形 GUI 模式 运行级别 6:系统正常关闭并重启,默认运行级别不能设为 6,否则不能正常启动
开机流程说明:
chkconfig指令:
说明:
通过 chkconfig 命令可以给每个服务的各个运行级别设置自启动/关闭
基本语法:
chkconfig 查看每个服务的配置
chkconfig 服务名 查看具体服务的配置
chkconfig --level 5 服务名 on/off 给服务设置是否自动启动
例子:
1.请显示当前系统所有服务的各个运行级别的运行状态 2.请查看 sshd 服务的运行状态 3.将 sshd 服务在运行级别 5 下设置为不自动启动,看看有什么效果? 4.当运行级别为 5 时,关闭防火墙。 5.在所有运行级别下,关闭防火墙 6.在所有运行级别下,开启防火墙
五.动态监听进程
说明:
top
与 ps 命令很相似。它们都用来显示正在执行的进程。Top 与 ps 最大的不同之处,在于
top 在执行一段时间可以更新正在运行的的进程
基本语法:
top [选项] -d 指定每隔几秒更新,默认3秒 -i 不显示任何闲置或者僵尸进程 -p id号 监听指定进程 交互操作: P 以cpu使用率排序,默认就这个 M 以内存使用率排序 N 以pid排序 u 监听具体用户 k 终止指定进程 q 退出top
六.rpm-yum
1.rpm包的管理
介绍:
一种用于互联网下载包的打包及安装工具.它生成具有.RPM
扩展名的文件。RPM
是 RedHat
Package Manager(RedHat 软件包管理工具)的缩写,类似
windows 的 setup.exe
rpm包的简单查询指令:
rpm –qa 查询已安装的 rpm 列表
rpm包名的基本格式:
一个 rpm 包名:firefox-45.0.1-1.el6.centos.x86_64.rpm firefox:名称 45.0.1-1:版本号 el6.centos.x86_64:centos6.X---64位
rpm其他指令:
rpm -q 软件包名 查看是否已经安装 rpm -qi 软件包名 查看软件包信息 rpm -ql 软件包名 查看软件包中的文件安装位置 rpm -qf 文件(如:/etc/passwd) 查看某个文件属于哪个rpm包
卸载rpm包:
rpm -e 包名
例子:
rpm -e firefox
包依赖问题:
如果其它软件包依赖于你要卸载的软件包,卸载时则会产生错误信息
rpm -e --nodeps 包名 强制删除
安装rpm包:
rpm -ivh RPM 包全路径名称
i:install 安装
v:verbose 提示
h:hash 进度条
2.yum
说明:
Yum 是一个 [Shell ](https://baike.baidu.com/item/Shell)前端软件包管理器。
基于 [RPM ](https://baike.baidu.com/item/RPM)包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包。使用 yum 的前提是可以联网。 类型python中的pip
基本指令:
yum list|grep xx 查询yum服务器上是否有需要安装的包
yum install xxx 下载安装