Linux进阶篇

一. 文件权限管理

chgrp -R <组名> <文件名>  # 修改文件所在组(-R递归)

chmod u=rwx,g=rx,o=x <文件/目录>		# 修改权限
chmod a+r+w <文件>	# 添加权限(a代表所有用户)
chmod -R 751 <文件>	# 修改权限(r-4,w-2,x-1)(-R递归)

chown -R <用户> <文件>	# 修改文件所有者(-R递归)

目录权限说明
目录x:可以 cd 进入
目录r:可以在目录下 ls
目录w:可以在目录中 touch rm

二. 定时任务

crond定时任务

crond 定时任务格式:
分 时 天 月 周 command

crontab -e  # 编辑crontab定时任务
crontab -l	# 查看当前定时任务
crontab -r	# 删除当前用户所有的crontab任务
service crond restart	# 重启任务调度
# 每隔10分钟执行一次
*/10 * * * * [command]
# 每天8:00,12:00,16:00都执行一次
0 8,12,16 * * * [command]
# 每周一到周六5:00都执行一次
0 5 * * 1-6 [command]
# 每月1日和每星期一5:00都执行一次
0 5 1 * 1 [command]

at一次定时任务

at 一次定时任务格式:
at [参数] [时间]
at>[command]
<ctrl+D><ctrl+D>

时间格式:
1.hh:mm
2.midnight noon teatime(下午4点)
3.12小时制:8am, 4pm
4.HH:MM yyyy-mm-dd
5.相对计时法:now + count time-units(时间单元可以是:minutes hours days weeks)
6.today tomorrow

at 5:00 + 2 days	# 两天后五点执行
at 5:00 tomorrow	# 明天五点执行
atq		# 查看定时任务
atrm 5 	# 删除编号为5的定时任务

三. 磁盘分区与挂载

Linux磁盘分区机制:磁盘分区挂载到路径
硬盘说明:
sdx:SCSI硬盘
sda:第一块
sdb:第二块
sdc:第三块

经典案例:磁盘挂载

1.添加一块磁盘
2.磁盘分区
fdisk /dev/sdb
m:帮助 n:添加分区 w:保存分区退出 q:不保存退出
3.格式化分区
mkfs -t ext4 /dev/sdb1
4.磁盘分区挂载
mount /dev/sdb1 /newdisk # 挂载
umount /dev/sdb1umount /newdisk # 卸载
5.磁盘分区永久挂载
修改/etc/fstab配置文件
mount -a # 立即生效

磁盘情况查询

lsblk		# 查看磁盘挂载
lsblk -f 	# 查看磁盘挂载详细信息
df -h		# 查看整体磁盘使用情况
df -h <目录> # 查看当前路径所在分区使用情况
du -sh <目录>	# 目录占用大小汇总
du -h --max-depth=1 <目录>	# 查询深度为1的各文件使用情况

磁盘实用指令

# 统计文件数
ll |grep "^-" |wc -l
# 统计目录数
ll |grep "^d" |wc -l
# 统计文件数,包括子目录
ll -R |grep "^-" |wc -l
# 统计目录数,包括子目录
ll -R |grep "^d" |wc -l
# 以树状显示目录结构
tree <目录名>

四. 网络配置

ipconfig 	# 查看网络适配器信息
ping <ip/域名/主机名> 	# 检查网络连通

配置静态IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"         # 使用静态IP地址,默认为dhcp
IPADDR="192.168.241.100"   # 设置的静态IP地址
NETMASK="255.255.255.0"    # 子网掩码
GATEWAY="192.168.241.2"    # 网关地址
DNS1="192.168.241.2"       # DNS服务器
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="95b614cd-79b0-4755-b08d-99f1cca7271b"
DEVICE="ens33"
ONBOOT="yes"             #是否开机启用

配置完成后systemctl restart networkservice network restart

hostname和hosts

hostname # 查看主机名
vim /etc/hostname # 配置主机名
vim /etc/hosts # 配置hosts映射关系

域名解析过程

1.浏览器缓存
2.DNS缓存
ipconfig /displaydns # windows 查看DNS缓存
ipconfig /flushdns # windows 手动清除DNS缓存
3.hosts
4.DNS服务器

网络监控

netstat -anp
Local Address: 本地进程通信点
Foreion Address: 外部进程通信点

五.进程管理

查看进程

ps -aux
USER:用户名称
PID:进程号
%CPU:进程CPU占比
%MEM:进程物理内存占比
VSZ:进程占用虚拟内存大小(单位:KB)
RSS:进程占用物理内存大小(单位:KB)
TT:终端名称
STAT:进程状态
(S睡眠,s会话先导进程,N比普通优先级低,R正在运行,D短期等待,Z僵尸,T挂起)
START:进程启动时间
TIME:CPU时间(进程使用CPU总时间)
COMMAND:启动进程所用的命令参数
ps -ef
UID:用户ID
PID:进程ID
PPID:父进程ID
c:c越大,CPU密集型运算,执行优先级会降低。c越小,I/O密集型运算,执行优先级会提高。
STIME:进程启动时间
TTY:完整终端名称
TIME:CPU时间
CMD:启动进程所用的命令参数
pstree # 显示进程树 -p 显示进程号 -u 显示用户

终止进程

kill [PID] # -9 强制
killall [进程名称]

# 终止非法登陆用户
ps -aux |grep sshd
kill 11421
# 终止远程登陆服务
ps -aux |grep sshd
kill 10748		# 重新启动/bin/systemctl start sshd.service
# 终止多个gedit
kill all gedit
# 强制杀掉一个终端
ps -aux |grep bash
kill -9 10487

进程监控

top # -d 刷新时间 -i 不显示空闲僵尸进程 -P 通过PID监控指定进程
交互操作:
P:按照CPU占比进行排序
M:按照MEM占比进行排序
N:按照PID排序
q:退出
u:监控指定用户
k:终止指定进程

六.服务管理

服务:后台运行的进程,又称为守护进程
1.service [服务名] [start|stop|restart|reload|status]
2.service指令管理的服务在/etc/init.d查看
3.若远程关闭network服务,会导致无法远程登陆

服务运行级别

开机流程说明
开机->BIOS->/boot->systemd进程1->运行级别->运行级对应的服务

# 查看所有服务在不同运行级别启动情况
chkconfig --list
# 查看指定服务在不同运行级别启动情况
chkconfig [服务名] --list
# 修改指定服务在不同运行级别启动情况
chkconfig --level 5 [服务名] on/off

systemctl

systemctl [start|stop|restart|status] [服务名]
systemctl list-unit-file # 查看服务开启启动状态
systenctl is-enabled [服务名] # 查询某个服务是否是开机启动的
systemctl enable [服务名] # 设置服务开机启动
systemctl disable [服务名] # 关闭服务开机启动

防火墙firewall

防火墙:控制端口是否开放

telnet <ip> <port> # 测试端口是否连通
netstat -anp	# 查询端口/协议
firewall-cmd --list-ports	# 查看已开放端口
firewall-cmd --permanent --query-port=端口/协议	# 查询端口是否开放
firewall-cmd --permanent --add-port=端口/协议 	# 开放端口
firewall-cmd --permanent --remove-port=端口/协议 # 关闭端口
firewall-cmd --reload # 重启防火墙,使配置立即生效

七. RPM管理

rpm:软件包管理工具(redhat、suse、centos)

rpm -aq | grep firefox # 查询已安装rpm列表
rpm -q firefox 	# 查询firefox是否已安装
rpm -qi firefox # 查询软件包详细信息
rpm -ql firefox # 查询软件安装完成后生成了哪些文件
rpm -qf /etc/passwd  # 查询文件归属于哪个软件包
rpm -e firefox	# 卸载firefox
rpm -e --nodeps firefox  # 强制卸载firefox
rpm -ivh [rpm包全路径名称]  # 安装软件包

yum:软件包管理器(Fedora、RedHat、CentOS)

yum list |grep firefox  # 查询yum服务器是否有firefox软件包
yum install firefox.x86_64  # 安装firefox

八. 日志管理

系统常用日志

日志管理服务:rsyslogd守护进程
日志格式:时间 用户 进程 日志内容

日志内容
/var/log/boot.log系统启动日志
/var/log/croncrontab定时任务相关日志
/var/log/lastlog记录所有用户最有一次登录时间,实用lastlog命令查看
/var/log/maillog邮件信息日志
/var/log/message系统重要信息日志,系统出现问题首先检查
/var/log/secure认证授权信息日志,如ssh登录、用户切换、sudo授权、修改密码等
var/tun/ulmp记录当前已登录用户信息,使用who等命令查看

日志配置文件

/etc/rsyslog.conf
编辑文件格式:*.* 存放日志

日志类型来源
authpam产生的日志
authprivssh、ftp等登录信息的验证信息
corn时间任务相关
kern内核
lpr打印
mail邮件
mark(syslog)-rsyslog服务内部信息,时间标识
news新闻组
user用户程序产生的相关信息
uucpunix to nuix copy主机之间相关的通信
local 1-7自定义日志设备
日志级别描述
debug有调试信息的
info一般信息日志
notice最具重要性普通条件信息
warning警告级别
err错误级别,某个功能模块不能正常工作
crit严重级别,整个系统或整个软件不能正常工作
alert需要立刻修改的信息
emerg内核崩溃等重要信息
none什么都不记录

日志转储

/etc/logrotate.conf
或/etc/logrotate.d/
日志轮替机制:依赖crond(如cron每天会执行/etc/cron.daily/logrotate)

/var/log/zyt.log
{
missingok
daily
copytruncate
rotate 7
notifempty
}
参数说明
daily每天
weekly每周
monthly每月
rotate 数字保留的日志文件个数,0表示没有备份
compress日志轮替时,旧的日志进行压缩
create mode owner group建立新日志,指定权限,所有者,属主
mail address日志轮替时,发送邮件
missingok如果日志不存在,忽略日志的警告信息
notifempty如果日志文件为空,不进行轮替
minisize 大小日志转储的最小值,日志一定要到达这个最小值才会轮替
size 大小日志只有大于指定大小才进行日志轮替,而不是按照时间
dateext使用日期作为日志轮替文件的后缀
sharedscripts在此关键字之后的脚本只执行一次
preotate/endscript在日志轮替之前执行脚本命令
postrotate/endscript在日志轮替之后执行脚本命令
copytruncate把原始文件拷贝一份重命名,然后把原始文件清空

内存日志

内存日志:内存中的日志,尚未写盘,动态变化,重启会丢失

journalctl	# 查看所有内存日志
journalctl -n 3 	# 查看最近3条
journalctl --since 19:00 --until 19:10:10   # 查看指定时间段日志
journalctl -p err	# 报错日志
journalctl -o verbose	# 日志详细内容
journalctl _PID=1245 _COMM=sshd  # 查询包含这些参数的日志

九.备份恢复

dump 备份

dump [参数] [目录/文件]
参数:
-0123456789 备份层级,0为完整备份
-f 指定备份后文件名
-j 调用bzlib库压缩备份文件
-T 指定开始备份的时间日期
-u 备份完毕后,在/etc/dumpdares中记录备份的文件系统,层级,日期和时间等
-W 显示需要备份的文件及其最后一次备份的层级,时间,日期
-w 与-W类似,仅显示需要备份的文件
注意:分区备份支持增量备份、文件或目录不支持

# 完整备份分区/boot
dump -0uj -f /opt/boot.bak0.bz2 /boot
# 增量备份分区/boot
dump -1uj -f /opt/boot.bak1.bz2 /boot
# 备份目录/etc
dump -0j -f /opt/etc.bak.bz2 /etc
# 显示备份文件最后字词备份的层级,时间,日期
dump -W
dump -w

restore 恢复

restore [模式选项] [选项]
-C 对比模式
-i 交互模式
-r 还原模式
-t 查看模式
-f 指定备份数据文件

restore -C -f /opt/boot.bak1.bz2
restore -t -f /opt/boot.bak1.bz2
# 还原模式,若增量备份,按顺序恢复
restore -r -f /opt/boot.bak0.bz2
restore -r -f /opt/boot.bak1.bz2

十.可视化运维

webmin
wget http://download.webmin.com/download/yum/webmin-1.700-1.noarch.rpm

bt(宝塔)
wget -O install.sh http://download.bt.cn/install/install_6.0.sh
chmod u+x install.sh
./install.sh

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值