心智圖資源庫 linux
CentOS配置與應用,涵蓋了常用指令、檢視版本資訊、設定網路、編輯工具、安裝服務、linux發行版本、Iinux網路工具等多個面向。
編輯於2024-10-28 21:47:40Diese Vorlage zeigt die Struktur und Funktion des Fortpflanzungssystems in Form einer Mind Map. Es führt die verschiedenen Komponenten der internen und externen Genitalien ein und sortiert das Wissen eindeutig aus, um Ihnen dabei zu helfen, mit den wichtigsten Wissenspunkten vertraut zu werden.
Dies ist eine Mind Map über die Interpretation und Zusammenfassung des Beziehungsfeldes E-Book, des Hauptinhalts: Überblick über die Essenzinterpretation und Übersicht über das Feld E-Book. "Relationship Field" bezieht sich auf das komplexe zwischenmenschliche Netzwerk, in dem ein Individuum andere durch spezifische Verhaltensweisen und Einstellungen beeinflusst.
Dies ist eine Mind Map über Buchhaltungsbücher und Buchhaltungsunterlagen.
Diese Vorlage zeigt die Struktur und Funktion des Fortpflanzungssystems in Form einer Mind Map. Es führt die verschiedenen Komponenten der internen und externen Genitalien ein und sortiert das Wissen eindeutig aus, um Ihnen dabei zu helfen, mit den wichtigsten Wissenspunkten vertraut zu werden.
Dies ist eine Mind Map über die Interpretation und Zusammenfassung des Beziehungsfeldes E-Book, des Hauptinhalts: Überblick über die Essenzinterpretation und Übersicht über das Feld E-Book. "Relationship Field" bezieht sich auf das komplexe zwischenmenschliche Netzwerk, in dem ein Individuum andere durch spezifische Verhaltensweisen und Einstellungen beeinflusst.
Dies ist eine Mind Map über Buchhaltungsbücher und Buchhaltungsunterlagen.
linux
常用命令
查看ip
1. 查看目前網路介面的信息
ifconfig
使用ifconfig指令(需要root權限):
ip address
ip addr show
nmcli con show
nmcli connection show
如果你的Linux系統安裝了NetworkManager
2. 使用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以解決問題。此外,透過調整網路配置或升級網路設備,也可以改善網路效能。