linux 基本操作2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 基本操作2相关的知识,希望对你有一定的参考价值。
RAID阵列概述
? 廉价冗余磁盘阵列
– Redundant Arrays of Inexpensive Disks
– 通过硬件/软件技术,将多个较小/低速的磁盘整合成一
个大磁盘
– 阵列的价值:提升I/O效率、硬件级别的数据冗余
– 不同RAID级别的功能、特性各不相同
? RAID 0,条带模式
– 同一个文档分散存放在不同磁盘
– 并行写入以提高效率
? RAID 1,镜像模式
– 一个文档复制成多份,分别写入不同磁盘
– 多份拷贝提高可靠性,效率无提升
? RAID5,高性价比模式
– 相当于RAID0和RAID1的折中方案
– 需要至少一块磁盘的容量来存放校验数据
? RAID6,高性价比/可靠模式
– 相当于扩展的RAID5阵列,提供2份独立校验方案
– 需要至少两块磁盘的容量来存放校验数据
? RAID 0+1/RAID 1+0
– 整合RAID 0、RAID 1的优势
– 并行存取提高效率、镜像写入提高可靠性
#####################################################
进程管理
程序: 静态的代码,占用 磁盘空间
进程: 动态的代码,占用 CPU 内存
父进程与子进程
进程唯一的编号: PID
#################################################
? pstree — Processes Tree
– 格式:pstree [选项] [PID或用户名]
? 常用命令选项
– -a:显示完整的命令行
– -p:列出对应PID编号
systemd :所有进程的父进程
[[email protected] /]# useradd lisi
[[email protected] /]# pstree lisi
未发现进程。
[[email protected] /]# pstree lisi
bash───vim
[[email protected] /]# pstree -p lisi
bash(11715)───vim(11838)
[[email protected] /]# pstree -ap lisi
[[email protected] /]# pstree #查看整个进程数
#####################################################
? ps — Processes Snapshot
– 格式:ps [选项]...
? 常用命令选项
– aux:显示当前终端所有进程(a)、当前用户在所有
终端下的进程(x), 以用户格式输出(u)
– -elf:显示系统内所有进程(-e)、以长格式输出(-l)
信息、包括最完整的进程信息(-f)
? ps aux 操作
– 列出正在运行的所有进程
? ps -elf 操作
– 列出正在运行的所有进程
PPID:父进程的PID号
###########################################
? top 交互式工具
– 格式:top [-d 刷新秒数] [-U 用户名]
– P、M:根据 %CPU、%MEM 降序排列
检索进程
? pgrep — Process Grep
– 用途:pgrep [选项]... 查询条件
? 常用命令选项
– -l:输出进程名,而不仅仅是 PID
– -U:检索指定用户的进程
– -t:检索指定终端的进程
– -x:精确匹配完整的进程名
[[email protected] ~]# who #查询当前那个用户正在登陆信息
[[email protected] ~]# pgrep -l log
[[email protected] ~]# pgrep -l a
######################################################
后台启动
– 在命令行末尾添加“&”符号,不占用当前终端,以正在运行的状态
? Ctrl + z 组合键
– 挂起当前进程(暂停并转入后台)
? jobs 命令
– 查看后台任务列表
? fg 命令
– 将后台任务恢复到前台运行
? bg 命令
– 激活后台被挂起的任务
[[email protected] /]# sleep 800 & #正在运行放入后台
[1] 15343
[[email protected] /]# jobs #查看后台进程信息
[1]+ 运行中 sleep 800 &
[[email protected] /]# jobs -l #查看后台进程详细信息
[1]+ 15343 运行中 sleep 800 &
[[email protected] /]# sleep 900
^Z #按Ctrl+z暂停放入后台
[2]+ 已停止 sleep 900
[[email protected] /]# jobs
[1]- 运行中 sleep 800 &
[2]+ 已停止 sleep 900
[[email protected] /]# bg 2 #将后台编号为2的继续运行
[2]+ sleep 900 &
[[email protected] /]# fg 2 #将后台进程编号为2的恢复到前台
#######################################################
杀死进程
? 干掉进程的不同方法
– Ctrl+c 组合键,中断当前命令程序
– kill [-9] PID... 、kill [-9] %后台任务编号
– killall [-9] 进程名...
– pkill 查找条件
-9 : 强制杀死
[[email protected] /]# sleep 800 &
[1] 22924
[[email protected] /]# sleep 900 &
[2] 22925
[[email protected] /]# sleep 1000 &
[3] 22926
[[email protected] /]# jobs -l
[[email protected] /]# kill 22926
[[email protected] /]# jobs -l
[[email protected] /]# killall sleep #杀死所有sleep进程
[[email protected] /]# jobs -l
强制踢出一个用户: killall -9 -u lisi
##################################################
日志管理
? 系统和程序的“日记本”
– 记录系统、程序运行中发生的各种事件
– 通过查看日志,了解及排除故障
– 信息安全控制的 依据
/var/log/messages 记录内核消息、各种服务的公共消息
/var/log/dmesg 记录系统启动过程的各种消息
/var/log/cron 记录与cron计划任务相关的消息
/var/log/maillog 记录邮件收发相关的消息
/var/log/secure 记录与访问限制相关的安全消息
日志分析
? 通用分析工具
– tail、tailf、less、grep等文本浏览/检索命令
– awk、sed等格式化过滤工具
tailf : 实时跟踪日志消息
? users、who、w 命令
– 查看已登录的用户信息,详细度不同
? last、lastb 命令
– 查看最近登录成功/失败的用户信息
[[email protected] /]# users
[[email protected] /]# who
[[email protected] /]# w
[[email protected] /]# last
[[email protected] /]# lastb
#################################################
Linux内核定义的事件紧急程度
– 分为 0~7 共8种优先级别
– 其数值越小,表示对应事件越紧急/重要
0 EMERG(紧急) 会导致主机系统不可用的情况
1 ALERT(警告) 必须马上采取措施解决的问题
2 CRIT(严重) 比较严重的情况
3 ERR(错误) 运行出现错误
4 WARNING(提醒) 可能会影响系统功能的事件
5 NOTICE(注意) 不会影响系统但值得注意
6 INFO(信息) 一般信息
7 DEBUG(调试) 程序或系统调试信息等
#################################################
使用journalctl工具
常见用法
– journalctl | grep 关键词
– journalctl -u 服务名 [-p 优先级]
– journalctl -n 消息条数
– journalctl --since="yyyy-mm-dd HH:MM:SS"
--until="yyyy-mm-dd HH:MM:SS"
[[email protected] /]# yum -y install httpd
[[email protected] /]# systemctl restart httpd
[[email protected] /]# journalctl -u httpd
[[email protected] /]# journalctl -n 10
[[email protected] /]# journalctl -u httpd -p 6 #查看6级别以上日志
#######################################################
systemctl控制
systemd
? 一个更高效的系统&服务管理器
– 开机服务并行启动,各系统服务间的精确依赖
– 配置目录:/etc/systemd/system/
– 服务目录:/lib/systemd/system/
– 主要管理工具:systemctl
? Linux系统和服务管理器
– 是内核引导之后加载的第一个初始化进程(PID=1)
– 负责掌控整个Linux的运行/服务资源组合
? 控制服务状态
– systemctl start|stop|restart 服务名...
? 查看服务的运行状态
– systemctl status|is-active 服务名...
管理运行级别
RHEL6
0: 关机
1: 单用户
2: 多用户的字符终端(不支持网络)
3: 多用户的字符终端(支持网络)
4: 未定义
5: 图形
6: 重起
切换运行级别的命令: init 0 init 6
####################################################
RHEL7
multi-user.target #多用户的字符模式
graphical.target #图形模式
当前切换模式:
[[email protected] /]# systemctl isolate graphical.target
[[email protected] /]# systemctl isolate multi-user.target
永久切换模式:
[[email protected] /]# systemctl get-default #查看默认的模式
multi-user.target
[[email protected] /]# systemctl set-default graphical.target
[[email protected] /]# systemctl get-default
#######################################################
PATH变量作用: 提供命令程序的搜寻路径
[[email protected] ~]# vim /opt/hello
#!/bin/bash
echo hahaxixi
[[email protected] ~]# chmod +x /opt/hello
[[email protected] ~]# /opt/hello
hahaxixi
[[email protected] ~]# hello
bash: hello: 未找到命令...
[[email protected] ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] ~]# cp /opt/hello /usr/bin/
[[email protected] ~]# hello
hahaxixi
提示 命令找不到 的原因?
1.命令有误
2.命令未安装
3.命令所对应的程序没有在PATH值路径中
书写周期性计划任务:所有的命令都写绝对路径
查找命令所对应的程序文件: which date
##################################################
netstat 命令 : 查看网络连接信息
-a:显示所有网络接口
-n:以数字的方式显示
-p:显示进程信息
-t:tcp协议连接
-u:udp协议连接
netstat -anptu
ESTABLISHED : 正在访问
Listen : 正在监听
以上是关于linux 基本操作2的主要内容,如果未能解决你的问题,请参考以下文章
-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段