關於Anolis8/Centos8系統重啟後ip地址丟失的原因

来源:https://www.cnblogs.com/kirin365/archive/2023/11/20/17843049.html
-Advertisement-
Play Games

關於Anolis8/Centos8系統重啟後ip地址丟失的原因 #、今天把之前在VMware安裝的Anolis8系統重啟了,啟動之後發現Xshell連接不上。在VMware上登錄後執行ip a命令發現ip地址不見了 #、我的網卡配置信息如下: [[email protected] ~]# cat /etc ...


關於Anolis8/Centos8系統重啟後ip地址丟失的原因

#、今天把之前在VMware安裝的Anolis8系統重啟了,啟動之後發現Xshell連接不上。在VMware上登錄後執行ip a命令發現ip地址不見了

#、我的網卡配置信息如下:
[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
PROXY_METHOD=none
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.103
PREFIX=255.255.255.0
GATEWAY=10.0.0.2
DNS1=223.5.5.5
DNS1=223.6.6.6
#、然後在網上查了一圈,發現關於Anolis8系統網卡配置的文章少之又少,把搜索關鍵字`Anolis`換成`Centos`之後總算是找到了一些有用的文章。Anolis(龍蜥)系統其實就是復刻的Centos。

8系統與7不一樣,在Anolis8之後,不再使用`network.service `(只能手動去安裝),預設安裝的是`NetworkManager.service`

1、解決方法

#1、啟動NetworkManager.service服務
[[email protected] ~]# systemctl start NetworkManager

#2、重新載入網卡配置文件
[[email protected] ~]# nmcli c reload eth0

#3、激活網卡
[[email protected] ~]# nmcli d connect eth0

#4、再次執行ip a命令,發現ip地址已經出來了。但是這個地址是不對的。我配置的網卡地址是:10.0.0.103。
因為我實在是不熟悉使用`NetworkManager.service`服務的`nmcli`命令。只能繼續使用`network.service `了哈哈

#5、安裝`network.service `服務
[[email protected] ~]# yum install -y network-scripts.x86_64

#6、關閉`NetworkManager.service`
[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# systemctl disable NetworkManager

#7、啟動`network.service `服務,再次執行ip a命令查看網卡ip。發現已經可以了
[[email protected] ~]# systemctl start network.service
[[email protected] ~]# ip a

雖然服務起來了,ip也有了,但是我們發現。目前在eth0這塊網卡上有兩個ip,是因為`NetworkManager.service`服務雖然關閉了,但是網卡配置還在。此時我們在重啟一下`network.service `服務就可以了。Xshell連接也沒問題了。

[[email protected] ~]# systemctl restart network.service
[[email protected] ~]# ip a

#、系統重啟下,驗證`network.service `服務 可用性
重啟後重新連接。是沒問題的。執行`ip a`命令可以看到ip地址。問題得到解決!

2、Anolis8網路配置詳細介紹

2.1、NetworkManager介紹

2.1.1、Anolis8網路配置的區別

#、在 CentOS7上同時支持network.service和NetworkManager.service。預設情況下,這2個服務都有開啟。在Anolis8和CentOS8上,已廢棄network.service(只能手動去安裝),預設安裝的是NetworkManager.service,因此推薦通過NetworkManager.service進行網路配置,網卡配置包括設置動態和靜態IP。

2.1.2、NetworkManager作用

#、NetworkManager是2004年Red Hat啟動的項目,旨在能夠讓Linux用戶更輕鬆地處理現代網路需求,尤其是無線網路,能自動發現網卡並配置ip地址。類似在手機上同時開啟wifi和蜂窩網路,Anolis8網路自動探測可用網路並連接,無需手動切換Anolis8網卡。

2.1.3、NetworkManager支持的網路

#、NetworkManager支持的網路:
有線網卡、無線網卡
動態ip、靜態ip
乙太網、非乙太網
物理網卡、虛擬網卡

2.1.4、NetworkManager使用方式

#、NetworkManager使用方式
nmcli:命令行
nmtui:在shell終端開啟文本圖形界面
Freedesktop applet:如GNOME上自帶的網路管理工具
cockpit:redhat自帶的基於web圖形界面的"駕駛艙"工具,具有dashborad和基礎管理功能

#、使用 nmcli 時,NetworkManager 必須保持開啟。

#、NetworkManager 的相關命令:
查看運行狀態:systemctl status NetworkManager
啟動:systemctl start NetworkManager
重啟:systemctl restart NetworkManager
關閉:systemctl stop NetworkManager
查看是否開機啟動:systemctl is-enabled NetworkManager

開機啟動:systemctl enable NetworkManager
禁止開機啟動:systemctl disable NetworkManager

#、註意:NetworkManager 中開頭的 N 和中間的 M 必須大寫。

2.2、nmcli常用命令

2.2.1、nmcli介紹

在NetworkManager里,有2個維度:連接(connection)和設備(device),可以為一個設備配置多個連接,這裡特別需要指出的是,一個設備只能有一個活躍連接,每個連接可以理解為一個 ifcfg 配置文件。

2.2.2、顯示 NetworkManager 是否接管網路設置:

[[email protected] ~]# nmcli networking
enabled

#、networking 可以簡寫為 n、ne、net、netw…… 所以以上命令可以簡寫為:
nmcli n

2.2.3、查看網路連接狀態:

[[email protected] ~]# nmcli n connectivity
full

2.2.4、NetworkManager 接管網路設置:

#、設定 NetworkManager 接管網路設置
[[email protected] ~]# nmcli n on

#、取消 NetworkManager 接管網路設置:
[[email protected] ~]# nmcli n off

2.2.5、nmcli general

#、顯示系統網路狀態:
[[email protected] ~]# nmcli general status
STATE   CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN   
已連接  完全          已啟用   已啟用  已啟用   已啟用

#、general 可以簡寫為 g、ge、gen、gene……
#、status 是 general 的預設項,可以省略不寫。所以,以上命令可簡寫為:
[[email protected] ~]# nmcli g
STATE   CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN   
已連接    完全           已啟用   已啟用   已啟用   已啟用 
connected  full       enabled  enabled  enabled  enabled

#、其中:
STATE 顯示網路是否連接;
CONNECTIVITY 與前面介紹的 nmcli networking connectivity 相同;
WIFI-HW 表示 WIFI 硬體開關、WIFI 表示 WIFI 軟體開關;
WWAN-HW 表示 WWAN 硬體開關、WWAN 表示 WWAN 軟體開關。
HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。

2.2.6、顯示主機名:

[[email protected] ~]# nmcli g hostname
anolis8
[[email protected] ~]# nmcli g h
Anolis8.6

#、更改主機名:
nmcli g hostname newHostName 
#或 
nmcli g h newHostName

#、註意:
newHostName是你設置的新主機名。
主機名存放在 /etc/hostname 文件中。
修改主機名後,需要重啟 NetworkManager。

2.2.7、顯示所有網路連接的信息:

[[email protected] ~]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192 

#、connection 可以簡寫為 c、co、con、conn……
#、show 是 connection 的預設項,可以省略不寫。所以,以上命令可簡寫為:
[[email protected] ~]# nmcli c
NAME    UUID                                  TYPE      DEVICE 
ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192

#、nmcli connection show 有一個 -active 參數,可以只顯示當前啟動的連接:
nmcli c s --active  
#或
nmcli c s -a  # 因為 show 後面有參數項,所以此時的 show 不能省
[[email protected] ~]# nmcli c s -a
NAME    UUID                                  TYPE      DEVICE 
ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192

#、顯示某一特定連接的詳細信息(以 ens192 為例):
[[email protected] ~]# nmcli c s ens192
connection.id:                          ens192
connection.uuid:                        c296eeaa-0c9a-4621-8b32-4903e26009f9
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              ens192
connection.autoconnect:                 是
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0(default)
connection.auth-retries:                -1
connection.timestamp:                   1664789124
connection.read-only:                   否
......
DHCP4.OPTION[25]:                       subnet_mask = 255.255.255.0
IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

2.2.8、啟動指定連接:

[[email protected] ~]# nmcli c up ens192
連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/2)

#、如果 ens192 本來就出於連接狀態,那此命令會重啟 ens192。

#、關閉指定連接:
nmcli c down ens192
關閉連接後,使用 nmcli c 命令, DEVICE 項將顯示為 – 。

2.2.9、修改連接:

nmcli c modify ens192  [ + | - ]選項 選項值  # 或
nmcli c m ens192  [ + | - ]選項 選項值

#、下麵給出常用修改示例:
nmcli c m ens192 ipv4.address 192.168.100.83/24   # 修改 IP 地址和子網掩碼
nmcli c m ens192 ipv4.method manual               # 修改為靜態配置,預設是 auto
nmcli c m ens192 ipv4.gateway 192.168.100.1        # 修改預設網關
nmcli c m ens192 ipv4.dns 192.168.100.1          # 修改 DNS
nmcli c m ens192 +ipv4.dns 114.114.114.114      # 添加一個 DNS
nmcli c m ens192 ipv6.method disabled           # 將 IPv6 禁用
nmcli c m ens192 connection.autoconnect yes     # 開機啟動

#、註意,必須先修改 ipv4.address,然後才能修改 ipv4.method!
用空引號""代替選項的值,可將選項設回預設值(以 ipv4.method 為例):

nmcli c m ens192 ipv4.method ""

#、選項有很多,詳細信息可以通過以下命令查看:
man 5 nm-settings-nmcli

#、主要可以看裡面 connection setting 和 ipv4 setting 部分。

2.2.10、新增連接:

nmcli c add tyep 連接類型 選項 選項值  
#或
nmcli c a tyep 連接類型 選項 選項值

#、type 為必選項,我們通常用到的是 802-3-ethernet(別名 ethernet)。

#、選項與前面介紹的“修改連接”中的選項一樣,其中重要的幾個選項:
connection.id(別名 con-name):連接名;
connection.interface-name(別名 ifname):設備名;
connection.autoconnect(別名 autoconnect):是否開機自啟,其值只能是 yes 或 no,預設 yes。

#、下麵給出一個示例:
nmcli c a type ethernet con-name ens36 ifname ens36

2.2.11、刪除指定連接:

nmcli c delete ens33  
#或
nmcli c de ens33     # delete 不可簡寫為 d,否則與 down 衝突,但可以簡寫為 de

2.2.12、重載所有連接的配置文件:

nmcli c reload  
#或
nmcli c r

#、重載某一指定連接的配置文件:
nmcli c load ifcfg-ens192 
#或
nmcli c l ifcfg-ens192    

#、網路配置文件預設保存在 /etc/sysconfig/network-scripts/ 路徑下,如果配置文件在其它位置,則需要填寫完整路徑。
網路配置文件的命名方式就是ifcfg-連接名,例如 ens33 的配置文件名為ifcfg-ens33。


#、網路配置文件說明:
TYPE="Ethernet" //乙太網,還有其他的如bond,bridge
PROXY_METHOD="none"//預設代理方式:關閉狀態
BROWSER_ONLY="no" //預設只是瀏覽器:否
BOOTPROTO="none" //dhcp 表示動態獲取IP地址, static 表示表態IP,none表示不指定,就是靜態
DEFROUTE="yes" //預設路由:是
IPV4_FAILURE_FATAL="no" //是否開啟IPV4致命錯誤檢測:否
IPV6INIT="yes" //預設IPV6是否自動初始化: 是
IPV6_AUTOCONF="yes" //預設IPV6是否自動配置:是
IPV6_DEFROUTE="yes" //預設IPV6是否預設路由:是
IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失敗,此介面將被禁用,否:如果配置失敗,此介面不會被禁用
IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型
NAME="ens192" //名稱
UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一ID
DEVICE="ens192" //設備名稱
ONBOOT="yes" //開啟啟動
IPADDR="192.168.100.83" //IP
PREFIX="24" //子網掩碼長度
GATEWAY="192.168.100.1" //網關
DNS1="114.114.114.114" //DNS1
DNS2="8.8.8.8" //DNS1
IPV6_PRIVACY="no" //IPV6隱私

2.2.13、顯示所有網路介面設備的狀態:

nmcli device status
device 可以簡寫為 d、de、dev……

#、status 是 device 的預設項,可以省略不寫。所以,以上命令可簡寫為:
[[email protected] ~]# nmcli d
DEVICE  TYPE      STATE   CONNECTION 
ens192  ethernet  已連接  ens192     
lo      loopback  未托管  --

[[email protected] ~]# nmcli device
DEVICE  TYPE      STATE   CONNECTION 
ens192  ethernet  已連接  ens192     
lo      loopback  未托管  --     


#、顯示所有設備的詳細信息:
nmcli d show
#或
nmcli d sh         # show 不可簡寫為 s,否則與 status 衝突,但可以簡寫為 sh

[[email protected] ~]# nmcli d sh
GENERAL.DEVICE:                         ens192
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:5D:B2:19
GENERAL.MTU:                            1500
GENERAL.STATE:                          100(已連接)
GENERAL.CONNECTION:                     ens192
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               開
IP4.ADDRESS[1]:                         192.168.100.83/24
IP4.GATEWAY:                            192.168.100.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100
IP4.ROUTE[2]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]:                             192.168.100.1
IP4.DNS[2]:                             4.2.2.2
IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

GENERAL.DEVICE:                         lo
GENERAL.TYPE:                           loopback
GENERAL.HWADDR:                         00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.STATE:                          10(未托管)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.ADDRESS[1]:                         127.0.0.1/8
IP4.GATEWAY:                            --
IP6.ADDRESS[1]:                         ::1/128
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256

2.2.14、顯示某一特定設備的詳細信息:

[[email protected] ~]# nmcli d sh ens192
GENERAL.DEVICE:                         ens192
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0C:29:5D:B2:19
GENERAL.MTU:                            1500
GENERAL.STATE:                          100(已連接)
GENERAL.CONNECTION:                     ens192
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               開
IP4.ADDRESS[1]:                         192.168.100.83/24
IP4.GATEWAY:                            192.168.100.1
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100
IP4.ROUTE[2]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100
IP4.DNS[1]:                             192.168.100.1
IP4.DNS[2]:                             4.2.2.2
IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

2.2.15、連接設備:

nmcli d connect ens192  
#或
nmcli d c ens192 

#、如果 ens192 本來就出於連接狀態,那此命令會重啟 ens192。

2.2.16、斷開設備:

#、斷開設備:
nmcli d disconnect ens33  
#或
nmcli d d ens33  

#、更新設備信息:
nmcli d reapply ens33
#或
nmcli d r ens33

只有在設備處於連接狀態,才可以更新設備。
更新設備相當於重啟連接。

2.2.17、Anolis8網路切換連接

[[email protected]  ~]# nmcli c up ens192
連接已成功激活(D-Bus 活動路徑:/org/freedesktop/NetworkManager/ActiveConnection/3)

2.2.18、Anolis8網路查看IP

[[email protected] ~]# nmcli
ens192: 已連接 到 ens192
        "VMware VMXNET3"
        ethernet (vmxnet3), 00:0C:29:5D:B2:19, 硬體, mtu 1500
        ip4 預設
        inet4 192.168.100.83/24
        route4 0.0.0.0/0
        route4 192.168.100.0/24
        inet6 fe80::18b9:6600:f377:2d7b/64
        route6 fe80::/64
        route6 ff00::/8

lo: 未托管
        "lo"
        loopback (unknown), 00:00:00:00:00:00, 軟體, mtu 65536

DNS configuration:
        servers: 192.168.100.1 4.2.2.2
        interface: ens192

使用 "nmcli device show" 獲取關於已知設備的完整信息,以及 
"nmcli connection show" 獲取活動連接配置集的概述。

完整的用法細節,可參考 nmcli(1) 和 nmcli-examples(7) 手冊頁。

2.2.19、CentOS8網路啟用網卡ensX,例如ens160

nmcli c up ens160

2.2.20、Anolis8網路停止connection

nmcli c down

2.2.21、CentOS8網路刪除connection

nmcli c delete ens160

2.2.22、立即生效connection

nmcli c up ens160
nmcli d reapply ens160
nmcli d connect ens160

2.2.23、關閉網路

nmcli r all off

3、常見的AnolisOS 8網卡配置方式

通過NetworkManager進行AnolisOS 8網卡配置時候,會自動將connection同步到ifcfg配置文件中,這裡特別指出eth和ens的區別,ethX是真實物理網卡,ensX是虛擬網路會話。

手工配置ifcfg,通過NetworkManager來生效
通過NM自帶工具配ip,比如nmcli
手工配置ifcfg,通過傳統network.service來生效

3.1、通過手工配置AnolisOS 8網卡ifcfg的方式

#、這裡推薦使用上述第1種AnolisOS 8網卡配置方法,就是手工配置ifcfg,通過NetworkManager來生效,因為這樣既相容了傳統的ifcfg配置,又能熟悉nmcli。

#、打開配置文件,ifcfg-開頭的,根據實際名稱修改。例如我的機器是ifcfg-ens192
vi /etc/sysconfig/network-scripts/ifcfg-ens192

#、配置參數示例,大家可以根據實際接入的網路進行配置AnolisOS 8網卡,試試吧已經對此配置做了詳細備註。
TYPE="Ethernet" //乙太網,還有其他的如bond,bridge
PROXY_METHOD="none"//預設代理方式:關閉狀態
BROWSER_ONLY="no" //預設只是瀏覽器:否
BOOTPROTO="none" //dhcp 表示動態獲取IP地址, static 表示表態IP,none表示不指定,就是靜態
DEFROUTE="yes" //預設路由:是
IPV4_FAILURE_FATAL="no" //是否開啟IPV4致命錯誤檢測:否
IPV6INIT="yes" //預設IPV6是否自動初始化: 是
IPV6_AUTOCONF="yes" //預設IPV6是否自動配置:是
IPV6_DEFROUTE="yes" //預設IPV6是否預設路由:是
IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失敗,此介面將被禁用,否:如果配置失敗,此介面不會被禁用
IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型
NAME="ens192" //名稱
UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一ID
DEVICE="ens192" //設備名稱
ONBOOT="yes" //開啟啟動
IPADDR="192.168.100.83" //IP
PREFIX="24" //子網掩碼長度
GATEWAY="192.168.100.1" //網關
DNS1="114.114.114.114" //DNS1
DNS2="8.8.8.8" //DNS1
IPV6_PRIVACY="no" //IPV6隱私

3.2、CentOS8網卡配置後重啟網路

systemctl restart  NetworkManager

3.3、檢測網路狀態

ping www.baidu.com
curl www.baidu.com

4、網路重啟

#、CentOS 8 、Red Hat 8、Anolis 8 、fedora 33/34/35 、Alibaba Cloud Linux 3操作系統,請執行以下操作:

#4.1、執行以下命令,重新載入所有網卡配置。
nmcli c reload

#4.2、執行以下命令,激活網卡。
nmcli d connect eth0

參考文章鏈接:https://www.jianshu.com/p/ed411ebd9cc4

本文來自博客園,作者:kirin(麒麟),轉載請註明原文鏈接:https://www.cnblogs.com/kirin365/p/17843049.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 教程簡介 本文將簡單描述視頻網站教程,視頻網站是一個類似於騰訊視頻一樣的網站,視頻資源用戶自己上傳,然後提供友好的界面查看視頻和搜索視頻,並且提供管理頁面對於視頻進行管理,我們將使用Blazor作為前端,並且由MasaFramework作為後端框架,一般情況下我們需要做簡單的許可權管理,對於用戶登錄我 ...
  • 數據持久化 PlayerPrefs相關 PlayerPrefs是Unity游戲引擎中的一個類,用於在游戲中存儲和訪問玩家的偏好設置和數據。它可以用來保存玩家的游戲進度、設置選項、最高分數等信息。PlayerPrefs將數據存儲在本地文件中,因此可以在游戲重新啟動時保持數據的持久性。 //Player ...
  • 什麼是SSR Blazor中的流式渲染結合了SSR(服務端渲染),服務端將HTML拼好返回給前端,有點像我們熟知的Razor Pages 或 MVC 。 當已經有了 Razor Pages 或 MVC 時,為什麼還要選擇使用 Blazor 來實現這一點?這裡有幾個原因。 首先,Razor Pages ...
  • 文章記錄了作者曲折的探索過程,最終成功將AMD cpu的Thinkbook 14p筆記本電腦從21h2版本更新到了23h2版本,而且系統的應用配置和數據基本沒變。 ...
  • 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是IAR下手動拷貝自定義程式段到RAM中執行的方法。 在痞子衡舊文 《IAR下RT-Thread工程自定義函數段重定向失效分析》 里,我們知道 IAR 鏈接器處理自定義程式段重定向是有一些限制的,只要用戶重寫了底層 __low_level ...
  • Data Defination Language,數據定義語言。這類 SQL 語句用於定義或修改資料庫結構。主要的 DDL 操作包括 CREATE(創建新表或資料庫)、ALTER(修改現有資料庫對象的結構)和 DROP(刪除表、視圖或其他資料庫對象)。 表操作 創建表 CREATE TABLE 創建 ...
  • Data Manipulation Language 數據操縱語言,用於數據的增加、刪除、更新等操作。包括 INSERT(向表中插入新數據)、UPDATE(修改表中的數據)和 DELETE(從表中刪除數據)。 插入數據 INSERT 插入一行數據 插入數據的時候,不指定列名直接使用 VALUES指定 ...
  • Linux常用命令記錄 文件與目錄管理命令 Linux的文件目錄是樹狀結構,最頂級的目錄為根目錄/,其他目錄是通過掛載將其添加到文件樹上,通過解除掛載將其移除。 首先先瞭解什麼是絕對路徑和相對路徑 絕對路徑:從根目錄開始的完整路徑描述,通常以 / 開頭,從根目錄root一直到目標目錄 相對路徑:相對 ...
一周排行
    -Advertisement-
    Play Games
  • 一個自定義WPF窗體的解決方案,借鑒了呂毅老師的WPF製作高性能的透明背景的異形視窗一文,併在此基礎上增加了滑鼠穿透的功能。可以使得透明窗體的滑鼠事件穿透到下層,在下層窗體中響應。 ...
  • 在C#中使用RabbitMQ做個簡單的發送郵件小項目 前言 好久沒有做項目了,這次做一個發送郵件的小項目。發郵件是一個比較耗時的操作,之前在我的個人博客裡面回覆評論和友鏈申請是會通過發送郵件來通知對方的,不過當時只是簡單的進行了非同步操作。 那麼這次來使用RabbitMQ去統一發送郵件,我的想法是通過 ...
  • 當你使用Edge等瀏覽器或系統軟體播放媒體時,Windows控制中心就會出現相應的媒體信息以及控制播放的功能,如圖。 SMTC (SystemMediaTransportControls) 是一個Windows App SDK (舊為UWP) 中提供的一個API,用於與系統媒體交互。接入SMTC的好 ...
  • 最近在微軟商店,官方上架了新款Win11風格的WPF版UI框架【WPF Gallery Preview 1.0.0.0】,這款應用引入了前沿的Fluent Design UI設計,為用戶帶來全新的視覺體驗。 ...
  • 1.簡單使用實例 1.1 添加log4net.dll的引用。 在NuGet程式包中搜索log4net並添加,此次我所用版本為2.0.17。如下圖: 1.2 添加配置文件 右鍵項目,添加新建項,搜索選擇應用程式配置文件,命名為log4net.config,步驟如下圖: 1.2.1 log4net.co ...
  • 之前也分享過 Swashbuckle.AspNetCore 的使用,不過版本比較老了,本次演示用的示例版本為 .net core 8.0,從安裝使用開始,到根據命名空間分組顯示,十分的有用 ...
  • 在 Visual Studio 中,至少可以創建三種不同類型的類庫: 類庫(.NET Framework) 類庫(.NET 標準) 類庫 (.NET Core) 雖然第一種是我們多年來一直在使用的,但一直感到困惑的一個主要問題是何時使用 .NET Standard 和 .NET Core 類庫類型。 ...
  • WPF的按鈕提供了Template模板,可以通過修改Template模板中的內容對按鈕的樣式進行自定義。結合資源字典,可以將自定義資源在xaml視窗、自定義控制項或者整個App當中調用 ...
  • 實現了一個支持長短按得按鈕組件,單擊可以觸發Click事件,長按可以觸發LongPressed事件,長按鬆開時觸發LongClick事件。還可以和自定義外觀相結合,實現自定義的按鈕外形。 ...
  • 一、WTM是什麼 WalkingTec.Mvvm框架(簡稱WTM)最早開發與2013年,基於Asp.net MVC3 和 最早的Entity Framework, 當初主要是為瞭解決公司內部開發效率低,代碼風格不統一的問題。2017年9月,將代碼移植到了.Net Core上,併進行了深度優化和重構, ...