Linux常用指定

来源:https://www.cnblogs.com/pecan/archive/2019/11/01/11777815.html
-Advertisement-
Play Games

學前理論 linux主要特征 :一切且文件(目錄、硬碟等都是文件);硬體都在/dev 目錄,如硬碟、U盤為/dev/sd[a d]; /dev/sr0(/dev/cdrom)是光碟機的設備名(df命令查看),為設備文件,代表的是光碟機本身,得把這個設備掛載到目錄下(一般為/mnt)(文件系統的臨時掛載點 ...


學前理論

  • linux主要特征 :一切且文件(目錄、硬碟等都是文件);硬體都在/dev 目錄,如硬碟、U盤為/dev/sd[a-d]; /dev/sr0(/dev/cdrom)是光碟機的設備名(df命令查看),為設備文件,代表的是光碟機本身,得把這個設備掛載到目錄下(一般為/mnt)(文件系統的臨時掛載點),才能對設備上的文件進行讀寫等操作;
  • 不懂的命令 :man 命令(查用法、全稱),只記得關鍵詞,可用man -k 關鍵詞;
  • Linux命令常用結構Command [-option] [argument]
    Command:即是要運行的命令的本身,說白了就是一個軟體(程式);
    Option:是選項(可選),選項是控制命令運行狀態和行為的(可多個選項一起,如df -hT);
    Argument:是參數(可選),是命令要操作對象如文件、路徑、數據、目錄等;
    在指令的第一部分按[tab]鍵一下為[命令補全],兩下為所有命令選擇,在非第一部分按[tab]鍵兩下為[文件補全];
  • linux命令區分大小寫

開關機

  • sync :把記憶體中的數據寫到磁碟中(關機、重啟前都需先執行sync)
  • shutdown -r nowreboot :立刻重啟
  • shutdown -h now :立刻關機
  • shutdown -h 20:00 :預定時間關閉系統(晚上8點關機,如果現在超過8點,則明晚8點)
  • shutdown -h +10 :預定時間關閉系統(10分鐘後關機)
  • shutdown -c :取消按預定時間關閉系統

系統信息

  • who am i :查看當前使用的終端
  • whow : 查看所有終端
  • uname -m :顯示機器的處理器架構(如x86_64)
  • cat /proc/version :查看linux版本信息
  • uname -r :顯示正在使用的內核版本
  • lsb_release -a :查看系統發行版本(如CentOS7)
  • rpm -qa | grep kernel-devel :查看kernel-devel版本(安裝軟體時編譯內核用,故需要保持內核版本一致性)
  • yum install -y "kernel-devel-uname-r == $(uname -r)":安裝和Linux內核版本匹配的kernel-devel
  • date :顯示系統日期 (date +%Y/%m/%d : 顯示效果如2018/01/01)
  • date 070314592018.00 :設置時間(格式為月日時分年.秒 )
  • clock -w :將時間修改保存到 BIOS
  • cal 2018 :顯示2018年的日曆表
  • clear :清空命令行
  • ifconfig :顯示或設置網卡(查ip等)(類似windows中ipconfig)
  • ping -c 3 www.baidu.com :測試百度與本機的連接情況( -c 3表示測試3次)
  • cat /proc/cpuinfo :顯示CPU的信息
  • cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l :查看物理CPU個數
  • cat /proc/cpuinfo| grep "cpu cores"| uniq :查看每個物理CPU的核數
  • cat /proc/cpuinfo| grep "processor"| wc -l :查看邏輯CPU個數即線程數

系統性能

  • top :動態實時顯示cpu、記憶體、進程等使用情況(類似windows下的任務管理器)
  • top -d 2 -p 7427 :-d為畫面更新的秒數,預設5秒,-p為指定進程pid的信息
  • vmstat 2 10 :每隔2秒採集一次伺服器狀態,採集10次(查看記憶體、io讀寫狀態、cpu)
  • free -h :查看系統記憶體及虛擬記憶體使用情況
  • df -h :顯示磁碟的空間使用情況
  • iostat :可查io讀寫、cpu使用情況
  • sar -u 3 5 :查看cpu使用情況(3秒一次,共5次)
  • sar -d 2 3 :評估磁碟性能
  • ps aux|grep firefox :獲取火狐的進程號(PID)(可查看進程占用cpu、記憶體百分比及進程觸髮指令的路徑)
  • kill -9 進程號 :強制殺死進程
  • systemctl :查看正在運行的服務

文件和目錄

cd:是Change Directory的縮寫,用來切換工作目錄,語法:cd [相對或絕對路徑或特殊符號]

  • cd :進入該用戶的主目錄 ~(root用戶為/root,其他用戶為/home/用戶名)

  • cd .. :返回上一級目錄(註意要空格)

  • cd - :返回上次所在目錄

  • cd / :返回根目錄 (絕對路徑)

  • cd ./目錄1/目錄2 :進入當前目錄下的子目錄(相對路徑)

  • pwd :顯示工作路徑(Print Working Directory 的縮寫)

    ls:是List的縮寫,用於列出目錄下的文件,語法:ls [選項][目錄或文件名]

  • ls -a :列出文件下所有的文件,包括以“.“開頭的隱藏文件

  • **ls -lh *.log** :列出文件的詳細信息(.log結尾,*為通配符代表任意多個字元)

  • file 文件或目錄 :顯示文件的類型(目錄、text、zip、shell腳本等)

  • mkdir dir1 :創建目錄(dir1)(mkdir為make directory的縮寫)

  • mkdir -p ./dir1/dir2 :遞歸創建目錄(-p:父目錄不存在時,同時建立)

  • touch a.txt :創建文件a.txt

    rm:可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉; 語法:rm (選項)(參數)(註:如果參數中含有目錄,則必須加上-r選項);

  • rm 文件 :刪除文件

  • rm -r 目錄或文件 :刪除目錄(及目錄下所有文件)(非空也可以)

  • rm -rf 目錄或文件 :強制刪除,如:rm -rf * 為刪除當前目錄下所有文件

  • find -inum 1842601 -exec rm -rf {} ; :刪除亂碼文件或目錄(會提示找不到此文件或文件夾但其實已經刪除了)(上傳中文文件會亂碼,rm命令刪除不了)(先使用ls -i命令找到inode,即文件或目錄前面的數字字元串,如1842601;)

    mv:是move的縮寫,可以用來剪切移動文件、目錄或者將文件改名;
    語法:mv 源文件 目標文件(改名)或目錄(移動);

  • mv a b :移動或者重命名一個文件或者目錄(存在即移動目錄或覆蓋文件,不存在即改名)

  • mv /opt/git/g /opt/a :移動g到opt目錄下並改名為a(a目錄不存在,若存在則為移動g到a目錄下)

  • mv -t ./test a.txt b.txt :移動多個文件到某目錄下

    cp:複製文件或目錄;cp命令可以將單個或多個文件複製到一個已經存在的目錄下;
    常用:cp -ai 文件或目錄 目標目錄;

  • cp -ai /opt/abc /opt/git/ :複製abc目錄(或文件)到git目錄下(選項a表示文件的屬性也複製、目錄下所有文件都複製;i表示覆蓋前詢問)

    ln:link的縮寫,用於建立硬(軟)鏈接,常用於軟體安裝時建軟鏈接(類似快捷方式)到PATH;
    語法:ln [-s] 源文件 目標文件

  • ln -s /opt/a.txt /opt/git/ :對文件創建軟鏈接(快捷方式不改名還是a.txt)

  • ln -s /opt/a.txt /opt/git/b :(快捷方式改名為b)(下麵的一樣可以改名)

  • ln -s /opt/mulu /opt/git/ :對目錄創建軟鏈接

  • ln /opt/a.txt /opt/git/ :對文件創建硬鏈接

文件許可權

  • chmod [-R] 777文件或目錄 :設置許可權(chmod a+rwx a=chmod ugo +rwx a=chmod 777 a)

    註: r(read)對應4,w(write)對應2,x(execute)執行對應1;
    -R:遞歸更改文件屬組,就是在更改某個目錄文件的屬組時,如果加上-R的參數,那麼該目錄下的所有文件的屬組都會更改)

  • chmod [{ugoa}{+-=}{rwx}][文件或目錄] :如chmod u-w,g+x,o=r test.txt為user(擁有者)去掉寫許可權,group(所屬組)加上執行許可權,other(其他人)許可權等於只讀;

  • chown [-R] admin:root /opt/ :變更文件及目錄的擁有者和所屬組(-R遞歸處理所有文件和文件夾,admin為擁有者,root為所屬者)

文件查找

  • locate a.txt :在系統全局範圍內查找文件名包含a.txt字樣的文件(比find快);

locate:原理是updatedb會把文件系統中的信息存放到資料庫databases中(但一般一天才執行一次,所以locate找不到新創建的文件,需要先手動執行updatedb,再執行locate),locate從資料庫中讀數據;

find:在目錄結構中搜索文件,並執行指定的操作
語法:find pathname -options [-print -exec ...]
pathname :為 find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄(find查找範圍為目標目錄及其子目錄所有文件及目錄);
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } ;,註意{ }和;之間的空格;
-print: find命令將匹配的文件輸出到標準輸出;

  • find /home -mtime -2 :在/home下查最近2*24小時內改動過的文件
  • find . -size +100M :在當前目錄及子目錄下查找大於100M的文件
  • find . -type f :f表示文件類型為普通文件(b/d/c/p/l/f 分別為塊設備、目錄、字元設備、管道、符號鏈接、普通文件)
  • find . -mtime +2 -exec rm {} ; :查出更改時間在2*24小時以前的文件並刪除它**
  • find . -name '*.log' -exec grep -i hello {} ; -print :在當前目錄及子目錄下查出文件名尾碼為.log的文件並且該文件內容包含了hello字樣並列印,-exec 命令 {} \表示對查出文件操作,-i表示不區分大小寫;
  • find . -name '*.log'|grep hello :在當前目錄及子目錄下查出文件名尾碼為.log的文件並且文件名包含了hello字樣(grep用來處理字元串);
  • grep -i 'HELLO' . -r -n :在當前目錄及子目錄下查找文件內容中包含hello的文件並顯示文件路徑(-i表示忽略大小寫)
  • which java :在環境變數$PATH設置的目錄里查找符合條件的文件,並顯示路徑(查詢運行文件所在路徑)
  • whereis java :查看安裝的軟體的所有的文件路徑(whereis 只能用於查找二進位文件、源代碼文件和man手冊頁,一般文件的定位需使用locate命令)

查看文件的內容

  • cat [-n] 文件名 :顯示文件內容,連行號一起顯示
  • less 文件名 :一頁一頁的顯示文件內容(搜索翻頁同man命令)
  • head [-n] 文件名 :顯示文件頭n行內容,n指定顯示多少行
  • tail [-nf] 文件名:顯示文件尾幾行內容,n指定顯示多少行,f用於實時追蹤文件的所有更新,常用於查閱正在改變的日誌文件(如tail -f -n 3 a.log 表示開始顯示最後3行,併在文件更新時實時追加顯示,沒有-n預設10行)
  • sed -n '2,$p' ab :顯示第二行到最後一行;
  • sed -n '/搜索的關鍵詞/p' a.txt :顯示包括關鍵詞所在行
  • cat filename |grep abc -A10 :查看filename中含有abc所在行後10行(A10)、前10行(B10)內容
  • less a.txt|grep git :顯示關鍵詞所在行,管道符”|”它只能處理由前面一個指令傳出的正確輸出信息,對錯誤信息信息沒有直接處理能力。然後傳遞給下一個命令,作為標準的輸入;
  • cat /etc/passwd |awk -F ':' '{print $1}' :顯示第一列

文本處理

  • ls -l>file :輸出重定向>(改變原來系統命令的預設執行方式):ls -l命令結果輸出到file文件中,若存在,則覆蓋
  • cat file1 >>file :輸出重定向之cat命令結果輸出追加到file文件(>表示覆蓋原文件內容,>>表示追加內容)
  • ls fileno 2>file : 2>表示重定向標準錯誤輸出(文件不存在,報錯信息保存至file文件);
  • cowsay <a.txt :重定向標準輸入’命令<文件’表示將文件做為命令的輸入(為從文件讀數據作為輸入)
  • sed -i '4,$d' a.txt :刪除第四行到最後一行($表示最後一行)(sed可以增刪改查文件內容)
  • sed -i '$a 增加的字元串' a.txt :在最後一行的下一行增加字元串
  • sed -i 's/old/new/g' a.txt :替換字元串;格式為sed 's/要替換的字元串/新的字元串/g' 修改的文件
  • vim 文件:編輯查看文件(同vi)

用戶與許可權

  • useradd 用戶名 :創建用戶
  • userdel -r 用戶名 :刪除用戶:(-r表示把用戶的主目錄一起刪除)
  • usermod -g 組名 用戶名 :修改用戶的組
  • usermod -aG 組名 用戶名 :將用戶添加到組
  • groups test :查看test用戶所在的組
  • cat /etc/group |grep test :查看test用戶詳情:用戶名:口令:用戶標識號:組標識號:註釋性描述:主目錄:登錄Shell
  • passwd [ludf] 用戶名 :用戶改自己密碼,不需要輸入用戶名,選項-d:指定空口令,-l:禁用某用戶,-u解禁某用戶,-f:強迫用戶下次登錄時修改口令
  • groupadd 組名 :創建用戶組
  • groupdel 用戶組 :刪除組
  • groupmod -n 新組名 舊組名 :修改用戶組名字
  • su - 用戶名:完整的切換到一個用戶環境(相當於登錄)(建議用這個)(退出用戶:exit)
  • su 用戶名 :切換到用戶的身份(環境變數等沒變,導致很多命令要加上絕對路徑才能執行)
  • sudo 命令 :以root的身份執行命令(輸入用戶自己的密碼,而su為輸入要切換用戶的密碼,普通用戶需設置/etc/sudoers才可用sudo)

磁碟管理

  • df -h :顯示磁碟的空間使用情況 及掛載點
  • df -h /var/log :(顯示log所在分區(掛載點)、目錄所在磁碟及可用的磁碟容量)
  • du -sm /var/log/* | sort -rn : 根據占用磁碟空間大小排序(MB)某目錄下文件和目錄大小
  • fdisk -l :查所有分區及總容量,加/dev/sda為查硬碟a的分區)
  • fdisk /dev/sdb :對硬碟sdb進行分區
  • mount /dev/sda1 /mnt :硬碟sda1掛載到/mnt目錄(mount 裝置文件名 掛載點)
  • mount -t cifs -o username=luolanguo,password=win用戶賬號密碼,vers=3.0 //10.2.1.178/G /mnt/usb :遠程linux 共用掛載windows的U盤,G為U盤共用名,需設置U盤共用
  • mount -o loop /opt/soft/CentOS-7-x86_64-DVD-1708.iso /media/CentOS :掛載iso文件
  • umount /dev/sda1 :取消掛載(umount 裝置文件名或掛載點)

壓縮、解壓和打包備份

單純tar僅為打包(多個文件包成一個大文件),加上參數-j(bzip2格式.bz2)、-z(gzip格式.gz)可以備份、壓縮(-c)、解壓(-x),備份一般比壓縮多加參數-p(保留原本文件的許可權與屬性),-C可以指定解壓到特定目錄;bzip2、gzip只能對單一文件壓縮;

  • file 文件名 :查文件類型(可看是用哪一種方式壓縮的)
  • tar -zxvf a.tar.gz -C ./test :解壓tar.gz到當前目錄下的test目錄
  • tar -zcvf /opt/c.tar.gz ./a/ :壓縮tar.gz(把當前目錄下的a目錄及目錄下所有文件壓縮為 /opt/目錄下的c.tar.gz,這樣tar -zxvf c.tar.gz解壓出來帶有目錄a)
  • tar -jxvf a.tar.bz2 :解壓tar.bz2(到當前目錄)
  • tar -jcvf c.tar.bz2 ./a/ :壓縮tar.bz2(把當前目錄下的a目錄及目錄下所有文件壓縮到當前目錄下為c.tar.gz2)
  • unzip a.zip :解壓zip(到當前目錄)
  • unzip -o mdmtest.war -d /opt/mdm :推薦使用unzip解壓war包(-o覆蓋原有文件,-d指定文件解壓後存儲的目錄)
  • zip -r c.zip ./a/ :壓縮zip(把當前目錄下的a目錄及目錄下所有文件壓縮到當前目錄下為c.zip
  • bzip2 -k file1 : 壓縮一個 'file1' 的文件(-k表示保留源文件)(bzip2格式,比gzip好)
  • bzip2 -d -k file1.bz2 : 解壓一個叫做 'file1.bz2'的文件
  • gzip file1 : 壓縮一個叫做 'file1'的文件(gzip格式)(不能保留源文件)
  • gzip -9 file1 : 最大程度壓縮
  • gzip -d file1.gz : 解壓縮一個叫做 'file1'的文件

軟體安裝

  • 儘量用yum源(apt-get)安裝,不行就rpm、deb包安裝,能不手動編譯的就不要手動編譯;
  • dpkg只能安裝已經下載到本地機器上的deb包. apt-get能線上下載並安裝deb包,能更新系統,且還能自動處理包與包之間的依賴問題,這個是dpkg工具所不具備的;
  • rpm 只能安裝已經下載到本地機器上的rpm 包. yum能線上下載並安裝rpm包,能更新系統,且還能自動處理包與包之間的依賴問題,這個是rpm 工具所不具備的;
  • yum、rpm安裝文件分佈在/usr的bin、lib、share不同目錄,不用配置PATH,直接用命令,但可用命令卸載更新;
  • 手動編譯軟體,預設位置為/usr/local下不同子目錄下,不用配置PATH直接用命令(手動指定安裝路徑需要加PATH),使得軟體更新和刪除變得很麻煩。編譯安裝的軟體沒有卸載命令,卸載就是把所有這個軟體的文件刪除。

二進位(Binaries)包

yum安裝

線上下載並安裝rpm包,適用於CentOS、Fedora、RedHat及類似系統

  • yum install epel-releas :安裝第三方yum源EPEL(企業版 Linux 附加軟體包的簡稱)
  • yum repolist enabled :顯示可用的源倉庫(/etc/yum.repos.d/目錄下配置)
  • yum install yum-fastestmirror :自動選擇最快的yum源
  • yum list installed |grep java :列出已安裝的軟體(查看已安裝的JDK)
  • yum remove java-1.8.0-openjdk.x86_64 :卸載軟體(卸載JDK)
  • yum list java* :列出已安裝和可安裝的軟體(查看yum庫中的JDK包)
  • yum install [-y] java-1.8.0-openjdk :安裝軟體JDK(-y自動安裝)(推薦這種方式安裝)
  • yum install docker-ce-18.03.1.ce :安裝指定版本的軟體(已知docker-ce.x86_64 18.03.1.ce-1.el7.centos,則rpm包名為docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm)
  • yum check-update [kernel] :列出所有可更新的軟體(檢查更新kernel)
  • yum update tomcat :更新軟體(可所有)
  • rpm -ql 軟體名稱 :查詢yum安裝路徑(軟體名稱可通過rpm -qa|grep java)
  • yum info kernel :查看軟體(kernel)的信息
  • yum clean all :(清除緩存,使最新的yum配置生效)

rpm包手動下載安裝

yum中沒有時用,適用於CentOS、Fedora、RedHat及類似系統;

  • wget -P /opt https://網址 :下載到/opt目錄
  • rpm -ivh wps-office-版本.x86_64.rpm :安裝rpm包(包要先下載)(要先裝依賴包)
  • rpm -e wps-office :卸載軟體(註意不要軟體名不要版本號)
  • rpm -qa |grep wps :查看安裝的rpm包
  • rpm -ql 軟體名稱 :查看rpm包安裝路徑(軟體名稱可通過rpm -qa|grep java)

apt方式安裝

安裝deb包,類似yum安裝,適用於Debian, Ubuntu 以及類似系統;

  • apt-get install aptitude :安裝aptitude工具,實現依賴自動安裝,依賴版本自動降級或升級
  • aptitude install 軟體 :安裝軟體(推薦這種方式安裝)
  • apt-cache search 軟體 :搜索軟體
  • apt-get install 軟體 :安裝軟體
  • apt-get purge 軟體 :卸載軟體(包括配置文件,只刪除軟體purge換成remove)
  • apt-get upgrade :更新所有已安裝的軟體包
  • apt-get update :升級列表中的軟體包
  • apt-get clean :從下載的軟體包中清理緩存

deb包安裝

適用於Debian, Ubuntu 以及類似系統;

  • dpkg -i package.deb :安裝一個 deb 包
  • dpkg -r package_name :從系統刪除一個 deb 包
  • dpkg -l |grep chrome :查詢系統中所有已經安裝的 deb 包
  • dpkg -L 軟體名稱 :查軟體安裝的文件

解壓即用

大多數非開源的商業軟體都採取這種辦法;

二進位(Binaries)包如apache-jmeter-3.3.tgz,下載複製解壓到/opt,然後然後將該軟體的 bin 目錄加入到 PATH 中即可(vim /etc/profile export PATH=$PATH:/opt/apache-jmeter-3.3/bin);

軟體自己的模塊/包管理器

如python:系統的源中不可能包含該軟體的所有模塊; 系統的源中該軟體的模塊的更新要遠遠滯後於最新版本;手動安裝python,並用Python 自帶的 pip 安裝模塊(類似yum);

  • pip install redis :安裝python軟體包redis
  • pip unstall redis :卸載
  • pip show --files redis :pip查看已安裝的包
  • pip list --outdated :檢查更新

源代碼(Source)包

編譯安裝

源代碼包(一般有install文件)如hello-2.2.tar.bz2,下載複製到/opt;

  • tar -jxvf hello-2.2.tar.bz2 :解壓
  • ./configure --prefix=/opt/軟體目錄名稱 :為編譯做好準備,加上 prefix 手動指定安裝路徑
  • make :編譯
  • make install :安裝
  • make clean :刪除安裝時產生的臨時文件
  • vim /etc/profile export PATH=$PATH:/opt/目錄/bin :手動指定安裝路徑需要加path
  • hello :執行軟體:看INSTALL和README文件(是否源碼包、如何安裝、執行都看這兩個)
  • rm -rf 軟體目錄名稱 :卸載軟體

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

-Advertisement-
Play Games
更多相關文章
  • 本文簡要說一下ASP.NET Core 在Docker中部署以及docker-compose的使用 (ASP.NET Core 系列目錄)。 系統環境為CentOS 8 。 先打個廣告:求職中,求坑,求推薦 一、概述 簡單說一下Docker的幾個概念: 記得上學的時候流行一種安裝操作系統的方式,叫G ...
  • 1、DataTable 轉 泛型T的List 2、DataTable 轉 HashTable 3、DataTable 轉 HashTable 4、DataTable 按照某列進行條件拆分 日常工作常遇到的utils中積累的代碼,可以優化的地方希望多多指教! ...
  • 準備一臺centos的伺服器查看系統內核:rpm -qa | grep kernel這裡需要Linux內核在4.9 RC版本以上,如果版本不是請繼續下麵操作 訪問https://elrepo.org/ ,根據指示安裝ELRepo倉庫,教程如下 首先以root許可權登陸伺服器輸入以下導入公鑰:rpm - ...
  • 什麼是Linux? Linux是一個操作系統中的內核,我們通常所說的Linux,指 的是GNU/Linux ,即採用Linux內核的GNU操作系統。 Linux發行版 CentOS:相容RHEL的格式【免費】 Fedora:每6個月發行一個新版本 【企業的測試版】 目前Slackware debia ...
  • Nginx七層負載均衡的幾種調度演算法   Nginx是一款輕量級的高性能web伺服器,同時也是一款非常優秀的負載均衡器和反向代理伺服器。由於支持強大的正則匹配規則、動靜分離、URLrewrite功能及安裝配置簡單且對網路穩定性依賴非常小等優點,所以常用來做為七層負載均衡使用。在硬 ...
  • 本文是《詳細解讀 Spring AOP 面向切麵編程(一)》的續集。 在上篇中,我們從寫死代碼,到使用代理;從編程式 Spring AOP 到聲明式 Spring AOP。一切都朝著簡單實用主義的方向在發展。沿著 Spring AOP 的方向,Rod Johnson(老羅)花了不少心思,都是為了讓我 ...
  • 棧空間:用戶棧和內核棧 程式的執行流程 進程其實都是在執行任務,而任務其實就是函數定義的(函數也稱為方法、子程式等,本質都一樣),所以進程的作用就是不斷的執行函數。程式啟動時,第一個要執行的函數是main()函數(有些語言隱藏了這個函數,但任何程式一定會有一個程式入口函數),然後在main()函數中 ...
  • 回到目錄 本小節我們以2N4123通用型BJT硅基晶體管為例,來介紹如何閱讀BJT的數據規格書,點此鏈接可以閱讀和下載2N4123的數據規格書。 1. 總體性能 打開datasheet後,首先看標題: 圖3-8.01 可以看到,這是2N4123、2N4124共用的一個datasheet,而且是通用型 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...