扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.uname查看linux内核版本 最常用 的命令,适用于CentOS,Fedora,Debian,Ubuntu等各种linux发行版本。
创新互联是一家专注于成都网站建设、成都网站制作与策划设计,黄山区网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:黄山区等地区。黄山区做网站价格咨询:18982081108
这里我用的服务器是CentOS7版本
uname -a
列出系统所有信息
解释如下
也可以只查询某一项信息
a.显示主机类型:
uname -m
b.显示主机名
uname -n
c.显示操作系统发行编号:
uname -r
d.显示操作系统名称:
uname -s
e.显示系统版本与时间:
uname -v
2.使用linux配置文件查看
a.查看内核版本
cat /proc/version
相比较uname而言可以看到开发者组织和gcc版本号
b.查看发行版本
cat /etc/redhat-release
3.Linux dmesg命令用于显示开机信息
kernel会将开机信息存储在ring buffer中。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
查看linux内核版本
dmesg | grep Linux
查看CPU信息可以使用lscpu命令
从命令的输出结果可以看得出来CPU的型号是 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz,CPU(s)是4表示同时可以执行四个任务。
如果想要同时执行更多的任务,可以在VMware WorkStation中修改,修改完成以后会立即生效。
除了lscpu以外,还可以使用cat /proc/cpuinfo命令查看CPU信息,不过它是以每核分开显示的。
使用free或者是cat /proc/meminfo可以查看当前系统的内存信息,包括总内存、已经使用内存以及可用内存信息
Linux和Windows不同的是Linux的图形界面只是它的一个程序,而不是必备组件。我们之前安装CentOS8.4选择的Server With GUI包含GNOME桌面的图形环境,我们可以使用init 3命令关闭图形,CentOS8会出现一个字符登录界面。
然后再使用free -h观察已经使用的内存只有334M,相比图形界面的730M 减少了接近400M内存,为了节省内存,生产环境一般不会安装和使用图形界面。
想要再切回图形界面使用init 5命令即可。
还可以使用runlevel命令查看当前系统运行的模式,其中输出结果的3表示之前是字符界面,5表示当前系统运行的是图形界面
使用lsblk命令可以查看磁盘信息,包括有几块磁盘以及每块磁盘的分区、容量信息
通过命令的执行结果可以得知目前CentOS8系统上有三块磁盘,分别是sda,sdb,sdc,其中sdb和sdc没有分区,
而sda磁盘是在安装系统时创建了四个分区,具体信息如下表格所示
除此以外还可以使用 cat /proc/partitions命令查看磁盘信息,从命令的执行结果可以看出容量还是以KB为单位。
通过arch命令可以查看当前系统架构为x86_64,这也是目前主流的系统架构。
不同的Linux发行版使用的Linux内核版本不同,通过uname -r可以查看Linux系统的内核版本
通过 cat /etc/os-release 命令或者是lsb_release -a命令可以查看操作系统的版本,后期在开发程序时不同的操作系统版本需要做不同的处理。
查看Ubuntu Server的版本
查看CentOS8的版本
CentOS还可以使用 cat /etc/redhat-release版本
Linux中的时间有系统时间和硬件时间两种
date和clock可以使用分号隔开后同时执行看系统时间和硬件时间
目前我的系统时间和硬件时间相差了18秒
如果硬件时间是准确的,那么就通过命令clock -s以硬件时间为准,同步校正系统时间。
如果系统时间是准确的,那么通过clock -w命令以系统时间为准,同步校正硬件时间
不同的国家在同一时刻所处的时间是不同的,因为时区不同。
例如中国就是东八区,东八区和格林威治的时区相比相差8个小时(也就是比北京时间慢了8个小时),之前在安装操作系统的时候设置的时区就是Asia/Shanghai,,通过timedatectl status查看当前时间状态,其中 Universal time就是格林威治时间,而Local Time就是系统设置时区(Asia/Shanghai)的时间,它们两者刚好相差了8个小时。 Time zone: Asia/Shanghai (CST, +0800) 表示当前的时区是亚洲上海。
如果现在你去了法国巴黎,可以通过timectl set-timezone 设置时区为欧洲巴黎,当修改时区后使用date命令查看系统时间显示的就是当前法国的巴黎时间,相比北京时间慢了6个小时。
修改时区最终影响的是 /etc/localtime文件
不过目前我在中国,因此还是改回亚洲上海
timedatectl list-timezones可以查看所有时区
cal命令可以查看当前月份的日历,例如今天是2021年10月5号
查看指定月份的日历
还可以查看指定年份的日历
生产环境不能随便关机和重启!!! 因为服务器基本都是 7*24 对外提供服务
测试环境或者是本地虚拟机安装的Linux服务器可以按需求关机或者重启
关机可以使用halt或者poweroff命令
而shutdown可以实现关机或者重启,shutdown -r表示重启,即reboot,shutdown -h表示关机,即halt。 -c表示取消关机或重启。
除此以外shutdown 还可以指定时间来关机或重启,默认是1分钟后执行。
关机和重启命令的常见用法
Linux下有nano和vim等文本编辑器,目前我们先使用nano来编辑文本。
如果系统上没有安装nano文本编辑器,那么在使用之前首先需要使用yum install -y nano命令来安装nano文本编辑器
在使用nano进行文本编辑时,nano后面跟文件路径即可打开文件,然后可以直接修改文件,类似于windows的记事本,修改完成后然后按Ctrl+x退出,接着按y保存修改,回车后退出nano。
然后使用nano /etc/motd来修改该文件,motd文件是用户登录之后提示的内容
然后输入Welcome to my class
之后按Ctrl+x退出nano编辑器,按y保存到文件汇中,然后按回车键确认修改。
再重新登录CentOS8.4
登录成功之后就会看到/etc/motd文件内容显示在终端上
我这里准备了一个motd文件,首先使用MobaXterm终端上传到/etc目录下覆盖现有的motd文件,在使用MobaXterm终端登录CentOS8.4-1后,首先将SSH Broswer的路径切换到/etc目录下
然后点击上传文件的按钮
选择提前准备好的motd文件上传到/etc目录下
然后再次重新登录系统就会看到一个大佛
大家可以自行访问 在线生成ASCII(图)艺术字,然后将内容复制到motd文件即可。
当我们登录Linux打开一个终端窗口,然后输入命令,用户与计算机的这种临时交互被称为一次会话(Session)、会话的一个重要的特点就是窗口与其中启动的进程是连接在一起的,打开窗口则会话开始,关闭窗口则会话结束,而且会话内部的进程也会随之而终止,不管有没有运行完成。
这里举一个例子,我们首先使用XShell远程登录CentOS8.4-1,然后使用ping 10.0.0.103命令检测是否能够连接10.0.0.103,也就是Ubuntu Server 20.04.3-1那台机器
命令执行的结果显示能够连接,而且只要你不关闭窗口会一直显示收到数据以及耗时。
然后我们复制一个会话
然后使用ps aux|grep ping 查看ping的进程信息,因为没有关闭会话窗口所以进程还在
当我们关闭之前开启的会话窗口之后
再次使用ps aux|grep ping查看进程会发现ping进程不存在了
为了解决上述的问题,我们就可以将会话与窗口解绑,也就是窗口关闭时会话并不会终止,而是继续运行,等到以后需要的时候,再让会话绑定其他窗口。
而终端复用器程序(例如screen,tmux)就是将会话与窗口的解绑工具,将它们彻底分离。
首次运行screen时会发现Shell提示command not found
我们需要使用yum install -y screen 来安装screen,但是执行之后发现提示错误:: Unable to find a match: screen
Centos8安装screen需要使用epel来安装,安装epel后,再安装screen,解决centos8无法安装screen的问题
然后再执行yum install -y screen 便可安装成功
Screen安装成功
在安装完screen后就可以使用了,首先在终端输入screen,然后你就会看到屏幕好像是刷新了一下,本质就是一个会话
然后再次运行ping 10.0.0.103
由于开启了screen,即使关闭了所有的会话窗口,你会发现使用ps aux |grep ping 命令查看ping命令的进程也还在。
如果后期在做运维工作,有些命令很耗时又怕误操作关闭会话导致命令的进程关闭就可以使用screen。
screen除了创建会话,能让命令关闭窗口后继续在后台执行的功能以外,还能够实现远程桌面共享,从而实现远程协助的功能。
实现该功能必须满足两个条件,两个用户必须使用同一个账号登录同一台机器。
例如这里小红和小明同时使用root账号登录了CentOS8.4,其中左边的窗口是小红,右边的窗口是小明
然后小红使用screen -S help开启一个远程会话,会话的名称叫help
然后小明使用screen -x help加入小红开启的会话
此时小明可以看到小红窗口的内容
当小明解决小红的问题后,可以使用ctrl a,d退出当前会话
如果小明不知道小红的会话名称,可以使用screen -ls获取当前会话
echo就是用于输出信息
echo输出固定字符串
echo输出变量值
echo输出转义字符
echo 默认可以实现换行
echo输出信息还可以带颜色
echo还可以清除屏幕,等价于clear命令或者是快捷键Ctrl+l
一、查看Linux内核版本命令(两种方法):
1、cat /proc/version
[root@localhost ~]# cat /proc/version
Linux version 2.6.18-194.8.1.el5.centos.plus (mockbuild@builder17.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Wed Jul 7 11:50:45 EDT 2010
2、uname -a
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.8.1.el5.centos.plus #1 SMP Wed Jul 7 11:50:45 EDT 2010 i686 i686 i386 GNU/Linux
二、查看Linux系统版本的命令(3种方法):
1、lsb_release -a,即可列出所有版本信息:
[root@localhost ~]# lsb_release -a
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description: CentOS release 5.5 (Final)
Release: 5.5
Codename: Final
这个命令适用于所有的Linux发行版,包括Redhat、SuSE、Debian…等发行版。
modprobe命令\x0d\x0aLinux命令:modprobe 。\x0d\x0a功能说明:自动处理可载入模块。\x0d\x0a语法:modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]。\x0d\x0a补充说明:modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。\x0d\x0a\x0d\x0a内容\x0d\x0a1、modprobe 命令是根据depmod -a的输出/lib/modules/version/modules.dep来加载全部的所需要模块。\x0d\x0a2、删除模块的命令是:modprobe -r filename。\x0d\x0a3、系统启动后,正常工作的模块都在/proc/modules文件中列出。使用lsmod命令也可显示相同内容。\x0d\x0a4、在内核中有一个“Automatic kernel module loading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/modules.conf或 /etc/modprobe.conf文件是一个自动处理内核模块的控制文件。\x0d\x0amodprobe命令主要用于在Linux 2.6内核中加载和删除Linux内核模块。通过此命令用户可以轻松地加载和删除Linux内核模块,同时使用此命令加载Linux内核模块时,Linux内核会自动解决内核模块之间的依赖关系,将相互依赖的模块自动加载,如下所示:\x0d\x0a1) 加载RAID1阵列级别模块:\x0d\x0a[root@rhel5 boot]# modprobe raid1 \x0d\x0a\x0d\x0a2) 显示已加载的RAID1阵列级别模块:\x0d\x0a[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0 \x0d\x0a\x0d\x0a3) 删除RAID1阵列级别模块:\x0d\x0a[root@rhel5 boot]# modprobe -r raid1 \x0d\x0a\x0d\x0a4) 显示RAID1阵列级别模块:\x0d\x0a[root@rhel5 boot]# lsmod |grep raid1 \x0d\x0a\x0d\x0amodprobe命令在加载模块时会自动解决依赖的模块。当加载的模块需依赖另一个模块时,系统会自动将此模块加载。而当用户使用insmod命令加载模块时,则不会自动解决相对应的依赖模块。\x0d\x0amodprobe命令中的"-r"参数表示删除指定模块,"-c"参数表示显示/etc/modprobe.conf配置文件的参数,"-C"参数表示指定内核配置文件,"-f"表示覆盖,"-l"表示显示模块的绝对路径。\x0d\x0a[root@rhel5 boot]# modprobe -l|grep raid /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid10.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko \x0d\x0a\x0d\x0a以上命令表示显示系统中所有的编译模块,并过滤包含有raid字符串的模块。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Copyright © 2002-2023 www.kswjz.com 快上网建站品牌 QQ:244261566 版权所有 备案号:蜀ICP备19037934号
微信二维码
移动版官网