① 如何查看linux內核版本
以下介紹3種查看方法:
第一種:登錄linux,在終端輸入cat /proc/version 運行效果如下圖:
② linux 內核中物理地址轉換為虛擬地址一些不懂的地方,麻煩指點
GPFCON 0X56000050
GPFDAT 0x56000054
GPFUP 0x56000058
Reserved 0x5600005c
這是四個連續的物理地址,每個長度為4位元組,所以是16
2. 在 32位系統上, sizeof(指針) 是4,所以 sizeof(xxxx xxxx *) 總是等於4,由於gpfcon 指向的是被映射後的0X56000050, gpfdata 就指向0x56000054
③ linux如何查看mac地址
打開終端,然後輸入ifconfig命令,就會出來該電腦的所有網卡信息,有5個冒號分隔的一串數字,就是mac地址,對應著一個網卡的唯一代碼。
④ 如何使用route命令查看 Linux內核路由表
使用下面的 route 命令可以查看 Linux 內核路由表。
# route
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
route 命令的輸出項說明
輸出項
說明
Destination
目標網段或者主機
Gateway
網關地址,」*」 表示目標是本主機所屬的網路,不需要路由
Genmask
網路掩碼
Flags
標記。一些可能的標記如下:
U — 路由是活動的
H — 目標是一個主機
G — 路由指向網關
R — 恢復動態路由產生的表項
D — 由路由的後台程序動態地安裝
M — 由路由的後台程序修改
! — 拒絕路由
Metric
路由距離,到達指定網路所需的中轉數(linux 內核中沒有使用)
Ref
路由項引用次數(linux 內核中沒有使用)
Use
此路由項被路由軟體查找的次數
Iface
該路由表項對應的輸出介面
3 種路由類型
主機路由
主機路由是路由選擇表中指向單個IP地址或主機名的路由記錄。主機路由的Flags欄位為H。例如,在下面的示例中,本地主機通過IP地址192.168.1.1的路由器到達IP地址為10.0.0.10的主機。
Destination Gateway Genmask Flags Metric Ref Use Iface----------- ------- ------- ----- ------ --- --- -----10.0.0.10 192.168.1.1 255.255.255.255 UH 0 0 0 eth0 網路路由
網路路由是代表主機可以到達的網路。網路路由的Flags欄位為N。例如,在下面的示例中,本地主機將發送到網路192.19.12的數據包轉發到IP地址為192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface----------- ------- ------- ----- ----- --- --- -----192.19.12 192.168.1.1 255.255.255.0 UN 0 0 0 eth0 默認路由
當主機不能在路由表中查找到目標主機的IP地址或網路路由時,數據包就被發送到默認路由(默認網關)上。默認路由的Flags欄位為G。例如,在下面的示例中,默認路由是IP地址為192.168.1.1的路由器。
Destination Gateway Genmask Flags Metric Ref Use Iface----------- ------- ------- ----- ------ --- --- -----default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
配置靜態路由
route 命令
設置和查看路由表都可以用 route 命令,設置內核路由表的命令格式是:
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 其中:
add : 添加一條路由規則
del : 刪除一條路由規則
-net : 目的地址是一個網路
-host : 目的地址是一個主機
target : 目的網路或主機
netmask : 目的地址的網路掩碼
gw : 路由數據包通過的網關
dev : 為路由指定的網路介面
route 命令使用舉例
添加到主機的路由
# route add -host 192.168.1.2 dev eth0:0# route add -host 10.20.30.148 gw 10.20.30.40
添加到網路的路由
# route add -net 10.20.30.40 netmask 255.255.255.248 eth0
# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41# route add -net 192.168.1.0/24 eth1 添加默認路由
# route add default gw 192.168.1.1
刪除路由
# route del -host 192.168.1.2 dev eth0:0
# route del -host 10.20.30.148 gw 10.20.30.40
# route del -net 10.20.30.40 netmask 255.255.255.248 eth0
# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route del -net 192.168.1.0/24 eth1# route del default gw 192.168.1.1
設置包轉發
在 CentOS 中默認的內核配置已經包含了路由功能,但默認並沒有在系統啟動時啟用此功能。開啟 Linux 的路由功能可以通過調整內核的網路參數來實現。要配置和調整內核參數可以使用 sysctl 命令。例如:要開啟 Linux 內核的數據包轉發功能可以使用如下的命令。
# sysctl -w net.ipv4.ip_forward=1 這樣設置之後,當前系統就能實現包轉發,但下次啟動計算機時將失效。為了使在下次啟動計算機時仍然有效,需要將下面的行寫入配置文件/etc/sysctl.conf。
# vi /etc/sysctl.confnet.ipv4.ip_forward = 1 用戶還可以使用如下的命令查看當前系統是否支持包轉發。
# sysctl net.ipv4.ip_forward
⑤ 請教高手,Linux 怎樣查看http://localhost的物理路徑在線等,謝謝!
這個要看你web伺服器軟體的配置。
或者你知道靜態頁面的名字,比如aaa.html,你就可以用find命令去找,find / -name aaa.html,然後找到相應路徑。
⑥ linux內核內存定址在哪個文件
linux內核地址映射模型 x86 CPU採用了段頁式地址映射模型。進程代碼中的地址為邏輯地址,經過段頁式地址映射後,才真正訪問物理內存。 段頁式機制如下圖。 linux內核地址空間劃分 通常32位linux內核地址空間劃分0~3G為用戶空間,3~4G為內核空間。注意這里是32位內核地址空間劃分,64位內核地址空間劃分是不同的。 linux內核高端內存的由來 當內核模塊代碼或線程訪問內存時,代碼中的內存地址都為邏輯地址,而對應到真正的物理內存地址,需要地址一對一的映射,如邏輯地址0xc0000003對應的物理地址為0×3,0xc0000004對應的物理地址為0×4,… …,邏輯地址與物理地址對應的關系為 物理地址 = 邏輯地址 0xC0000000 邏輯地址物理內存地址0xc00000000×00xc00000010×10xc00000020×20xc00000030×3… … 0xe00000000×20000000……0xffffffff0×40000000 ?? 顯然不能將內核地址空間0xc0000000 ~ 0xfffffff全部用來簡單的地址映射。因此x86架構中將內核地址空間劃分三部分:ZONE_DMA、ZONE_NORMAL和ZONE_HIGHMEM。ZONE_HIGHMEM即為高端內存,這就是內存高端內存概念的由來。 在x86結構中,三種類型的區域如下: ZONE_DMA 內存開始的16MB ZONE_NORMAL 16MB~896MB ZONE_HIGHMEM 896MB ~ 結束 linux內核高端內存的理解 前面我們解釋了高端內存的由來。 linux將內核地址空間劃分為三部分ZONE_DMA、ZONE_NORMAL和ZONE_HIGHMEM,高端內存HIGH_MEM地址空間范圍為0xF8000000 ~ 0xFFFFFFFF(896MB~1024MB)。那麼如內核是如何藉助128MB高端內存地址空間是如何實現訪問可以所有物理內存? 當內核想訪問高於896MB物理地址內存時,從0xF8000000 ~ 0xFFFFFFFF地址空間范圍內找一段相應大小空閑的邏輯地址空間,借用一會。借用這段邏輯地址空間,建立映射到想訪問的那段物理內存(即填充內核PTE頁面表),臨時用一會,用完後歸還。這樣別人也可以借用這段地址空間訪問其他物理內存,實現了使用有限的地址空間,訪問所有所有物理內存。如下圖。 例如內核想訪問2G開始的一段大小為1MB的物理內存,即物理地址范圍為0×80000000 ~ 0x800FFFFF。訪問之前先找到一段1MB大小的空閑地址空間,假設找到的空閑地址空間為0xF8700000 ~ 0xF87FFFFF,用這1MB的邏輯地址空間映射到物理地址空間0×80000000 ~ 0x800FFFFF的內存。映射關系如下: 邏輯地址物理內存地址0xF87000000×800000000xF87000010×800000010xF87000020×80000002… …0xF87FFFFF0x800FFFFF當內核訪問完0×80000000 ~ 0x800FFFFF物理內存後,就將0xF8700000 ~ 0xF87FFFFF內核線性空間釋放。這樣其他進程或代碼也可以使用0xF8700000 ~ 0xF87FFFFF這段地址訪問其他物理內存。 從上面的描述,我們可以知道高端內存的最基本思想:借一段地址空間,建立臨時地址映射,用完後釋放,達到這段地址空間可以循環使用,訪問所有物理內存。 看到這里,不禁有人會問:萬一有內核進程或模塊一直佔用某段邏輯地址空間不釋放,怎麼辦?若真的出現的這種情況,則內核的高端內存地址空間越來越緊張,若都被佔用不釋放,則沒有建立映射到物理內存都無法訪問了。
⑦ 如何在linux中查詢內核版本的路徑請高手們幫幫忙!!
內核文件一般位於/boot目錄下
要通過查找配置的方式知道內核文件的路徑,可以查看grub的配置。因為現在大部分Linux系統通過grub方式引導,引導時自然需要知道內核文件在哪裡。grub的配置文件一般是/boot/grub.conf
但是文件中關於內核文件的位置描述使用的是grub的表示方法,例如:
root (hd0,0)
kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
第一行表示使用第一塊硬碟的第一個分區作為引導式的根系統,而kernel文件位於該分區的/boot目錄中,文件名為vmlinuz-2.4.18-14,2.4.18表示的就是內核文件的版本了。
⑧ linux查看物理地址命令
1、 ip -a 、 cat /sys/class/net/ens39/address 其中 HWaddr欄位就是MAC地址,這是最常用的方式.
2、cat /proc/net/arp 查看連接到本機的遠端IP的MAC地址
⑨ 在linux系統中怎樣查看mac地址
1、 首先在桌面右鍵選擇「打開終端」,或者按ctrl + Alt + T快捷鍵打開終端