基礎

来源:https://www.cnblogs.com/shenxm/archive/2018/02/13/8447671.html
-Advertisement-
Play Games

Linux 組成 終端terminal 互動式介面 命令提示符 執行命令 執行外部命令 命令別名 命令格式 簡單命令 date 顯示日期和時間 d: 顯示字元串所指的日期與時間。字元串前後必須加上雙引號; s: 根據字元串來設置日期與時間。字元串前後必須加上雙引號; u: 顯示GMT; date d ...


Linux 組成

    Linux:kernel+rootfs+庫+程式
        kernel: 進程管理、記憶體管理、網路管理、驅動程式、文件系統、安全功能
        rootfs: 程式和glibc
        庫:函數集合, function,  調用介面(頭文件負責描述)
            過程調用:procedure ,無返回值
            函數調用:function
        程式:二進位執行文件
    
    內核設計流派:
        單內核(monolithic kernel) :Linux
            把所有功能集成於同一個程式
                [root@centos6 ~]#ls /boot/vmlinuz-2.6.32-696.el6.x86_64 
                /boot/vmlinuz-2.6.32-696.el6.x86_64
        微內核(micro kernel) :Windows, Solaris
            每種功能使用一個單獨子系統實現
        

終端terminal

    設備終端
        鍵盤,滑鼠顯示器
    物理終端( /dev/console ) 
        控制台console
    虛擬終端(tty :teletypewriters,/dev/tty# ,#為[1-6])
        tty可有n 個,Ctrl+Alt+F[1-6]
    圖形終端( /dev/tty7 )startx, xwindows
        CentOS 6: Ctrl + Alt + F7
        CentOS 7:  在哪個終端啟動,即位於哪個虛擬終端
    串列終端( /dev/ttyS# ) 
        ttyS
    偽終端( pty :pseudo-tty, /dev/pts/# ) 
        pty, SSH 遠程 連接
    查看當前的終端設備:tty

互動式介面

    互動式介面:啟動終端後,在終端設備附加一個互動式應用程式
    GUI :Graphic User Interface
        X protocol, window manager, desktop
        Desktop:
            GNOME (C, 圖形庫gtk), 
            KDE (C++, 圖形庫qt)
            XFCE ( 輕量級桌面)
    CLI :Command Line Interface
        shell 程式:sh (bourn 史蒂夫· 伯恩),csh,tcsh
        ksh (korn),bash (bourn again shell),GPL,zsh

命令提示符

    命令提示符:prompt
        [root@localhost ~]#
        #  管理員
        $  普通用戶
        
    顯示提示符格式
        [root@localhost ~]#echo $PS1
        
    修改提示符格式
        PS1="\[\e[31m\][\u@\h \W]\\$\[\e[0m\]"
        \[\e[31m :開始位                                                    cat /etc/DIR_COLORS 查看顏色代碼
        \[\e[0m:結束位
        \u  當前用戶
        \h  主機名簡稱 
        \H  主機名
        \w  當前工作目錄 
        \W  當前工作目錄基名
        \t 24 小時時間格式 
        \T 12 小時時間格式
        \!  命令歷史數 
        \#  開機後命令歷史數
            PS1="\[\e[1;36m\][\[\e[35m\]\u\e[0m\]@\[\e[33m\]\h \[\e[34m\]\W\[\e[36m\]]\[\e[31m\]\\$\[\e[0m\]"
            PS1="\[\e[1;36m\][\[\e[35m\]\u\e[0m\]@\[\e[33m\]\h \[\e[34m\]\W\[\e[36m\]]\[\e[40;31;5m\]\\$\[\e[0m\]"
            PS1="\[\e[1;37m\][\[\e[35;4m\]\u\e[0m\]@\[\e[33m\]\h \[\e[34;4m\]\W\e[0m\[\e[36m\]]\[\e[40;33;5m\]\\$\[\e[0m\]"
            echo -e '\033[1;43;31;5mmagedu\033[0m'
                \033 顏色啟用
                43代表背景顏色
                31代表字的顏色
                5m代表什麼效果
                
    如果想永久保存,可以在/etc/profile.d下建立env.sh來作為保存
        自己建立自己操作環境:/etc/profile.d/env.sh‘’
        

執行命令

    輸入命令後回車
        提請shell程式找到鍵入命令所對應的可執行程式或代碼,並由其分析後提交給內核分配資源將其運行起來
    
    在shell 中可執行的命令有兩類
        內部命令:由shell 自帶的,而且通過某命令形式提供
            help  內部命令列表
            enable cmd  啟用內部命令
            enable –n cmd  禁用內部命令
            enable –n  查看所有禁用的內部命令
        外部命令:在文件系統路徑下有對應的可執行程式文件
            查看路徑:
                    which --skip-alias ; 
                        whichh:查找並顯示給定(外部)命令的絕對路徑
                            -n<文件名長度>:  指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名; 
                            -p<文件名長度>:  與-n參數相同,但此處的<文件名長度>包含了文件的路徑;
                        
                    whereis
                        whereis:查找二進位程式、代碼等相關文件路徑
                            -b: 只查找二進位文件; 
                            -B <目錄>:    只在設置的目錄下查找二進位文件; 
                            -f: 不顯示文件名前的路徑名稱; 
                            -m: 只查找說明文件; 
                            -M<目錄>: 只在設置的目錄下查找說明文件; 
                            -s: 只查找原始代碼文件; 
                            -S<目錄>  只在設置的目錄下查找原始代碼文件; 
                            -u: 查找不包含指定類型的文件。 
                        
    區別指定的命令是內部或外部命令
        type -a COMMAND
            type:顯示指定命令的類型
                -t: 輸出“file”、“alias”、“builtin”,分別表示給定的指令為“外部指令”、“命令別名”、“內部指令”; 
                -p: 如果給出的指令為外部指令,則顯示其絕對路徑; 
                -a: 在環境變數“PATH”指定的路徑中,顯示給定指令的信息,包括命令別名。
                

執行外部命令

    Hash 緩存表
        系統初始hash表為空,當外部命令執行時,預設會從PATH 路徑下尋找該命令,找到後會將這條命令的路徑記錄到
        hash表中,當再次使用該命令時,shell解釋器首先會查看hash表 ,存在將執行之,如果不存在,將會去PATH 路徑下尋找 。利
        用hash 緩存表可大大提高命令的調用速率
        
    hash 常見用法
        hash    顯示hash緩存
        hash –l     顯示hash緩存,可作為輸入使用
        hash –p path name   將命令全路徑path起別名為name
        hash –t name    列印緩存中name 的路徑
        hash –d name    清除name 緩存
        hash –r     清除緩存

命令別名

    ·顯示當前shell進程所有可用的命令別名
        alias
    
    ·定義別名NAME,其相當於執行命令VALUE
        alias NAME='VALUE'
    
    ·在命令行中定義的別名,僅對當前shell 進程有效
    
    ·如果想永久有效,要定義在配置文件中
        僅對當前用戶:~/.bashrc
        對所有用戶有效:/etc/bashrc
    
    ·編輯配置給出的新配置不會立即生效。需要bash進程重新讀取配置文件,也就是重新登錄,或使用sourc or 。
    
    ·bash 進程重新讀取配置文件
        source /path/to/config_file
        . /path/to/config_file
    
    ·撤消別名:unalias
        unalias [-a] name [name ...]
            -a  取消所有別名
        要想永久撤銷也得在配置文件中刪除
    
    ·如果別名同原命令同名,如果要執行原命令,可使用
        "\COMMAND"
        'COMMAND'
        /PATH/COMMAND  

命令格式

    ·COMMAND [OPTIONS...] [ARGUMENTS...]
        選項:用於啟用或關閉命令的某個或某些功能
        短選項:-c 例如:-l, -h
        長選項:--word  例如:--all, --human-readable
        參數:命令的作用對象,比如文件名,用戶名等
    
    ·註意:
        多個選項以及多參數和命令之間使用空白字元分隔
        取消和結束命令執行:Ctrl+c ,Ctrl+d
        多個命令可以用; 符號分開
        一個命令可以用\分成多行

簡單命令

    date  顯示日期和時間
        -d<字元串>:    顯示字元串所指的日期與時間。字元串前後必須加上雙引號; 
        -s<字元串>:    根據字元串來設置日期與時間。字元串前後必須加上雙引號; 
        -u: 顯示GMT; 
        
        date -d"tomorrow" +"%F %H:%M:%S"
        date -d"1 day ago" +"%F %H:%M:%S"
        date -d"1 day " +"%F %H:%M:%S
        第一個數字可以是負數,負數表示將來時間,正數表示前面已經過去的時間,第二個參數minute、hour、day、month、week。
            %Y      year
            %m      month (01..12)
            %d      day of month (e.g., 01)
            %F      full date; same as %Y-%m-%d
            %H      hour (00..23)
            %M       minute (00..59)
            %S      second (00..60)
            
    修改時間:
        date + 月日小時分年.秒 或指定日期形式
        
        ntpdate 172.18.0.1(伺服器地址)
            ntpdate - set the date and time via NTP
            ntpdate [ -46bBdqsuv ] [ -a key ] [ -e authdelay ] [ -k keyfile ] 
                    [ -o version ] [ -p samples ] [ -t timeout ] [ -U user_name ] server [ ... ]
            
    Linux的兩種時鐘
        系統時鐘:由Linux 內核通過CPU 的工作頻率進行的,date
        硬體時鐘:主板上的
    
    hwclock ,clock:  顯示硬體時鐘
                -s, --hctosys   以硬體時鐘為準,校正系統時鐘
                -w, --systohc   以系統時鐘為準 , 校正硬體時鐘
                --set --date=<日期與時間>:設定硬體時鐘;
                --test:僅測試程式,而不會實際更改硬體時鐘;
                --utc:若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工作;
    
    時區:/etc/localtime
        (centos 7)
        timedatectl set-timezone +時區  更改時區
            
    cal 顯示日曆
        cal :顯示當前日曆或指定日期的日曆
            -l: 顯示單月輸出; 
            -3: 顯示臨近三個月的日曆; 
            -s: 將星期日作為月的第一天; 
            -m: 將星期一作為月的第一天; 
            -j: 顯示“julian”日期; 
            -y: 顯示當前年的日曆
        
    關機:halt, poweroff
    
    重啟:reboot
        -f:  強制,不調用shutdown
        -p:  切斷電源
    
    關機或重啟:shutdown
        shutdown [OPTION]... TIME [MESSAGE]
            -r: reboot
            -h: halt
            -c :cancel
            TIME:無指定,預設相當於 +1
            now:  立刻, 相當於+0
            +m:  相對時間表示法,幾分鐘之後;例如 +3
            hh:mm:  絕對時間表示,指明具體時間
    
    用戶登錄信息查看命令:
        whoami:  顯示當前登錄有效用戶
        who:  系統當前所有的登錄會話
        w:  系統當前所有的登錄會話及所做的操作
    
    screen 命令:
        創建新screen 會話
            screen –S [SESSION]
        加入screen 會話
            screen –x [SESSION]
        退出並關閉screen 會話
            exit
        剝離當前screen 會話
            Ctrl+a,d
        顯示所有已經打開的screen 會話
            screen -ls
        恢復某screen 會話
            screen -r [SESSION]
    
    echo 命令
        功 能:顯示字元
        語 法: echo [-neE][ 字元串]
        說 明: echo 會將輸入的字元串送往標準輸出。輸出的字元串間以空白字元隔開,  併在最後加上換行號
        選項:
            -E (預設)不支持 \  解釋功能
            -n   不自動換行
            -e   啟用 \  字元的解釋功能
        
        顯示變數
            echo "$VAR_NAME“  變數會替換,弱引用 
            echo '$VAR_NAME‘  變數不會替換,強引用 
                ``最聰明
                “” 中間
                ‘’最傻
        啟用命令選項-e,若字元串中出現以下字元,則特別加以處理,而不會將它當成一般文字輸出
            \a      發出警告聲  alarm
            \b      退格鍵  backspace
            \c      最後不加上換行符號 
            \e      escape character 跳過字元
            \f  form feed  換頁
            \n      回車換行,換行且游標移至行首 new line
            \r      回車,即游標移至行首,但不換行 
            \t      插入tab
            \\      插入\ 字元
            \0nnn   插入nnn (八進位)所代表的ASCII 字元
            \xHH    插入HH (十六進位)所代表的ASCII字元
                echo -e '\033[43;31;5mmagedu\033[0m'
                    \033 顏色啟用
                    43代表背景顏色
                    31代表字的顏色
                    5m代表什麼效果

命令行擴展、被括起來的集合

    命令擴展:$( )  或 ``
        把一個命令的輸出列印給另一個命令的參數
        echo "This system's name is $(hostname ) "
        echo "i am `whoami ` "
    
    括弧擴展:{ }
        列印重覆字元串的簡化形式
        echo file{1,3,5}
            file1 file3 file5
        rm -f file{1,3,5}
        echo {1..10}
        echo {a..z}
        echo {000..20..2}

tab鍵

    命令補全
        內部命令:
        外部命令:bash 根據PATH環境變數定義的路徑,自左而右在每個路徑搜尋以給定命令名命名的文件,第一次找到的命令即為要執行的命令
        用戶給定的字元串只有一條唯一對應的命令,直接補全否則,再次Tab 會給出列表
        
    路徑補全
        把用戶給出的字元串當做路徑開頭,併在其指定上級目錄下搜索以指定的字元串開頭的文件名,如果唯一:則直接補全否則:再次Tab 給出列表

雙擊Tab鍵

    command 2Tab    所有子命令或文件補全
    string2Tab  以string 開頭命令
    /2Tab   顯示所有根目錄下一級目錄,包括隱藏目錄
    ./2Tab  當前目錄下子目錄,包括隱藏目錄
    *2Tab   當前目錄下子目錄,不包括隱藏目錄
    ~2Tab   所有用戶列表
    $2Tab   所有變數
    @2Tab /etc/hosts 記錄 (centos7 不支持)
    =2Tab 相當於ls –A (centos7 不支持)

命令行歷史

    ·保存你輸入的命令歷史。可以用它來重覆執行命令
    
    ·登錄shell時,會讀取命令歷史文件中記錄下的命令~/.bash_history
    
    ·登錄進shell後新執行的命令只會記錄在緩存中;這些命令會用戶退出時“追加”至命令歷史文件中
    
    ·重覆前一個命令,有4 種方法
        重覆前一個命令 使用上方向鍵,並回車執行
        按 !!  並回車執行
        輸入 !-1  並回車執行
        按 Ctrl+p  並回車執行
    
    ·使用up (向上)和down(向下)鍵來上下瀏覽從前輸入的命令
        !:0     執行前一條命令(去除參數)
        Ctrl + n    顯示當前歷史中的下一條命令,但不執行
        Ctrl + j    執行當前命令
        !n      執行history 命令輸出對應序號n的命令
        !-n     執行history 歷史中倒數第n個命令
        !string     重覆前一個以“string ”開頭的命令
        !?string    重覆前一個包含string 的命令
        !string:p   僅列印命令歷史,而不執行
        !$:p    列印輸出上一條命令的最後一個參數的內容
        !*:p    列印輸出上一條命令的所有參數的內容
        ^string     刪除上一條命令中的第一個string
        ^string1^string2    將上一條命令中的第一個string1 替換為string2
        !:gs/string1/string2    將上一條命令中所有的string1 都替換為 string2
        ctrl +r     來在命令歷史中搜索命令
        Ctrl  +g    從歷史搜索模式退出
        
        
    ·要重新調用前一個命令中最後一個參數:
        !$ 表示
        Esc, . (點擊Esc擊 鍵後鬆開,然後點擊 .  鍵)
        Alt+ . (按住Alt擊 鍵的同時點擊 .  鍵)

調用歷史參數

        command !^ :    利用上一個命令的第一個參數做cmd的參數
        command !$ :    利用上一個命令的最後一個參數做cmd的參數
        command !* :    利用上一個命令的全部參數做cmd的參數
        command !:n  :      利用上一個命令的第n個參數做cmd的參數
        command !n:^    調用第n條命令的第一個參數
        command !n:$    調用第n條命令的最後一個參數
        command !n:m    調用第n條命令的第m個參數
        command !n:*    調用第n 條命令的所有參數
        command !string:^   以從命令歷史中搜索以string開頭的命令,並獲取它的第一個參數
        command !string:$   以從命令歷史中搜索以string開頭的命令, 並獲取它的最後一個參數
        command !string:n   以從命令歷史中搜索以string開頭的命令,並獲取它的第n個參數
        command !string:*   以從命令歷史中搜索以 string開頭的命令,並獲取它的所有參數
    
    ·命令history
        history [-c] [-d offset] [n]
        history -anrw [filename]
        history -ps arg [arg...]
            -c:     清空命令歷史
            -d offset:      刪除歷史中指定的第offset個命令,也就是history列表中的數值
            n:      顯示最近的n條歷史
            -a:     追加本次會話新執行的命令歷史列表至歷史文件,add
            -n:     讀歷史文件中未讀過的行到歷史列表 
            -r:     讀歷史文件附加到歷史列表
            -w:     保存歷史列表到指定的歷史文件,預設為歷史文件.bash_history
            -p:     展開歷史參數成多行,但不存在歷史列表中
            -s:     展開歷史參數成一行,附加在歷史列表後
            
    ·清除已經做過的敏感歷史命令
            [root@centos7 ~]#rm -rf /
            rm: it is dangerous to operate recursively on ‘/’
            rm: use --no-preserve-root to override this failsafe
            [root@centos7 ~]#history -w
            [root@centos7 ~]#rm -rf .bash_history 
            [root@centos7 ~]#history -c

命令歷史相關環境變數

    ·存放在 /etc/profile 或  ~/.bash_profile  
    
    ·export  變數名="值"     這個只是暫時能用,如果退出所在終端,則會還原。
        HISTSIZE :  命令歷史記錄的條數
        HISTFILE :  指定歷史文件,預設為~/.bash_history
        HISTFILESIZE :  命令歷史文件記錄歷史的條數
        HISTTIMEFORMAT=“%F %T “     顯示時間
        HISTIGNORE=“str1:str2*:… “  忽略str1 命令,str2 開頭的歷史
    
    ·控制命令歷史的記錄方式:
        環境變數:HISTCONTROL
            ignoredups  預設,忽略重覆的命令,連續且相同為“重覆”
            ignorespace     忽略所有以空白開頭的命令
            ignoreboth  相當於ignoredups, ignorespace 的組合
            erasedups    刪除重覆命令

bash 的快捷鍵

    Ctrl + l    清屏,相當於clear 命令
    Ctrl + o    執行當前命令,並重新顯示本命令
    Ctrl + s    阻止屏幕輸出,鎖定
    Ctrl + q    允許屏幕輸出
    Ctrl + c    終止命令
    Ctrl + z    掛起命令
    Ctrl + a    游標移到命令行首,相當於Home
    Ctrl + e    游標移到命令行尾,相當於End
    Ctrl + f    游標向右移動一個字元
    Ctrl + b    游標向左移動一個字元
    Alt + f     游標向右移動一個單詞尾
    Alt + b  游標向左移動一個單詞首
    Ctrl + xx   游標在命令行首和游標之間移動
    Ctrl + u     從游標處刪除至命令行首
    Ctrl + k     從游標處刪除至命令行尾
    Alt + r     刪除當前整行
    Ctrl + w    從游標處向左刪除至單詞首
    Alt + d     從游標處向右刪除至單詞尾
    Ctrl + d    刪除游標處的一個字元
    Ctrl + h    刪除游標前的一個字元
    Ctrl + y    將刪除的字元粘貼至游標後
    Alt + c  從游標處開始向右更改為首字母大寫的單詞
    Alt + u     從游標處開始,將右邊一個單詞更改為大寫
    Alt + l     從游標處開始,將右邊一個單詞更改為小寫
    Ctrl + t    交換游標處和之前的字元位置
    Alt + t     交換游標處和之前的單詞位置
    Alt + N     提示輸入指定字元後,重覆顯示該字元N次 
    註意:Alt 組合快捷鍵經常和其它軟體衝突

gnome-terminal

    應用程式-> 附件-> 終端
    支持多個“標簽”shell 的圖形化終端模擬器
        Ctrl-Shift-n 創建新視窗
        Ctrl-Shift-q  關閉當前視窗
        Ctrl-Shift-t 創建一個標簽頁
        Ctrl-Shift-w 關閉一 個標簽頁
        Ctrl-PaUp/PgUn  切換到下一個/ 前一個標簽頁
        Ctrl-Shift-c  複製選中的文本
        Ctrl-Shift-v  把文本粘帖到當前游標處

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

-Advertisement-
Play Games
更多相關文章
  • Producers發佈記錄到集群,集群維護這些記錄並且將記錄分發給Consumers。 在Kafka中,最關鍵的抽象是topic。Producers發佈記錄到一個topic,Consumers訂閱一個或多個topic。Topic是一個分片的寫優先的log。Producers追加記錄到這些logs,C ...
  • 前面兩篇回顧線程和線程池的使用方法,微軟在.NET4.5推出了新的線程模型-Task。本篇將簡單的介紹Task的使用方法。 Task與線程 Task與線程或者說線程池關係緊密,可以說是基於線程池實現的,雖說任務最終還是要拋給線程去執行,但是Task仍然會比線程、線程池的開銷要小,並且提供了可靠的AP ...
  • sql: https://github.com/zzzprojects/Dapper-Plus https://github.com/tmsmith/Dapper-Extensions https://github.com/ericdc1/Dapper.SimpleCRUD ...
  • 上一篇主要介紹了進程和線程的一些基本知識,現在回歸正題,我們來學一下線程的使用,本篇主要是使用新建線程和線程池的方式。 線程 先來介紹簡單的線程使用:使用new方法來創建線程,至於撤銷線程,我們不必去管(我也不知道怎麼去管XD),因為CLR已經替我們去管理了。 創建 先來看一個簡單的使用線程的例子: ...
  • 寫在開頭 今天就放假了,照理說應該寫今年的總結了,但是回頭一看,很久沒有寫過技術類的文字了,還是先不吐槽了。 關於文件緩存 寫了很多的代碼,常常在寫EXE(定時任務)或者寫小站點(數據的使用和客戶端調用之間)都需要用到緩存,數據在記憶體和文本都保留一個整體。 當然也可以寫到資料庫,不過個人覺得不方便查 ...
  • 在現在的軟體編程中,不可避免的會用到多線程或者其他方式來實現非同步的目的,那麼,線程是個什麼東西,如何使用?這些都是需要去學習與摸索的東西。不過在學習線程之前,還是有一些知識需要掌握的,雖說都是書本上的東西,但是還是對線程的學習有一定的作用的。 進程 目的 現在的電腦存在很多的操作系統(OS),大部 ...
  • 系統啟動流程 systemd Unit 類型 服務管理 ` 運行級別 CentOS7 引導啟動順序 service unit 文件格式 設置內核參數 啟動排錯 破解CentOS7 的root 口令 修複GRUB2 ...
  • ramdisk ramdisk文件的製作: mkinitrd ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...