概述:
linux是一款免费且开源的操作系统,允许用户自由使用、修改和分发源码,Linux发行版基于相同内核,但集成不同的软件包和管理工具,有上百种不同的发行版如Red Hat系列CentOS,能兼容企业级功能
Linux操作系统嵌入了TCP/IP协议栈,协议软件具有路由转发功能。路由转发依赖作为路由器的主机中安装多块网卡,当某一块网卡接收到数据包后,系统内核会根据数据包的目的IP地址,查询路由表,然后根据查询结果将数据包发送到另外一块网卡,最后通过此网卡把数据包发送出去。此主机的处理过程就是路由器完成的核心功能。且可以利用Unix的网络特性开发出新的协议栈。
进程:在linux系统中,每一段执行的程序都称为一个进程,被分配一个进程编号。每个进程都对应一个父进程,一个父进程可以复制多个子进程。一个进程可能以两种方式存在:前台和后台。前台是指用户在屏幕上可以进行操作的,后台是指屏幕上看不到的实际操作。一般系统的服务都是以后台进程的方式存在,并且常驻系统中,直到关机才结束。
linux进程管理:
首先测试网络连通性,使其能够访问Internet
打开浏览器,并通过top命令查看占用cpu高的进程
可以发现firefox的cpu占用极高
通过pkill firefox关掉火狐浏览器进程
可以发现页面被关闭并且没有查看到相关firefox进程
1.查看正在执行的所有进程
ps [-aux] [| more]
-a表示显示当前所有进程,-u表示以用户格式显示进程,一x表示显示进程运行的参
数。上述三个参数一般都是要使用的。如果想分页显示,后面加丨more。
2.根据命令查询特定的进程
ps -aux | grep instruction [l more]
其中,instruction为命令名称。例如,要查看正在执行的 sshd 进程,ps -aux | grep sshd。
字段 |
含义 |
示例值 |
说明 |
---|---|---|---|
|
进程所有者 |
|
进程以root权限运行(存在安全风险) |
|
进程ID |
|
操作进程需使用此ID(如 |
|
CPU/内存占用率 |
|
反映进程资源消耗 |
|
虚拟内存大小(KB) |
|
约3.3GB虚拟内存占用 |
|
进程启动时间 |
|
显示进程已持续运行约1分钟 |
|
进程启动命令及参数 |
|
包含执行路径及启动参数 |
3.查看进程及其父进程
ps -ef [| more]
该命令会以全格式显示当前所有进程,比上述命令多一行PPID,即父进程的id。
例如,要查询sshd进程的父进程,ps -ef | grep sshd。
4.终止进程
kill [-9] pid
其中,pid为要终止的进程编号;-9表示强制终止,用于某些核心进程(例如终端bash)。
[root@localhost~]# kill-9 8797(结束 firefox进程)
5.批量终止进程
killall pname
其中,pname为进程名称,支持通配符,这在系统因执行多个同类型进程变慢时很有用。
例如:Killall firefox
6.以树状结构显示当前进程
pstree [-pu]
其中,-p表示显示进程编号,一u表示显示进程所属的用户。如下图所示:
7.动态监控进程
top [-i] [-d n] [-p pid]
交互操作:P(按占用cpu比例排序)、M(按占用内存排序)、N(按进程编号排序)、u(只监控
某个用户)、k(结束进程)、q(退出)。
这个命令跟ps很相似,区别是可以定时(默认3秒)刷新,支持交互操作。其中,-i表示只
显示正在运行的进程;一d用于指定刷新时间间隔(n秒);一p用于指定进程编号,只监控编
号为pid 的进程。
通过ps -aux命令可以用列表的方式显示当前进程的详细信息
USER:进程所属的用户名;
PID:进程编号
%CPU:占用 CPU的比例
%MEM:占用内存的比例
VSZ:占用虚拟内存的大小
RSS:占用物理内存的大小
TTY:终端名称
STAT:进程状态,S为睡眠,R为正在执行,Z为僵死,D为短期等待,N表示优先级低于普
通进程
START:进程的启动时间
TIME:进程使用CPU的总时间
COMMAND:进程的命令名称和参数
linux基础管理:
ip地址配置
1.查看网卡名称
# nmcli connection
NAME 对应的是网卡的名称,DEVICE 对应的是网卡硬件标识,名称可修改。
2.配置 IP 地址
# nmcli connection modify "eno16777736" ipv4.addresses "172.20.10.3/24" //地址及掩码
# nmcli connection modify "eno16777736" ipv4.gateway "172.20.10.1" //网关
# nmcli connection modify "eno16777736" ipv4.dns "114.114.114.114" //域名服务器
# nmcli connection modify "eno16777736" ipv4.method manual //手动而不是 DHCP
# nmcli connection modify "eno16777736" connection.autoconnect yes //开机启动
# nmcli connection up "eno16777736" //开启接口
进入某个目录及建立目录
root 为用户名 localhost 为主机名 home 为当前目录名
cd 命令为进入某个目录 常见用法 cd /目录/子目录
cd .. 进入上一层目录 cd ./目录名 进入当前目录下的某个目录
cd ~ 进入用户家目录
mkdir 为建立一个新目录
ls 为查看当前目录下的文件和目录,ls –l 为查看详细信息
user1 的属性最前面有个 d,说明 user1 是个目录而不是文件 pwd 为查看当前目录的绝对路径
pwd 为查看当前目录的绝对路径
vi编辑器基本使用
vi 是 Linux 的文件编辑器,vim 是 vi 的升级版,可以通过颜色来区分不同的参数,也可以提示语 法是否输入正确。
cd /home/user1/ 进入该目录
touch file1 建立文件1
vim file1 进入编辑文件1
i 进入编辑模式,可以修改内容
esc 再 :wq 回车,保存退出
esc 再 :q 回车,不保存退出(文件内容无改动)
esc 再 :q! 回车,强制退出(文件内容有改动)
文件移动和改名:
Linux 中文件移动和改名是同一个命令,mv
文件复制和删除:
文件复制的命令是 cp,文件删除的命令是 rm ,文件删除时经常会加参数 -rf
r:递归删除,后面可跟文件也可跟目录,如果跟的是目录,则删除对应目录及目录下的所有文件 f:强制删除,删除文件时不会提问 yes/no,直接删除
[root@localhost home]# mkdir copy # 在/home目录下创建copy目录
[root@localhost home]# cd /home/user1/ # 切换到/home/user1目录
[root@localhost user1]# ls # 列出目录内容,显示test文件
[root@localhost user1]# cp test /home/copy/ # 将test复制到/home/copy/目录
[root@localhost user1]# cd /home/copy/ # 切换到/home/copy目录
[root@localhost copy]# ls # 显示复制过来的test
[root@localhost copy]# cd /home/user1/ # 切换到/home/user1目录
[root@localhost user1]# rm -rf test # 删除test
[root@localhost user1]# ls
[root@localhost user1]# cd .. # 返回上级目录(即/home)
[root@localhost home]# rm -rf user1 # 删除user1目录(及其下所有内容)
[root@localhost home]# ls # 显示/home目录下剩余
文件打包和压缩:
tar 工具可以把多个文件或目录打成一个包,但不具备压缩功能
gzip 和 bzip2 具备对文件的压缩功能,但不支持对目录操作。
所以常用操作是先用 tar 对目录进行打包,再用 gzip 或 bzip2 对打包的文件进行压缩,两个动作可同时进行
tar 为打包命令,-zcvf 四个参数的含义为
z:用 gzip 工具对打包后的文件进行压缩
c:创建压缩文件
v:显示压缩的文件
f:后跟打包的文件名
最后的 copy/为进行打包的目录
关机及重启:
关机命令:shutdown 或 halt 或 init 0
重启命令:reboot 或 shutdown -r 或 init 6