【Linux相識相知】電腦的組成、linux發行版和哲學思想、基礎命令和目錄結構

来源:http://www.cnblogs.com/liubinsh/archive/2017/07/01/7103759.html
-Advertisement-
Play Games

電腦組成、linux發行版、linux哲學思想、基本命令、目錄結構 ...


 

     從今天開始,Frank將開始在博客上記錄自己學習linux的點點滴滴,F初來乍到,還望各位大佬多多指教。本次博客的主要內容如下:

  • 電腦基礎:簡要的描述了電腦的組成及其功能;
  • linux初識:介紹了linux主流的發行版,說明瞭不同的發行版之間的區別和linux的哲學思想,列出了linux發行版的基礎目錄名稱命名法則及功能規定;
  • 基礎命令:詳細介紹一些基礎的命令,並就如何在linux系統上獲取命令的幫助做出瞭解釋。

 

一、電腦的組成及其功能

電腦主要是由5個部分組成

  • 控制器(Control):正確的分佈的完成每一條指令規定的功能。

  • 運算器(Datapath):對數據進行算術運算和邏輯運算。

  • 存儲器(Memory):存儲器的功能是存儲程式、數據和各種信號、命令等信息,併在需要的時候提供這些信息

  • 輸入(input system):輸入設備,常見的輸入設備有鍵盤、滑鼠、攝像頭等。

  • 輸出(output system):輸出設備,常用的輸出設備有顯示器、印表機等。

我們所說的中央處理器CPU(Central Processing Unit)就是由控制器和運算器組成的。所有的東西,包括處理器、顯卡、存儲器、音效卡、記憶體等都是通過主板來組合到一起的。

如果把電腦比如成一個人:

CPU=大腦;

記憶體=腦袋中正在思考的數據區塊,主要是給大腦提供信息;

硬碟=腦袋中的記憶區塊,主要是存放記憶的地方,用的時候取出來,不用的時候放回去;

主板=神經系統,協調各個部件;

I/O設備=人體與外接溝通的,比如手,腳,皮膚、眼睛;

電源power=心臟,這就不多說了,沒有電源,整個系統就無法運作

知識遺拾:

為什麼32位機器最多只能支持4G的記憶體?

32位,其實指的是CPU的定址能力,2^32 = 1024*1024*1024*4 B = 1024*1024*4KB = 1024*4MB = 4GB,所以64位的系統的性能比32高很多

CPU的指令周期單位HZ?

CPU 的指令周期常使用 MHz 或者是 GHz 之類的單位,這個 Hz 其實就是秒分之一。而在網路傳輸方面,由於網路使用的是 bit 為單位,因此網路常使用的單位為 Mbps 是 Mbits per second,亦即是每秒多少 Mbit。舉例來說,大家常聽到的 20M/5M 光纖傳輸速度,如果轉成文件容量的 byte 時,其實理論最大傳輸值為:每秒 2.5Mbyte/ 秒 625Kbyte 的下載/上傳速度。

 

二、linux的來歷

1991年,芬蘭大學生Linus Torvalds(下圖就是這位牛逼的人物了)萌發了開發一個自由的UNIX操作系統的想法,當年,Linux就誕生了,為了不讓這個羽毛未豐的操作系統矢折,Linus將自已的作品Linux通過Internet發佈。後來linux加入了GNU組織,並遵循了GPL,

從此一大批黑客和編程人員加入到其開發中來,使Linux得到了飛速的發展(Linux也被稱為GNU/Linux),其實linux本身只是一個內核,而GNU提供的則是一些開源的軟體,比如x-window、gcc等。

 

Linus Torvalds

知識遺拾:

開源協定GPL:一個軟體一旦遵循了GPL,那麼使用者可以自由的執行,複製,再發行,學習、修改自由軟體。由於第一個版本的GPL太過於嚴苛,後來出現較為寬鬆的GPLV2和GPLV3。除了GPL開源協定還有LGPL,BSD和Apache等。

 

三、linux的發行版

 發行版為許多不同的目的而製作,包括對不同電腦結構的支持。實時應用等,現已經存在的發行版本就有幾百種,但是其中比較常用的發行版也就幾種。

 1.Red Hat

 

紅帽也許是世界使用的最多的發行版本了,普遍使用在伺服器上,你可以免費的在其官網上獲取最新的版本,但是版本如果存在bug或者不穩定,包含一些一些封閉的源代碼軟體,如果需要紅帽提供技術支持,那就需要買人家的服務了,目前最新的版本為7.X。

 2.Centos

 

Centos是基於Red Hat linux的企業級發行版本,但是它沒有那些封閉的源代碼軟體,全部是開源的,現在國內很多大的電商在其伺服器上運行的就是Cenntos,目前最新的版本為7.x(因為是紅帽一家的)。

 3.Debian

 

Debian是一個非常穩定的版本,但是安裝過程是及其複雜的,你需要將源碼根據自己的硬體編譯成二進位文件來安裝,這也是其穩定的原因,但是這樣帶來的壞處就是,一般的用戶安裝起來就非常頭疼了。在Debian6中,linux的內核是完全開源的,所有的閉源軟體都被隔離成了單獨的軟體包,放在Debian的軟體源"Non-Free"部分,所以用戶可以自行選項全開源的系統還是存在一起閉源的軟體,目前最新版本為9.x。

4.Ubuntu

 

Ubuntu是基於debian發行版和unity桌面環境的,是一個以桌面應用為主的linux操作系統,目前最新版本為17.x。

5.SUSE

 

SUSE是德國非常著名的Linux發行版,後被Novell公司收購,SUSE Linux一向以華麗的用戶界面著稱;

6.Gentoo

 

Gentoo是Linux世界最年輕的發行版本,正因為年輕,所以能吸取在她之前的所有發行版本的優點。Gentoo最初由Daniel Robbins(FreeBSD的開發者之一)創建,首個穩定版本發佈於2002年。由於開發者對FreeBSD的熟識,所以Gentoo擁有媲美FreeBSD的廣受美譽的ports系統 ——Portage包管理系統。

知識遺拾:

發行的版本號和linux內核的版本是不一樣的概念的

linux內核最新版為:4.11.8   

4:表示主版本號

11:表示開發中的版本,如果為偶數的則是穩定版本

8:修訂版本號,表示修改次數

可以通過官網下載查詢:https://www.kernel.org/

其實所有的發行版的內核可以說都是版本不同或者相同的linux內核,然後將各種各樣圖形化界面,軟體然後與內核組在一起就成個各種不同的版本。

兩種用戶界面:

1.GUI:圖形化界面

    GNome

    KDE

2.CLI:命令行界面

    bash

    zsh

    sh    ....

終端設備

物理終端:控制台,console,/dev/console
虛擬終端:Ctrl+Alt+F[1-6],為tty,/dev/tty[1-6]

圖形終端:

centos6:

Ctrl+Alt+F7

cnetos7:

在哪個虛擬終端啟動就位於哪一個虛擬終端

串列終端:tyys,/dev/ttys#

偽終端:pts,/dev/pts#

使用tty查看終端設備

[root@localhost ~]# tty
/dev/pts/0

 

四、linux的哲學思想

 1.一切皆文件

 在linux系統中,所有的資源都是以文件形式表現出來的,包括設備文件,普通文件,目錄,套接字,反正你能看得到都是文件;

 

2.由眾多功能單一的程式組成

在linux中,一個小程式就是拿來完成一個簡單的任務的,如果想要完成很複雜的任務,那麼就需要把小程式組合起來,一起完成。

3.儘量避免和用戶交互

 shell支持很多種編程語言,比如python,可以使用腳本來實現自動化得任務

 4.使用文本保存配置信息

 易於讀取配置信息,可以使用文本編輯器就可以修改配置信息

 

 五、linux命令的使用格式

linux命令的語法通用格式為:

#COMMAND OPTIONS ARGUMENTS

 COMMAND

 當發起一條命令的時候,系統請求內核將某個二進位程式運行為一個進程,命名本身是一個可執行的程式文件,二進位格式文件,有可能會調用共用庫文件,並非所有的命令都有一個在某目錄與之對應的可執行程式,在Linux中可執行文件為ELF類型,比如在windows上試exe或者msi:

多數系統程式文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin

    普通命令:/bin, /usr/bin, /usr/local/bin 

    管理命令:/sbin, /usr/sbin, /usr/local/sbin

共用庫:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

    32bits的庫:/lib, /usr/lib, /usr/local/lib

    64bits的庫:/lib64, /usr/lib64, /usr/local/lib64

命令類型:

內置命令:由shell程式自帶的命令

外部命令:獨立的可執行程式文件,文件名即命令名

shell程式是獨特的程式,複製解析用戶提供的命令,她是從環境變數PATH中獲取路徑來查找可執行的文件的。

可以使用type COMMAND來獲取命令是內置的還是外置:

內置:

[root@localhost ~]# type cd
cd is a shell builtin

 外置:

[root@localhost ~]# type cat
cat is /usr/bin/cat

 OPTIONS

選項,指定命令的運行特性,選項有兩中表現形式:

短選項:例如-c,-d,-r,有些命令是沒有-的,多個短選項,多數情況下是可以合併的

長選項:例如--help,不能合併

 AGUMENTS

 命令的作用對象,即命令對什麼生效,有些命令的對象可以用多個,使用空格分開

 

六、基礎命令

 ifconfig

 顯示IP地址,MAC地址,收發包和丟包數目和錯誤包的個數

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.135  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::7d5:374d:e0e2:37ce  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:3c:34:c0  txqueuelen 1000  (Ethernet)
        RX packets 1235  bytes 116447 (113.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 945  bytes 76449 (74.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
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 1  (Local Loopback)
        RX packets 72  bytes 6252 (6.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 72  bytes 6252 (6.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
命令顯示了2塊網卡的信息,一個是網卡ens33,一個是環回口loopback,可以看到ens33的ipv4、ipv6地址和MAC地址等信息,與其類似的命令為ip add show.   echo 回顯命令
[root@localhost ~]# echo "hello linux"
hello linux

 強引用,單引號:

[root@localhost ~]# echo '$PATH'
$PATH

 弱引用,雙引號:

[root@localhost ~]# echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

 

 tty

 顯示當前終端的文件名

[root@localhost ~]# tty
/dev/pts/0

 

startx

 開啟圖形化界面

[root@localhost ~]# startx

 

 

export

設置和顯示環境變數,單獨使用export可以查看當前系統下的環境變數; 命令格式: 
export [-fn] [name[=value] ...] or export -p
 Options:
      -f        refer to shell functions   代表[變數名稱]中為函數名稱
      -n        remove the export property from each NAME  刪除環境變數,實際上沒有刪除,只是不會輸出到後續指令的執行環境
      -p        display a list of all exported variables and functions  顯示所有的環境變數

一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本。     ----《UNIX教程》

[root@localhost ~]# name="Frank"
[root@localhost ~]# echo $name
Frank
[root@localhost ~]# bash
[root@localhost ~]# echo $name
[root@localhost ~]# exit
exit
[root@localhost ~]# export name
[root@localhost ~]# echo $name
Frank
[root@localhost ~]# bash
[root@localhost ~]# echo $name
Frank

 

pwd

顯示當前目錄,當用戶登錄的時候,一般起始目錄為其家目錄,/home/username

[root@localhost ~]# pwd
/root

 

history

顯示執行命令的歷史信息,用戶在登錄系統時,會讀取歷史文件記錄下的命令:~/.bash_history

[root@localhost ~]# history 
    1  history 
    2  pwd
    3  cd /root
    4  ls
    5  history 

-c:清除歷史信息

-n:顯示最近的n行

-a:將命令歷史信息寫到history_file文件中,預設會寫到~/.bash_history下

-r:讀取histor_file的內容到當前的history

-w:將目前的history內容寫到history_file中

-d:刪除指定行的命令歷史

!編號:再次執行某一行的命令

!!:執行上一條命令

 

shutdown

關機命令

-c:將shutdown的命令取消,取消關機

-H:停止設備

-P:關閉電源

-r:重啟設備

-h:將系統關機

-k:只送出信息,但是不關機

--no-wall:關機但是不送出任何信息

指定系統在22點關機

[root@localhost ~]# shutdown -r 22:00
Shutdown scheduled for Sat 2017-07-01 22:00:00 EDT, use 'shutdown -c' to cancel.

指定5分鐘後關機,同時給出告警信息

[root@localhost ~]# shutdown +5 "System will shutdown after 5 minutes"
Shutdown scheduled for Sat 2017-07-01 08:54:35 EDT, use 'shutdown -c' to cancel.
[root@localhost ~]# 
poweroff(關閉電源),reboot(重啟系統)   date [OPTION] [+FORMAT]  Format指出了以什麼樣的格式來顯示時間 查看系統時鐘,設置系統時間
[root@localhost ~]# date
Sat Jul  1 09:06:14 EDT 2017
  %%   a literal %
  %a   locale's abbreviated weekday name (e.g., Sun)
  %A   locale's full weekday name (e.g., Sunday)
  %b   locale's abbreviated month name (e.g., Jan)
  %B   locale's full month name (e.g., January)
  %c   locale's date and time (e.g., Thu Mar  3 23:05:25 2005)
  %C   century; like %Y, except omit last two digits (e.g., 20)
  %d   day of month (e.g., 01)
  %D   date; same as %m/%d/%y
  %e   day of month, space padded; same as %_d
  %F   full date; same as %Y-%m-%d
  %g   last two digits of year of ISO week number (see %G)
  %G   year of ISO week number (see %V); normally useful only with %V
  %h   same as %b
  %H   hour (00..23)
  %I   hour (01..12)
  %j   day of year (001..366)
  %k   hour, space padded ( 0..23); same as %_H
  %l   hour, space padded ( 1..12); same as %_I
  %m   month (01..12)
  %M   minute (00..59)
  %n   a newline
  %N   nanoseconds (000000000..999999999)
  %p   locale's equivalent of either AM or PM; blank if not known
  %P   like %p, but lower case
  %r   locale's 12-hour clock time (e.g., 11:11:04 PM)
  %R   24-hour hour and minute; same as %H:%M
  %s   seconds since 1970-01-01 00:00:00 UTC
  %S   second (00..60)
  %t   a tab
  %T   time; same as %H:%M:%S
  %u   day of week (1..7); 1 is Monday
  %U   week number of year, with Sunday as first day of week (00..53)
  %V   ISO week number, with Monday as first day of week (01..53)
  %w   day of week (0..6); 0 is Sunday
  %W   week number of year, with Monday as first day of week (00..53)
  %x   locale's date representation (e.g., 12/31/99)
  %X   locale's time representation (e.g., 23:13:48)
  %y   last two digits of year (00..99)
  %Y   year
  %z   +hhmm numeric time zone (e.g., -0400)
  %:z  +hh:mm numeric time zone (e.g., -04:00)
  %::z  +hh:mm:ss numeric time zone (e.g., -04:00:00)
  %:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)
  %Z   alphabetic time zone abbreviation (e.g., EDT)
[root@localhost ~]# date +%F
2017-07-01

將時間設置為2016年7月1日晚上21點17分30秒

[root@localhost ~]# date  070121172016.30
Fri Jul  1 21:17:30 EDT 2016

 

hwclock,clock

顯示或設定硬體時間 -s, --hctosys:以硬體為準,把系統調整為與硬體時間相同; -w, --systohc:以系統為準,把硬體時間調整為與系統時鐘相同;
[root@localhost ~]# date
Fri Jul  1 21:19:22 EDT 2016
[root@localhost ~]# clock
Sat 01 Jul 2017 09:20:48 AM EDT  -1.059659 seconds
[root@localhost ~]# hwclock -s
[root@localhost ~]# date
Sat Jul  1 09:21:11 EDT 2017

 

七、命令幫助

help COMMAND

使用help加命令可以獲取命令幫助

COMMAND --help

部分命令可以使用長選項--help來獲取幫助

使用MAN來獲取幫助

MAN的章節可以分為以下幾個部分:

1   Executable programs or shell commands     用戶命令
2   System calls (functions provided by the kernel)    系統調用
3   Library calls (functions within program libraries)    庫調用
4   Special files (usually found in /dev)    設備
5   File formats and conventions eg /etc/passwd    文件格式
6   Games    游戲幫助
7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)    雜項
8   System administration commands (usually only for root)    系統命令
9   Kernel routines [Non standard]    kernel內部命令

 可以使用whatis查看命令章節

[root@localhost ~]# whatis ls
ls (1)               - list directory contents

 在MAN下的控制命令

 

 

 八、基礎目錄的命令法則和功用規定

linux文件命名法則:

1.文件名嚴格區分大小寫

2.文件可以使用除/以外任意字元

3.文件名長度不能超過255字元

4.以.開頭的文件為隱藏文件

下圖為linux的文件系統的結構,讓我們來具體看一下每一個的功能

 /:根目錄

/bin:所有用戶的可用的基本命令程式文件

/sbin:供系統管理使用的程式文件

/etc:系統程式的配置文件

/dev:存儲特殊文件或者設備文件

/proc:基於記憶體的虛擬文件系統,用於為內核及進程存儲其相關信息;它們多為內核參數

/var:存儲常發生變化的數據的目錄

/tmp:為那些會產生臨時文件的程式提供的用於存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊許可權

/usr:全局共用的只讀數據路徑

/home:普通的家目錄的集中位置;一般每個普通用戶的家目錄預設為此目錄下與用戶名同名的子目錄

/boot:引導載入器必須用到的各靜態文件

/lib:為系統啟動或根文件系統上的應用程式(/bin, /sbin等)提供共用庫,以及為內核提供內核模塊

/opt:附加應用程式的安裝位置;可選路徑

/mnt:其它文件系統的臨時掛載點

/media:攜帶型設備掛載點,cdrom, floppy等

/srv:當前主機為服務提供的數據

/lib64:64位系統特有的存放64位共用庫的路徑

 

知識遺拾:

linux文件系統的層級結構是一個倒置樹狀結構,“/”根為起點 絕對路徑:從根開始表示出的路徑 相對路徑:從當前位置開始表示出的路徑

 


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

-Advertisement-
Play Games
更多相關文章
  • 1 Redis記憶體管理 Redis記憶體管理相關文件為zmalloc.c/zmalloc.h,其只是對C中記憶體管理函數做了簡單的封裝,屏蔽了底層平臺的差異,並增加了記憶體使用情況統計的功能。 void *zmalloc(size_t size) { // 多申請的一部分記憶體用於存儲當前分配了多少自己的內 ...
  • 本文用到的資料庫如下: CREATE DATABASE exam; / 創建部門表 / CREATE TABLE dept( deptno INT PRIMARY KEY, dname VARCHAR(50), loc VARCHAR(50) ); / 創建雇員表 / CREATE TABLE em ...
  • PostgreSQL在Update時使用Substring函數截取字元串並且加上CASE WHEN THEN條件判斷 ...
  • (一)執行sql遇到的錯誤如下: ### Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (38708097 > 4194304). You can change this value on the ...
  • 一 概述 1 背景 理論上將全部數據放到同一張表中很難實現,實際上即使實現了,表也很龐大,很冗雜,不便於查詢與維護,因此將不同的數據存放到不同的表中,需要時連接各表進行查詢。 2 執行過程 兩張表進行連接查詢時,將其中一張表中的每一行數據與另外一張表的全部數據進行對比,如果滿足給定的條件,則將這兩行 ...
  • JDBC_ODBC,純java方式連接mysql 1.單詞部分 ①JDBCjava連接資料庫②driver manager驅動③connection連接④statement聲明 ⑤execute執行⑥query查詢⑦result set結果集⑧connectivity連通⑨access存取使用 en ...
  • 轉眼,從實習到畢業,來公司已經差不多有4個月了。在學校沒學到什麼東西,怪自己太懶,又沒有鑽研技術的那股精神。如今來公司做金蝶系列的插件開發,都顯得很吃力。 之前在學校,資料庫就學了一點毛皮,現在要學會寫SQL存儲過程,觸發器,報表等高級SQL查詢語句,下麵給出自己學習寫觸發器的過程: 什麼是觸發器, ...
  • openssl dhparam用於生成和管理dh文件。dh(Diffie-Hellman)是著名的密鑰交換協議,或稱為密鑰協商協議,它可以保證通信雙方安全地交換密鑰。但註意,它不是加密演算法,所以不提供加密功能,僅僅只是保護密鑰交換的過程。在openvpn中就使用了該交換協議。 openssl dhp ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...