文章目录
Linux操作系统基础
(一)进程管理
1.概述
Linux上进程有5种状态:
- 运行:正在运行或在运行队列中等待(R)
- 中断:休眠中, 受阻, 在等待某个条件的形成或接受到信号(S)
- 不可中断:收到信号不唤醒和不可运行, 进程必须等待直到有中断发生(D)
- 僵死:进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放(Z)
- 停止:进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行(T)
2.进程常用命令
- 查看进程:
top
:实时显示进程信息
ps A
:列出所有的行程
ps w
:显示加宽可以显示较多的资讯
ps au
:显示较详细的资讯
ps aux
:显示所有包含其他使用者的行程
ps ax -o pid,%CPU
:查看指定显示内容的进程(只显示pid,cpu使用率)
au(x) 输出格式 :USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟内存大小(kb)
RSS: 占用的固定内存大小(kb)
TTY: 终端的次要装置号码
STAT: 该行程的状态
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
- 常用信号:
1 SIGHUP 该信号让进程立即关闭.然后重新读取配置文件之后重启;
9 SIGKILL 用来立即结束程序的运行。本信号不能被阻塞、处理和忽略,般用于强制中止进程;
15 SIGTERM 正常结束进程的信号,kill 命令的默认信号,如果进程已经发生了问题,那么这个信号是无法正常中止进程的,这时我们才会尝试 SIGKILL 信号,也就是信号 9。
如:kill -9 9527
:结束9527的进程;killall 进程名
,结束这个进程名的所有进程。 - jobs管理:
ctrl + z
:将但前的程序挂载
jobs
:查看已挂载的程序,不用携带任何参数
fg
: 将后台停止的进程调至前台继续运行
bg
: 将后台停止的进程在后台继续运行
(二)服务管理
systemctl命令
Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器,Systemd是一个系统管理守护进程、工具和库的集合,Systemd的功能是用于集中管理和配置Linux系统。
- systemctl 命令的两大类功能:控制 systemd 系统;管理系统上运行的服务。
- 基本命令:
systemctl --version
:检查你的系统中是否安装有systemd并确定当前安装的版本;
whereis systemd
、whereis systemctl
:检查systemd和systemctl的二进制文件和库文件的安装位置;
systemctl list-units
:列出所有运行中单元;
systemctl status
:检查某个单元或服务是否运行;(如检查 sshd服务)
可以看到服务所处的位置在/usr/lib/systemd/system
,进入该目录查看cd /usr/lib/systemd/system
,可以获得所有的系统服务,ll *.service
systemctl start sshd
:开启服务
systemctl stop sshd
:关闭服务
systemctl restart sshd
:重启服务
systemctl reload sshd
:重新加载服务配置
systemctl enable sshd
:设定服务开机启动
systemctl disable sshd
:设定服务开机不启动
systemctl is-enable sshd
:查看服务是否开启
systemctl set-default multi-user.target
:下次开机时默认会进入纯文本模式
systemctl set-default graphical.target
:下次开机默认进入图形模式
systemctl isolate multi-user.target
:不用重新启动,直接从图形界面切换到纯文本的模式
system graphical.target
:从纯文本切换到图形界面
systemctl poweroff
:系统关机
systemctl reboot
: 重新开机
systemctl mask sshd
:屏蔽服务
systemctl unmask sshd
:显示服务
(三)网络管理
ip addr
:查看网卡ifconfig
:网卡ip地址的结构
1. 指定IP地址配置网卡
进入进入网卡配置目录 cd /etc/sysconfig/network-scripts/
,然后进入网卡vim编辑器中:
TYPE=Ethernet 网络类型:以太网
BOOTPROTO=static / BOOTPROTO=dhcp 静态IP/动态IP
NAME= 网络名称
UUID= 自动生成的标志
DEVICE= 设备(eth0...)
ONBOOT=yes 开机自启
IPADDR= IP地址
PREFIX=24 或者 NETMASK=255.255.255.0 子网掩码
GATEWAY= 网关地址
DNS1=114.114.114.114 域名系统(服务)协议
2. 更改网卡名称为标准命令格式(eth0,1…):
- 进入网卡配置目录
cd /etc/sysconfig/network-scripts/
,然后进入编辑vim /boot/grub2/grub.cfg
,在下图位置添加net ifnames=0
,然后wq保存退出;重启系统!reboot
;
- 进入网卡配置修改设备:将DEVICE=ens33改为eth0,保存退出,重启网络管理器
systemctl restart NetworkManager
; - 改名:
mv ifcfg-ens33 ifcfg-eth0
- 两台虚拟机传递文件
scp 文件名 IP地址或者本机解析过的用户名:
//下篇再见…谢谢