导图社区 linux
CentOS配置与应用,涵盖了常用命令、查看版本信息、配置网络、编辑工具、安装服务、linux发行版本、Iinux网络工具等多个方面。
编辑于2024-10-28 21:47:40linux
常用命令
查看ip
查看当前网络接口的信息
ifconfig
使用ifconfig命令(需要root权限):
ip address
ip addr show
nmcli con show
nmcli connection show
如果你的Linux系统安装了NetworkManager
使用NetworkManager图形界面工具
打开"Settings"应用程序并选择"Network"。
点击右上角的齿轮图标,然后选择"Wired Settings"或"Wi-Fi Settings",根据连接类型进入相关配置页面。
查找一个文件所在的完整路径
find
find / -name filename
/ 表示从根目录开始搜索,filename 是你要查找的文件名
find /home/username -name filename
find命令结合xargs和grep
find / -type f -exec grep -l "some text" {} +
这个命令会搜索整个文件系统中所有文件的内容,而不是查找特定文件的路径。
locate
比find命令快得多
首先,你可能需要安装或更新mlocate或locate包(这取决于你的发行版)。然后,你可以使用
locate filename
which或type命令(针对可执行文件)
which commandname
commandname 是你想查找的可执行文件的名称
type commandname
判断一个命令是否是内置的还是外部的,如果是外部的,它也会显示该命令的路径(但不一定完整,如果它在PATH中)
whereis
可以用来查找二进制文件、源代码和手册页的位置
whereis filename
whereis并不总是返回文件的完整路径,特别是如果它不是通过标准的安装过程安装的。
查看版本信息
ls /etc/*release* 和 ls /usr/lib/*release*:
这些命令用于列出与系统版本相关的文件,如 /etc/redhat-release 或 /usr/lib/os-release 等。通过查看这些文件的内容,可以获取更多的版本信息。
lsb_release -a
此命令用于查看Linux发行版的详细版本信息,包括发行版名称、发行版号、描述等。但需要注意的是,如果系统中没有安装lsb(Linux Standard Base)相关的包,可能会提示命令未找到,此时需要先安装lsb相关的包。
cat
cat /proc/version
此命令用于显示当前Linux内核的版本信息,包括内核版本号、编译时间等。
cat /etc/centos-release
在CentOS系统中,/etc/centos-release文件包含了系统版本的信息。通过cat命令可以直接查看该文件的内容,从而得知CentOS的具体版本。
执行该命令后,屏幕上将显示CentOS的版本信息,如CentOS Linux release 7.9.2009 (Core)。
cat /etc/os-release:
这个命令用于查看当前系统的发行版信息,包括发行版名称、版本、ID等。这是一个较为通用的命令,适用于多种Linux发行版。
cat /etc/issue 或 cat /etc/redhat-release:
这两个命令用于查看操作系统版本信息。/etc/issue 文件包含了系统的发行版名称、版本号等信息,但它的内容可能会因为系统的不同而有所差异。/etc/redhat-release 文件则主要针对Red Hat系列的发行版(如Red Hat Enterprise Linux、CentOS等),提供了更具体的版本信息。
cat /proc/cpuinfo:
虽然这个命令主要用于查看CPU的相关信息,包括型号、主频、内核信息等,但它也能提供一些关于系统架构的线索,从而间接了解系统版本的一些特性。
cat /etc/redhat-release
由于CentOS是基于Red Hat Enterprise Linux(RHEL)的开源版本,因此/etc/redhat-release文件也包含了系统版本的信息。虽然文件名中包含“redhat”,但同样适用于CentOS。
执行该命令后,屏幕上将显示类似于CentOS Linux release 7.9.2009 (Core)的版本信息。
lsb_release
lsb_release -a
lsb_release命令用于显示Linux标准基础(LSB)的相关信息,包括发行版名称、版本号等。虽然这不是CentOS特有的命令,但它可以在支持LSB的系统中提供版本信息。
执行该命令后,将显示包括发行版名称、版本号、描述和发布者等信息的列表。对于CentOS,它将显示类似于Distributor ID: CentOS和Release: 7.9.2009的条目。
uname
uname -a
用于显示系统信息,包括内核名称、主机名、内核发行版、内核版本等。
虽然它主要显示内核信息,但也可以作为了解系统版本的一种方式。
但请注意,这并不是直接查看CentOS版本的最佳方法,因为它主要关注的是内核信息。
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
内核名称:
表示当前系统的内核名称
Linux
节点名称:
显示当前系统的主机名,即在网络中用来标识该计算机的名称
如果输出中包含“hostname”,那么“hostname”就是当前系统的主机名。
localhost.localdomain
(主机名)
内核释放号:
显示内核的版本号,包括主版本号、次版本号、修订号等
3.10.0-1160.el7.x86_64
3.10.0
主版本号、次版本号和修订号
内核版本:
提供关于内核编译的更多详细信息,如编译日期、SMP(对称多处理)支持等
#1 SMP Mon Oct 19 16:18:59 UTC 2020
#1:这通常表示这是该内核源代码的第一次(或第一个修订版本的)编译。在某些情况下,如果内核被多次重新编译,这个数字可能会增加。
SMP:代表对称多处理(Symmetric Multi-Processing),表明这个内核支持在多处理器系统上运行,即能够同时利用多个CPU核心。
Mon Oct 19 16:18:59 UTC 2020:这是内核编译的日期和时间,以星期、月、日、小时、分钟、秒和UTC(协调世界时)格式表示。这告诉你这个内核是在2020年10月19日星期一,UTC时间下午4点18分59秒编译的。
机器:
显示系统的硬件架构,如“x86_64”表示64位的Intel或AMD处理器
x86_64
(硬件名称)
处理器类型:
有时与“机器”字段相同,表示处理器的具体类型。
x86_64
硬件平台:
提供关于系统硬件平台的更详细信息,可能与“机器”字段相似或包含额外信息
x86_64
操作系统:
GNU/Linux
表示该系统是基于GNU项目和Linux内核的
rpm
rpm -q centos-release
由于CentOS使用RPM包管理器,因此可以通过rpm命令查询centos-release包来获取版本信息。
执行该命令后,将显示centos-release包的版本信息,从而得知CentOS的版本。
getconf LONG_BIT
此命令用于查看系统是多少位的(32位或64位),这虽然不是直接查看系统版本的方法,但对于了解系统的基本架构和兼容性很有帮助。
配置网络
1. 使用nmcli
如果你的Linux系统安装了NetworkManager(大多数桌面环境默认安装),你可以使用nmcli工具来配置网络。nmcli允许你管理网络设备的设置,包括无线和有线连接。
配置静态IP地址(以eth0为例):
sudo nmcli con mod eth0 ipv4.addresses 192.168.1.100/24
sudo nmcli con mod eth0 ipv4.gateway 192.168.1.1
sudo nmcli con mod eth0 ipv4.dns "8.8.8.8 8.8.4.4"
sudo nmcli con mod eth0 ipv4.method manual
sudo nmcli con up eth0
2. 使用ifconfig和route 已过时,但在某些旧系统中仍可用
注意:ifconfig和route命令在一些最新的Linux发行版中可能不被默认安装,且被认为是过时的工具。不过,了解它们仍然有助于维护旧系统或了解历史背景。
设置静态IP地址:
sudo ifconfig <interface_name> <new_ip>
interface_name为网络接口名称,如eth0、wlan0等;
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
或者(使用更现代的ip命令):
sudo ip addr add <new_ip>/<netmask> dev <interface_name>
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip link set eth0 up
配置默认网关(使用route命令):
sudo route add default gw 192.168.1.1
或者(使用ip命令):
sudo ip route add default via 192.168.1.1
3. 编辑网络配置文件
大多数Linux发行版都允许你通过编辑位于/etc/network/interfaces(Debian/Ubuntu等),/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS/RHEL等)或其他位置的网络配置文件来静态配置网络。这种方法通常适用于没有安装NetworkManager的系统,或者当你需要更精细的控制时。
示例:CentOS 7.9
使用ifconfig查看当前正在使用的网卡
eno1: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 3c:ec:ef:86:28:64 txqueuelen 1000 (Ethernet) RX packets 4587 bytes 310328 (303.0 KiB) RX errors 0 dropped 48 overruns 0 frame 0 TX packets 142 bytes 8288 (8.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device memory 0xfb200000-fb27ffff eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.16.24.5 netmask 255.255.255.0 broadcast 172.16.24.255 inet6 fe80::6d46:f721:53a9:6472 prefixlen 64 scopeid 0x20<link> ether 3c:ec:ef:86:28:65 txqueuelen 1000 (Ethernet) RX packets 1257010 bytes 82484408 (78.6 MiB) RX errors 0 dropped 13548 overruns 0 frame 0 TX packets 2300 bytes 171742 (167.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device memory 0xfb100000-fb17ffff lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 818 bytes 81106 (79.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 818 bytes 81106 (79.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:68:50:ed txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
或使用ip address 查看当前在用的网卡
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 3c:ec:ef:86:28:64 brd ff:ff:ff:ff:ff:ff 3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 3c:ec:ef:86:28:65 brd ff:ff:ff:ff:ff:ff inet 172.16.24.5/24 brd 172.16.24.255 scope global noprefixroute eno2 valid_lft forever preferred_lft forever inet6 fe80::6d46:f721:53a9:6472/64 scope link noprefixroute valid_lft forever preferred_lft forever 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:68:50:ed brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:68:50:ed brd ff:ff:ff:ff:ff:ff
找到网卡的配置文件
cd /
cd /etc/sysconfig/network-scripts
ls
查看当前目录中的文件发现有“ifcfg-eno2”这就是我们要的配置文件了
vim ifcfg-eno2
编辑这个文件,加入以下内容
NAME=eno2 UUID=86da1461-149d-4f2a-88d2-26a882582b32 DEVICE=eno2 ONBOOT=yes BOOTPROTO=static IPADDR=172.16.24.5 NETMASK=255.255.255.0 GATEWAY=172.16.24.1 DNS1=211.138.91.1
存盘退出
配置DNS
cd /etc
回到etc目录
找到“resolv.conf”编辑它
vim resolv.conf
nameserver 211.138.91.1 nameserver 202.99.224.8
保存退出
重启网络
sudo systemctl restart network
测试
ping www.bidu.com
检查DNS
dig mirrorlist.centos.org
nslookup mirrorlist.centos.org
4. 使用systemd-networkd
systemd-networkd是systemd的一个组件,用于网络配置和管理。它提供了基于.network文件的网络配置,类似于NetworkManager但更轻量级,适合不需要复杂网络管理功能的服务器环境
编辑工具
1. Vim Vi IMproved
特点
Vim是一款功能强大的文本编辑器,支持多种操作模式和插件,可以高效地编辑文本文件。Vim以其模式化设计和丰富的插件系统而著称,界面简洁,主要由命令行和编辑区域组成。
适用场景
适合熟悉命令行的用户,特别是在服务器环境或需要高效文本编辑的场合下。
常用命令
打开文件
在命令行中输入vim filename来打开或新建文件。
保存文件
:w保存当前文件,
:w filename另存为文件filename。
退出
:q不保存退出,
:wq或:x保存并退出,
:q!不保存强制性退出。
文本 编辑
删除:
x:删除光标所在字符。
dd:删除光标所在行。
d0:删至行首。
d$:删至行尾。
dG:删除从光标到文尾。
dgg:删除从光标到文首
(注:dgg并非Vim标准命令,可能是对:d 1G或类似命令的误解,正确的应该是:d 1G删除从光标到文件开头的内容)。
复制与 粘贴:
nyy:复制光标所在的向下n行。
yw:将光标所在单词拷入剪贴板。
y$:将光标至行尾的字符拷入剪贴板。
p:将剪贴板中的内容粘贴在光标后(小写p)。
P:将剪贴板中的内容粘贴在光标前(大写P)。
插入 文本:
i:在光标前插入文本。
I:在当前行第一个非空字符前插入文本。
a:在光标后插入文本。
A:在当前行最后插入文本。
o:在当前行之下新开一行插入文本。
O:在当前行之上新开一行插入文本。
基本 移动
h:左移一个字符。
l或空格:右移一个字符。
j:下移一行。
k:上移一行。
单词移动:
w:前移一个单词,光标停在下一个单词开头。
W:前移一个单词,但忽略一些标点。
e:前移一个单词,光标停在下一个单词末尾。
E:前移一个单词,如果词尾有标点,则移动到标点。
b:后移一个单词,光标停在上一个单词开头。
B:后移一个单词,忽略一些标点。
行内移动:
0(注意是数字零):光标移至当前行首。
^:移动光标到行首第一个非空字符上去。
$:光标移至当前行尾。
屏幕 滚动
gg:到文件头部。
G:到文件尾部。
Ctrl+f:向文件尾翻一屏。
Ctrl+b:向文件首翻一屏。
Ctrl+u:向文件首翻半屏。
Ctrl+d:向文件尾翻半屏。
搜索 替换
搜索:
/后接搜索内容,按n向前继续搜索,N向后继续搜索。
?后接搜索内容,从光标开始处向文件首搜索,同样使用n和N进行前后搜索。
替换:
:s/old/new/g:将当前行中所有"old"替换为"new",g表示全局替换。
:n1,n2s/old/new/g:将第n1行至第n2行中所有"old"替换为"new"。
:%s/old/new/g:在整个文件中进行替换。
其他
显示行号::set nu显示行号,:set nonu不显示行号。
显示/隐藏标尺::set ruler显示标尺,:set noruler隐藏标尺。
2. Emacs
特点:Emacs是一个高度可扩展和可定制的文本编辑器,提供了对Lisp编程语言核心的解释,并支持多种扩展来支持文本编辑功能。Emacs的界面包含多个窗口,每个窗口可以显示不同的文件或编辑器功能,用户可以通过键盘快捷键或菜单进行操作。
适用场景:适合程序员和技术人员使用,特别是那些需要高度自定义和扩展性的用户。
3. Nano
特点:Nano是一个轻量级且易于使用的文本编辑器,适合初学者或进行基本编辑的用户。Nano的界面非常直观,顶部有功能提示行,显示可用的快捷键,编辑区域占据屏幕的大部分空间。
适用场景:适合需要快速进行基本文本编辑的用户,如修改配置文件等。
4. Gedit
特点:Gedit是GNOME桌面环境下的默认文本编辑器,以其简单性、高扩展性和强大的功能而闻名。Gedit支持UTF-8,具有撤销和重做功能,以及远程编辑文件等。Gedit的界面简洁,具有菜单栏、工具栏和编辑区域,支持标签页浏览。
适用场景:适合GNOME桌面环境下的用户,特别是那些需要图形界面文本编辑器的用户。
5. Geany
特点:Geany是一个轻量级的集成开发环境(IDE),也可用作简单的文本编辑器。它提供了语法高亮、代码折叠等功能,并支持插件系统。Geany的界面设计为一个集成开发环境,包括编辑区域、项目浏览器、符号列表和输出窗口。
适用场景:适合需要编写代码的用户,特别是那些需要集成开发环境支持的编程语言。
6. Sublime Text
特点:Sublime Text是一个跨平台的文本编辑器,以其速度快、外观简洁、插件丰富而受欢迎。它支持多光标编辑和多窗口编辑,具有丰富的主题和插件,用户可以根据个人喜好定制编辑器。
适用场景:适合程序员和需要高效文本编辑的用户,特别是那些需要跨平台支持和丰富插件的用户。
7. Atom
特点:Atom是一个开源的文本编辑器,由GitHub开发,支持插件扩展和自定义配置。Atom的界面现代化,功能丰富,适合用于编程和文本编辑。
适用场景:适合需要高度自定义和扩展性的用户,特别是那些喜欢GitHub生态系统的用户。
8. Visual Studio Code (VSCode)
特点:VSCode是Microsoft开发的免费开源代码编辑器,提供高度可定制和强大的编码环境,支持多种编程语言和丰富的插件生态系统。VSCode的界面布局清晰,包括侧边栏、编辑区、底部面板等活动区域。
适用场景:适合程序员和开发人员使用,特别是那些需要跨平台支持、高度可定制和丰富插件生态系统的用户。
在选择Linux文件编辑工具时,用户可以根据自己的需求和习惯来选择适合自己的编辑器。对于初学者和简单任务,Nano和Gedit可能更容易上手;对于需要更强大和可配置的编辑器的用户,Vim、Emacs、Sublime Text、Atom或VSCode可能更适合。
安装服务
在线安装nmap
基于RPM系的Linux发行版(如CentOS)
可以通过yum(在较新的版本中可能是dnf)包管理器来安装Nmap
方法
打开终端:
首先,需要打开系统的终端。
更新软件包列表:
在终端中,输入以下命令来更新软件包列表:
sudo yum update
已加载插件:fastestmirror, langpacks Determining fastest mirrors Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误" One of the configured repositories failed (未知), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Run the command with the repository temporarily disabled yum --disablerepo=<repoid> ... 4. Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable <repoid> or subscription-manager repos --disable=<repoid> 5. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true Cannot find a valid baseurl for repo: base/7/x86_64
或者,如果你的系统使用的是dnf,可以输入:
sudo dnf update
已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was 14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误" One of the configured repositories failed (未知), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Run the command with the repository temporarily disabled yum --disablerepo=<repoid> ... 4. Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable <repoid> or subscription-manager repos --disable=<repoid> 5. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true Cannot find a valid baseurl for repo: base/7/x86_64
安装Nmap:
然后,输入以下命令来安装Nmap:
sudo yum install nmap
或者,如果你的系统使用的是dnf,可以输入:
sudo dnf install nmap
验证安装:
安装完成后,同样可以通过输入nmap -V命令来验证Nmap是否成功安装。
离线安装nmap
1. 下载Nmap RPM包
nmap.org
2. 传输RPM包到目标机器
3. 定位RPM包并安装
使用yum安装(如果yum可用)
sudo yum --nogpgcheck install /mydir/ncat-7.95-3.x86_64.rpm
linux发行版本
Debian系
特点
Debian是Linux社区中非常古老且重要的一个发行版,它以其稳定性、安全性和对自由软件的承诺而闻名。Debian系发行版通常使用.deb软件包格式,并通过dpkg及其前端(如APT)作为软件包管理器。
知名系
Ubuntu
概述:
Ubuntu是由Canonical公司开发的开源操作系统,它基于Debian,但提供了更加用户友好的界面和更多的预安装软件。
特点:
Ubuntu以其易用性、稳定性和广泛的社区支持而广受欢迎。它提供了多种桌面环境选项(如GNOME、KDE Plasma等),并引入了Snap包管理系统,使得软件的安装和更新更加简便。
应用场景:
Ubuntu适合从初学者到高级用户在内的各种用户群体,广泛应用于桌面、服务器、云计算等多个领域。
Linux Mint
概述:
Linux Mint是基于Debian和Ubuntu的开源操作系统,它致力于提供一个简单易用、美观稳定的桌面环境。
特点:
Linux Mint默认采用Cinnamon桌面环境,提供了直观的用户界面和许多定制选项。它专注于用户友好性,安装过程简单明了,并配备了常见应用程序和驱动。
应用场景:
Linux Mint特别适合那些寻求稳定、易用且美观的桌面操作系统的用户。
Debian GNU/Linux
概述:Debian GNU/Linux是由社区维护的开源操作系统,它拥有庞大的软件包仓库和强大的社区支持。
特点:Debian强调自由软件和社区的参与,提供了多种安装介质和架构支持。它的软件包管理系统(APT)非常强大,能够自动处理软件包之间的依赖关系。
应用场景:Debian适用于需要高度稳定性和可靠性的服务器、桌面和嵌入式系统等多个领域。
RPM系
特点
RPM系发行版通常使用.rpm软件包格式,并通过RPM或YUM(及其后继者如DNF)作为软件包管理器。
知名系
Red Hat Enterprise Linux (RHEL)
概述:
RHEL是Red Hat公司提供的商业级Linux发行版,它以其稳定性和安全性而著称。
特点:
RHEL提供了长期支持版本,确保系统的稳定性和安全性。它拥有强大的企业级特性和工具集,非常适合作为服务器和企业级应用的基础平台。
应用场景:
RHEL广泛应用于企业级服务器、云计算、大数据等多个领域。
Fedora
概述:
Fedora是由Red Hat公司赞助的开源操作系统,它旨在成为创新、自由和开放的社区驱动型项目。
特点:
Fedora注重技术创新和前沿特性的引入,经常作为新技术的试验田。它提供了快速迭代和丰富的软件包资源,非常适合开发者和测试人员使用。
应用场景:
Fedora适合那些希望尝试新技术、参与社区开发或进行技术研究的用户。
CentOS
概述:
CentOS是基于RHEL源代码重新编译的开源操作系统,它提供了与RHEL兼容的二进制包和软件环境。
(注意:CentOS已转型为Stream版本,以下信息基于转型前的CentOS)
特点:
CentOS以其稳定性和兼容性而著称,是RHEL的免费替代品。它拥有广泛的社区支持和丰富的软件包资源,非常适合作为服务器和云计算的基础平台。
应用场景(转型前):
CentOS广泛应用于企业级服务器、云计算、虚拟化等多个领域。然而,随着CentOS的转型,其应用场景可能会有所变化。
linux网络工具
路由追踪
traceroute
traceroute是一个常用的网络诊断工具,用于追踪数据包从源主机到目标主机所经过的路由路径。它通过发送带有递增TTL(Time To Live)值的数据包来探测网络路径。 安装traceroute(如果未预装): 在CentOS上,traceroute通常包含在net-tools包中,可以使用以下命令安装: sudo yum install net-tools 基本用法: traceroute [选项] 目标主机 例如,要追踪到www.google.com的路由,可以执行: traceroute www.google.com 参数说明: -n:直接显示IP地址,不进行域名解析。 -m:设置最大TTL值(即最大跳数)。 -q:设置每次探测的查询数。
tracepath
racepath是另一个用于追踪数据包路径的工具,它类似于traceroute,但不需要设置递增的TTL值,且在某些情况下可能更可靠。 安装tracepath(如果未预装): tracepath通常包含在iputils包中,可以使用以下命令安装: sudo yum install iputils 基本用法: tracepath [选项] 目标主机 例如,要追踪到8.8.8.8(Google DNS)的路由,可以执行: tracepath 8.8.8.8 参数说明: -n:直接显示IP地址,不进行域名解析。 -m:设置最大跳数。 -l:设置初始数据包长度。
mtr
mtr(My Traceroute)是一个结合了traceroute和ping功能的网络诊断工具,它可以实时显示网络路径的每一跳信息,包括丢包率和延迟。 安装mtr: 在CentOS上,可以使用以下命令安装mtr: sudo yum install mtr 基本用法: mtr [选项] 目标主机 例如,要实时追踪到www.baidu.com的路由,可以执行: mtr www.baidu.com 参数说明: -n:直接显示IP地址,不进行域名解析。 -r:报告每一跳的往返时间(RTT)。 -c:设置探测次数。 分析和解决路由问题 在执行路由追踪后,需要分析输出结果以识别潜在的网络问题。超时或无响应的跳数可能表明该跳存在网络故障或拥塞。往返时间(RTT)值较高可能表示网络延迟较大。路径MTU(Maximum Transmission Unit)值的变化可能会影响网络性能,特别是在路径中存在MTU较小的链路时。 根据路由追踪的结果,可以进行针对性的故障排除或网络优化。例如,如果发现某一跳存在高延迟或丢包,可以尝试联系该跳的管理员或ISP以解决问题。此外,通过调整网络配置或升级网络设备,也可以改善网络性能。