文章目录
一、linux简介
实际的Linux系统是由内核, 软件, 工具三部分组成
参考链接
内核版本和发行版本
内核版本和发行版本简介
内核版本:
在了解内核版本之前,首先需要了解一下什么是内核。在正确实施的情况下,内核对于用户是不可见的,它在自己的小世界(称为内核空间)中工作,并从中分配内存和跟踪所有内容的存储位置。
&emsp可以这么理解:linux中的内核的功能和windows中总线的功能类似,负责软件和硬件之间的交互。内核的作用如下:
- 内存管理:追踪记录有多少内存存储了什么以及存储在哪里
- 进程管理:确定哪些进程可以使用中央处理器(CPU)、何时使用以及持续多长时间
- 设备驱动程序:充当硬件与进程之间的调解程序/解释程序
- 系统调用和安全防护:从流程接受服务请求
用户所看到的内容(例如 Web 浏览器和文件)则被称为用户空间。这些应用通过系统调用接口(SCI)与内核进行交互。
举例来说,内核就像是一个为高管(硬件)服务的忙碌的个人助理。助理的工作就是将员工和公众(用户)的消息和请求(进程)转交给高管,记住存放的内容和位置(内存),并确定在任何特定的时间谁可以拜访高管、会面时间有多长。
发行版本
不同发行版本的介绍
内核由早期的黑客工程师团队开发和测试实现, 后来许多崇尚开源的工程师加入开发了软件应用, Linux逐步完善, 功能也日益齐全和强大。 当普及程度越发广泛的时期, 许多商业公司在内核和软件的基础上加入自己的系统工具方便不懂计算机的用户也能使用linux系统, 然后打包成为一个完整的系统安装程序方便用户安装和使用。这样的打包好的linux就称为一个发行版本的linux, 相应的linux的内核版本就是指内核开发工程师开发和维护的内核部分的版本编号
发行版本有很多,最有名的如Red Hat, SUSE, Ubuntu, Fedora, Debian等, 但是其实不同发行版本的linux所有的内核和支持的软件集基本是相通的, 本质没有区别, 都是基于某一稳定版本的内核与开源社区使用较广泛的自由软件打包成的完整的Linux系统及软件和工具.
查看内核版本
linux中查看内核版本(两种方式)
cat /proc/version
uname -a
两种方式的结果如下:
该系统的内核版本号为:
4.18.0-305.17.1.el8_4.x86_64
主版本:4
次版本:18
发行版本:0
修改版本:05.17.1.el8_4.x86_64
查看系统版本
方式一:适用于查看所有版本
若没有安装,则先需要安装lsb_release
安装lsb_release 命令
lsb_release -a
方式二:适用于查看所有版本
cat /etc/issue
二、文件操作
1、建立文件和文件夹
mkdir test
:建立test文件夹
touch test.txt
:建立test.txt 文件
2、对文件进行查看或编辑
使用cat查看文件
cat只能查看文件,不能编辑文件。
使用vim 和 vi 两种工作模式对文件进行编辑
vi
和 vim
既可以查看文件,又可以编辑文件
vi 和 vim 的两种工作模式:
命令模式:打开一个文件后的默认模式。
编辑模式:打开的文件键盘输入"i" 进入插入编辑模式,进行增删改操作的一个模式。
两种模式的切换:
切换成编辑模式:键盘输入" i "进入编辑模式
切换成命令模式:键盘按 “ exc ” 进入命令模式
保存文件
保存文件在命令模式下进行。
(1)保存并退出文件::wq
(2)如果只想保存文件 ::w
(3)放弃所有文件修改::q!
三、systemctl
将服务设置为开机自启
设置下次开机时,后面接的 unit(linux中的最小系统资源) 会被启动
Unit介绍
systemctl enable your_service
启动服务,停止服务,查看服务状态
systemctl start your service
systemctl stop your_service
system status your_service
四、防火墙命令
启动/禁用防火墙/查看防火墙状态
systemcal start firewalld
systemctl stop firewalld
systemctl status firewalld
防火墙开机启动/禁止开机启动
systemctl enable firewalld
systemctl disable firewalld
重启防火墙
firewall-cmd -reload
五、查看软硬件信息,网络信息等
系统
uname -a # 查看内核/操作系统/CPU信息
head -n 1 /etc/issue # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备
lsmod # 列出加载的内核模块
env # 查看环境变量
资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh <目录名> # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载
磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息
jnettop
sudo apt install jnettop
jnettop
nethogs
这个在centos上也可以用。
sudo yum install epel-release
sudo yum install nethogs
sudo nethogs
进程
ps -ef # 查看所有进程
top # 实时显示进程状态
用户
w # 查看活动用户
id <用户名> # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务
服务
chkconfig --list # 列出所有系统服务
chkconfig --list | grep on # 列出所有启动的系统服务
程序
rpm -qa